Example: Alphanumeric LCD

This example demonstrates one way to connect an alphanumeric LCD to a parallel port. The example code has been written as a Small Computer Monitor App.

Typically, the display will have 2 lines with 16 characters in each line.

The display is connected to either a simple digital output
port (such as SC129) or to a Z80 PIO (such as SC103).

This interfacing method uses 4-bit data mode and uses time delays rather than polling the display’s ready status. As a result the interface only requires 6 simple output lines, as shown below.

Source code can be found here.

The example source code supports a number of hardware combinations selected by a #DEFINE statement. These are the I/O addresses used by the different #DEFINE builds:

BuildDeviceAddress
LINC80LiNC80 SBC1
Z80 PIO
0x18
RC2014RC2014 plus
SC104 Z80 PIO
0x68
Z280RCZ280RC SBC plus
SC104 Z80 PIO
0x68
SC129SC129 digital I/O0x0D

WARNING: Some of the pictures below show the hardware configured to I/O addresses other than the defaults in the example code.

Here are some of the hardware combinations supported by the example code:

LiNC80 SBC1 with SC109 backplane and SC129 digital I/O module

SC108 processor with Karl’s #61c serial and storage module and SC129 digital I/O

SC114 Z80 motherboard with SC129 digital I/O module

RC2014 based system with SC103 Z80 PIO module

SC126 Z180 motherboard with SC129 digital I/O module

Bill’s Z280RC with SC112 backplane and SC129 digital I/O module

Homebrew 8-bit retro computing