|
|
|
|
Keyboard is a basic and essential element of an embedded or microcontroller system. For small and hobby projects a 4x4 (hex) matrix keyboard is sufficient. The keys in the matrix keyboard are arranged in a matrix arrangement in order to utilize the port pins of the microcontrollers efficiently. Here we can interface 16 keys by using just 8 pins of microcontroller. This is shown in the circuit diagram.
As shown in the circuit diagram, the rows are connected to 4 pins of a port, the columns are connected to other four pins, we configure rows as input and columns as output. By grounding one column and setting high all other columns, now by observing the status of the rows, we can come to know which button is pressed. For example, if we ground the first column and if the first row is low, then the first button is pressed. We know that microcontrollers are really fast, therefore they can detect the key press in microseconds, if we hold the switch for long time (for a microcontroller long time is in milliseconds), the microcontroller is triggered more than once, also there is a problem of switch debounce because of the spring action of the switch. To eliminate these problems we should introduce some amount of delay after every key press. The assembly source code for the circuit is given in the table below. Circuit diagram for interfacing 4x4 keyboard to 8051(89s52): My prototype for connecting to the main development board: The assembly program for interfacing 4x4 keyboard:
|
Custom Search
| |||||||||||||||||||||||||||||||||||||||||
|
Email: feedback@shree-electronics.com, Feel free to link to this site. Disclaimer : I have taken utmost care while composing this site. But neither the author himself nor any of the linked sites can be held responsible for any missing or inaccurate information. © copyright Srikanth 2008. |