Serial LCD Module using PIC16F88

Many times when I’m working with a small MCU such as 8 pins or 18 pins MCU. I found that I don’t have enough MCU pins for parallel LCD display. So it’s good to have a one-pin-require LCD module for experiment. Acctually, serial LCDs are sale on the market but still I built it myself becasue I can do it and it’s cheap.

Serial LCD

It’s a very simple schematic, I use PIC16F88 becasue It has internal oscillator and Usart module. And a 16 x 2 LCD character and numeric. PORTA is a data port connect to D4 – D7, PORTB 0 and 1 are control port connect to RS and E. RB2 is input pin for serial input data. For serial LCD, 0xFE is consider as a prefix command. The command codes are list below:

1: Clear screen.
2: Home.
12:Hide cursor.
13: Show blink cursor.
14: Show underline cursor.
16: Move cursor one character left.
20: Move cursor one character right.
24: Scroll display one character left.
28: Scroll display one character right.
192: Move to fisrt character of second line.

The communication format is 8-bit data, one stop bit and no parity (RS-232). The default BAUD rate is fix at 9600.

The code.

* Project name:
Serial LCD moduel from parallel LCD
* Copyright:
Nicholas Sirirak
* Description:

* Test configuration:
Dev.Board: –
Oscillator: HS, 8.0000 MHz internal
Ext. Modules: –
SW: mikroC v8.1.0.0
HW connection
RA3 <——–> D7
RA2 <——–> D6
RA1 <——–> D5
RA0 <——–> D4
RB0 <——–> RS
RB1 <——–> E
R/W —> GND

void main(){


For more detail: Serial LCD Module using PIC16F88

About The Author