Connect with us

PC keyboard to IC

Discussion in 'Electronic Basics' started by PADME, Jan 15, 2005.

Scroll to continue with content
  1. PADME

    PADME Guest

    Hi all,

    I've heard there is an IC which can convert an IBM PC keyboard to ASCII.

    Any help is very appreciated.

    Thank you in advance
  2. j.b. miller

    j.b. miller Guest

    Google is your friend..

    several companies have high price 'convertors', plug and go types...
    you can do it yourself for about $5, all you need is a small
    microcomputer( I use the now 'obsolete' PIC16C84 ) and some time. Easy to
    program, TONS of info on the web about it, just need to ask Google.

    Seems to be a 'classic' project for colleges,etc.

  3. Wel,

    The old IBM PC-AT used an Intel 8042 for a keyboard processor. Current PCs
    still have compatibel keyboardprocessors, embedded in theit chipsets. You
    can find several other projects of interfacing a PC keyboard. For instance:
    Except for that 8042 I'm not aware of a dedicated IBM keyboard interface
    chip, but enough examples of programming a micro for it.
    BTW You did not mention what kind of interface you need for the ASCII.
    Serial? Parallel? USB? I2C? SSP? CAN?

    petrus bitbyter
  4. Jim Thompson

    Jim Thompson Guest

    MANY years ago I built my own KVM switch, by sending the keyboard
    signals down a shift register and doing a broad-side decode to
    activate the switch. Following are the codes as seen at the shift
    register. I have schematics, if you're interested... but it's NOT a
    trivial task (as I did it... today probably just a uP :)

    L-ALT 011101110
    TAB 111110010
    CAPS 111100111
    L-SHFT 011101101
    L-CTRL 011101011
    SPACE 111010110
    R-ALT 011101110
    R-CTRL 011101011
    R-SHFT 010100110
    ENTER 010100101
    BK-SP 010011001
    INSERT 110001111
    HOME 010010011
    PG-UP 010000010
    PG-DN 110000101
    DELETE 010001110
    END 010010110
    UP-A 110001010
    LEFT-A 110010100
    DN-A 010001101
    RT-A 010001011
    Z 111100101
    X 011011101
    C 011011110
    V 111010101
    B 111001101
    N 111001110
    M 011000101
    , 010111110
    .. 110110110
    / 110110101
    A 111100011
    S 011100100
    D 111011100
    F 011010100
    G 111001011
    H 011001100
    J 111000100
    K 010111101
    L 010110100
    ; 110110011
    ' 110101101
    Q 111101010
    W 011100010
    E 011011011
    R 011010010
    T 111010011
    Y 011001010
    U 011000011
    I 110111100
    O 010111011
    P 010110010
    [ 110101011
    ] 110100100
    ` 111110001
    1 111101001
    2 011100001
    3 111011001
    4 111011010
    5 011010001
    6 011001001
    7 111000010
    8 111000001
    9 110111001
    0 110111010
    - 010110001
    = 010101010
    \ 110100010
    ESC 110001001
    F1 011111010
    F2 011111001
    F3 111111011
    F4 011110011
    F5 011111100
    F6 111110100
    F7 101111100
    F8 011110101
    F9 111111110
    F10 011110110
    F11 010000111
    F12 111111000
    PRT-SCR 011101101
    SCRL-LK 010000001
    PAUSE 010001000
    NUM-LK 010001000
    NUM / 110110101
    NUM * 110000011
    NUM - 010000100
    7-HOME 010010011
    8-UP 110001010
    9-PG-UP 010000010
    4-LEFT 110010100
    NUM-5 110001100
    6-RT 010001011
    1-END 010010110
    2-DN 010001101
    3-PG-DN 110000101
    0-INS 110001111
    ..DEL 010001110
    NUM + 110000110
    NUM-ENT 010100101

    ...Jim Thompson
  5. Danny T

    Danny T Guest

    May I but in with a quick question? I've no intention of doing this, but
    the post's got me curios... How many wires in a PS2 cable, and when I
    press a single key on my keyboard, what gets sent? Is it just a binary
    value for a key (eg. 7 wires would give 128 possibly keys), or is it
    something more clever?
  6. Don Pearce

    Don Pearce Guest

    No - it is serial data plus a clock. Just two effectively active


    Pearce Consulting
  7. Rich Grise

    Rich Grise Guest

  8. Danny T

    Danny T Guest

    Righto! :)
  9. I have some PIC code that reads an AT style keyboard and outputs RS-232.
    It was one of my very first PIC projects. It carries out the
    initialization and converts scan codes into ASCII. It's not complete
    though, it needs to handle the caps-lock and some other keys better.
    It's half of my portable 4*20 LCD terminal project. It could probably
    be crammed into an Altoids box for the ultimate in stylish geekism ;-)
  10. Years ago I wrote some PIC code for a mini-terminal with an AT keyboard
    input and ASCII RS232 output. I think a PS/2 keyboard will work with a plug
    adaptor. The source code is available here:

    Click the link at the bottom of the page.

Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day