Description
Features
- 16 Characters x 2 Lines
- 5×7 Dot Matrix Character + Cursor
- HD44780 Equivalent LCD Controller/driver Built-In
- 4-bit or 8-bit MPU Interface
- Standard Type
- Works with almost any Micro-controller
- Size: 2.6 inch
- Power: 4.5~5.5V
- Interface level: 5V
Applications:
MP3 players, thermometers, gauges, DIY projects, etc.
Pin Configuration
Pin No: | Pin Name: | Description |
1 | Vss (Ground) | Ground pin connected to system ground |
2 | Vdd (+5 Volt) | Powers the LCD with +5V (4.7V – 5.3V) |
3 | VE (Contrast V) | Decides the contrast level of display. Grounded to get maximum contrast. |
4 | Register Select | Connected to Microcontroller to shift between command/data register |
5 | Read/Write | Used to read or write data. Normally grounded to write data to LCD |
6 | Enable | Connected to Microcontroller Pin and toggled between 1 and 0 for data acknowledgement |
7 | Data Pin 0 |
Data pins 0 to 7 forms a 8-bit data line. They can be connected to Microcontroller to send 8-bit data. These LCD’s can also operate on 4-bit mode in such case Data pin 4,5,6 and 7 will be left free. |
8 | Data Pin 1 | |
9 | Data Pin 2 | |
10 | Data Pin 3 | |
11 | Data Pin 4 | |
12 | Data Pin 5 | |
13 | Data Pin 6 | |
14 | Data Pin 7 | |
15 | LED Positive | Backlight LED pin positive terminal |
16 | LED Negative | Backlight LED pin negative terminal |
16×2 Display Equivalents
Dot Matrix LED Display, 7-Segment LED Display, OLED Display, TFT LCD Screen Display
We come across LCD displays everywhere around us. Computers, calculators, television sets, mobile phones, digital watches use some kind of display to display the time.
LCD modules are very commonly used in most embedded projects, the reason being its cheap price, availability and programmer friendly. Most of us would have come across these displays in our day to day life, either at PCO’s or calculators. The appearance and the pinouts have already been visualized above now let us get a bit technical.
16×2 LCD is named so because; it has 16 Columns and 2 Rows. There are a lot of combinations available like, 8×1, 8×2, 10×2, 16×1, etc. but the most used one is the 16×2 LCD. So, it will have (16×2=32) 32 characters in total and each character will be made of 5×8 Pixel Dots.
Now, we know that each character has (5×8=40) 40 Pixels and for 32 Characters we will have (32×40) 1280 Pixels. Further, the LCD should also be instructed about the Position of the Pixels. Hence it will be a hectic task to handle everything with the help of MCU, hence an Interface IC like HD44780is used, which is mounted on the backside of the LCD Module itself. The function of this IC is to get the Commands and Data from the MCU and process them to display meaningful information onto our LCD Screen. You can learn how to interface an LCD using the above mentioned links. If you are an advanced programmer and would like to create your own library for interfacing your Microcontroller with this LCD module then you have to understand the HD44780 IC is working and commands which can be found its datasheet.
Displaying Custom Characters on 16X2 LCD
Generating custom characters on LCD is not very hard. It requires the knowledge about custom generated random access memory (CG-RAM) of LCD and the LCD chip controller. Most LCDs contain Hitachi HD4478 controller.
CG-RAM is the main component in making custom characters. It stores the custom characters once declared in the code. CG-RAM size is 64 byte providing the option of creating eight characters at a time. Each character is eight byte in size.
CG-RAM address starts from 0x40 (Hexadecimal) or 64 in decimal. We can generate custom characters at these addresses. Once we generate our characters at these addresses, now we can print them on the LCD at any time by just sending simple commands to the LCD. Character addresses and printing commands are below