polprog / stm8-hd44780

Small and simple HD44780 LCD controller library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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!

About

Small and simple HD44780 LCD controller library

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 81.3%Language:C++ 10.3%Language:Makefile 8.3%