Adding and LCD, Page 2
The MAG-85 Gets Talkative. And Multi-Lingual.
I use a 74HCT574 Octal Latch as the I/O port for the LCD. This chip holds the data for the LCD, since the LCD can't talk directly to the 8085. The latch holds 8 data bits. We only use 6 right now. There are four data bits, which I've chosen to place in the lower nibble of the latch. There are two control lines for the LCD, Register Select and Enable, which are in the upper nibble.
The LCD can't accept data as fast as the 8085 can send it. After each pair of nibbles has been written to it, it needs some time to compete the command it's been given. I've written up some of my notes on talking to the LCD here.
Since the LCD's commands and data items are each a byte long, we have to send two nibbles. The 8085 does this through software. So the software for this part of the project is going to be more complex than what we've done so far. My first test of the LCD was written without any loops, and it ran to over 256 bytes of memory. In case you're programming your RAM by hand, I've written a much shorter version that we'll use here.
Initializing the LCD also takes a series of commands, and this adds to our software overhead. This is the downside of using an LCD as our display. It's entirely dependent on software. We can't just drive it with a simple hardware interface and some OUT statements. The advantages of an LCD are still enough to make it worthwhile for this project, I feel.
Here's the output port and LCD circuit (click to enlarge):