好文档 - 专业文书写作范文服务资料分享网站

LCD1602原理及显示程序

天下 分享 时间: 加入收藏 我要投稿 点赞

实用标准文案

__CONFIG(0x3B31); void init();

void write_commond(uchar dat);//写指令函数 void write_data(uchar dat);//写数据函数

void disp_char(uchar x,uchar y,uchar dat);//在屏幕某个位置显示一个字符,x(0-16),y(1-2) void delay(uint x); void delay(uint x) { uint a,b;

for(a=x;a>0;a--)

for(b=110;b>0;b--); }

void init()//初始化指令 {

write_commond(0x01);//0000000001,清除屏幕显示 write_commond(0x28);//设置4位格式,2行,5X7,功能设定 write_commond(0x0C);//0000001100,开显示,无光标,不闪烁

write_commond(0x06);//0000000110,置输入模式,光标右移,屏幕上的文字不

移动 向

write_commond(0x80);//0001000100,设定CGRAM地址显示屏或光标移动方

文档

实用标准文案

}

void write_commond(uchar dat) {

rs=0;//指令 DB=dat; e=1;//允许 delay(5);

e=0; DB=DB<<4; delay(5); e=1; delay(5); e=0; }

void write_data(uchar dat) {

rs=1;//数据 DB=dat; e=1;//允许 delay(5);

e=0; delay(5);

文档

实用标准文案

}

DB=DB<<4; e=1; delay(5); e=0;

void disp_char(uchar x,uchar y,uchar dat) {

uchar address; if(y==1)

address=0x80+x; else

address=0xc0+x;

write_commond(address);

write_data(dat); }

void main() {

TRISD=0X00; PORTD=0X00; PORTB=0X00; TRISB=0X00; delay(5);

文档

实用标准文案

}

init();

disp_char(0,1,'A'); while(1);

也可以是如下:

void disp_char(uchar x,uchar y,uchar dat) {

uchar i;

write_commond(0x80+x); if(i=0;i<16;i++)

{

write_data('A'); delay(5); } }

文档

LCD1602原理及显示程序

实用标准文案__CONFIG(0x3B31);voidinit();voidwrite_commond(uchardat);//写指令函数voidwrite_data(uchardat);//写数据函数voiddisp_char(ucharx,uchary,uchardat);//在屏幕某个位置显示一个字符,x(0-16)
推荐度:
点击下载文档文档为doc格式
7kmwu9vl7055t2h95x553fre38hic9011bk
领取福利

微信扫码领取福利

微信扫码分享