微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC LCD1602显示

PIC LCD1602显示

时间:11-21 来源:互联网 点击:
#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不行,必须一个一个写入,并且一个一个标注好索要的显示位置

上一篇:ARM的pll
下一篇:K60 PIT定时器

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top