#include
//调用头文件,可以去PICC18软件下去查找PIC18FXX2.H
__CONFIG(1,XT) ;
//晶振为外部4M
__CONFIG(2,WDTDIS) ;
//看门狗关闭
__CONFIG(4,LVPDIS) ;
//禁止低电压编程
#define uint unsigned int
#define uchar unsigned char
#define en RB3
#define rw RB4
#define rs RB5
#define D PORTD
void delayms(uint x)
{
int i,j;
for(i=0;i<=110;i++)
for(j=0;j<=x;j++);
}
void write_com(uchar com)
{
rs=0;
rw=0;
delayms(5);
en=1;
delayms(5);
D=com;
en=0;
delayms(5);
}
void write_dat(uchar dat)
{
rs=1;
rw=0;
delayms(5);
en=1;
delayms(5);
D=dat;
en=0;
delayms(5);
}
void init()
{
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80+1);
write_dat('I');
write_com(0x80+3);
write_dat('a');
write_com(0x80+4);
write_dat('m');
write_com(0x80+6);
write_dat('I');
write_com(0x80+7);
write_dat('r');
write_com(0x80+8);
write_dat('o');
write_com(0x80+9);
write_dat('n');
write_com(0x80+11);
write_dat('m');
write_com(0x80+12);
write_dat('a');
write_com(0x80+13);
write_dat('n');
}
void main(void)
{
ADCON1=0X06;
//所有IO均为数字口,模拟量输入禁止
TRISB=0B11000111;
TRISD=0x00;
init();
while(1)
{
}
}
LCD1602使用的方法都是一样的,不管在51单片机,还是PIC,就简单带过
PS:有一点不一样,就是在51中,可以利用编译器在一个位置之后直接写入一连串字符,但是PIC不行,必须一个一个写入,并且一个一个标注好索要的显示位置