整點報時數(shù)字鐘_第1頁
整點報時數(shù)字鐘_第2頁
整點報時數(shù)字鐘_第3頁
整點報時數(shù)字鐘_第4頁
整點報時數(shù)字鐘_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、數(shù)字鐘一、設(shè)計任務(wù)本任務(wù)為:數(shù)字鐘。設(shè)計任務(wù)具體內(nèi)容如下:1.1 基本設(shè)計任務(wù)依據(jù)命題題意,本設(shè)計采用89C51進行24小時計時并顯示。要求其顯示時間范圍是00:00:0023:59:59,具備有時分秒校準功能。數(shù)字鐘上面要帶有鬧鐘,鬧鐘與時鐘之間能隨時切換,鬧鐘具備時分秒設(shè)置功能。1.2 控制設(shè)計任務(wù)由于本設(shè)計采用手動校準時鐘與手動設(shè)置鬧鐘方案,所以要求用較少的按鍵來達到切換鬧鐘與時鐘、時鐘時分秒校準、鬧鐘時分秒設(shè)置等功能。1.3 軟件設(shè)計任務(wù)數(shù)字鐘的所有計時都要由軟件控制實現(xiàn)。用軟件對幾個按鍵所得信號進行相應(yīng)改變,以控制時鐘與鬧鐘的顯示。通過軟件對鬧鐘與時鐘進行比較,當時鐘所顯示時間與鬧鐘

2、一樣時,要啟動報時模塊。三、總體設(shè)計經(jīng)過對各個方案分析比較,最終確定總方案如圖3-1所示。該系統(tǒng)所有模塊都由主單片機控制。其中,設(shè)計各個模塊,包括單片機、顯示模塊、電機驅(qū)動、光電探測由四節(jié)AA電池供電。電機驅(qū)動采用L298驅(qū)動芯片控制。用光電傳感器對邊線的探測來控制距離。通過單片機的機器周期計算時間計數(shù)周期,以達到計時目的。鬧鐘AT89C52按鍵時間顯示 語音報時圖3-1 系統(tǒng)方案圖3.1 系統(tǒng)硬件電路設(shè)計3.1.1 顯示及控制模塊圖3-4 語音報時模塊3.2 系統(tǒng)軟件設(shè)計3.2.1 軟件計時的分析與計算單片機內(nèi)部定時器有4種工作模式,方式0是13位計數(shù)器,由于計時時間過短,中斷頻率高,所以不

3、選用此模式;方式2是自動重裝式計數(shù)器,是8位計數(shù)器,同樣中斷頻率過高;方式3也是8位計數(shù)器;方式1是16位計數(shù)器,綜合考慮,選用方式1做精確計時。由于51單片機是12分頻,因此機器周期=晶振頻率/12。在該設(shè)計中,選用頻率為12MHz的晶振,因此機器周期=1s。定時1s需要1000000個機器周期,因此通過20次定時器中斷完成1s的定時,每次完成50000個周期的定時,因此每次給定時器的初值應(yīng)該是TH0=B0H,TL0=3CH。3.2.2 系統(tǒng)軟件設(shè)計設(shè)計兩套存儲方案,一套存儲時鐘,一套存儲鬧鐘,兩者互不干涉,只有當兩者相等時才會調(diào)用鬧鐘播放子程序,而當每次整點時則會調(diào)用整點報時子程序。本設(shè)計

4、有調(diào)用T0中斷,并有以下子程序:void delay(void) /延時子程序void delay2(void) /1420專用延時子程序void play(unsigned char temp) /1420播放子程序void display(void) /顯示子程序void rdisplay(void) /鬧鐘顯示子程序void ring(void) /鬧鐘控制子程序void examring(void) /鬧鐘播放子程序void zhengdian(void) /整點報時子程序、測試結(jié)果及結(jié)果分析4.1 測試儀器及工具測試儀器及工具:電源一個。4.2 測試步驟、接上電源。、設(shè)定鬧鐘為00:

5、01:00,并試聽鬧鐘是否準確。、試聽每次整點報時是否準確。、試驗各按鍵功能是否正常。4.3 測試結(jié)果如下 鬧鐘與整點報時功能均正確無誤,各按鍵功能均正常。4.4 測試結(jié)果分析通過對測試數(shù)據(jù)的分析,可以看出,數(shù)字鐘能實現(xiàn)時鐘計時,并帶有鬧鐘與整點報時功能,即數(shù)字鐘已經(jīng)實現(xiàn)了題目所給出的所有要求。參考文獻:1、胡漢才.單片機原理及其接口技術(shù).北京:清華大學出版社,20052、閻石.數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,20013、童詩白 華成英.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,20014、郁有文等.傳感器原理及工程應(yīng)用.西安:西安電子科技大學出版社,2008附件一:參考程序如下:#in

6、clude<at89x51.h>unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; unsigned char code tab=0xfd,0xfb,0xf7,0xef,0xdf,0xbf; unsigned char code ts=0x00,0x08,0x10,0x18,0x20,0x28,0x30,0x38,0x40,0x48,0x50; unsigned char wei=0,1,2,3,4,5; unsigned char sec,min,hou,rsec,rmin,rho

