Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Small and simple HD44780 LCD controller library
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
Simple small HD44780 LCD library for STM8 Files: ===== main.c - test and demo delay.h - delay functions hd44780.c - implementation hd44780.h - header readme - this file COPYING - licence Example compilation: ===== $ make clean && make && make flash flash target assumes you are using stlinkv2 programmer. Should you use another version, modify the Makefile to your needs. The example should print a message to the display. Tested on STM8S-DISCOVERY dev kit. Connections: Connections are redefinable as long as the whole data bus is on the same port. This was chosen to make the code more compact and smaller. E - PD0 RS - PD1 D4-D7 - PD2-5 Usage: ===== Include hd44780.h and delay.h in your code, add the c file to the build path. Define F_CPU_K as CPU speed in KHz. Note that in this project the macro is defined in the Makefile! delay.h contains LibC-AVR style functions _delay_ms() and _delay_cycl(), and a macro _delay_us(). All three let you use a variable as a parameter, in contrary to LibC-AVR. I found sdcc can do *weird things* with those so always check the corresponding .asm file. A badly expanded macro may result in calls to word mul and div, which take extra amount of time! Happy hacking!