Low pin-count microcontrollers like PIC12F series don't have enough I/O ports to directly drive a seven segment or character LCD display. However, it can be done with the use of a serial-in-parallel-out shift register. The idea is to first transfer the character data or LCD command serially from the microcontroller to the shift register, and when it is ready at the parallel output of the shift register, send an Enable signal to the LCD module to accept it. Of course LCD pins are connected at the parallel output of the shift register. The circuit below shows how to use a 74HC595 shift register for this purpose.
The challenging part of this project is the driver software, that controls the sequence of operations required to send LCD data and commands in an appropriate serial format to the shift register. I have written one in mikroC. Please check here for driver routine and further detail.
Serial LCD for low pin-count microcontrollers
Low pin-count microcontrollers like PIC12F series don't have enough I/O ports to directly drive a s