> There is a bit of a trick involved with what you're doing - the clock and
> data line at each end are driven with open collector outputs, if you want to
> use an IBM keyboard without the IBM, you will have to emulate the PC's
> keyboard controller. You may want to verify this - its all a little fuzzy
> for me. The emulation won't be too difficult, but will take a little
> checking into, it probably all boils down to just a couple of things.
The PC sets the Caps Lock LED (and the rest) on/off and also issues
initialization strings, and others. They are all listed in the IBM
technical reference. One does not really need them in simplier
applications. Actually, I can REALLY recommend the Philips
Microcontroller Application Notes -- one of them is a IBM keyboard to
I2C converter using a 8051. It has all the data you need, scan codes, controller
codes, alles... If you need copies of the IBM tech reference, or the
exact number of the Philips app note, e-mail me, and I'll try to organize someth
Just my 2 cents worth...
Clark I. C. Design
The deal about the code being an 11-bit code is correct, I
believe (my memory is a little fuzzy on that). The keyboard will send
out a byte synchronously (it provides the clock) corresponding to the key
pressed, and then a F0, and then the same key. Some keys on the AT
keyboard send out SEVERAL codes, and so it can get kind of hairy decoding
them. XT keyboards are nicer, and send only one byte per key. I wrote
down all the actual codes, if anyone is interested. I also have code
which will receive and send data for the 8051 and 68000 (the 68000 code
uses two pins on a 68230). The nice thing about the code is that it
doesn't require the use of a real serial port to work.
|> What does an IBM AT ! keyboard transmit when you press a key ?
> I monitored this on a scope and it looks like a synchronous 11 bit signal.
> Anyone who has a list of the codes emitted for all keys in a 101 or 102 key
> keyboard ? (i'm not talking about the scancodes here. Because they are
> inside the PC by the keyboard controller on the motherboard.)
> I figuered out that each key has 2 codes. One of the bits seems to indicate
> pressed or Key released. There also seems to be something like parity
> The target application is a small process controller that can either
> to a VT52 terminal. Or interface to an IBM-PC (AT !) keyboard and LCD
In the Philips Semiconductors book "Application Notes for 80C51-Based
8-Bit Microcontrollers" there is an application note AN434 "Connecting
a PC keyboard to the I2C-bus".
It has a description of what comes out of it, how to connect to it
as well as a software listing.
Peter Homann email: adacel.com.aupeterh
Adacel Pty Ltd Work : (03) 596-2991
250 Bay St, Brighton 3186, VIC, AUSTRALIA Fax : (03) 596-2960
More... (looser matching)
- Last day of these posts
- In 1995
, 1996 only
- New search...