完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include 《reg51.h》
#include 《intrins.h》 #define uchar unsigned char #define uint unsigned int #define LcdBus P0 ***it LED1602_RS=P1^0; //LCD端口定义 ***it LED1602_RW=P1^1 ; ***it LED1602_EN=P1^2 ; void LcdIni(void); void WrOp(uchar dat); void WrDat(uchar dat); void ChkBusy(void); void print_LCD(uchar disp[],uchar num); //延时n ms子程序 void delayms(unsigned int n) { unsigned int i,j; for(i=0;i《n;i++) for(j=0;j《120;j++); } main() { uchar disp1[16]={‘c’,‘h’,‘e’,‘n’,}; uchar disp2[16]={‘2’,‘0’,‘1’,‘9’‘}; while(1) { LcdIni(); WrOp(0x80); //数据指针地址第一行 print_LCD(disp1,11); WrOp(0xc0); //第二行 print_LCD(disp2,10); delayms(3000); WrOp(0x01); } } void print_LCD(uchar disp[],uchar num) //显示数组disp 显示长度为num { uchar i; for(i=0;i《num;i++) { WrDat(disp); delayms(300); } } void LcdIni() { WrOp(0x38); WrOp(0x06); //光标加1 WrOp(0x0f); //开显示 光标闪烁 // WrOp(0x0c); //开显示 光标不闪烁 } void WrOp(uchar dat) { //uchar i; ChkBusy(); LED1602_RS=0; //RS=0 LED1602_RW=0; //RW=0 LED1602_EN=0; //EN=0 LcdBus=dat; //送数据 LED1602_EN=1; //EN=1 delayms(10); //延时 LED1602_EN=0; //EN=0 } void WrDat(uchar dat) { //uchar i; ChkBusy(); LED1602_RS=1; //rs=1 LED1602_RW=0; //rw=0 LED1602_EN=0; //en=0 LcdBus=dat; //送数据 LED1602_EN=1; //en=1 delayms(10);; //延时 LED1602_EN=0; //en=0 } void ChkBusy() { LED1602_RS=0; //RS=0 LED1602_RW=1; //RW=1 LED1602_EN=1; //EN=1 while(LcdBus&0x80); //送数据 LED1602_EN=0; //en=0 } |
|
|
|
只有小组成员才能发言,加入小组>>
2513 浏览 0 评论
1085浏览 2评论
700浏览 1评论
453浏览 0评论
194浏览 0评论
330浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 10:07 , Processed in 1.178899 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号