電子時鐘源程序.doc

電子時鐘源程序.doc

ID:55591433

大?。?4.00 KB

頁數(shù):7頁

時間:2020-05-19

電子時鐘源程序.doc_第1頁
電子時鐘源程序.doc_第2頁
電子時鐘源程序.doc_第3頁
電子時鐘源程序.doc_第4頁
電子時鐘源程序.doc_第5頁
資源描述:

《電子時鐘源程序.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫。

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[]=//顯示數(shù)據(jù)數(shù)組{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};ucharDisplay_Buffer[

2、][8]=//位選數(shù)組{{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()//日期時間調(diào)整函數(shù){if(P1!=0xff)//按鍵檢測{DSY_show();//按鍵去抖if(key_Mode==0)//調(diào)整切換{delay(4);function_count=++function_count%7;while(key_Mode==0)DSY_show();}if(key_up==0)//調(diào)整+{delay(4);switch(function_co

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

9、

10、month==6

11、

12、month==9

13、

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

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

16、

17、month==6

18、

19、mon

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。