AVR GCC development environment test software: HD44780 compatible LCD display
The code is wirtten for atmega8 at 1MHz but it can easily be changed
for other micrcontrollers.
See the following article for details:
http://tuxgraphics.org/electronics/200904/avr-c-programming.meta.shtml
Edit the Makefile and adjust it to the type of programmer that you are using.
Mac and Linux
To compile type the command:
make
To compile and load use:
make load
Windows
If you run Windows and you have winavr installed then check the winmake.bat
file. Edit it and adjust the path as needed. After that just double click
on the winmake.bat file to compile.
Files
main.c # the main program
lcd.h # definitions for lcd library
lcd_hw.h # hardware definitions for lcd library, change this if
# you connect the LCD to the microcontroller in a different way
premain.hex # pre-compiled loadable object in case you have
prefrench.hex # pre-compiled loadable object just a test of french characters.
# Note that french will only show correctly on a ISO 8859-1 font
# compatible dislay (e.g the blue tuxgraphics display).
Makefile # Makefile
README.htm # this file
lcdschematic_gschem.pdf # schematic as PDF
The fuse bytes for the atmega8 need to be on factory default (1MHz internal
clock):
Fuse Low Byte = 0xe1
Fuse High Byte = 0xd9
Changes:
--------
linuxlcdpanel-0.2 2005-01-27: first public version
linuxlcdpanel-0.3 2005-02-01: removed depricated PRG_RDB macro
(replace by pgm_read_byte)
linuxlcdpanel-0.4 2005-02-07: RW is PB4 and RS is PB5. This is aligned
with the i2c thermometer and the schematic
included here.
Note: I had RS and RW swaped in older circuits.
Check the file lcd_hw.h against your circuit!
linuxlcdpanel-0.5 2005-02-26: Updated README file with new recommendation
regarding the 220 resistors.
linuxlcdpanel-0.6 2005-02-27: Changed wire connection to avoid the bit errors
during programming all together no matter what
type of parallel port is used.
linuxlcdpanel-0.7 2006-03-03: Modifed for gcc-4.0.x.
linuxlcdpanel-0.8 2006-11-09: README updated
Print "=OK=" in the second line of the display
linuxlcdpanel-0.9 2006-12-16: README changed to html
Circuit diagram updated with a 100nF capacitor
Add some french text.
avrlcdtest-1.0 2009-04-12: changed the name of the software and adapted it
for newer compilers.