收藏 分享(赏)

基于51单片机的电子万年历.doc

上传人:精品资料 文档编号:10681219 上传时间:2019-12-23 格式:DOC 页数:11 大小:72KB
下载 相关 举报
基于51单片机的电子万年历.doc_第1页
第1页 / 共11页
基于51单片机的电子万年历.doc_第2页
第2页 / 共11页
基于51单片机的电子万年历.doc_第3页
第3页 / 共11页
基于51单片机的电子万年历.doc_第4页
第4页 / 共11页
基于51单片机的电子万年历.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、#includetypedef unsigned char u8;typedef unsigned int u16;sbit A=P20;sbit BA=P21;sbit C=P22;sbit led = P30;sbit s7=P37;/*k1 设置时间,k2 定时。k1 ,k2 使用不自动弹起按键。k3 时分秒选择,k4 加数字,k5 减数字。*/sbit k1=P10; sbit k2=P11;sbit k3=P12;sbit k4=P13;sbit k5=P14;u8 count=0,sec,min=44,hour=8,mon=9,day=28,ss=0;s=60,m=60,h=24,

2、month=12,d=31;u16 year=2015,y=9999;#define DATA P0u16 code table= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /共阴数码管 0-F 编码void delay(u16 z)u16 x,y;for(x=z;x0;x-)for(y=110;y0;y-);/*通过 count 获得 hour,min, sec 变量值 */void timecontrol() sec+;if(sec=60)sec=0;min+;if(mi

3、n=60)min=0;hour+;if(hour=24)/1dhour=0;day+;switch(mon) case 1:case 3:case 5:case 7:case 8:case 10:case 12:if(day=32)/一个月day=0;mon+;break;case 4:case 6:case 9:case 11:if(day=31)/一个月day=0;mon+;break;default: /2 月if(year%4=0 mon+;elseif(day=29)day=0;mon+;break;if(mon=12) /1 年mon=0;year+;if(year=9999)ye

4、ar=0;void display(u16 year1,u8 mon1,u8 day1,u8 zs,u8 zm, u8 zh)led=1;DATA=0x00;A=0;BA=0;C=0;DATA=tablezh/10;delay(3);DATA=0x00;A=1;BA=0;C=0;led=1;DATA=tablezh%10|0x80;delay(3);DATA=0x00;A=0;BA=1;C=0;led=1; DATA=tablezm/10;delay(3);DATA=0x00;A=1;BA=1;C=0;led=1;DATA=tablezm%10|0x80;delay(3);DATA=0x00;

5、A=0;BA=0;C=1;led=1; DATA=tablezs/10;delay(3);DATA=0x00;A=1;BA=0;C=1;led=1; DATA=tablezs%10|0x80;delay(3);DATA=0x00;led=0;A=0;BA=0;C=0;DATA=tableyear1/1000;delay(3);DATA=0x00;A=1;BA=0;C=0;led=0;DATA=tableyear1%1000/100;delay(3);DATA=0x00;A=0;BA=1;C=0;led=0;DATA=tableyear1%1000%100/10;delay(3);DATA=0x

6、00;A=1;BA=1;C=0;led=0;DATA=tableyear1%10;delay(3);DATA=0x00;A=0;BA=0;C=1;led=0;DATA=tablemon1/10;delay(3);DATA=0x00;A=1;BA=0;C=1;led=0;DATA=tablemon1%10;delay(3);DATA=0x00;A=0;BA=1;C=1;led=0;DATA=tableday1/10;delay(3);DATA=0x00;A=1;BA=1;C=1;led=0;DATA=tableday1%10;delay(3);void keyscan_settime() /时间

7、设置模块u16 ye;u8 mo,da, st,mt,ht;if(k1=0)delay(10);if(k1=0)st=sec,mt=min,ht=hour,ye=year,mo=mon,da=day;TR0=0; /关闭定时器while(k1=0) /等待用户按键display(ye,mo,da,st,mt,ht); if(k3=0)delay(10);if(k3=0) while(!k3);ss+;if(ss=6) ss=0;/*通过 ss 选择时分秒设置*/if(k4=0) /加数delay(10);if(k4=0)while(!k4);switch(ss)case 0:st+;if(st

8、=60)st=0;break;case 1:mt+;if(mt=60)mt=0;break;case 2:ht+;if(ht=24)ht=0;break;case 3:ye+;if(ye=9999) ye=0;break;case 4:mo+;if(mo=13) mo=0;break;case 5:da+;if(da=32) da=0;break; default :; if(k5=0) /减数delay(10);if(k5=0)while(!k5);switch(ss)case 0:if(st0)st-;else st=0;break;case 1:if(mt0)mt-;else mt=0;

9、break;case 2:if(ht0)ht-;else ht=0;break; case 3:if(ye0) ye-;else ye=0;break;case 4:if(mo0) mo-;else mo=0;break;case 5:if(da0) da-;else da=0;break; default : ; TR0=1;sec=st,min=mt,hour=ht,day=da,mon=mo,year=ye; display(year,mon,day,sec,min,hour);void keyscan_time() /用户定时模块if(k2=0)delay(10); if(k2=0)s

10、=sec;m=min;h=hour,y=year,month=mon,d=day;while(k2=0) /开始定时设置display(y,month,d,s,m,h);if(k3=0)delay(10);if(k3=0) while(!k3);ss+;if(ss=6) ss=0;/*通过 ss 选择时分秒设置*/if(k4=0) /加数delay(10);if(k4=0)while(!k4);switch(ss)case 0:s+;if(s=60)s=0;break;case 1:m+;if(m=60)m=0;break;case 2:h+;if(h=24)h=0;break;case 3:

11、y+;if(y=9999) y=0;break;case 4:month+;if(month=13) month=0;break;case 5:d+;if(d=32) d=0;break; default :; if(k5=0) /减数delay(10);if(k5=0)while(!k5);switch(ss)case 0:if(s0)s-;else s=0;break;case 1:if(m0)m-;else m=0;break;case 2:if(h0)h-;else h=0;break; case 3:if(y0) y-;else y=0;break;case 4:if(month0)

12、 month-;else month=0;break;case 5:if(d0) d-;else d=0;break; default : ; void buz()if(year=y)delay(1000);s7=1;void time0_init()TMOD=0x01;TH0=0x4b;TL0=0xfe;EA=1;ET0=1;TR0=1;void main(void)time0_init();while(1)keyscan_settime();keyscan_time(); buz(); void Time0() interrupt 1TH0=0x4b;TL0=0xfe;count+;if(count=20) count=0;timecontrol();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报