Interfacing a 16X4 LCD
In this project, a 16X2 LCD is connected to PORTB of PIC 16F877A microcontroller and the microcontroller is operated from an 8MHz oscillator. The message to be displayed is "welcome to 16x2 LCD display".A reset button is include to be able to reset the microcontroller.
The circuit is drawn using proteus software and the code below is written in mikroC PRO for PIC.
Circuit diagram of a 16X2 LCD
MikroC code of 16X2 LCD display
// begin configuration of LCD
sbit LCD_RS_direction at TRISB0_bit;
sbit LCD_EN_direction at TRISB1_bit;
sbit LCD_D4_direction at TRISB2_bit;
sbit LCD_D5_direction at TRISB3_bit;
sbit LCD_D6_direction at TRISB4_bit;
sbit LCD_D7_direction at TRISB5_bit;
sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D7 at RB5_bit;
// End of LCD configuration
void main() { char txt[]="welcome to 16x2"; char text[]="LCD display";
TRISB=0X00; // Configure PORTB as output
PORTB=0X00; // initialise PORTB
while(1) // loop
{
lcd_Init(); // initialise LCD
lcd_cmd(_lcd_clear); // clear the LCD
lcd_cmd(_lcd_cursor_off); // put OFF the cursor on LCD
delay_ms(100); // delay for 0.1 second
lcd_out(1,1,txt); // display "welcome to 16x2" on row 1 of LCD
lcd_out(2,3,text); // display "LCD display"; on row 2 column 3
delay_ms(1500); // delay for 1.5 seconds
}
}
By EKETECH
Related: