电子时钟源程序.doc

电子时钟源程序.doc

ID:55591433

大小:24.00 KB

页数:7页

时间:2020-05-19

电子时钟源程序.doc_第1页
电子时钟源程序.doc_第2页
电子时钟源程序.doc_第3页
电子时钟源程序.doc_第4页
电子时钟源程序.doc_第5页
资源描述:

《电子时钟源程序.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、#include"reg51.h"#include"intrins.h"#defineucharunsignedchar#defineuintunsignedintsbitkey_Mode=P1^0;sbitkey_up=P1^1;sbitkey_down=P1^2;voidadjust_time();voidDSY_show();voiddelay(ucharms);ucharcodeDSY_CODE[]=//显示数据数组{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};ucharDisplay_Buffer[

2、][8]=//位选数组{{2,0,1,4,0,5,0,6},{1,2,10,0,0,10,0,0},};ucharcounter=0,change=0,n=0,second=0,minute=0,hour=12,day=6,month=5,function_count=0,DSY_count=0;uintyear=2014;voidmain(){P0=0xff;P1=0xff;P2=0x7f;EA=1;ET0=1;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;TR0=1;while(1){adjust_time();DSY_

3、show();}}voidinterrupt_T0()interrupt1{TH0=(65535-50000)/256;TL0=(65535-50000)%256;if(++counter!=20)return;counter=0;second=++second%60;//秒计算if((second%5)==0)//每隔五秒分别显示日期和时间change=++change%2;if(second!=0)return;if(++minute!=60)return;//分计算minute=0;if(++hour!=24)return;//时计算hour=0;if(++day<=28)ret

4、urn;switch(month){case2://二月有28或29天if((year%4==0&&year%100!=0)

5、

6、(year%400==0)){//判断闰年的两个条件if(day==30){day=1;month=3;}}//闰年二月29天else{if(day==29){day=1;month=3;}}//平年二月28天break;case4://4、6、9、11月为30天case6:case9:case11:if(day==31){day=1;month++;}break;default://1、3、5、7、8、10、12月为31天if(day==32){day=1;

7、if(++month!=13)return;//月份满,返回一月month=1;if(++year!=3001)return;//年份范围2000—3000year=2000;}}}voidadjust_time()//日期时间调整函数{if(P1!=0xff)//按键检测{DSY_show();//按键去抖if(key_Mode==0)//调整切换{delay(4);function_count=++function_count%7;while(key_Mode==0)DSY_show();}if(key_up==0)//调整+{delay(4);switch(function_co

8、unt){case1://秒调整second=++second%60;break;case2://分调整minute=++minute%60;break;case3://时调整hour=++hour%24;break;case4://日调整day=(month==4

9、

10、month==6

11、

12、month==9

13、

14、month==11)?day%30+1:day%31+1;break;case5://月调整month=month%12+1;break;case6://年调整year=(year-2000)%1000+2001;}while(key_up==0)DSY_show();}if(ke

15、y_down==0)//调整-{delay(4);switch(function_count){case1://秒调整second=(second>0)?--second:59;break;case2://分调整minute=(minute==0)?59:--minute;break;case3://时调整hour=(hour==0)?23:--hour;break;case4://日调整day=(month==4

16、

17、month==6

18、

19、mon

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

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

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