




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、個人收集整理僅供參考學習多功能數字鐘設計報告指導老師:龍光利 隊員:霍寶龍(物理與電信工程學院)101)101)王陽陽(電氣工程學院,電氣李偉濤(電氣工程學院,電氣23 / 19目錄1. 設計任務與要求2. 設計原理及方案3. 主要元器件清單4. 電路原理圖5. 原理說明6. 系統(tǒng)軟件部分7. 整機調整過程8. 總結六位多功能數字鐘制作報告設計任務與要求1.任務.設計制作一個24小時制多功能數字鐘.示意圖如下(僅供參考):盂鈴開 鬧鈴關門。n n設宣時間設蛍鬧憐小時分鐘2要求.基本要求(1) 具有時間設置(小時和分鐘)、鬧鐘時間設置、鬧鐘開、鬧鐘關功能.(2) 數字顯示小時、分鐘,有 AM、P
2、M指示器,鬧鐘就緒燈,蜂鳴器.(3) 220V 供電.發(fā)揮部分(1) 鍵盤切換現(xiàn)場環(huán)境溫度顯示.(060 °C 1°C)(2) 鍵盤切換電網頻率、電壓顯示.(3) 電壓欠壓、過壓報警(220V 10 %)功能.二,設計原理及方案1, 計數原理數字計中是一個對標準頻率進行校準地計數電路 .它地計時周期是24小時, 由于計數器地起始時間不可能與標準時間一致,所以采用校準功能和報時功能.b5E2RGbCAP數字鐘電路主要由譯碼顯示器、校準電路、報時電路、時計數、分計數、 秒計數器,振蕩器和單脈沖產生組成.其中電路系統(tǒng)由秒信號產生器是整個系統(tǒng) 基本信號,它直接決定計數器地精度,用石
3、英振蕩器加分頻器來實現(xiàn),將標準秒 信號送入秒計數器.分、秒計數器采用60進制,時計數器采用24進制,.譯碼器 顯示電路將時、分、秒計數器地輸出狀態(tài)通過三個兩位共陽數碼管顯示出來.整點報時電路根據計時系統(tǒng)地輸出狀態(tài)產生一個脈沖信號,用蜂鳴器輸 出.plEanqFDPw二、模塊電路設計與比較1、時鐘方案選擇采用帶RAM地時鐘芯片AT89C2051.該芯片可以進行時分秒地計數, 可編程 接口,還具有報警功能和掉電保存功能, 并且可以對其方便地進行程序控制, 完 全能滿足題目地要求.DXDiTa9E3dC程序:#i nclude<REG2051.H> code senen_seg10=0x
4、81,0xe7,0x92,0xa2,0xe4,0xa8,0x88,0xe3,0x80,0xa0;P1.7(冒號)口 高電平 RTCrpUDGiT bitkey1_e nter=0,key2_e nter=0,key3_e nter=0,co un tdow n_mark=0,stopwatch_mark=0,co unt_mark=0,bell_mark=0;/ 狀態(tài)標志 5PCzVD7HxAun sig ned char program=0,program_variable=0,co un t_bit=0,co un t=0;jLBHrnAiLgun sig ned char hour=10
5、, minu te=10,sec on d=0;/時間變量xHAQX74J0Xun sig ned char delayed_hour=22,delayed_ minu te=10,delayed_sec on d=0;/ 定時變量 LDAYtRyKfEun sig ned char coun t_hour=0,co unt_minu te=0,co un t_sec on d=0;/計時計數變量Zzz6ZB2Ltkun sig ned char coun t_time=0,co un t_co un t=0;/延時子程序/定時計數0器初void delay (un sig ned int t
6、) un sig ned int i,j;for(i=0;i<t;i+) for(j=0;j<10;j+)void time0_in it(void) 始化EA=0;TR0=0;TMOD=0x01;TH0=0xec;TL0=0x73;ET0=1;TR0=1;EA=1;/ 定時計數0器中/ 時鐘計時程序static void timerO_isr(void) in terrupt TFO_VECTOR usi ng 1 斷函數 dvzfvkwMI1TR0=0;TH0=0xec;TL0=0x73;TR0=1;coun t_time+;if(cou nt_time>=199)cou
7、n t_time=0;second+;if(seco nd>=60)sec on d=0;minu te+; if(mi nute>=60)minu te=0;hour+;if(hour>=24)hour=0;if(delayed_hour=hour && delayedminu te=minute && sec on d<4) P3_7=0;rqyn14ZNXIelse P3_7=1;if(coun tdown_mark=1)/ 倒計時程序coun t_co un t+;if(cou nt_cou nt>=199 &&am
8、p;(coun t_sec on d!=0|co unt_minu te!=0|co un t_hour!=0)EmxvxOtOcocoun t_co un t=0;coun t_sec on d-; if(co un t_sec on d>=60)coun t_sec on d=59;coun t_mi nute-;if(co unt_minu te>=60)count_minu te=59;coun t_hour-;if(cou nt_hour>=100) coun t_hour=99;if(coun t_sec ond=0&&count_minu te=
9、0&&coun t_hour=0&&coun t_co un t<=12000)P3_7=0;SixE2yXPq5else P3_7=1;if(coun t_cou nt>=15000) cou nt_cou nt=14000;if(stopwatch_mark=1)/ 秒表程序coun t_co un t+;if(co un t_co un t>=2)coun t_co un t=0;coun t_sec on d+;if(cou nt_seco nd>=100)coun t_sec on d=0;count_minu te+;if(c
10、o unt_minu te>=60)count_minu te=0;coun t_hour+;if(co un t_hour>=60) coun t_hour=0;un sig ned char show_key (void)un sig ned char x=0,y=0;switch (program)case 0: P1&=se nen_segseco nd%10;/時鐘秒地個位6ewMyirQFLbreak;case 1: if(count_time>=90)P1&=senen_segsecond%10; /校正秒地個位 kavU42VRUsbreak;
11、case 2: if(delayed_hour=24) P仁Oxfe;/ 鬧鐘秒地個位else P1&=se nen _segdelayed_sec on d%10;break;case 3: if(cou nt_bit>=0) P1&=se nen_segcou nt_seco nd%10;倒計時秒地個位y6v3ALoS89else P仁 Oxff;break;case 4: P1&=se nen_segcou nt_seco nd%10;/秒表秒地個位M2ub6vSTnPbreak;case 5: P1&=se nen_segcou nt_seco n
12、d%10;/計數器個位OYujCfmUCwbreak;P3_3=0;delay(10);if(P3_5=0)key1_e nter=1; if(co un tv=254)co un t+;if(P3_4=0) key2_e nter=1;if(P3_2=0) key3_e nter=1;P3_3=1;P1|=Oxff;/功能鍵1識別/功能鍵2識別/功能鍵3識別switch (program)case 0: P1&=se nen _segsec on d/10; eUts8ZQVRd/時鐘秒地十位break;case 1: if(cou nt_time>=90) P1&=s
13、e nen_segseco nd/1O; /校正秒地十位sQsAEJkW5Tbreak;case 2: if(delayed_hour=24) P仁Oxfe;GMslasNXkA/鬧鐘秒地十位else P1&=se nen _segdelayed_sec on d/10;break;case 3: if(co un t_bit>=1) P1&=se nen _segco un t_secon d/10;/TIrRGchYzgelse P仁 Oxff;break;case 4: P1&=se nen _segco un t_sec on d/10;7EqZcWLZN
14、Xbreak;case 5: P1&=se nen _segco un t_sec on d/10;lzq7IGf02E倒計時秒地十位/秒表秒地十位/計數器十位break;P3_ 仁0;delay(10);P3_ 1=1;P1|=0xff;switch (program)case 0: P1&=se nen_segmi nu te%10;break;case 1: if(count_time>=90) P1&=senen_segminute%10; / 時鐘分地個位zvpgeqJ1hk校正分地個位NrpoJac3v1/鬧鐘分地個位倒計時分地個位/秒表分地個位/計數
15、器百位時鐘秒地個位校正秒地個位V7l4jRB8Hs/鬧鐘秒地個位倒計時秒地個位/秒表秒地個位/計數器千位break;case 2: if(delayed_hour=24) P仁 Oxfe;else P1&=se nen _segdelayed_ minu te%10;break;case 3: if(count_bit>=2) P1&=senen_segcount_minute%10;1nowfTG4KIelse P仁 Oxff;break;case 4: P1&=se nen _segco unt_minu te%10;fjnFLDa5Zobreak;case
16、5: P1&=se nen _segco unt_minu te%10;tfnNhnE6e5break;P3_2=0;delay(10);P3_2=1;P1|=0xff;switch (program)case 0: P1&=se nen _seg minu te/10;/HbmVN777sLbreak;case 1: if(co un t_time>=90) P1&=se nen _seg minu te/10; / break;case 2: if(delayed_hour=24) P仁 Oxfe;else P1&=se nen _segdelayed
17、_ minu te/10; break;case 3: if(co un t_bit>=3) P1&=se nen _segco un t_mi nu te/10;/83lcPA59W9else P仁 Oxff; break;case 4: P1&=se nen _segco unt_minu te/10;mZkklkzaaPbreak;case 5: P1&=se nen _segco unt_minu te/10;AVktR43bpwbreak;P3_5=0;delay(10);P3_5=1;P1|=0xff;switch (program)case 0: P
18、1&=se nen_seghour%10;/ 時鐘時地個位ORjBnOwcEdbreak;case 1: if(cou nt_time>=90) P1&=se nen_seghour%10; / break;case 2: if(delayed_hour=24) P仁 Oxfe;else P1&=se nen _segdelayed_hour%10;break;case 3: if(cou nt_bit>=4) P1&=se nen_segcou nt_hour%10; uEh0U1Yfmhelse P仁 0xff;break;case 4: P1&
19、amp;=se nen _segco un t_hour%10;break;case 5: P1&=se nen _segco un t_hour%10;break;P3_0=0;delay(10);if(P3_4=1 && key2_enter=1)x=3;/3WwghWvVhPEkey2_e nter=0; P3_0=1;P1|=0xff;switch (program)case 0: P1&=se nen_seghour/10;asfpsfpi4kbreak;case 1: if(count_time>=90) P1&=senen_segho
20、ur/10; / break;case 2: if(delayed_hour=24) P仁 0xfe;else P1&=se nen _segdelayed_hour/10; break;case 3: if(co un t_bit>=5)P1 &=se nen _segco un t_hour/10; /PgdO0sRlMoelse P仁 0xff;break;case 4: P1&=se nen _segco un t_hour/10;校正時地個位2MiJTy0dTT/鬧鐘時地個位gliSpiue7A倒計時時地個位/秒表時地個位IAg9qLsgBX/計數器萬位
21、確認功能鍵2識別,返回/ 時鐘時地個位校正時地個位ooeyYZTjj1/鬧鐘時地個位BkeGuInkxI倒計時時地個位/ 秒表時地個位3cdXwckm15break;case 5: P1&=se nen _segco un t_hour/10; break;P3_4=0;delay(10);if(P3_5=1 && key1_enter=1)個功能 h8c52WOngMif(cou nt>=127) x=1; else x=2;key1_e nter=O;coun t=0;if(P3_2=1 && key3_e nter=1)x=4;/key3_e
22、 nter=O;/計數器萬位/確認功能鍵1識別,執(zhí)行退出或進入下一/確認功能鍵1為長按,返回1/確認功能鍵1為短按,返回2確認功能鍵3識別,返回4P3 4=1;P1|=0xff;if(program<=1 && coun t_time>=100) P1&=Oxff; 號閃爍 v4bdyGious/校時和顯示功能時鐘時冒if(program<=1 && coun t_time<=100) if(program=2) P1&=0x7f;if(program=3) P1&=0xff;if(program=4) P1&am
23、p;=0x7f;if(program=5) P1&=0xff;y=x;x=0;P1&=0x7f;/設置鬧鐘功能時冒號長亮/設置倒計時功能時冒號長滅/設置秒表功能時冒號長亮/設置計數時冒號長滅return y;void main()/ 主程序P1=0xff;P3=0xff;time0_i nit();while(1) switch(program)case 0: while(program=0) switch(show_key() case 0: break;case 1: program=0; break;case 2: program=1; break;/時鐘菜單break;
24、/ 校時菜單case 1: while(program=1)switch(show_key()case 0: break;case 1: program=0;break;case 2: program=2; break;case 3: hour+;if(hour>=24)hour=0; break;case 4: minu te+;if(minu te>=60) minu te=0; break;break;case 2: while(program=2)/ 鬧鐘菜單switch(show_key()case 0: break;case 1: program=0;break;cas
25、e 2: program=3; break;case 3: delayed_hour+;if(delayed_hour>=25)delayed_hour=0; break;case 4: delayed_ minu te+;if(delayed_ minu te>=60)delayed_ minu te=0; break;break;倒計時菜單case 3: while(program=3)/switch(show_key()case 0: break;case 1: program=0;break;case 2: program=4; break;case 3: coun t_b
26、it+;if(co un t_bit>=7)co un t_bit=0;break;case 4: switch(co un t_bit)case 0: coun t_sec on d+=1;break;case 1: coun t_sec on d+=10;break;case 2: count_minu te+=1;break;case 3: count_minu te+=10;break;case 4: coun t_hour+=1;break;case 5: coun t_hour+=10;break;case 6: break;if(cou nt_hour>=100) c
27、oun t_hour-=100; if(co unt_minu te>=60) count_minu te-=60; if(co un t_sec on d>=60) coun t_sec on d-=60;break;if(co un t_bit=6) coun tdow n_mark=1;else coun tdow n_mark=0;break;/秒表菜單case 4: coun t_hour=0;count_minu te=0;coun t_sec on d=0;while(program=4) switch(show_key() case 0: break;case 1:
28、 program=0;break;case 2:program=5;break;case 3:stopwatch_mark=stopwatch_mark;break;case 4:if(stopwatch_mark=0)coun t_hour=0; count_minu te=0;coun t_sec on d=0; break;/計數器菜單 break;case 5: coun t_hour=0; count_minu te=0;coun t_sec on d=0;while(program=5) switch(show_key() case 0: break;case 1: program
29、=0; break;case 2: program=0; break;case 3: coun t_sec on d+; if(cou nt_seco nd>=100) coun t_sec on d=0; count_minu te+;if(cou nt_mi nu te>=100) count_minu te=0;coun t_hour+; if(co un t_hour>=100)co un t_hour=0; break;case 4: coun t_hour=0;count_minu te=0; coun t_sec on d=0;break; if(P3_7=0)
30、while(P3_7=0) show_key(); coun t_sec on d+;if(cou nt_seco nd>=100) coun t_sec on d=0; count_minu te+;if(cou nt_mi nu te>=100) count_minu te=0; coun t_hour+;if(co un t_hour>=100)co un t_hour=0; break;if(program!=3) coun tdow n_mark=0; if(program!=4) stopwatch_mark=0;3、顯示模塊地選擇采用數碼管顯示.數碼管亮度高、體
31、積小、重量輕,但其顯示信息簡單、有限, 在本題目中應用受到很大地限制.魏碼管'戶II數碼管三,主要元器件清單序號名稱規(guī)格位號數量序號名稱規(guī)格位號數量1單片機AT89C2051U1113三極管9012Q1 Q772三端集成穩(wěn)壓78L05U2114電阻220RA R9732位共陽數碼管紅色0.4寸LED1 LED33151KR2、R10 R1574發(fā)光二極管紅色$ 3D1 D44162KR17、R1825蜂鳴器5V有源U31175.1KR1616瓷片電容30PFC2、C321810KR1170.1uFC4、C5219按鍵6*6*5S1、S2、S3382位排針間距2.54J1 J3320電池
32、盒4節(jié)5號19集成電路插座20PU1121DC插座5.5*2.1110電解電容10uFC1122電源線雙色2P帶熱縮管111100uFC6123電路板105*55112晶振12MHzY1124說明書A4雙面1四、電路原理圖GNDR1 10KC23(C1 1OuF3o"丄 Y1C3 I 12M Hz+5VGNDLED1小寸+5VR1 11K+5 V+5VR1 21KQ0312 IQ49012Q:2+5VLED2D1Vcc(RXD)P3.0P1.7(TXD)P3.1P1.6XTAL2P1.5XTAL1P1.4(INT0)P3.2P1.3(INT1)P3.3P1.2(T0)P3.4P1.1
33、(AIN1)(T1)P3.5P1.0(AIN0)GNDP3.7AT89C2 0511615+5VR3R9 220J2IN 1 2GND+5V21GNDLEDf g b f g 'b e d c e d 'c p dp dpp e c b a f g|6 7 8b a fJ1POWER1C4F 104D NGGND分鐘cdpa f gR131KR1 51KR1 82KU278L05TUHSFOKMER+原理說明:1、顯示原理:顯示部分主要器件為3只兩位一體共陽極數碼管,驅動采用PNP型三極管驅動,各端口配有限流電阻,驅動方式為動態(tài)掃描,占用P3.0P3.5端 口,段碼由P1.0P
34、1.6輸出.冒號部分采用4個 3.0地紅色發(fā)光二極管,驅 動方式為獨立端口 P1.7驅動.2、鍵盤原理:按鍵S1S3采用復用地方式與顯示部分地 P3.5、P3.4、P3.2 口復 用.其工作方式為,在相應端口輸出高電平時讀取按鍵地狀態(tài)并由單片機消除抖 動并賦予相應地鍵值.3、迅響電路及輸入、輸出電路原理:迅響電路由有源蜂鳴器和 PNP型三極管組成.其工作原理是當PNP型 三極管導通后有源蜂鳴器立即發(fā)出定頻聲響.驅動方式為獨立端口驅動,占用 P3.7 端口 .輸出電路是與迅響電路復合作用地,其電路結構為有源蜂鳴器,5.1K定值電阻R6,排針J3并聯(lián).當有源蜂鳴器無迅響時J3輸出低電平,當有源蜂鳴
35、器 發(fā)出聲響時J3輸出高電平,J3可接入數字電路等各種需要.驅動方式為迅響復 合輸出,不占端口 .輸入電路是與迅響電路復合作用地,其電路結構是在迅響電路地 PNP型 三極管地基極電路中接入排針J2.引腳排針可改變單片機I/O 口地電平狀態(tài),從 而達到輸入地目地.驅動方式為復合端口驅動,占用 P3.7端口 .4、單片機系統(tǒng):本產品采用了單片機AT89C205偽核心器件,并配合所有地外圍電路,具 有上電復位地功能,無手動復位功能.J0bm4qMpJ9六、系統(tǒng)軟件部分為實現(xiàn)系統(tǒng)功能,系統(tǒng)軟件共設六個運行狀態(tài)和各部分功能描述如下:1、功能按鍵說明:S1為功能選擇按鍵,S2為功能擴展按鍵,S3為數值加按
36、鍵.2、功能及操作說明:操作時,連續(xù)短時間(小于1秒)按動S1,即可在以上地6個功能中連續(xù)循環(huán)中途如果長按(大于2秒)S1,則立即回到時鐘功能地狀態(tài).1) 時鐘功能:上電后即顯示10: 10: 00,寓意十全十美.2) 校時功能:短按一次S1,即當前時間和冒號為閃爍狀態(tài),按動S2則小時位加1,按動S3則分鐘位加1,秒時不可調.3) 鬧鐘功能:短按二次 S1,顯示狀態(tài)為22: 10: 00,冒號為長亮按動S2剛小時位加1, 按動S3則分鐘位加1,秒時不可調.當按動小時位超過 23時則會顯示-:-:-,這個表示 關閉鬧鐘功能.鬧鈴聲為蜂鳴器長鳴 3秒鐘.4) 倒計時功能:短按三次S1,顯示狀態(tài)為
37、0,冒號為長滅按動S2則從低位依此顯示高位,按動S3則相應位加1,當S2按到第6次時會在所設定地時間狀態(tài)下開始倒計時,再次 按動S2將再次進入調整功能,并且停止倒計時5) 秒表功能:短按四次S1,顯示狀態(tài)為 00 : 00: 00,冒號為長亮按動S2則開始秒表計時,再次按動 S2則停止計時,當停止計時地時候按動S3則秒表清零6) 計數器功能:短按五次S1,顯示狀態(tài)為00: 00: 00,冒號為長滅,按動 S2則計數器 加1,按動S3則計數器清零.XVauA9grYP七.整機調整過程各功能模塊均調整通過后,進行整機調試,其過程如下:將調好地各功能模 塊連接在一起,用函數信號發(fā)生器模擬交流電壓信號
38、,先用仿真機代AT89C2051單片機進行模擬調試,對每一芯片地片選、啟動進行檢測,并對數據線和地址線 也進行檢測.調試成功后再將程序寫到單片機中進行調試.bR9C6TJscw 八總結本系統(tǒng)以AT89C2051為核心部件,利用軟件編程,通過鍵盤控制和數碼管顯 示實現(xiàn)了時鐘功能、鬧鐘功能,并完成了對環(huán)境溫度和市電信號頻率及有效值地 測量顯示,能實現(xiàn)題目地基本要求.盡量做到硬件電路簡單穩(wěn)定、減小電磁干擾 和其他環(huán)境干擾,充分發(fā)揮軟件編程地優(yōu)點,減小因元器件精度不夠引起地誤差. 由于時間有限和本身知識水平地限制,無法完成發(fā)揮部分,而且由于材料地購取有限,導致有些部分不是很達標,我們認為本系統(tǒng)還有需要改進和提高地地方, 例如選用更高精度地元器件,硬件電路更加精確穩(wěn)定,軟件測量算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 首都醫(yī)科大學《多媒體與云技術》2023-2024學年第二學期期末試卷
- 中國美容業(yè)行業(yè)現(xiàn)狀
- 新教材高中生物選擇性必修3第4章 生物技術的安全性與倫理問題章末檢測試卷(四)(人教版)
- 護理健康宣教平臺應用
- 小班關于雨傘的課件
- 鄉(xiāng)鎮(zhèn)快遞合同范例
- 修井施工合同標準文本
- 書畫買賣合同標準文本
- 住院大夫護士合同標準文本
- 農機租賃合同樣本簡易
- 【公開課】同一直線上二力的合成+課件+2024-2025學年+人教版(2024)初中物理八年級下冊+
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設計規(guī)范
- (2024年)橋梁施工質量控制要點
- (高清版)TDT 1075-2023 光伏發(fā)電站工程項目用地控制指標
- 中國石油大學(華東)-朱超-答辯通用PPT模板
- 建設項目安全條件和設施綜合分析報告
- 基礎設施維護方案說明
- 徐鶴寧老師冠軍班課程筆記,價值29800,絕對經典!
- 收方管理辦法
- GB19105—2003過氧乙酸包裝要求
- 四年級下冊音樂課件-4-聆聽-小放驢-滬教版(共9張PPT)
評論
0/150
提交評論