6.2.1. Giới thiệu
Sử dụng một cổng (8 bit) để tiến hành kiểm tra ma trận phím (4x4 phím) có được nhận hay không.
Do số cổng của vi điều khiển thường không nhiều, trong khi vi điều khiển lại thực hiện nhiều nhiệm vụ khác nhau. Chính vì lẽ đó mà các cổng của vi điều khiển phải thật sự tối ưu. Sử dụng kỹ thuật quét phím để kiểm tra trạng thái của ma trận phím là một trong những kỹ thuật sử dụng cổng hiệu quả nhất.
6.2.2. Cách thức quét phím
Ý tưởng chính ở đây là: kiểm tra lần lượt từng hàng thử xem có phím nào trên hàng đó được nhấn hay không, và công việc này được xoay vòng và lặp lại vô tận.
P0 P1 P2 P3 P4
P5
P6
P7
Đầu tiên xuất giá trị 1 ra 7 chân của cổng P được giữở mức điện thế cao nhờ các điện trở kéo lên. Một mức 0 ra chân còn lại thì khi nhấn một phím, phím đó sẽ nối hàng với cột và nếu hàng hoặc cột nối phím nhấn đó có mức là 0 thì nó sẽ làm cho chân còn lại cũng có điện áp mức 0. Và nếu ta biết được hàng và cột của phím thì ta có thể biết được chính xác vị trí phím được nhấn.
Đểđọc cả ma trận phím ta thực hiện lần lượt các thao tác sau: 1. Xóa cổng bằng cách nạp giá trị 1111 1111 vào cổng P
2. Đưa dữ liệu 0111 vào các bit P0 đến P3 của cổng P. Để kiểm tra các phím trên cột đầu tiên (P0).
3. Đọc các chân từ P4 đến P7 vào. Nếu không có phím nào được nhấn trên cột đó thì giá trị đọc vào sẽ là 1111. Ngược lại nếu có bất kỳ phím nào được nhấn trên cột đó thì giá trị tương ứng sẽđọc vào sẽ có giá trị là 0. 4. Tiếp tục đưa giá trị 1011 vào các chân P0 đến P3 của P. Để kiểm tra các
phím trên cột thứ hai (P1). Sau đó sẽ đọc vào bốn bit P4 đến P7. Và tương tự như trên ta xác định được vị trí của phím được nhấn trên cột này (nếu có).
5. Tương tự ta lần lượt đưa các giá trị 1101 và 1110 ra các chân P0 đến P3 và đọc vào các giá trị của P4 đến P7 để xác định vị trí của các phím được nhấn nếu có.
6. Chu trình này được lặp đi lặp lại vô hạn bằng cách quay về lại bước đầu tiên