Một cột được đặt ở mức cao (ngõ ra)
Các hang lần lượt được đặt ở mức thấp( ngõ vào) và sau đó các cột được đọc. Nếu 1 hay nhiều cột (thuộc hàng đang ở mức thấp ), ở mức thấp thì các phím của các cột tương ứng tích cực và các giá trị tương ứng của chúng sẽ hiện ra màn hình.
Để đọc toàn bộ bàn phím, mỗi àng lần lượt được đặt vào như sau: + Dữ liệu 0111 được ghi ra các bit cổng xuất
+ Các bit cổng nhập được ghi vào, nếu không có phím nào được nhấn trên hàng đó thì giá trị đọc vào sẽ là 1111, nếu có bất cứ phím nào được nhất thì trên
hàng đó sẽ có bit 0 tương ứng.
+ Dữ liệu 1011 được ghi vào cổng xuất bằng cách dịch bit 0 vào cột kế tiếp và cổng nhập được ghi vào
+ Dữ liệu 1101 được ghi vào cổng xuất bằng cách dịch bit 0 vào cột kế tiếp và cổng nhập được ghi vào
+ Dữ liệu 1110 được ghi vào cổng xuất bằng cách dịch bit 0 vào cột kế tiếp và cổng nhập được ghi vào
+ Chu kỳ này được lập lại vô tận bằng cách quay về bit 1
Phím bấm được nối thành ma trận 4 hàng x 4cột, các hàng và cột được nối với các chân cổng vào ra của vi điều khiển Psoc. Khi một phím được bấm, nó sẽ nối một hàng và một cột tương ứng. Như vậy ta sẽ có 16 nút nhấn mà chỉ mất có 8 chân vi điều khiển. Khi nút 0 được nhấn thì nó nối giữa cột 1 hàng 1. Còn nút 1 được nhấn thì cột 2 và hàng 1 được nối hay nút 2 được nhấn thì nối giữa cột 3 và hàng 1... cứ như vậy đến nút thứ 15
- Sự kết nối theo ma trận tiết kiệm số kết nối và số chân của vi điều khiển. Ví dụ1 bàn phím có 4 hàng 4 cột đòi hỏi 17 kết nối( 16+1 nối đất) nếu mỗi phím được kết nối 1 cách riêng biệt vào port của vi điều khiển. Sử dụng kiểu kết nối ma trận và dùng phần mềm để quét sẽ giảm được số kết nối và số chân vi điều khiển cần thiết bây giờ chỉlà 8(4 hàng, 4 cột)
- Khi 1 phím được nhấn, hàng và cột chứa phím đó sẽ được kết nối với nhau. Do đó ngõ vào nối với cột chứa phím bị nhấn sẽ có mức logic của ngõ ra nối với hàng chứa phím đó
- Bây giờ các cột (ngõ vào) luôn ở mức logic cao do chúng được nối với các điện trở kéo lên, cách duy nhất để đưa các cột về mức logic thấp là nhấn phím và đặt hàng nối với phím đó ở mức thấp. Bằng cách đưa mỗi hàng về mức thấp một cách tuần tự kếtiếp nhau, và đọc mức logic ở ngõ vào nối với cột trong mỗi lần đưa hàng về mức thấp đó, ta sẽ xác định được phím nào đã bị nhấn. Trong mặt nạ hàng, hàng 1 là bit có trọng sốlớn nhất và hàng 4 là bit có trọng số nhỏ nhất. Tương tự trong mặt nạ cột, cột 1 là bit có trọng sốlớn nhất, và cột 4 là bit có trọng số nhỏ nhất
QUÉT HÀNG 4 KIỂM TRA PHÍM SO SÁNH BẮT ĐẦU QUÉT HÀNG 1 KIỂM TRA PHÍM QUÉT HÀNG 2 KIỂM TRA PHÍM KIỂM TRA PHÍM QUÉT HÀNG 3 2.4.4. Sơ đồ nguyên ly