Main Objectives:
- Interfacing LCD to the Micro-controller (PIC18F4520)
- Programming LCD by using C- language via MPLAB
- Sending data or command to the LCD
Components required for this task are listed below:
1. Personal Computer
2. MPLAB MPASM Assembler Software(Student Edition)
3. PIC Tool Kits ( ICD2 Debugger) and Demo Board
4. LCD and 10k variable Resistor (potential)
Recently, embedded systems engineers has done many projects using liquid crystal display (LCD) which is as a result of their ability to display not just numbers, but also letters, words and all manners of symbols, which really make them more versatile than the very familiar 7 segment light emitting diode (LED).
Advantages of using LCD instead of LEDs are as follows:
• Ability to display numbers, characters and graphics
• Easy of programming for characters and graphics
• The declining prices of LCDs
FIGURE: Image of LCD pin outs
The above diagram shows the LCD in nibble (4-bit) mode, and used only 7 pins to interface the LCD. The pins connections are Data (D4-D7) and Enable (E) and Register Select (RS) are used for LCD control pins. The Read/Write (RW) Pin of the LCD was grounded permanently, as we are only writing on the LCD and also connected to the microcontroller in case we need to use it. The LCD contrast is controlled by the Potentiometer RV1. All other unwanted data pins of LCD i.e. D0-D3 are connected to ground.
The LCD pins are connected to the PIC18F452 via PORTD (RD0 - RD3) for data line D4-D7 and PORTE (RE0 -RE2) for E, R/W and RS respectively. I have used only 4bits (nibble) data bus (i.e. D4 - D7) in order to reduce the pin .or line interfacing with the PIC. Pin 15 and 16 are not connected the PIC.