The main objective of this project is to reduce the number of wire uses for 16 pin Liquid crystal display . Sometimes there is shortage of pins inside Atmega32 microcontroller , if we connect too many components with the single Microcontroller unit .
The concept of three wire display is very simple , I have used 74HC164 serial in parallel out shift register . In this type of register we have to send comment to the LCD and for displaying character to LCD we have to send 8-bit data and that data should be shift across the register for the parallel output . Let's do this project first , The description of this code is shown below the code .
Atmega32 code for Three wire Liquid Crystal Display
The code is very much similar to the normal LCD interface program . If you do not know Basic of How to interface LCD display to AVR microcontroller please visit this link and read this first .
Just extra component added to this Project is 74HC164 serial in parallel out Shift register . You can use other register instead of this but for this you should read first data sheet of that perticular chip before using it .
inside void sendByteToRegister(uint8_t LCDdata) function we have to find a way to convert our serial data to parallel data so that we can use the LCD data pin in 8 bit mode . Other things are same to previous tutorial on LCD .