|
|
6 years ago | |
|---|---|---|
| 8051_RuhNet_Schematic.jpg | 6 years ago | |
| LICENSE | 8 years ago | |
| README.md | 6 years ago | |
| delay.h | 8 years ago | |
| lcd.bin.hex | 8 years ago | |
| lcd.c | 8 years ago | |
| lcd.hex | 8 years ago | |
8051 Test code with 4 bit HD44780 LCD, LEDs, audio frequency generation. I DO NOT claim that the code is pretty or "correct." Just fiddling with some stuff :-)
YouTube video showing my breadboard and program operation: Intel 8051 Microcontroller Test w External EPROM
I compile with SDCC:
sdcc --iram-size 128 --stack-auto lcd.c
packihx lcd.ihx > lcd.hex
Since my EPROM programmer only handles ascii hex data, no special formats, I also do:
objcopy -I ihex -O binary lcd.hex lcd.bin
xxd -p lcd.bin lcd.bin.hex
Those two commands give me a raw binary file, and then convert that binary to the ascii hex file.
The HD44780 LCD is hooked up to the MCU as follows:
LCD: DB4|DB5|DB6|DB7|EN|RS|RW
P1: 0 1 2 3 4 5 GND
LEDs and piezo buzzer or speaker are hooked to pins of P3. I used 2.7k has pullup resistors for the LCD lines on P1. I think 4.7k would be more correct but the 2.7ks were what I had handy.
My test circuit is on a breadboard, with external EPROM chip (27c64, but I also used 27256 and 27c512 with success).