LCD显示秒表89C51解释.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
代码部分: #include reg51.h #include intrins.h //包含_nop_( )空函数指令的头文件 #define uchar unsigned char #define uint unsigned int #define out P0 sbit RS=P2^0; //位变量 sbit RW=P2^1; //位变量 sbit E=P2^2; //位变量 void lcd_initial(void); // LCD初始化函数 void check_busy(void); //检查忙标志函数 void write_command(uchar com); //写命令函数 void write_data(uchar dat); //写数据函数 void string(uchar ad ,uchar *s); void str(uchar h,uchar g); //LCD一个位置固定显示字符函数 void lcd_test(void); void delay(uint); uchar tab[]={0,1,2,3,4,5,6,7,8,9}; void main(void) //主程序 { uchar t1,t2,t3,t4,t5,t6; lcd_initial( ); //调用对LCD初始化函数 string(0x87,:); string(0x84,:); string(0x89,0); string(0x88,0); string(0x86,0); string(0x85,0); string(0x83,0); string(0x82,0); t2=0;t3=1;t4=1;t5=1;t6=1; while(1) {string(0x89,tab[t1]); t2++; str(0x88,tab[t2]); //秒的十位进1 if(t2==0x6) {t2=0x0; //秒的十位满5进分的个位 str(0x88,tab[t2]); str(0x86,tab[t3]); t3=t3+1;} if(t30x9) //分的个位满9进分的十位 {t3=0; str(0x86,tab[t3]); str(0x85,tab[t4]); t4++;} if(t40x5) {t4=0; str(0x84,tab[t4]); //分的十位满5进时的个位 str(0x83,tab[t5]); t5=t5+1; } if(t50x5) {t5=0; //时的个位满9进时的十位 str(0x83,tab[t5]); str(0x82,tab[t6]); t6=t6+1; } if(t60x2) //时的十位满2清零 { t6=0; str(0x82,tab[t6]);} } } void delay(uint j) //1ms延时子程序 { uchar i=250; for(;j0;j--) { while(--i); i=249; while(--i); i=250; } } void check_busy(void) //检查忙标志函数 { uchar dt; do { dt=0xff; E=0; RS=0; RW=1; E=1; dt=out; }while(dt0x80); E=0; } void write_command(uchar com) //写命令函数 { check_busy(); E=0; RS=0; RW=0; out=com; E=1; _nop_( ); E=0; delay(1); } void write_data(uchar dat) //写数据函数 { check_busy(); E=0; RS=1; RW=0; out=dat; E=1; _nop_(); E=0; delay(1); } void LCD_initial(void) //液晶显示器初始化函数 { write_command(0x38);//写入命令0x38:8位两行显示,5×7点阵字符 write_command(0x0C);//写入命令0x0C:开整体显示,光标关,无黑块

文档评论(0)

知识宝库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档