




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
河南理工大學電子設計綜合訓練報告作息時間控制器姓名:李曉宇付道義學號:310708020814310708020810專業班級:自動化07-8指導老師:譚興國所在學院:電氣工程與自動化學院2010年7月2日摘要本設計是作息時間控制器,由單片機最小系統、按鍵模塊、數碼管顯示模塊、鬧鐘模塊組成。采用單片機AT89S52與12MHZ晶振相連;通過按鍵KI、K2、K3、K4控制時間的校正、鬧鐘時間設定;數碼管顯示模塊用來顯示時間,顯示格式為“時分”,并能夠根據需要顯示年、月、日,由數碼管小數點閃動作為秒計數;鬧鐘模塊進行到時提醒并作出相應動作:發光二極管閃亮,同時播放音樂。本設計中,利用單片機定時器設計時間計時處理,采用單片機內部的T0定時器溢出中斷來實現,工作在T1方式下,定時50微妙,則連續中斷20次即為一秒,得到了我們所需時間的最小單位秒,60秒為一分,60分為一小時,24小時為一天,1、3、5、7、8、10、12月為31天,4、6、9、11月為30天,閏年二月為29天,非閏年二月為28天,12個月為一年。采用這種時間設計思想來進行時間設置。在整個系統的設計中,單片機的P0口輸出顯示信號,P1口按鍵輸入控制、P2口用來掃描,為動態顯示、P3口鬧鐘模塊。該設計用C51編寫程序,由于匯編語言的移植性比較差,而C語言則比較靈活。許多子函數都可以直接移植過去。作息時間控制器作息時間控制器#0x93,0xF0,//00233HZ,1#0x73,0xF1,//00247HZ,20x49,0xF2,//00262HZ,2#0x07,0xF3,//00277HZ,30xC8,0xF3,//00294HZ,40x73,0xF4,//00311HZ,4#0x1E,0xF5,//00330HZ,50xB6,0xF5,//00349HZ,5#0x4C,0xF6,//00370HZ,60xD7,0xF6,//00392HZ,6#0x5A,0xF7,//00415HZ,70xD8,0xF7,//00440HZ1//12TOC\o"1-5"\h\z0x4D,0xF8,//00466HZ1#//130xBD,0xF8,//00494HZ2//140x24,0xF9,//00523HZ2#//150x87,0xF9,//00554HZ3//160xE4,0xF9,//00587HZ4//170x3D,0xFA,//00622HZ4#//180x90,0xFA,//00659HZ5//190xDE,0xFA,//00698HZ5#//200x29,0xFB,//00740HZ6//210x6F,0xFB,//00784HZ6#//220xB1,0xFB,//00831HZ7//230xEF,0xFB,//00880HZ'10x2A,0xFC,//00932HZ'1#0x62,0xFC,//00988HZ'20x95,0xFC,//01046HZ'2#0xC7,0xFC,//01109HZ'30xF6,0xFC,//01175HZ'40x22,0xFD,//01244HZ'4#0x4B,0xFD,//01318HZ'50x73,0xFD,//01397HZ'5#0x98,0xFD,//01480HZ'60xBB,0xFD,//01568HZ'6#0xDC,0xFD,//01661HZ'7//35};//音樂符號串解釋函數changedata(uchar*song,uchar*diao,uchar*jie){uchari,i1,j;chargaodi;ucharbanyin;、ucharyinchang;//Oo3Qucharcodejie7[8]={0,12,14,16,17,19,21,23};*diao=*song;for(i=0,i1=0;;){gaodi=0;banyin=0;yinchang=4;if((*(song+i)=='|')||(*(song+i)==''))i++;switch(*(song+i)){case',':gaodi=-12;i++;break;case'、':gaodi=12;i++;break;}if(*(song+i)==0){*(diao+i1)=0;*(jie+i1)=0;return;}j=*(song+i)-0x30;i++;j=jie7[j]+gaodi;yinc:switch(*(song+i)){case'#':i++;j++;gotoyinc;case'-':yinchang+=4;i++;gotoyinc;case'_':yinchang/=2;i++;gotoyinc;case'.':yinchang=yinchang+yinchang/2;i++;gotoyinc;}*(diao+i1)=j;*(jie+i1)=yinchang;i1++;}}////奏樂函數voidplay(uchar*songdata){uchari,c,j=0;uintn;uchardiaodata[40];ucharjiedata[40];changedata(songdata,diaodata,jiedata);TR1=1;for(i=0;diaodata[i]!=0;i++){tl0_f=freq[diaodata[i]*2];th0_f=freq[diaodata[i]*2+1];for(c=0;c<jiedata[i];c++){for(n=0;n<24;n++){scankey();if(y==0){TR1=0;return;}display();}}TR1=0;for(n=0;n<500;n++);TR1=1;}TR1=0;}voidtime0(void)interrupt1{TH0=0x3c;TL0=0xb0;cnt++;if(y==1&&(set_h==h&&set_m==m))sd=~sd;elsesd=1;if(cnt==20){sec++;cnt=0;if(sec==60){sec=0;m++;if(m==60){m=0;h++;if(h==24){h=0;day++;switch(month){case1:if(day==32){month++;day=1;}break;case2:if(year%4==0){if(day==30){month++;day=1;}}else{if(day==29){month++;day=1;}}break;case3:if(day==32){month++;day=1;}break;case4:if(day==31){month++;day=1;}break;case5:if(day==32){month++;day=1;}break;case6:if(day==31){month++;day=1;}break;case7:if(day==32){month++;day=1;}break;case8:if(day==32){month++;day=1;}break;case9:if(day==31){month++;day=1;}break;case10:if(day==32){month++;day=1;}break;case11:if(day==31){month++;day=1;}break;case12:if(day==32){month++;day=1;}break;}if(month==13){month=1;year++;}}}}if(x==0)bianhuan1();}}timer1()interrupt3{TL1=tl0_f;TH1=th0_f;//調入預定值BEEP=~BEEP;//取反音樂輸出IO}voidmain(void){init();while(1){display();scankey();if(y==1&&(set_h==h&&set_m==m))play(mamahao);elseBEEP=0;}}voidinit(void){BEEP=0;TMOD=0x11;TH0=0x3c;TL0=0xb0;ET0=1;TR0=1;ET1=1;TR1=0;EA=1;}voiddisplay(void){P2=0xfe;P0=a[qian];if(x%2==1&&cnt>=10)P0&=0x00;delay(20);P2=0xfd;P0=a[bai];if(x%2==1&&cnt>=10)P0&=0x00;elseif(x==0&&cnt>=10)P0|=0x80;delay(20);P2=0xfb;P0=a[shi];if(((x%2==0&&x!=0)||x==7)&&cnt>=10)P0&=0x00;delay(20);P2=0xf7;P0=a[ge];if(((x%2==0&&x!=0)||x==7)&&cnt>=10)P0&=0x00;delay(20);}voidm_choose(void){switch(month){case1:if(day==32)day=1;elseif(day==0)day=31;break;case2:if(year%4==0){if(day==30)day=1;elseif(day==0)day=29;}else{if(day==29)day=1;elseif(day==0)day=28;}break;case3:if(day==32)day=1;elseif(day==0)day=31;break;case4:if(day==31)day=1;elseif(day==0)day=30;break;case5:if(day==32)day=1;elseif(day==0)day=31;break;case6:if(day==31)day=1;elseif(day==0)day=30;break;case7:if(day==32)day=1;elseif(day==0)day=31;break;case8:if(day==32)day=1;elseif(day==0)day=31;break;case9:if(day==31)day=1;elseif(day==0)day=30;break;case10:if(day==32)day=1;elseif(day==0)day=31;break;case11:if(day==31)day=1;elseif(day==0)day=30;break;case12:if(day==32)day=1;elseif(day==0)day=31;break;}voidset_time(void){qian=set_h/10;bai=set_h%10;shi=set_m/10;ge=set_m%10;}voidset_day(void){qian=month/10;bai=month%10;shi=day/10;ge=day%10;}voidbianhuan(void){qian=year/1000;bai=year%1000/100;shi=year%100/10;ge=year%10;}voidbianhuan1(void){qian=h/10;bai=h%10;shi=m/10;ge=m%10;}voidscankey(void){if(K1==0){delay(20);if(K1==0){while(K1==0);x++;if(x==3)set_time();elseif(x==5)set_day();elseif(x==7)bianhuan();elseif(x==8){x=0;bianhuan1();}}}if(K2==0){delay(20);if(K2==0){while(K2==0);switch(x){case0:break;case1:h++;if(h==24)h=0;bianhuan1();break;case2:m++;if(m==60)m=0;bianhuan1();break;case3:set_h++;if(set_h==24)set_h=0;set_time();break;case4:set_m++;if(set_m==60)set_m=0;set_time();break;case5:day++;m_choose();set_day();break;case6:month++;if(month==13)month=1;set_day();break;case7:year++;bianhuan();break;}}}if(K3==0){delay(20);if(K3==0){while(K3==0);y++;if(y==2)y=0;}}if(K4==0){delay(20);if(K4==0){while(K4==0);switch(x){case0:break;case1:h--;if(h==255)h=23;bianhuan1();break;case2:m--;if(m==255)m=59;bianhuan1();break;case3:set_h--;if(set_h==255)set_h=23;set_time();break;case4:set_m--;if(set_m==255)set_m=59;set_time();break;case5:day--;m_choose();set_day();break;case6:month--;if(month==0)month=12;set_day();break;case7:year--;bianhuan();break;}}}}voiddelay(uchart)//延時0.1毫秒{uchari;do{for(i=0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 脈管系統教學課件
- 2024-2025學年廣西玉林市高一下學期八校聯考化學試題及答案
- 安全生產責任落實機制研究考核試卷
- 化學纖維生產過程智能化控制考核試卷
- 施工現場粉塵控制措施考核試卷
- 應急預案演練評估指標體系構建方法考核試卷
- 云母制品銷售網絡國際化戰略考核試卷
- 即興動作考試題及答案
- 小兒喂養試題及答案
- 創新創業培訓師資隊伍建設考核試卷
- ICD-10疾病編碼完整版
- 兒童疼痛與舒適度評估量表
- 智能客房控制器設計
- 滁州瑞芬生物科技有限公司年產1.5萬噸赤蘚糖醇項目環境影響報告書
- THMDSXH 003-2023 電商產業園區數字化建設與管理指南
- 新建ICU鎮痛、鎮靜藥物應用幻燈片
- 橡膠和基材的粘接
- GB/T 10610-2009產品幾何技術規范(GPS)表面結構輪廓法評定表面結構的規則和方法
- GA/T 935-2011法庭科學槍彈痕跡檢驗鑒定文書編寫規范
- 湖北省黃石市基層診所醫療機構衛生院社區衛生服務中心村衛生室信息
- 工傷責任保險單
評論
0/150
提交評論