UART
doc2532
doc2532
- No tags were found...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
AVR243<br />
Keyboard Scanning<br />
(Process Keypress)<br />
The keyboard scanning process is illustrated in Figure 8. First the column result is<br />
scanned. The three lower bits (column part) of the scancode is incremented until the low<br />
column line is found. Then, the port directions are inverted and the row result is<br />
scanned. The row part of the scancode is incremented until the low row bit is found.<br />
Finally, the scancode processing function is called.<br />
Figure 8. Keyboard Scanning<br />
Check Column Result<br />
Process Keypress<br />
Test Column Result<br />
Get Column Position<br />
Any Columns<br />
Low?<br />
Yes<br />
No<br />
Initialize Temporary<br />
Scancode<br />
RETURN<br />
Check Row Result<br />
LSB of Column<br />
Result Low?<br />
Yes<br />
No<br />
Invert Port<br />
Directions<br />
Shift Column Result<br />
Right 1 Bit<br />
Drive All Column<br />
Lines Low<br />
Increment Column<br />
Part of Scancode<br />
Test Row Result<br />
Get Row Position<br />
Any Rows Low?<br />
Yes<br />
No<br />
Set Original Port<br />
Directions<br />
LSB of Row<br />
Result Low?<br />
No<br />
Yes<br />
Process<br />
scancode<br />
RETURN<br />
Shift Row Result<br />
Right 1 Bit<br />
Set Original Port<br />
Directions<br />
Increment Row<br />
Part of Scancode<br />
RETURN<br />
2532A–AVR–01/03<br />
7