HD44780 LCD: Difference between revisions
m Text replacement - "Category:Tinkering" to "{{Navbox Tinkering}}Category:Tinkering" |
No edit summary |
||
| Line 1: | Line 1: | ||
The HD44780 is a controller | The Hitachi HD44780 is a LCD controller developed by Hitachi in the 1980s. These displays are easily identified by their 16 pin interface. LCD displays using the HD44780 are inexpensive and comes in various sizes. | ||
== | == Usage == | ||
The LCD can be driven in 4-bit operation mode which only requires pins D4-D7. | |||
{{Navbox Tinkering}}[[Category:Tinkering]] | ==== Pinouts ==== | ||
The HD44780 has a 16 pin header. | |||
{| class="wikitable" | |||
!Pin | |||
!Description | |||
|- | |||
|1 | |||
|VSS - Ground | |||
|- | |||
|2 | |||
|VDD - 5v | |||
|- | |||
|3 | |||
|VE - Contrast voltage | |||
|- | |||
|4 | |||
|RS - Register Select | |||
|- | |||
|5 | |||
|RW - Read/Write | |||
|- | |||
|6 | |||
|En - Enable | |||
|- | |||
|7 | |||
|Data 0 - Not used in 4-bit operation | |||
|- | |||
|8 | |||
|Data 1 - Not used in 4-bit operation | |||
|- | |||
|9 | |||
|Data 2 - Not used in 4-bit operation | |||
|- | |||
|10 | |||
|Data 3 - Not used in 4-bit operation | |||
|- | |||
|11 | |||
|Data 4 | |||
|- | |||
|12 | |||
|Data 5 | |||
|- | |||
|13 | |||
|Data 6 | |||
|- | |||
|14 | |||
|Data 7 | |||
|- | |||
|15 | |||
|Backlight Anode - 5v | |||
|- | |||
|16 | |||
|Backlight Cathode - Ground | |||
|} | |||
====User Defined Fonts==== | |||
The HD44780 has a ROM that contains all the ASCII characters for the 5x8 dot matrix. A limited number of custom characters can be programmed into the device as bitmaps and are stored in the controller's memory. These custom characters will need to be re-programmed after the controller is switched on. | |||
More information at: http://www.quinapalus.com/hd44780udg.html | |||
=== Troubleshooting === | |||
==== Garbage being rendered on startup ==== | |||
I tried hooking up a HD44780 to an Arduino Pro Mini and tried using the example Hello World sketch but ended up getting garbage being drawn. Adding capacitors didn't help. The odd thing was, the LCD was able to render 'ello, world!' without the first 'H' sometimes but ends up showing garbage again when the microcontroller is reset. <gallery widths="240" heights="240"> | |||
File:HD44780 Rendering Garbage.jpg|HD44780 Rendering Garbage | |||
File:HD44780 Hello World Sketch.jpg|HD44780 Hello World Sketch, missing the H | |||
</gallery>I eventually used another Arduino with the same sketch using jumper wires rather than on the breadboard and it started working. I think the issue was one of the data pins wasn't making a proper connection and the display didn't end up in 4 bit mode? I'm unable to reproduce it however and everything is working reliably.{{Navbox Tinkering}} | |||
[[Category:Tinkering]] | |||
Revision as of 19:59, 9 August 2020
The Hitachi HD44780 is a LCD controller developed by Hitachi in the 1980s. These displays are easily identified by their 16 pin interface. LCD displays using the HD44780 are inexpensive and comes in various sizes.
Usage
The LCD can be driven in 4-bit operation mode which only requires pins D4-D7.
Pinouts
The HD44780 has a 16 pin header.
| Pin | Description |
|---|---|
| 1 | VSS - Ground |
| 2 | VDD - 5v |
| 3 | VE - Contrast voltage |
| 4 | RS - Register Select |
| 5 | RW - Read/Write |
| 6 | En - Enable |
| 7 | Data 0 - Not used in 4-bit operation |
| 8 | Data 1 - Not used in 4-bit operation |
| 9 | Data 2 - Not used in 4-bit operation |
| 10 | Data 3 - Not used in 4-bit operation |
| 11 | Data 4 |
| 12 | Data 5 |
| 13 | Data 6 |
| 14 | Data 7 |
| 15 | Backlight Anode - 5v |
| 16 | Backlight Cathode - Ground |
User Defined Fonts
The HD44780 has a ROM that contains all the ASCII characters for the 5x8 dot matrix. A limited number of custom characters can be programmed into the device as bitmaps and are stored in the controller's memory. These custom characters will need to be re-programmed after the controller is switched on.
More information at: http://www.quinapalus.com/hd44780udg.html
Troubleshooting
Garbage being rendered on startup
I tried hooking up a HD44780 to an Arduino Pro Mini and tried using the example Hello World sketch but ended up getting garbage being drawn. Adding capacitors didn't help. The odd thing was, the LCD was able to render 'ello, world!' without the first 'H' sometimes but ends up showing garbage again when the microcontroller is reset.
-
HD44780 Rendering Garbage
-
HD44780 Hello World Sketch, missing the H
I eventually used another Arduino with the same sketch using jumper wires rather than on the breadboard and it started working. I think the issue was one of the data pins wasn't making a proper connection and the display didn't end up in 4 bit mode? I'm unable to reproduce it however and everything is working reliably.