7、u,tcont;unsigned char a0,a1,a2;unsigned char smh;void delay(void) /延時子程序unsigned char i,j;for (i=10;i>0;i-)for(j=248;j>0;j-);void delay2(void) /1420專用延時子程序unsigned char i,j,k;for (i=200;i>0;i-)for(j=248;j>0;j-)for(k=20;k>0;k-);void play(unsigned char temp) /1420播放子程序P1=0;P3_0=1;P3_1=1

8、;P1=temp; P3_1=0;delay2();P1=0;P3_1=1;void display(void) /顯示子程序for(a2=0;a2<6;a2+)wei0=hou/10;wei1=hou%10;wei2=min/10;wei3=min%10;wei4=sec/10;wei5=sec%10;P2=taba2;P0=tableweia2;delay();void rdisplay(void) /鬧鐘顯示子程序for(a2=0;a2<6;a2+)wei0=rhou/10;wei1=rhou%10;wei2=rmin/10;wei3=rmin%10;wei4=rsec/10

9、;wei5=rsec%10;P2=taba2;P0=tableweia2;delay();void ring(void) /鬧鐘控制子程序while(P3_5=0)rdisplay();smh=0;a0=0;while(a0=0)rdisplay();if(P3_3=0)delay();if(P3_3=0)switch(smh)case 0:rsec+;break;case 1:rmin+;break;case 2:rhou+;break;if(rsec=60)rsec=0;rmin+;if(rmin=60)rmin=0;rhou+;if(rhou=24)rhou=0;while(P3_3=0

10、)rdisplay(); if(P3_2=0)delay();if(P3_2=0)switch(smh)case 0:rsec-;break;case 1:rmin-;break;case 2:rhou-;break;if(rsec=-1)rsec=59;rmin-;if(rmin=-1)rmin=59;rhou-;if(rhou=-1)rhou=23;while(P3_2=0)rdisplay(); if(P3_4=0)delay();if(P3_4=0)smh+;if(smh=3)smh=0;while(P3_4=0)rdisplay();if(P3_5=0)delay();if(P3_5

11、=0)a0=1;while(P3_5=0)rdisplay();break;smh=0;void examring(void) /鬧鐘播放子程序unsigned char i,j,k; if(sec=rsec)if(min=rmin)if(hou=rhou)P1=0;P3_0=1;P3_1=1;P1=0x70; P3_1=0;for (i=150;i>0;i-)display();P1=0;P3_1=1;P1=0;P3_0=1;P3_1=1;P1=0x70; P3_1=0;for (i=150;i>0;i-)display();P1=0;P3_1=1;P1=0;P3_0=1;P3_

12、1=1;P1=0x70; P3_1=0;for (i=150;i>0;i-)display();P1=0;P3_1=1;P1=0;P3_0=1;P3_1=1;P1=0x70; P3_1=0;for (i=150;i>0;i-)display();P1=0;P3_1=1; void zhengdian(void) /整點報時子程序unsigned char dian;if(sec=0)if(min=0)dian=hou/10;if(dian=0)play(0x60);play(0x68);dian=hou%10;dian=tsdian;play(dian);play(0x58);if

13、(dian=1)dian=hou%10;if(dian=0)play(0x60);play(0x68);play(0x50);play(0x58);if(dian!=0)play(0x60);play(0x68);play(0x50);dian=hou%10;dian=tsdian;play(dian);play(0x58);if(dian=2)dian=hou%10;if(dian=0)play(0x60);play(0x68);play(0x10);play(0x50);play(0x58);if(dian!=0)play(0x60);play(0x68);play(0x10);play(

14、0x50);dian=hou%10;dian=tsdian;play(dian);play(0x58);void main(void) /主程序unsigned char i;TMOD=1;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;ET0=1;EA=1;tcont=0;sec=0;min=0;hou=0;rsec=0;rmin=0;rhou=0;smh=0;for (i=50;i>0;i-)display();while(1)display();examring();zhengdian();if(P3_3=0)delay();if

15、(P3_3=0)switch(smh)case 0:sec+;break;case 1:min+;break;case 2:hou+;break;if(sec=60)sec=0;min+;if(min=60)min=0;hou+;if(hou=24)hou=0;while(P3_3=0)display(); if(P3_2=0)delay();if(P3_2=0)switch(smh)case 0:sec-;break;case 1:min-;break;case 2:hou-;break;if(sec=-1)sec=59;min-;if(min=-1)min=59;hou-;if(hou=-1)hou=23;while(P3_2=0)display(); if(P3_4=0)delay();if(P3_4=0)smh+;if(smh=3)smh=0;while(P3_4=0)display();if(P3_5=0)delay();if(P3_5=0)ring();void t0(void) interrupt 1 using 0 /調(diào)用中斷TH0=(65536-10000)/256;TL0=(65536-10000)%256;tcont+;if(tcont=100)tcont=0;sec+;if(sec=60)sec

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論