LCD emulation progress log #0

A project log for Vintage_Beauty

Driving vintage HP HDSP-2000 Alphanumeric LED displays with a retro EPROM 8051 Microcontroller.

Ethan DurrantEthan Durrant 08/14/2019 at 20:360 Comments

Tl;dr: Progress for LCD emulation via the GPIO is currently in the research/planning stage, and support of the HD66702 LCD Driver Character ROM is complete.

GPIO Mapping:

After studying the pinout of a standard Character LCD (shown below) I've got a general idea of how I want them mapped on the 8051's GPIO:

Current plan is as follows:

Handling Contrast:

Contrast is an Analog input, and the 8051 has no ADC. The HP LED displays have a Vb input that can be used to strobe the displays with PWM and change the apparent brightness.

One solution could be to use a 555 Timer based circuit to take the analog input and generate a varying PWM brightness output from it. This would also stick with classic components! Who doesn't love a 555?


To handle the multiple tasks in emulating an LCD Driver the current firmware will need some further modification. Currently the main loop just handles updating the display columns when triggered by a flag set in a Timer Interrupt at 500Hz.

To implement multitasking I plan to have several separate simple "tasks" executing when required, within each "tick" of the main loop, with some tasks only running when given a flag via an Interrupt.

Main tasks are as follows:

Character ROM:

All three Character ROM codes of the HD66702 are available in the `ascii5x7.c` and `ascii5x7.h` files. Japanese Hiragana can optionally be included alongside any of the ROM codes.


As much as I'd love to continue developing this soon, I will be away from my humble college dorm workbench for a few weeks, and then will be returning to face an intense Fall Semester of Engineering classes.

Needless to say, time will be limited, but I'll certainly continue development when I can!

Happy Hacking :)