基于單片機(jī)的簡易電子時(shí)鐘設(shè)計(jì)_第1頁
基于單片機(jī)的簡易電子時(shí)鐘設(shè)計(jì)_第2頁
基于單片機(jī)的簡易電子時(shí)鐘設(shè)計(jì)_第3頁
基于單片機(jī)的簡易電子時(shí)鐘設(shè)計(jì)_第4頁
基于單片機(jī)的簡易電子時(shí)鐘設(shè)計(jì)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于單片機(jī)的簡易電子時(shí)鐘設(shè)計(jì)1設(shè)計(jì)任務(wù)與要求1.1設(shè)計(jì)背景數(shù)字鐘已成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,廣泛用于個(gè)人家庭以及辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的開展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動報(bào)時(shí)及自動控制等各個(gè)領(lǐng)域。盡管目前市場上已有現(xiàn)成的數(shù)字鐘集成電路芯片出售,價(jià)格廉價(jià)、使用也方便,但鑒于單片機(jī)的定時(shí)器功能也可以完成數(shù)字鐘電路的設(shè)計(jì),因此進(jìn)行數(shù)字鐘的設(shè)計(jì)是必要的。在這里我們將已學(xué)過的比擬零散的數(shù)字電路的知識有機(jī)的、系統(tǒng)的聯(lián)系起來用于實(shí)際,來培養(yǎng)我們的綜合分析和設(shè)計(jì)電路,寫程序、調(diào)試電路的能力。單片機(jī)具有體積小、功能強(qiáng)可靠性高、價(jià)格低廉等一系列優(yōu)點(diǎn),不僅已成為工業(yè)測控領(lǐng)域普遍采用的智能化控制工具,而且已滲入到人們工作和和生活的各個(gè)角落,有力地推動了各行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代,應(yīng)用前景廣闊。1.2課程設(shè)計(jì)目的(1)穩(wěn)固、加深和擴(kuò)大單片機(jī)應(yīng)用的知識面,提高綜合及靈活運(yùn)用所學(xué)知識解決工業(yè)控制的能力;(2)培養(yǎng)針對課題需要,選擇和查閱有關(guān)手冊、圖表及文獻(xiàn)資料的自學(xué)能力,提高組成系統(tǒng)、編程、調(diào)試的動手能力;(3)過對課題設(shè)計(jì)方案的分析、選擇、比擬、熟悉單片機(jī)用系統(tǒng)開發(fā)、研制的過程,軟硬件設(shè)計(jì)的方法、內(nèi)容及步驟。1.3設(shè)計(jì)要求1〕.時(shí)制式為24小時(shí)制。2〕.采用LED數(shù)碼管顯示時(shí)、分,秒采用數(shù)字顯示。3〕.具有方便的時(shí)間調(diào)校功能。4〕.計(jì)時(shí)穩(wěn)定度高,可精確校正計(jì)時(shí)精度。2總體方案設(shè)計(jì)2.1實(shí)現(xiàn)時(shí)鐘計(jì)時(shí)的根本方法利用MCS-51系列單片機(jī)的可編程定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)來實(shí)現(xiàn)時(shí)鐘計(jì)數(shù)。(1)計(jì)數(shù)初值計(jì)算:把定時(shí)器設(shè)為工作方式1,定時(shí)時(shí)間為50ms,那么計(jì)數(shù)溢出20次即得時(shí)鐘計(jì)時(shí)最小單位秒,而100次計(jì)數(shù)可用軟件方法實(shí)現(xiàn)。假設(shè)使用T/C0,方式1,50ms定時(shí),fosc=12MHz。那么初值X滿足〔216-X〕×1/12MHz×12μs=50000μsX=15536→→3CB0H(2)采用中斷方式進(jìn)行溢出次數(shù)累計(jì),計(jì)滿20次為秒計(jì)時(shí)〔1秒〕;(3)從秒到分和從分到時(shí)的計(jì)時(shí)是通過累加和數(shù)值比擬實(shí)現(xiàn)。2.2電子鐘的時(shí)間顯示電子鐘的時(shí)鐘時(shí)間在六位數(shù)碼管上進(jìn)行顯示,因此,在內(nèi)部RAM中設(shè)置顯示緩沖區(qū)共8個(gè)單元。LED8LED7LED6LED5LED4LED3LED2LED137H36H35H34H33H32H31H30H時(shí)十位時(shí)個(gè)位分隔分十位分個(gè)位分隔秒十位秒個(gè)位2.3電子鐘的時(shí)間調(diào)整電子鐘設(shè)置3個(gè)按鍵通過程序控制來完成電子鐘的時(shí)間調(diào)整。A鍵調(diào)整時(shí);B鍵調(diào)整分;C鍵復(fù)位2.4總體方案介紹2.4.1計(jì)時(shí)方案利用AT89S51單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器進(jìn)行中斷時(shí),配合軟件延時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)。該方案節(jié)省硬件本錢,且能使讀者在定時(shí)/計(jì)數(shù)器的使用、中斷及程序設(shè)計(jì)方面得到鍛煉與提高,對單片機(jī)的指令系統(tǒng)能有更深入的了解,從而對學(xué)好單片機(jī)技術(shù)這門課程起到一定的作用。2.4.2控制方案AT89S51的P0口和P2口外接由八個(gè)LED數(shù)碼管(LED8~LED1)構(gòu)成的顯示器,用P0口作LED的段碼輸出口,P2口作八個(gè)LED數(shù)碼管的位控輸出線,P1口外接四個(gè)按鍵A、B、C構(gòu)成鍵盤電路。AT89S51是一種低功耗,高性能的CMOS8位微型計(jì)算機(jī)。它帶有8KFlash可編程和擦除的只讀存儲器〔EPROM〕,該器件采用ATMEL的高密度非易失性存儲器技術(shù)制造,與工業(yè)上標(biāo)準(zhǔn)的80C51和80C52的指令系統(tǒng)及引腳兼容,片內(nèi)Flash集成在一個(gè)芯片上,可用與解決復(fù)雜的問題,且本錢較低。簡易電子鐘的功能不復(fù)雜,采用其現(xiàn)有的I/O便可完成,所以本設(shè)計(jì)中采用此的設(shè)計(jì)方案。3系統(tǒng)硬件電路設(shè)計(jì)根據(jù)以上的電子時(shí)鐘的設(shè)計(jì)要求可以分為以下的幾個(gè)硬件電路模塊:單片機(jī)模塊、數(shù)碼顯示模塊與按鍵模塊,模塊之間的關(guān)系圖如下面得方框電路圖1所示。圖1硬件電路方框圖3.1單片機(jī)模塊設(shè)計(jì)3.1.1芯片分析AT89C51單片機(jī)引腳圖如下:圖2AT89C51引腳圖MCS-51單片機(jī)是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,其各引腳功能如下:VCC:+5V電源。VSS:接地。RST:復(fù)位信號。當(dāng)輸入的復(fù)位信號延續(xù)兩個(gè)機(jī)器周期以上的高電平時(shí)即為有效,用完成單片機(jī)的復(fù)位初始化操作。XTAL1和XTAL2:外接晶體引線端。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號。P0口:P0口為一個(gè)8位漏極開路雙向I/O口,當(dāng)作輸出口使用時(shí),必須接上拉電阻才能有高電平輸出;當(dāng)作輸入口使用時(shí),必須先向電路中的鎖存器寫入“1〞,使FET截止,以防止鎖存器為“0〞狀態(tài)時(shí)對引腳讀入的干擾。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,它不再需要多路轉(zhuǎn)接電路MUX;因此它作為輸出口使用時(shí),無需再外接上拉電阻,當(dāng)作為輸入口使用時(shí),同樣也需先向其鎖存器寫“1〞,使輸出驅(qū)動電路的FET截止。P2口:P2口電路比P1口電路多了一個(gè)多路轉(zhuǎn)接電路MUX,這又正好與P0口一樣。P2口可以作為通用的I/O口使用,這時(shí)多路轉(zhuǎn)接電路開關(guān)倒向鎖豐存器Q端。P3口:P3口特點(diǎn)在于,為適應(yīng)引腳信號第二功能的需要,增加了第二功能控制邏輯。當(dāng)作為I/O口使用時(shí),第二功能信號引線應(yīng)保持高電平,與非門開通,以維持從鎖存器到輸出端數(shù)據(jù)輸出通路的暢通。當(dāng)輸出第二功能信號時(shí),該位應(yīng)應(yīng)置“1〞,使與非門對第二功能信號的輸出是暢通的,從而實(shí)現(xiàn)第二功能信號的輸出,具體第二功能如表1所示。3.1.2晶振電路右圖所示為時(shí)鐘電路原理圖,在AT89S51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號。圖3晶振電路3.1.3復(fù)位電路單片機(jī)復(fù)位的條件是:必須使RST/VPD或RST引〔9〕加上持續(xù)兩個(gè)機(jī)器周期〔即24個(gè)振蕩周期〕的高電平。例如,假設(shè)時(shí)鐘頻率為12MHz,每機(jī)器周期為1μs,那么只需2μs以上時(shí)間的高電平,在RST引腳出現(xiàn)高電平后的第二個(gè)機(jī)器周期執(zhí)行復(fù)位。單片機(jī)常見的復(fù)位如下圖。電路為上電復(fù)位電路,它是利用電容充電來實(shí)現(xiàn)的。在接電瞬間,RESET端的電位與VCC相同,隨著充電電流的減少,RESET的電位逐漸下降。只要保證RESET為高電平的時(shí)間大于兩個(gè)機(jī)器周期,便能正常復(fù)位。該電路除具有上電復(fù)位功能外,假設(shè)要復(fù)位,只需按圖中的RESET鍵,此時(shí)電源VCC經(jīng)電阻R1、R2分壓,在RESET端產(chǎn)生一個(gè)復(fù)位高電平。圖4單片機(jī)復(fù)位電路3.2數(shù)碼顯示模塊設(shè)計(jì)系統(tǒng)采用動態(tài)顯示方式,用P0口來控制LED數(shù)碼管的段控線,而用P2口來控制其位控線。動態(tài)顯示通常都是采用動態(tài)掃描的方法進(jìn)行顯示,即循環(huán)點(diǎn)亮每一個(gè)數(shù)碼管,這樣雖然在任何時(shí)刻都只有一位數(shù)碼管被點(diǎn)亮,但由于人眼存在視覺殘留效應(yīng),只要每位數(shù)碼管間隔時(shí)間足夠短,就可以給人以同時(shí)顯示的感覺。圖5數(shù)碼顯示電路3.3按鍵模塊下列圖為按鍵模塊電路原理圖,A為復(fù)位鍵,B為時(shí)鐘調(diào)控鍵,C為分鐘調(diào)控鍵。圖6按鍵模塊電路原理圖4、系統(tǒng)軟件設(shè)計(jì)4.1軟件設(shè)計(jì)分析在編程上,首先進(jìn)行了初始化,定義程序的的入口地址以及中斷的入口地址,在主程序開始定義了一組固定單元用來儲存計(jì)數(shù)的時(shí).分.秒,在顯示初值之后,進(jìn)入主循環(huán)。在主程序中,對不同的按鍵進(jìn)行掃描,實(shí)現(xiàn)秒表,時(shí)間調(diào)整,復(fù)位清零等功能,系統(tǒng)總流程圖如下列圖7:圖7系統(tǒng)總體流程圖4.2源程序清單ORG0000HMOV30H,#1設(shè)置時(shí)鐘的起始時(shí)間12.00.00,分配顯示數(shù)據(jù)內(nèi)存MOV31H,#2MOV32H,#0MOV33H,#0MOV34H,#0MOV35H,#0MOVTMOD,#01啟動計(jì)數(shù)器XS0:SETBTR0使TRO位置1MOVTH0,#00H計(jì)數(shù)器置零MOVTL0,#00HXS:MOV40H,#0FEH掃描控制字初值MOVDPTR,#TAB取段碼表地址MOVP2,40H從P2口輸出MOVA,30H取顯示數(shù)據(jù)到AMOVCA,@A+DPTR查顯示數(shù)據(jù)對應(yīng)段碼MOVP0,A段碼放入P0中LCALLYS1MS顯示1MSMOVP0,#0FFHPO端口清零MOVA,40H取掃描控制字放入A中RLAA中數(shù)據(jù)循環(huán)左移MOV40H,A放回40H地址段內(nèi)MOVP2,40HMOVA,31HADDA,#10進(jìn)位顯示MOVCA,@A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLAMOV40H,AMOVP2,40HMOVA,32HMOVCA,@A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLAMOV40H,AMOVP2,40HMOVA,33HADDA,#10MOVCA,@A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLAMOV40H,AMOVP2,40HMOVA,34HMOVCA,@A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLAMOV40H,AMOVP2,40HMOVA,35HMOVCA,@A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLAMOV40H,AJBTF0,JIA如果TF0為1時(shí),那么執(zhí)行JIA,否那么順序執(zhí)行JNBP1.0,P100為0那么轉(zhuǎn)移到P100 JNBP1.1,P1000為0那么轉(zhuǎn)移到P1000JNBP1.2,P10000為0那么轉(zhuǎn)移到P10000AJMPXS跳轉(zhuǎn)到XSP100:MOV30H,#0清零程序MOV31H,#0MOV32H,#0MOV33H,#0MOV34H,#0MOV35H,#0JIA:CLRTF0TF0清零MOVA,35H秒單位數(shù)據(jù)到ACJNEA,#9,JIA1與9進(jìn)行比擬,大于9就轉(zhuǎn)移到JIA1MOV35H,0秒個(gè)位清零MOVA,34H秒十位數(shù)據(jù)到ACJNEA,#5,JIA10與5進(jìn)行比擬,大于5就轉(zhuǎn)移到JIA10MOV34H,#0秒十位清零P10000:JNBP1.2,P10000為0那么轉(zhuǎn)移到P10000MOVA,33H取分的個(gè)位到ACJNEA,#9,JIA100與9進(jìn)行比擬,大于9就轉(zhuǎn)移到JIA100MOV33H,#0分的個(gè)位清零MOVA,32H分十位數(shù)據(jù)到ACJNEA,#5,JIA1000與5進(jìn)行比擬,大于5就轉(zhuǎn)移到JIA1000MOV32H,#0分的十位清零P1000:JNBP1.1,P1000為0那么轉(zhuǎn)移到P1000MOVA,31H時(shí)個(gè)位數(shù)據(jù)到ACJNEA,#9,JIA10000與9進(jìn)行比擬,大于9就轉(zhuǎn)移到JIA10000MOV31H,#0時(shí)的個(gè)位清零MOVA,30H時(shí)十位數(shù)據(jù)到ACJNEA,#2,JIA100000與2進(jìn)行比擬,大于5就轉(zhuǎn)移到JIA100000MOV30H,#0時(shí)的十位清零AJMPXS0轉(zhuǎn)移到XSOJIA100000:INC30H加1AJMPXS0跳轉(zhuǎn)到XS0JIA10000:CJNEA,#3,JIAJIA與3進(jìn)行比擬,大于那么轉(zhuǎn)移到JIAJIAMOVA,30H將時(shí)的十位放到ACJNEA,#02,JIAJIA與2進(jìn)行比擬,大于那么轉(zhuǎn)移到JIAJIAMOV30H,#0時(shí)段清零MOV31H,#0AJMPXS0跳轉(zhuǎn)到XSOJIAJIA:INC31H加一AJMPXS0JIA1000:INC32HAJMPXS0JIA100:INC33HAJMPXS0JIA10:INC34HAJMPXS0JIA1:INC35HAJMPXS0RET返回YS1MS:MOVR6,#9H延時(shí)程序YL1:MOVR7,#19HDJNZR7,$DJNZR6,YL1RETTAB:DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H共陽段碼表DB040H,079H,024H,030H,019H,012H,002H,078H,000H,010HEND5系統(tǒng)仿真與實(shí)驗(yàn)測試5.1系統(tǒng)仿真運(yùn)用proteus軟件進(jìn)行仿真現(xiàn)在proteus軟件中建立一個(gè)新的文件,再根據(jù)自己的要求選擇所需的器件,把器件進(jìn)行適當(dāng)?shù)呐盼缓筮M(jìn)行連接,連接后運(yùn)行軟件進(jìn)行仿真。5.2實(shí)驗(yàn)測試電子時(shí)鐘主要的設(shè)計(jì)要求是能夠?qū)崿F(xiàn)時(shí)鐘的一般功能,以及包括時(shí)間的調(diào)整功能,這個(gè)基于單片機(jī)的電子時(shí)鐘根本上實(shí)現(xiàn)了上述功能,能夠通過時(shí)間調(diào)整電路對時(shí)間進(jìn)行調(diào)整以及復(fù)位。下述為18:30:30的仿真圖:圖818:30:30時(shí)刻的仿真效果圖6心得體會單片機(jī)作為我們主要的專業(yè)課程之一,我覺得單片機(jī)課程設(shè)計(jì)很有必要,而且很有意義。但當(dāng)拿到題目時(shí),確實(shí)不知道怎么著手,有些迷茫,上網(wǎng)查資料,問老師,在老師的幫助下,歷時(shí)兩個(gè)星期,解決一個(gè)又一個(gè)的困難,終于完成任務(wù)。在這次課程設(shè)計(jì)中,運(yùn)用到了很多以前的專業(yè)知識,雖然過去從未獨(dú)立應(yīng)用過它們,但在學(xué)習(xí)的過程中帶著問題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計(jì)的一大收獲。另外,要做好一個(gè)課程設(shè)計(jì),就必須做到:在設(shè)計(jì)程序之前,對所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)內(nèi)有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改良是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計(jì)課程過程中遇到問題是很正常德,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題的課程設(shè)計(jì)結(jié)束了,但是從中學(xué)到的知識會讓我受益終身。發(fā)現(xiàn)、提出、分析、解決問題和實(shí)踐能力的提高都會受益于我在以后的學(xué)習(xí)、工作和生活中。設(shè)計(jì)過程,好比是我們?nèi)祟惓砷L的歷程,常有一些不如意,但畢竟這是第一次做,難免會遇到各種各樣的問題。在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的缺乏之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,不能靈活運(yùn)用。通過這次設(shè)計(jì),我懂得了學(xué)習(xí)的重要性,了解到理論知識與實(shí)踐相結(jié)合的重要意義,學(xué)會了堅(jiān)持、耐心和努力,這將為自己今后的學(xué)習(xí)和工作做出了最好的典范。另外,要非常感謝我的指導(dǎo)老師,是她指引我克服一個(gè)由一個(gè)的困難,讓我學(xué)會對困難無所畏懼,以及對問題的一些很重要的思考方法。我學(xué)會對困難無所畏懼,以及對問題的一些很重要的思考方法。參考文獻(xiàn)[1]鄭君里,應(yīng)啟珩,楊為理.信號與系統(tǒng)〔第二

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論