How to control a HD44780-based Character-LCD

The Industry Standard Character LCD

Visitor #

© 1995-2005 Peter Ouwehand.
Last updated on 2005-01-22

TOC | General info | 8051 example | PIC example | Misc. examples | Manuf./Distrib. | Home | Sign Guestbook | View Guestbook

Table Of Contents

0. Table Of Contents

1. General

1.1. Disclaimer
1.2. Usage
1.3. Purpose

2. HD44780-based LCD modules

2.1. Pin assignment
2.2. Instruction set
2.3. Visible DDRAM addresses

2.3.1. 1-line displays
2.3.2. 2-line displays
2.3.3. 4-line displays

2.4. Interfacing

2.4.1. 8-bit interface
2.4.2. 4-bit interface

2.5. Character set
2.6. Related pages

3. 8051 example

3.1. Basic control software

3.1.1. Requirements / features
3.1.2. Global declarations

3.1.2.1. Register declarations
3.1.2.2. Literal declarations
3.1.2.3. Procedure declarations / library interface

3.1.3. Code

3.1.3.1. LCD initialisation
3.1.3.2. Busy flag
3.1.3.3. Clear display
3.1.3.4. Cursor home
3.1.3.5. Entry mode
3.1.3.6. Display mode
3.1.3.7. Set character generator RAM address
3.1.3.8. Set display data RAM address
3.1.3.9. Get address counter contents
3.1.3.10. Write character

3.2. Advanced control software

3.2.1. Requirements / features
3.2.2. Global declarations

3.2.2.1. Procedure declarations / library interface

3.2.3. Code

3.2.3.1. User defined characters
3.2.3.2. Set cursor position
3.2.3.3. Write character
3.2.3.4. Write string
...

3.3. Availability
3.4. Target hardware

3.4.1. Controller
3.4.2. Interface

3.4.2.1. LCD interface
3.4.2.2. Address decoder example

3.5. Development environment

3.5.1. Software
3.5.2. Hardware

4. PIC example

4.1. Basic control software

4.1.1. Requirements / features
4.1.2. Global declarations

4.1.2.1. Register declarations
4.1.2.2. Literal declarations
4.1.2.3. Procedure declarations / library interface

4.1.3. Code

4.1.3.1. LCD initialisation
4.1.3.2. Busy flag
4.1.3.3. Clear display
4.1.3.4. Cursor home
4.1.3.5. Entry mode
4.1.3.6. Display mode
4.1.3.7. Set character generator RAM address
4.1.3.8. Set display data RAM address
4.1.3.9. Get address counter contents
4.1.3.10. Write character
4.1.3.11. Write command
4.1.3.12. Delay loops

4.2. Advanced control software

4.2.1. User defined characters
...

4.3. Availability
4.4. Target hardware

4.4.1 Controller
4.4.2 Interface

4.5. Development environment

4.5.1. Software
4.5.2. Hardware

5. Miscellaneous examples

5.1. PIC16C54 using only 3 lines
5.2. ATMEL AT90S2313-10PI C-demo
5.3. Variant on PIC16C54 using only 3 lines
5.4. Other information sources

6. Manufacturers and Distributors

6.1. Europe
6.2. North America
6.3. Asia
6.4. Australia
6.5. South America
6.6. Africa

TOC | General info | 8051 example | PIC example | Misc. examples | Manuf./Distrib. | Home | Sign Guestbook | View Guestbook