The 16x2 LCD: Display Custom Characters

Current Part:

PIC 18F452 Microcontroller
7805 +5v Regulator
5kΩ Trimpot
47uF Capacitor
4 MHz Oscillator
16x2 LCD Module (HD44780)

Parts List Details
           While there aren't many parts necessary for this tutorial, they all are necessary and important to get things working. Below I'll describe them in more detail in case there's any question for why the part is needed.

PIC 18F452
           Similar to the original 16x2 LCD interfacing tutorial, the PIC microcontroller will be used to send commands to the 16x2 LCD module. So you can think of the PIC as the 'brains' of the circuit. Since the PIC is just sending digital commands, you could also use an Arduino, AVR, MSP or really any other type of microcontroller.

7805 +5v Regulator
           This is a standard linear voltage regulator found in many designs. It will keep output voltage held to the +5v that we need for the digital electronics. The 47uF Capacitor attached to the output of this linear regulator will help keep the volage stable at +5v.

4 MHz Oscillator
           A ceramic oscillator is used at the speed of 4 MHz for this tutorial. This means, since the PIC executes 1 instruction per 4 clock cycles, that the PIC will execute 1 instruction every 1 microsecond (0.000001 Sec.).

5kΩ Trimpot
           The trimpot is used to change the contrast of the LCD. Each LCD module is unique and so the text might show up very bright or very dark, depending on the contrast setting. Using a trimpot input into the contrast pin means easy adjustment of the LCD contrast so you'll never be in doubt about whether your text displayed or not.

16x2 LCD Module (HD44780)
           This is the actual LCD module. It uses the HD44780 interface for command and control. There are two lines, both have space enough for 16 5x8 pixel characters, for a total of 32 characters.

Wires , Breadboard & SIPs
           Depending on whether you are using a development board or a breadboard, you may need more breadboard wires or more SIPs and some solder & soldering iron. I had a development board already setup so I went that route, but this tutorial can also be completed on a breadboard.