基于lcd1602数字时钟程序

基于lcd1602数字时钟程序

ID:28052437

大小:108.50 KB

页数:14页

时间:2018-12-07

基于lcd1602数字时钟程序_第1页
基于lcd1602数字时钟程序_第2页
基于lcd1602数字时钟程序_第3页
基于lcd1602数字时钟程序_第4页
基于lcd1602数字时钟程序_第5页
资源描述:

《基于lcd1602数字时钟程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、#include#defineuintunsignedint//宏定义#defineucharunsignedcharsbitlcdrs=PlAO;//数据/命令选择端(H/L)sbitlcdrw=PlAl;//读/写选择端(H/L)sbitlcden=P2A5;//使能端sbitcs88=P2A2;sbitdu=P2A0;sbitwe=P2Al;sbitbeep=P2A3;//蜂鸣器sbitsl=P3A2;//选择按钮sbits2=P3A3;//确定按钮sbits3=P3A4;//加按钮sbits4=P3A5;//减按钮ucharcodetablel[]="2015-

2、07-01wed.";ucharcodetable2[]="12:00:00";ucharnum,tt,slnum;charhour,minute,second,day,month,year,week;voiddelayfucharz)//延吋函数{uintx,y;for(x=z;x>0;x--)for(y=125;y>0;y-);}voidwrite_com(ucharcom}//写lcdl602指令{lcdrs=O;P0=com;delay(5);lcden=l;delay⑸;lcden=0;}voidwrite_dat(uchardat}//写lcdl602数掘{lcdrs=l;P

3、O=dat;delay(5);lcden=l;delay⑸;lcden=0;voidinit()//初姑化函数{cs88=0;we=0;du=0;//以上三条程序关闭不需要的模块TMOD=0x01;//设置定时器0工作方式TH0=0x4c;//装初值TL0=0x01;EA=1;//总中断允许开ETO=1;//定时器0屮断开TRO=1;//启动定时器0lcdrw=0;lcden=0;P3=Oxff;//为键盘检测做准备year=15;month=7;day=l;week=3;hour=12;write_com(0x38);"设置16*2显示,5*7点阵,8位数据接口write_com(0x

4、0c);//开示write_com(0x06);//读或写一个字符C•地址指针加1,且光标加1write_com(0x01);//淸屏write_com(0x80+l);//设置数据指针for(num=0;num<15;num++)//lcd第一行显示2000-00-00Week{write_dat(tablel[numj);}write_com(0x80+0x40+3);for(num=0;num<8;num++)//lcd第二行显示00:00:00{write_dat(table2[num]);}}voidwrite_ymd(ucharadd,uchardat}//年月hl{ucha

5、rshi'ge;shi=dat/10;//数据求模ge=dat%10;//数据求余write_com(0x80+add);//数据的指针write_dat(Ox3O+sh0;//数据的十位write_dat(0x30+ge};//数据的个位voidwrite_hms(ucharadd,uchardat)//吋分秒{ucharshi,ge;shi=dat/10;ge=dat%10;write_com(0x80+0x40+add);write_dat(0x30+shi);write_dat(0x30+ge);}voidwrite_wee(uchara,ucharb,ucharc,uchard

6、)//星期{write_dat(a);write_dat(b);write_dat(c);write_dat(d);write_com(0x80+12);}voidkeyscan()//键盘扫描函数{if(sl==O)//选择按钮{delay⑸;//延时消抖if(sl==O){TR0=0;//关闭定时器◦slnum++;beep=0;delay(lOO);beep=l;while(sl==0);//松手检测if(slnum==l)//秒{write_com(0x80+0x40+10);write_com(0x0f);}if(slnum==2}//分{write_com(0x80+0x40

7、+7);write_com(OxOf);if(slnum==3)//时{write_com(0x80+0x40+4);write_com(OxOf);}if(slnum==4)//星期{write_com(0x80+12);write_com(OxOf);}if(slnum==5)//H{write_com(0x80+10);write_com(OxOf);}if(slnum==6)//月{write_com(0x80+7);wri

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。