Interfacing PC keyboard to AVR microcontroller


Posted on Feb 5, 2014

In many situations you need some kind of human interface to your microcontroller project. In this example is interfacing AVR microcontroller to standard PC AT keyboard described. According to keyboard timing diagram in bellow picture the keyboard transfers data to host AVR microcontroller. The protocol is: one start bit (always 0), eight data bits


Interfacing PC keyboard to AVR microcontroller
Click here to download the full size of the above Circuit.

, one odd parity bit and one stop bit (always 1). The data is validated during the low period of clock pulse. Clock signal is generated by keyboard and pulses are about 30-50us low and high. The keyboard has a scan code associated with each key. When key is presse a‚ the code is transmitted. If key is is hol down for a while the code is transmitted repeatedly (about 10 times per s). After key is released the brake code is transmitted ($F0). Usually all keys have 8 bit length codes except some keys like Home, Insert and Delay have an extended codes from two to five bytes. The first bytes is always $E0. This is also true for the a‚ breaka‚ sequence e. g. E0 F0 xx The code in example is a simple keyboard to RS232 interface. Scanned codes are translated to ASCII characters and transmitted by UART. The code included in example can be adapted to any AVR microcontroller with SRAM. Algorithm is working in that way: Keyboard actions are handled by INT0 interrupt. The algorithm is quite simple: Store the value of the data line at the leading edge of the of the clock pulse. Clock line is connected to one of interrupt pins (INT0 or INT1). The interrupt wil be executed every clock cycle. And data will be stored at the faling edge. After bits are received the data is decoded by decode function and characters are stored in a buffer. Other special keys (arrows, pagination keys, etc. ) are ignored. We aim to transmit more information by...




Leave Comment

characters left:

Related Circuits

  • New Circuits

    .

     


    Popular Circuits

    High voltage supply
    Crystal oscillator-doubler
    Ac Watts Calculator Circuit
    Adjustable Vfo Temperature Compensator Circuit
    Schematic Diagram 12v battery charger circuit
    Automatic Battery Charger 6V-12V with Relay cut off by LM324
    The Crystalizer
    LM1875 20 Watt Audio Power Amplifier
    Fun with LEDs
    Metal detector schematic circuit using CS209A
    The FSK modulation circuit composed of 74LS74
    High Power Full Bridge Flyback Driver circuit



    Top