




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于單片機的電子時鐘一、 系統(tǒng)設(shè)計要求1.1 基本功能(1)能夠顯示時分秒(2)能夠調(diào)整時分秒 1.2 擴展功能(1)能夠任意設(shè)置定時時間(2)定時時間到鬧鈴能夠報警(3)實現(xiàn)了秒表功能二 、硬件總體設(shè)計方案本次設(shè)計時鐘電路,使用了stc89c51單片機芯片控制電路,單片機控制電路簡單且省去了很多復雜的線路,使得電路簡明易懂,使用鍵盤鍵上的按鍵來調(diào)整時鐘的時、分、秒,用一揚聲器來進行定時提醒,同時使用c語言程序來控制整個時鐘顯示,使得編程變得更容易,這樣通過四個模塊:鍵盤、芯片、揚聲器、顯示屏即可滿足設(shè)計要求。2.1系統(tǒng)功能實現(xiàn)總體設(shè)計思路此設(shè)計原理框圖如圖2-1所示,此電路包括以下四個部分:
2、單片機,鍵盤,鬧鈴電路及顯示電路。鬧鈴電路51單片機獨立鍵盤數(shù)碼管顯示 圖2-1 設(shè)計原理框圖 詳細元器件列表:stc89c51 1片八位共陰極數(shù)碼管 1片100p電容 6個22uf 電容 1個30p電容 2個10k電阻 6個1k電阻560歐姆電阻 8個200歐姆電阻 1個100歐姆電阻 7個按鍵 7個蜂鳴器 1個12mhz晶振 1個stc89c51插座 1個usb接頭1個2.2各部分功能實現(xiàn)(1) 單片機發(fā)送的信號通過程序控制最終在數(shù)碼管上顯示出來。(2) 單片機通過輸出各種電脈沖信號來驅(qū)動控制各部分正常工作。(3) 為使時鐘走時與標準時間一致,校時電路是必不可少的,鍵盤用來校正數(shù)碼管上顯示
3、的時間。(4) 單片機通過控制鬧鈴電路來完成 定時鬧鐘的功能。2.3系統(tǒng)工作原理設(shè)計的電路主要由四模塊構(gòu)成:單片機控制電路,顯示電路、鬧鈴電路以及校正電路。詳細電路功能圖下圖所示: 詳細電路功能圖本設(shè)計采用c語言程序設(shè)計,使單片機控制數(shù)碼管顯示時、分、秒,當秒計數(shù)計滿60時就向分進位,分計數(shù)器計滿60后向時計數(shù)器進位,小時計數(shù)器按“23翻0”規(guī)律計數(shù)。時、分、秒的計數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。當計時發(fā)生誤差的時候可以用校時電路進行校正。設(shè)計采用的是時、分、秒顯示,單片機對數(shù)據(jù)進行處理同時在數(shù)碼管上顯示。2.4電路功能使用說明(1) 各個控制鍵的功能:可對時間進行校準調(diào)節(jié)(只能加);按
4、下設(shè)置鍵數(shù)字時鐘進入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘的時間;時加、分加鍵是在校準時間時或設(shè)置鬧鐘時間對小時數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的;按下秒切換鍵就可以進入秒表模式,同時秒表也開始計時,按下秒表暫停、復位鍵就暫停、歸零,如果要重新對秒計時則可以按秒表開始、復位;清零鍵可以對鬧鐘清零。(2) stc89c51單片機,通過編寫程序?qū)?shù)碼顯示進行控制。(3) 八個7段數(shù)碼管顯示時鐘和秒表信號。三、軟件總體設(shè)計方案控制電路的c語言源程序根據(jù)流程圖,經(jīng)過認真分析得出控制電路的源程序如下:#include#define uchar unsigned char#define uint unsigned int#defin
5、e delay_time 3/*宏定義*/uchar k,dat=0,0,0,0,0,0,0,0;uint tcount,t,u;uchar dat1=0,0,0,0,0,0,2,1;uchar dat2=0,0,0,0,0,0,0,0;uchar alarms=0,0,0,0,0,0,0,0;uchar dis_bit=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;unsigned char code seg711=0x3f,/*0*/ 0x06,/*1*/ 0x5b,/*2*/ 0x4f,/*3*/ 0x66,/*4*/ 0x6d,/*5*/ 0x7d,/
6、*6*/ 0x07,/*7*/ 0x7f,/*8*/ 0x6f,/*9*/ 0x40,/*-*/ ;/*數(shù)字顯示數(shù)組*/sbit miaobiao1=p10;sbit tminute=p11;sbit thour=p12;sbit miaobiao2=p13;sbit alarm=p14;sbit p0_0=p00;sbit p1_5=p15;sbit p1_6=p16;sbit p1_7=p17;/*端口定義*/uchar ms=0;uchar flag=0;s=0;w=0;uchar sec=0;uchar minit=0;struct timeuchar second;uchar min
7、ute;uchar hour;time1; uchar n,i;void delay(n) while(n-)for(i=120;i0;i-); /*延時子程序*/ void modify(void) ea=0; if(thour=0) if(flag=0) dat16+;delay(280); if(dat169) dat16=0;dat17+;else if(dat171)&(dat163) dat17=0; dat16=0; if(flag=1) alarms6+;delay(300); if(alarms69) alarms6=0;alarms7+; else if(alarms71)
8、&(alarms63) alarms7=0;alarms6=0; dat6=alarms6; dat7=alarms7; if(tminute=0) if(flag=0) dat13+;delay(280); if(dat13=9) dat14+;dat13=0;if(dat145) dat14=0; if(flag=1) alarms3+;delay(300); if(alarms39) alarms4+;alarms3=0; if(alarms45) alarms4=0; dat3=alarms3;dat4=alarms4; if(miaobiao1=0)tr0=1;et0=1;tr1=1
9、;et1=1;w=1; if(miaobiao2=0) tr0=1;et0=1;tr1=0;et1=0;w=0;s=0; dat20=0; dat21=0; dat23=0; dat24=0; dat26=0; dat27=0; ms=0; sec=0; minit=0; if(p1_5=0) tr0=0;et0=0;tr1=0;et1=0; if(alarm=0)tr0=0;et0=0;tr1=0;et1=0;flag=1;s=1; dat0=0; dat1=0;dat2=10; dat3=0;dat4=0;dat5=10;dat6=0;dat7=0; if(s=1) dat5=10; da
10、t2=10; dat0=0; dat1=0; dat3=alarms3; dat4=alarms4; dat6=alarms6; dat7=alarms7;else if(w=1) dat5=10; dat2=10; dat0=dat20; dat1=dat21; dat3=dat23; dat4=dat24; dat6=dat26; dat7=dat27;else dat5=10; dat2=10; dat0=dat10; dat1=dat11; dat3=dat13; dat4=dat14; dat6=dat16; dat7=dat17;time1.minute=dat4*10+dat3;
11、time1.hour=dat7*10+dat6; ea=1;/*按鍵掃描*/void init(void) tmod = 0x11; th0 = 0xdb;tl0 =0xff;th1=0xdb;tl1=0xff; et0 = 1; /10mset1=1;tr1=1; tr0=1; tcount=0;ms=0;sec=0;minit=0;ea = 1;/*初始化*/void test(void)for(k=0;k23) time1.hour=0; flag=0; p0=0x01;if(alarms7=dat17)&(alarms6=dat16)&(alarms4=dat14)&(alarms3=
12、dat13)&(dat11=100) ms=0; sec+; dat23=sec%10; dat24=sec/10; if(sec=60) sec=0; minit+; dat26=minit%10; dat27=minit/10; et1=1; /秒表中斷服務(wù)程序四、課程設(shè)計結(jié)果分析硬件部分設(shè)置了的六個按鍵。當按鍵一按下時,進入秒表顯示狀態(tài),秒表開始計時,當按鍵六按下時,秒表暫停;當按鍵四按下時恢復到時間顯示功能;當按鍵二按下時,進入調(diào)分狀態(tài),按一次,分加一,60一循環(huán);按鍵三按下時,進入調(diào)時狀態(tài),按一次,時加一,60一循環(huán);按鍵五按下時,進入鬧鈴設(shè)置功能,緊接著按下按鍵二和按鍵三進行時和分的設(shè)置,再按下按鍵4恢復顯示時間,當顯示的時間和定時設(shè)置的時間一致時,蜂鳴器發(fā)出蜂鳴聲,蜂鳴時間我們設(shè)置為10秒。另外,鬧鈴電路有音樂鬧鐘的擴展的功能(可以將蜂鳴器換成揚聲器再加一段音樂程序即可實現(xiàn))。調(diào)試階段,出現(xiàn)一些問題。比如,實際小時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)個人工作計劃改善社區(qū)公共廚房設(shè)施
- 超聲科診療流程中的健康教育實施
- 2025無線遠傳超聲波燃氣表
- 名著《駱駝祥子》中考真題及典型模擬題訓練(原卷版)
- 跨國企業(yè)專利侵權(quán)案件的司法管轄優(yōu)化研究
- 前臺文員如何加強內(nèi)部溝通計劃
- 購物中心財務(wù)管理中的績效評估
- 八年級上冊必讀:《昆蟲記》導讀資料
- 2025河南空港數(shù)字城市開發(fā)建設(shè)有限公司招聘20人筆試參考題庫附帶答案詳解
- 2025年度長江河湖建設(shè)有限公司校園招聘8人筆試參考題庫附帶答案詳解
- 《慢阻肺教學查房》課件
- 檢驗檢測中心檢驗員聘用合同
- 藝術(shù)創(chuàng)新的思維技巧
- 古詩文教學方法創(chuàng)新研究
- 商場扶梯安全培訓
- 腹膜透析操作流程及評分標準
- 開封市第一屆職業(yè)技能大賽美容項目技術(shù)文件(世賽項目)
- 《全科醫(yī)學概論》課件-以家庭為單位的健康照顧
- 自來水廠安全施工組織設(shè)計
- 川教版2024-2025學年六年級下冊信息技術(shù)全冊教案
- 招標代理機構(gòu)遴選投標方案(技術(shù)標)
評論
0/150
提交評論