Tuesday, January 17, 2012

MKHBC-8-R1: testing buffered I/O expansion bus - interfacing to LCD text module.

Today I built the simplest possible peripheral device by attaching LCD text display module to my system. It is a simple 16x2 LCD based on HD44780 chip, the most common one. I got it with my 8051 development board. Quick assembly on the bread board and had it running in no time. I didn't even need to write any software to test it (it is that simple). The device's Enable (E) pin is connected to my I/O address decoder output /IO3 (base address $c300) via inverting gate (E pin is active high). After I executed following sentence of data writes in monitor:

Figure 1: Writing bytes to LCD registers.

which consists of 4 bytes initialization sequence 38,0c,06,01 (01 is a clear screen code) and ASCII codes of sequence "ABC012" I got following results:

Figure 2: LCD seems to work (and so my buffered I/O expansion bus).

Here is the electrical diagram:

Figure 3: LCD interfacing.

Figure 4: MKHBC-8-R1 setup with main CPU board, I/O expansion buffer, UART and LCD.

Thus I confirmed that both my I/O address decoder and buffered I/O expansion bus work by having 2 peripheral devices connected to the I/O bus and working without any conflicts.
The whole thing becomes a monster of bread boards and wires. In fact I start to run out of both. I think it is time to start assembling this thing on more permanent prototyping boards. I will use point-to-point soldering method. It is a lot of work, but I have lots of magnet wire, solder and prototyping boards.

Done for today. Thank you for reading.