




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘要:數(shù)字電子鐘的設(shè)計方法有多種,其中,利用單片機(jī)實現(xiàn)的電子鐘具有編程靈活,精確度高等特點,便于電子鐘功能的擴(kuò)充,即可用該電子鐘發(fā)出各種控制信號。本設(shè)計由單片機(jī)AT89S52芯片和LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個單片機(jī)電子時鐘。與傳統(tǒng)機(jī)械表相比,它具有走時精確,顯示直觀等特點。它的計時周期為24小時,顯滿刻度為“23時59分59秒”,另外具有校時功能等特點。該電子鐘可以做到的功能:上電或按鍵復(fù)位后能自動顯示系統(tǒng)默認(rèn)時間“12-00-00”進(jìn)入時鐘運(yùn)行狀態(tài)。按電子鐘調(diào)整鍵A1,則電子鐘進(jìn)入時鐘調(diào)整狀態(tài),小時自動加1,按電子鐘調(diào)整鍵A2,分自動加1,本電子時鐘利用了8位LED顯示時分
2、秒。關(guān)鍵詞:單片機(jī);電子鐘;數(shù)碼管17 / 17文檔可自由編輯打印1 緒論1.1課題背景數(shù)字鐘已成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵罚瑥V泛用于個人家庭以及辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點,它還用于計時、自動報時及自動控制等各個領(lǐng)域。盡管目前市場上已有現(xiàn)成的數(shù)字鐘集成電路芯片出售,價格便宜、使用也方便,但鑒于單片機(jī)的定時器功能也可以完成數(shù)字鐘電路的設(shè)計,因此進(jìn)行數(shù)字鐘的設(shè)計是必要的。在這里我們將已學(xué)過的比較零散的數(shù)字電路的知識有機(jī)的、系統(tǒng)的聯(lián)系起來用于實際,來培養(yǎng)我們的綜
3、合分析和設(shè)計電路,寫程序、調(diào)試電路的能力。單片機(jī)具有體積小、功能強(qiáng)可靠性高、價格低廉等一系列優(yōu)點,不僅已成為工業(yè)測控領(lǐng)域普遍采用的智能化控制工具,而且已滲入到人們工作和和生活的各個角落,有力地推動了各行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代,應(yīng)用前景廣闊。1.2課程設(shè)計目的(1)鞏固、加深和擴(kuò)大單片機(jī)應(yīng)用的知識面,提高綜合及靈活運(yùn)用所學(xué)知識解決工業(yè)控制的能力。(2)培養(yǎng)針對課題需要,選擇和查閱有關(guān)手冊、圖表及文獻(xiàn)資料的自學(xué)能力,提高組成系統(tǒng)、編程、調(diào)試的動手能力。(3)過對課題設(shè)計方案的分析、選擇、比較、熟悉單片機(jī)用系統(tǒng)開發(fā)、研制的過程,軟硬件設(shè)計的方法、內(nèi)容及步驟。1.3設(shè)計技術(shù)參數(shù)(1)時制式為24
4、小時制。(2)采用LED數(shù)碼管顯示時、分,秒采用數(shù)字顯示。(3)具有方便的時間調(diào)校功能。(4)計時穩(wěn)定度高,可精確校正計時精度。2 電子鐘的工作原理2.1實現(xiàn)時鐘計時的基本方法利用MCS-51系列單片機(jī)的可編程定時/計數(shù)器、中斷系統(tǒng)來實現(xiàn)時鐘計數(shù)。1.計數(shù)初值計算把定時器設(shè)為工作方式1,定時時間為50ms,則計數(shù)溢出20次即得時鐘計時最小單位秒,而100次計數(shù)可用軟件方法實現(xiàn)。假設(shè)使用T/C0,方式1,50ms定時,fosc=12MHz。則初值X滿足(216-X)×1/12MHz×12s =50000sXB0H2中斷方式采用中斷方式進(jìn)行溢出次數(shù)累計
5、,計滿20次為秒計時(1秒)。3.計時方式從秒到分和從分到時的計時是通過累加和數(shù)值比較實現(xiàn)。2.2電子鐘的時間顯示電子鐘的時鐘時間在六位數(shù)碼管上進(jìn)行顯示,因此,在內(nèi)部RAM中設(shè)置顯示緩沖區(qū)共8個單元如表1所示。 表1時間顯示LED8LED7LED6LED5LED4LED3LED2LED137H36H35H34H33H32H31H30H時十位時個位分隔分十位分個位分隔秒十位秒個位2.3電子鐘的時間調(diào)整電子鐘設(shè)置2個按鍵通過程序控制來完成電子鐘的時間調(diào)整。A鍵調(diào)小時;B鍵調(diào)分鐘。2.4總體方案介紹1.計時方案利用AT89S52單片機(jī)內(nèi)部的定時/計數(shù)器進(jìn)行中斷時,配合軟件延時實現(xiàn)時、分、秒的計時。該
6、方案節(jié)省硬件成本,且能使讀者在定時/計數(shù)器的使用、中斷及程序設(shè)計方面得到鍛煉與提高,對單片機(jī)的指令系統(tǒng)能有更深入的了解,從而對學(xué)好單片機(jī)技術(shù)這門課程起到一定的作用。2.鍵盤/顯示方案AT89S52的P0口和P2口外接由八個LED數(shù)碼管(LED8LED1)構(gòu)成的顯示器,用P0口作LED的段碼輸出口,P2口作八個LED數(shù)碼管的位控輸出線,P1口外接四個按鍵A、B構(gòu)成鍵盤電路。AT89S52 是一種低功耗,高性能的CMOS 8位微型計算機(jī)。它帶有8K Flash 可編程和擦除的只讀存儲器(EPROM),該器件采用ATMEL的高密度非易失性存儲器技術(shù)制造,與工業(yè)上標(biāo)準(zhǔn)的80C51和80C52的指令系統(tǒng)
7、及引腳兼容,片內(nèi)Flash 集成在一個芯片上,可用與解決復(fù)雜的問題,且成本較低。簡易電子鐘的功能不復(fù)雜,采用其現(xiàn)有的I/O便可完成,所以本書中采用的設(shè)計方案,結(jié)構(gòu)如圖1如示:按鍵電路晶振電路復(fù)位電路AT89S52驅(qū)動電路LED圖1 設(shè)計方案3 電子鐘原理圖及元件清單3.1電子鐘電路原理圖1.時鐘電路原理圖時鐘電路原理圖如圖2所示,在AT89S51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。時鐘電路產(chǎn)生的振蕩脈沖經(jīng) 過觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時鐘脈
8、沖信號。圖2 時鐘電路原理圖2.單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng)。對51系列單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、晶振電路、復(fù)位電路。51單片機(jī)的最小系統(tǒng)電路圖如圖3所示。復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合"電容電壓不能突變"的性質(zhì)可以知道,當(dāng)系統(tǒng)一上電,RST腳將會出現(xiàn)高電平,并且,這個高電平持續(xù)的時間由電路的RC值來決定。典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個機(jī)器周期以上就將復(fù)位,所以,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位。一般教科書推薦C 取10u,R取8.2K。當(dāng)然也有其他取法的
9、,原則就是要讓RC組合可以在RST腳上產(chǎn)生不少于2個機(jī)周期的高電平。至于如何具體定量計算,可以參考電路分析相關(guān)書籍。晶振電路:典型的晶振取11.0592MHz(因為可以準(zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場合)/12MHz(產(chǎn)生精確的uS級時歇,方便定時操作) 特別注意:對于31腳(EA/Vpp),當(dāng)接高電平時,單片機(jī)在復(fù)位后從內(nèi)部ROM的0000H開始執(zhí)行;當(dāng)接低電平時,復(fù)位后直接從外部ROM的0000H開始執(zhí)行.這一點是初學(xué)者容易忽略的.圖3單片機(jī)最小系統(tǒng)3.單片機(jī)復(fù)位電路單片機(jī)復(fù)位的條件是:必須使RST/VPD 或RST引(9)加上持續(xù)兩個機(jī)器周期(即24個振蕩周
10、期)的高電平。例如,若時鐘頻率為12 MHz,每機(jī)器周期為1s,則只需2s以上時間的高電平,在RST引腳出現(xiàn)高電平后的第二個機(jī)器周期執(zhí)行復(fù)位。單片機(jī)常見的復(fù)位如圖4所示。電路為上電復(fù)位電路,它是利用電容充電來實現(xiàn)的。在接電瞬間,RESET端的電位與VCC相同,隨著充電電流的減少,RESET的電位逐漸下降。只要保證RESET為高電平的時間大于兩個機(jī)器周期,便能正常復(fù)位。 該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按圖中的RESET鍵,此時電源VCC經(jīng)電阻R1、R2分壓,在RESET端產(chǎn)生一個復(fù)位高電平。圖4單片機(jī)復(fù)位電路4.顯示器工作原理系統(tǒng)采用動態(tài)顯示方式,用P0口來控制LED數(shù)碼管的段控線,
11、而用P2口來控制其位控線。動態(tài)顯示通常都是采用動態(tài)掃描的方法進(jìn)行顯示,即循環(huán)點亮每一個數(shù)碼管,這樣雖然在任何時刻都只有一位數(shù)碼管被點亮,但由于人眼存在視覺殘留效應(yīng),只要每位數(shù)碼管間隔時間足夠短,就可以給人以同時顯示的感覺。3.2元件清單電子鐘元件清單如表2所示。表2電子鐘元器件清單元件名稱規(guī)格型號數(shù)量(個)單片機(jī)AT89S521顯示驅(qū)動三極管A10138晶振11.0592MHz1電容30pF2電容22F1按鍵BUTTON排阻RESPACK-8/10K14 程序流程圖 定時器0中斷服務(wù)程序重設(shè)定時器值關(guān)閉所有位,更新段碼選通下一位數(shù)碼管增量位索引RETI圖6 定時0中斷服務(wù)程序YES數(shù)字電子鐘主
12、要包括初始化程序,中斷服務(wù)程序和鍵處理程序。程序流程圖如圖5,圖6,圖7,圖8所示。圖7 定時1服務(wù)中斷程序圖5 電子時鐘初始化電子時鐘初始化定時器設(shè)置上電默認(rèn)顯示時間鍵盤掃描及處理YESYESNOYESNONO定時器1中斷服務(wù)程序中斷是否達(dá)100次(1s)秒是否滿60秒加1分是否滿60分清0,小時加1小時是否滿24小時清0RETI秒清0,分加1圖8 鍵處理程序鍵處理子程序小時加1RET按鍵為AN1按鍵為AN2YES分加1YESNONO4.1本章小結(jié)程序設(shè)計無疑是單片機(jī)學(xué)習(xí)中的重中之重,寫不好程序就無法對單片機(jī)進(jìn)行高效的控制。對于簡單的程序而言,不需要事先畫程序流程圖,因為程序簡單,條理分明。
13、但對于功能稍微強(qiáng)大的程序來說,不畫流程圖就很容易走彎路,造成條理不清晰,思維混亂。C語言以它獨特的函數(shù)結(jié)構(gòu)模塊化正逐步推廣到嵌入式的控制。我相信在不久的將來,C在嵌入式中的地位是不可動搖的。5 源程序#include <reg51.h>#include <intrins.h>unsigned char data dis_digit;unsigned char key_s, key_v;unsigned char code dis_code11=0xc0,0xf9,0xa4,0xb0,/ 0, 1, 2, 30x99,0x92,0x82,0xf8,0x80,0x90, 0
14、xff;/ 4, 5, 6, 7, 8, 9, off unsigned char data dis_buf8;unsigned char data dis_index;unsigned char hour,min,sec;unsigned char sec100; sbitK1 = P14;sbitK2 = P15;bit scan_key();void proc_key();void inc_sec();void inc_min();void inc_hour();void display();void delayms(unsigned char ms);void main(void)P0
15、 = 0xff;P2 = 0xff;TMOD = 0x11;/ 定時器0, 1工作模式1, 16位定時方式TH1 = 0xdc;TL1 = 0;TH0 = 0xFC;TL0 = 0x17;hour = 12;min = 00;sec = 00;sec100 = 0;dis_buf0 = dis_codehour / 10;/ 時十位dis_buf1 = dis_codehour % 10;/ 時個位dis_buf3 = dis_codemin / 10;/ 分十位dis_buf4 = dis_codemin % 10;/ 分個位dis_buf6 = dis_codesec / 10;/ 秒十位
16、dis_buf7 = dis_codesec % 10;/ 秒個位dis_buf2 = 0xbf;/ 顯示"-"dis_buf5 = 0xbf;/ 顯示"-"dis_digit = 0xfe;dis_index = 0;TCON = 0x01;IE = 0x8a;/ 使能timer0,1 中斷TR0 = 1;TR1 = 1;key_v = 0x03;while(1)if(scan_key()delayms(10);if(scan_key()key_v = key_s;proc_key();bit scan_key()key_s = 0x00;key_s
17、|= K2;key_s <<= 1;key_s |= K1;return(key_s key_v);void proc_key()EA = 0;if(key_v & 0x01) = 0)/ K1inc_hour();else if(key_v & 0x02) = 0)/ K2min+;if(min > 59)min = 0;dis_buf3 = dis_codemin / 10;/ 分十位dis_buf4 = dis_codemin % 10;/ 分個位EA = 1;void timer0() interrupt 1/ 定時器0中斷服務(wù)程序, 用于數(shù)碼管的動態(tài)
18、掃描/ dis_index - 顯示索引, 用于標(biāo)識當(dāng)前顯示的數(shù)碼管和緩沖區(qū)的偏移量/ dis_digit - 位選通值, 傳送到P2口用于選通當(dāng)前數(shù)碼管的數(shù)值, 如等于0xfe時,/選通P2.0口數(shù)碼管/ dis_buf - 顯于緩沖區(qū)基地址TH0 = 0xFC;TL0 = 0x17;P2 = 0xff;/ 先關(guān)閉所有數(shù)碼管P0 = dis_bufdis_index;/ 顯示代碼傳送到P0口P2 = dis_digit;/ dis_digit = _crol_(dis_digit,1);/ 位選通值左移, 下次中斷時選通下一位數(shù)碼管dis_index+;/ dis_index &=
19、0x07;/ 8個數(shù)碼管全部掃描完一遍之后,再回到第一個開始下一次掃描 void timer1() interrupt 3TH1 = 0xdc;sec100+;if(sec100 >= 100)sec100 = 0;inc_sec();void inc_sec()sec+;if(sec > 59)sec = 0;inc_min();dis_buf6 = dis_codesec / 10;/ 秒十位dis_buf7 = dis_codesec % 10;/ 秒個位void inc_min()min+;if(min > 59)min = 0;inc_hour();dis_buf3
20、 = dis_codemin / 10;/ 分十位dis_buf4 = dis_codemin % 10;/ 分個位void inc_hour()hour+;if(hour > 23)hour = 0;if(hour > 9)dis_buf0 = dis_codehour / 10;/ 時十位elsedis_buf0 = 0xff;/ 當(dāng)小時的十位為0時不顯示dis_buf1 = dis_codehour % 10;/ 時個位void delayms(unsigned char ms)/ 延時子程序unsigned char i;while(ms-)for(i = 0; i <
21、; 120; i+);6 結(jié)論在調(diào)試運(yùn)行過程中,在所有參數(shù)正確的情況下,我的結(jié)果仍出現(xiàn)運(yùn)行緩慢情況。產(chǎn)生誤差的主要原因是我們用軟件計時,計時1秒是采用定時器的中斷服務(wù)程序。當(dāng)電子鐘運(yùn)行1秒,執(zhí)行中斷程序需要一定時間,這個時間就是所產(chǎn)生的誤差,這個誤差是不可避免的。同時,單片機(jī)工作也會受到環(huán)境的影響,比如溫度、濕度,以及其它電子設(shè)備的干擾。因此,應(yīng)該讓電子鐘工作在適度溫度、干燥和電子干擾較少的環(huán)境下,還有一種方法就是采用實時時鐘芯片,這樣可以使誤差降低到最少。因為我對單片機(jī)的掌握還不夠全面,硬件做的也不多,所以先做一個不帶實時時鐘芯片的電子鐘暫且練習(xí)對定時器計數(shù)器的用法,還有一點就是系統(tǒng)簡單好調(diào)試,以保證按時完成設(shè)計任務(wù)。在以后的學(xué)習(xí)生活中,我會逐漸增加它的功能,比如說加實時時鐘芯片,加溫度控制,加鬧鐘等功能來完善這個電子鐘。7 課程設(shè)計體會首先,感謝我的指導(dǎo)老師黃喜云老師,有了她的諄諄教誨,處處提點,我才得以成功的完成。老師一次次給我指出程序中的錯誤,讓我修改再重新編寫。老師在課堂上嚴(yán)格要求我們,這是對我們的負(fù)責(zé),嚴(yán)師出高徒。而我的自由散漫的性格弱點也由于于老師督促和鞭策變得勤奮,上進(jìn),我學(xué)到的不僅僅是書本上的知識,還有做人的道理。老師們嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 佛山市小升初數(shù)學(xué)試卷
- 董村小學(xué)二年級數(shù)學(xué)試卷
- 2025至2030城市建設(shè)規(guī)劃行業(yè)市場發(fā)展前景及供給需求與投資機(jī)會報告
- 2025至2030軌道交通安防行業(yè)市場深度研究及發(fā)展前景投資可行性分析報告
- 六安市霍邱縣新店鎮(zhèn)選聘村干部考試真題2024
- 2024年杭州拱墅區(qū)專職社區(qū)工作者招聘筆試真題
- 2025至2030財務(wù)軟件產(chǎn)業(yè)深度調(diào)研及發(fā)展趨勢與投資戰(zhàn)略報告
- 東山小學(xué)期中數(shù)學(xué)試卷
- 工貿(mào)單招數(shù)學(xué)試卷
- 福州初三卷子數(shù)學(xué)試卷
- 綠山墻的安妮-練習(xí)答案(完整版)資料
- IBM AIX認(rèn)證試題及答案
- 2022年小學(xué)美術(shù)教師進(jìn)城(選調(diào))招聘考試模擬試題(共五套)
- 貴陽小升初分班全真模擬測A卷
- WS/T 512-2016醫(yī)療機(jī)構(gòu)環(huán)境表面清潔與消毒管理規(guī)范
- GB/T 77-2007內(nèi)六角平端緊定螺釘
- GB/T 5330.1-2012工業(yè)用金屬絲篩網(wǎng)和金屬絲編織網(wǎng)網(wǎng)孔尺寸與金屬絲直徑組合選擇指南第1部分:通則
- GB/T 3672.1-2002橡膠制品的公差第1部分:尺寸公差
- 中華人民共和國安全生產(chǎn)法
- 九年一貫制學(xué)校教育教學(xué)管理制度匯編
- 參考手冊-ondemand3dapp操作手冊中文版
評論
0/150
提交評論