电子时钟(源程序+仿真图).docx

电子时钟(源程序+仿真图).docx

ID:59459482

大小:30.68 KB

页数:9页

时间:2020-11-02

电子时钟(源程序+仿真图).docx_第1页
电子时钟(源程序+仿真图).docx_第2页
电子时钟(源程序+仿真图).docx_第3页
电子时钟(源程序+仿真图).docx_第4页
电子时钟(源程序+仿真图).docx_第5页
资源描述:

《电子时钟(源程序+仿真图).docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#defineucharunsignedchar#defineuintunsignedintsbitp2_0=P2^0;//数码管位选控制端sbitp2_1=P2^1;sbitp2_2=P2^2;sbitp2_3=P2^3;sbitp2_4=P2^4;sbitp2_5=P2^5;sbitp2_6=P2^6;/******************p1_0设置时间,p1_1定时。p1_0,p1_1使用不自动弹起按键。p1_2时分秒选择,p1_3加数字,p1_4减数字。******

2、**********/sbitp1_0=P1^0;sbitp1_1=P1^1;sbitp1_2=P1^2;sbitp1_3=P1^3;sbitp1_4=P1^4;ucharcount=0,sec,min,hour,ss=0;s=60,m=60,h=24;ucharcodemum[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管0-9编码voiddelayms(uintk)//延时函数{uinti,j;for(i=k;i>0;i--)fo

3、r(j=110;j>0;j--);}/**********************************************通过count获得hour,min,sec变量值*************************************************/voidtimecontrol(){sec++;if(sec==60){sec=0;min++;if(min==60){min=0;hour++;if(hour==24)hour=0;}}}voiddisplay(ucharzs,uch

4、arzm,ucharzh)//数码管显示函数{p2_0=1;P0=mum[zh/10];delayms(5);p2_0=0;p2_1=1;P0=mum[zh%10]&0x7f;//时的个位加上小数点delayms(5);p2_1=0;p2_2=1;P0=mum[zm/10];delayms(5);p2_2=0;p2_3=1;P0=mum[zm%10]&0x7f;//分的个位加上小数点delayms(5);p2_3=0;p2_4=1;P0=mum[zs/10];delayms(5);p2_4=0;p2_5=1;

5、P0=mum[zs%10];//秒的个位delayms(5);p2_5=0;}voidkeyscan_settime()//时间设置模块{ucharst,mt,ht;if(p1_0==0){delayms(10);if(p1_0==0){st=sec,mt=min,ht=hour;TR0=0;//关闭定时器while(p1_0==0)//等待用户按键{display(st,mt,ht);if(p1_1==0){delayms(10);if(p1_1==0){while(!p1_1);ss++;if(ss==3

6、)ss=0;}}/*****************************************************通过ss选择时分秒设置*******************************************************/if(p1_2==0)//加数{delayms(10);if(p1_2==0){while(!p1_2);switch(ss){case0:st++;if(st==60)st=0;break;case1:mt++;if(mt==60)mt=0;break;

7、case2:ht++;if(ht==24)ht=0;break;default:;}}}if(p1_3==0)//减数{delayms(10);if(p1_3==0){while(!p1_3);switch(ss){case0:if(st>0)st--;elsest=0;break;case1:if(mt>0)mt--;elsemt=0;break;case2:if(ht>0)ht--;elseht=0;break;default:;}}}}TR0=1;sec=st,min=mt,hour=ht;}}disp

8、lay(sec,min,hour);}voidkeyscan_time()//用户定时模块{if(p1_1==0){delayms(10);if(p1_1==0){s=sec;m=min;h=hour;while(p1_1==0)//开始定时设置{display(s,m,h);if(p1_2==0){delayms(10);if(p1_2==0){while(!p1_2);ss++;if(ss==3

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

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

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