Sunday 22 November 2015

INTERFACING OF LCD(16X2) USING PIC16F877A MICROCONTROLLER


CIRCUIT DESCRIPTION

     The pic16f877a micro controller has 40 pin, four ports etc... In that port, we selecting the port D for data purpose and port E for controlling purpose(RS, RW and EN). The 16x2 LCD is consist of eight data pin(D0-D7), three control pin(RS,RW and EN), Vdd, Vss, Vee and Vo. Make the connection as per shown in circuit diagram.

CIRCUIT DIAGRAM



CIRCUIT DIAGRAM
PROGRAM CODING

#include<pic.h>
#define RS RE2
#define RW RE1
#define EN RE0
void lcd_init();
void lcd_cmd(unsigned char);
void lcd_data(unsigned char);
void lcd_str(unsigned char *p);
void delay(unsigned int);

void main()
{
ADCON1=0x02;
TRISD=0x00;
TRISE0=0;
TRISE1=0;
TRISE2=0;
lcd_init();
lcd_cmd(0x01);
lcd_cmd(0x80);
//lcd_data('a');
lcd_str("SIVA HARI");
lcd_cmd(0x8a);
lcd_data('G');
lcd_cmd(0xc0);
lcd_str("SPIRO");
delay(65000);delay(65000);delay(65000);
}
void lcd_init()
{
lcd_cmd(0x38);
lcd_cmd(0x0e);
}
void lcd_cmd(unsigned char a)
{
PORTD=a;
RS=0;
RW=0;
EN=1;
delay(1000);
EN=0;
delay(1000);
}
void lcd_data(unsigned char b)
{
PORTD=b;
RS=1;
RW=0;
EN=1;
delay(1000);
EN=0;
delay(1000);
}
void lcd_str(unsigned char *p)
{
while(*p!='\0')
{
lcd_data(*p++);
}
}
void delay(unsigned int j)
{
while(j--);
}

LCD INTERFACED SAMPLE PROJECTS

No comments:

Post a Comment