PIC 16F877A LCD C PROGRAM
PIC 16F877A LCD C PROGRAM:

#include <16F877A.h>
#include <stdio.h>
#include <string.h>
#use delay(clock=6000000)
void init_lcd ()
{
unsigned char x[] = {0×34,0x0c,0×01,0×80,0×06};
unsigned char i;
for( i = 0 ; i < 6 ; i++ )
{
output_c(x[i]);
output_b(0×01);
delay_us(10);
output_b(0×00);
//delay_us(10);
}
}
void display (char s)
{
output_c(s);
output_b(0×03);
delay_ms(100);
output_b(0×02);
delay_ms(100);
}
void main()
{
init_lcd ();
while(1)
{
display (” FRUIT FULL DAY ”);
delay_ms(200);
}
}
#include <16F877A.h>//USING CCS COMPILER
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=2000000)
#include <stdio.h>
#include <string.h>
#endif
// RB0 - Enable bit
// RB1 - Register Select bit
// RC0 - RC7 are data pins
//RC1-REGISTER SELECT LINE
//RC0-ENABLE LINE
//RB0-RB7 ARE DATA LINES
void init_lcd()
{
unsigned char x[] = { 0x38,0x0c,0x01,0x80,0x06};
unsigned char i;
for( i = 0 ; i < 5 ; i++ )
{
output_b (0x00);
output_c (x[i]);
output_b (0x01);
delay_us (10);
output_b (0x00);
delay_ms (10);
}
}
void init_lcd1()
{
unsigned char x[] = { 0x38,0x0c,0x01,0xc0,0x06};
unsigned char i;
for( i = 0 ; i < 5 ; i++ )
{
output_b (0x00);
output_c (x[i]);
output_b (0x01);
delay_us (10);
output_b (0x00);
delay_ms (10);
}
}
void display(char s)
{
output_b (0x02);
output_c (s);
output_b (0x03);
delay_ms (20);
output_b (0x02);
delay_ms (20);
}
void main()
{
char c = 0xc0;
while(1)
{
init_lcd ();
display(" WELCOME ");
init_lcd1 ();
if(c!=0xd1)
{
output_b(0x00);
output_c(0x01);
output_b(0x01);
delay_ms(2);
output_b(0x00);
output_c(c);
output_b(0x01);
delay_ms(2);
output_b(0x00);
display("HELLO WORLD 2010");
c++;
}
else
{
c=0xc0;
output_b(0x01);
delay_ms(2);
output_b(0x00);
delay_ms(2);
}
delay_ms(200);
}
}
<div>
Related posts: