簡易數(shù)字鐘的設(shè)計_第1頁
簡易數(shù)字鐘的設(shè)計_第2頁
簡易數(shù)字鐘的設(shè)計_第3頁
簡易數(shù)字鐘的設(shè)計_第4頁
簡易數(shù)字鐘的設(shè)計_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機課程設(shè)計單片機課程設(shè)計論文設(shè)計題目:簡易數(shù)字鐘單片機設(shè)計 學(xué)院:汽車學(xué)院班級:電氣工程及其自動化 三班成員名單:1、姓名:黃金棟 學(xué)號:2009091403302、姓名:高杰 學(xué)號:2009091403313、姓名:劉志 學(xué)號:200909140332指導(dǎo)教師:王春梅課程設(shè)計時間:2012年5月14-2012年5月25摘 要數(shù)字鐘已經(jīng)成為人們?nèi)粘I钪胁豢扇鄙俚谋匦杵?,廣發(fā)應(yīng)用于家庭及辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作及娛樂帶來了極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進的石英技術(shù),使得數(shù)字鐘具有走時準確、性能穩(wěn)定、攜帶方便等優(yōu)點,它還用于計時、自動報時及自動控制等各個領(lǐng)

2、域。盡管目前市場上已有現(xiàn)成的數(shù)字鐘集成電路芯片出售,價格便宜、使用方便,但鑒于單片機的定時器功能也可以完成數(shù)字鐘的設(shè)計,因此進行數(shù)字的設(shè)計是必要的。在這里我們將已學(xué)過的比較零散的數(shù)字電路的知識有機的、系統(tǒng)的聯(lián)系起來用于實際,來培養(yǎng)我們的綜合分析和設(shè)計電路,寫程序、調(diào)試電路的能力。單片機具有體積小、功能強、可靠性高、價格低廉等一系列優(yōu)點,不僅已成為工業(yè)測控領(lǐng)域普遍采用的智能化控制工具,而且已滲入到人們工作和生活的各個角落,有力地推動了各行各業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代,應(yīng)用前景廣闊。本次做的數(shù)字鐘是以單片機(AT89C51)為核心,結(jié)合相關(guān)的元器件(共陰極LED數(shù)碼顯示器等),再配以相應(yīng)的軟件,

3、達到制作簡易數(shù)字鐘的目的。硬件部分采用了單片機原理實驗室的實驗箱進行合理接線調(diào)試;軟件部分通過keil進行了C程序的修改編譯,protues軟件仿真等。最終在實驗箱上實現(xiàn)了與仿真結(jié)果相同的實際效果。關(guān)鍵詞 單片機定時功能、AT89C51、共陰LED、Keil、Protues軟件。19211 設(shè)計任務(wù)描述 1.1 設(shè)計目的熟練使用Keil開發(fā)環(huán)境,具備編寫單片機程序(匯編語言或C語言)的初步能力,通過完成本課題的軟硬件設(shè)計,使同學(xué)們了解單片機實例的整個開發(fā)流程。1.2 基本要求簡要說明用單片機設(shè)計出一個數(shù)字鐘。此數(shù)字鐘完成自動走時和時間調(diào)整的功能。任務(wù)和要求設(shè)計簡易的數(shù)字鐘,該數(shù)字鐘滿足以下要求

4、:1 開機時,顯示12:00:00的時間開始計時;2 P0.0/AD0控制“秒”的調(diào)整,每按一次加1秒;3 P0.1/AD1控制“分”的調(diào)整,每按一次加1分;4 P0.2/AD2控制“時”的調(diào)整,每按一次加1個小時該數(shù)字鐘基本功能:使用單片機的定時/計數(shù)器實現(xiàn)數(shù)字中的定時計數(shù)功能,秒計60次成分,分計60次成小時,小時計24次則計滿一天。本設(shè)計LED顯示部分采用動態(tài)顯示,其中2個LED顯示器顯示秒,2個LED顯示器顯示分鐘,2個LED顯示器顯示小時。同時為了使用方便,本題目還需要設(shè)計幾個簡單按鍵,可以通過按鍵實現(xiàn)時、分的調(diào)整,這樣在主程序中需要加入鍵盤設(shè)置子程序。2 設(shè)計思路基于單片機的簡易數(shù)

5、字鐘設(shè)計主要可以分為以下幾個模塊來考慮: 對于單片機AT89C51的T0,T1定時中斷部分。本次設(shè)計中的單片機晶振頻率采用了精準的11.0592MHZ。故對T1初值設(shè)定為:DC00h,實現(xiàn)了10ms的定時,然后C程序中通過定義一個變量i,對i進行i+的100次循環(huán),如此即可達到最小1S的實現(xiàn)。而后在這個1S程序段的基礎(chǔ)之上,我們可以分別編寫出對時,分的程序段。對于定時器T0,我們可以將其用來作為數(shù)碼管動態(tài)掃描的定時中斷,本次設(shè)計設(shè)為50ms左右,初值為FC17h。這個取值通過最后的仿真及實際效果看出合理,不會出現(xiàn)閃爍等情況。 校時電路。本次設(shè)計要求了該簡易數(shù)字鐘必須具備時、分的調(diào)整功能。故必須

6、接入3個簡單的按鍵(本設(shè)計設(shè)置問p0.2調(diào)時、p0.1調(diào)分、p0.0調(diào)秒,按鍵為實驗箱單次脈沖按鍵模塊),并且在軟件部分必須引入這3個獨立按鍵的子程序。 顯示電路??紤]采用動態(tài)顯示部分,用P1口作為數(shù)碼管數(shù)據(jù)(段選),P2口作為數(shù)碼管控制(位選)。動態(tài)顯示通常都是采用動態(tài)掃描的方法進行顯示,即循環(huán)點亮每一個數(shù)碼管,這樣雖然在任意時刻都只有一位數(shù)碼管被點亮,但由于人眼存在視覺暫留效應(yīng),只要每位數(shù)碼管間隔時間足夠短,就可以給人以通俗顯示的感覺。上面第一部分已提到,我們采用了50ms左右的時間間隔,并且是合理的。6位數(shù)碼管,實驗室的硬件是共陰極的,故我們的數(shù)碼表采用0x3f,0x06,0x5b,0x

7、4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x00; 晶振電路。 在AT89C51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻之后,才成為單片機的時鐘脈沖信號。 復(fù)位電路。 這部分設(shè)計用來完成對單片機的復(fù)位。以上是對本次設(shè)計課題的初步分析,以下將對各部分模塊設(shè)計進行詳細闡述。3 設(shè)計方框圖3.1 數(shù)字鐘硬件部分示意圖該簡易數(shù)字鐘硬件部分主要由晶振、手動復(fù)位、單片機AT89C51、數(shù)碼管顯示、

8、時間調(diào)整按鍵模塊組成??驁D如下:圖3.1 數(shù)字鐘硬件系統(tǒng)示意圖3.2 數(shù)字鐘軟件部分組成框圖3.2.1 時間調(diào)整的程序流程YYNINT1中斷服務(wù)子程序時鐘分位調(diào)整時鐘分位+11小時到時鐘分位清零返回時鐘小時位調(diào)整?時鐘小時+124小時到時鐘小時位清零NY圖3.2 時間調(diào)整程序流程框圖3.2.2 時鐘顯示程序流程T1中斷服務(wù)子程序重置T1定時初值1秒到?秒位+11分到?分位+1、秒位清零1小時到?小時位+1、分位清零24小時到?小時位清零返回NNNN圖3.3 24小時時鐘4 各部分模塊介紹4.1 單片機AT89C51芯片分析AT89C51單片機引腳圖如下:圖 4.1 AT89C51引腳圖該單片機

9、是標(biāo)準的40引腳雙列直插式集成電路芯片,其各個引腳功能如下:VCC:+5V電源。VSS: 接地。RST:復(fù)位信號。當(dāng)輸入的復(fù)位信號延續(xù)兩個周期以上的高電平時即為有效,用來完成單片機的初始化操作。XTAL1和XTAL2:外接晶體引線端。當(dāng)使用芯片內(nèi)部時鐘時,此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。PO口:P0口作為一個8位漏極開路雙向I/O口,當(dāng)作輸出口使用時,必須接上拉電阻才有高電平輸出;當(dāng)作輸入口使用時,必須先向電路中的鎖存器寫入“1”,使FET截止,以避免鎖存器為“0”時對引腳輸入的干擾。本次設(shè)計采用P0口作為數(shù)碼管段選輸出使用。P2口:內(nèi)部有上拉電

10、阻的8位I/O口,本次設(shè)計中作為數(shù)碼管位選輸出使用。4.2 晶振電路模塊在AT89C51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻之后,才成為單片機的時鐘脈沖信號。圖4.2 晶振電路4.3 復(fù)位電路模塊 單片機復(fù)位的條件是:必須使RST/VPD或RST引腳加上兩個機器周期(即24個振蕩周期)的高電平。例如,若時鐘頻率為12MHz,每個機器周期為1us,則只需要2us以上時間的高電平,在RST引腳出現(xiàn)高電平后的第二個

11、機器周期執(zhí)行復(fù)位。單片機常見的復(fù)位如圖所示。電路為上電復(fù)位,它利用電容充電來實現(xiàn)的。在接電瞬間,RESET端的電位與VCC相同,隨著充電電流的減少,RESET的電位逐漸下降。只要保證RESET為高電平的時間大于兩個機器周期,便能正常復(fù)位。該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按圖中的RESET鍵,此時電源VCC經(jīng)電阻分壓,在RESET端產(chǎn)生一個復(fù)位高電平。圖4.3 復(fù)位電路4.4 顯示模塊考慮采用動態(tài)顯示部分,用P1口作為數(shù)碼管數(shù)據(jù)(段選),P2口作為數(shù)碼管控制(位選)。動態(tài)顯示通常都是采用動態(tài)掃描的方法進行顯示,即循環(huán)點亮每一個數(shù)碼管,這樣雖然在任意時刻都只有一位數(shù)碼管被點亮,但由于人眼

12、存在視覺暫留效應(yīng),只要每位數(shù)碼管間隔時間足夠短,就可以給人以通俗顯示的感覺。上面第一部分已提到,我們采用了50ms左右的時間間隔,并且是合理的。6位數(shù)碼管,實驗室的硬件是共陰極的,故我們的數(shù)碼表采用0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x00;圖4.4 顯示模塊4.5 時間校對按鍵模塊本次設(shè)計要求了該簡易數(shù)字鐘必須具備時、分的調(diào)整功能。故必須接入2個簡單的按鍵(本設(shè)計設(shè)置問p0.2調(diào)時、p0.1調(diào)分,按鍵為實驗箱單次脈沖按鍵模塊),并且在軟件部分必須引入這2個獨立按鍵的子程序。圖4.5 時間校對按鍵電路5 簡易數(shù)字鐘源程序匯編源

13、程序SECOND EQU 30HMINITE EQU 31HHOUR EQU 32HHOURK BIT P0.0MINITEK BIT P0.1SECONDK BIT P0.2DISPBUF EQU 40HDISPBIT EQU 48HT2SCNTA EQU 49HT2SCNTB EQU 4AHTEMP EQU 4BHORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV SECOND,#00HMOV MINITE,#00HMOV HOUR,#12MOV DISPBIT,#00HMOV T2SCNTA,#00HMOV T2SCNTB,#00HMOV TEMP

14、,#0FEHLCALL DISPMOV TMOD,#01HMOV TH0,#(65536-2000) / 256MOV TL0,#(65536-2000) MOD 256SETB TR0SETB ET0SETB EAWT: JB SECONDK,NK1LCALL DELY10MSJB SECONDK,NK1INC SECONDMOV A,SECONDCJNE A,#60,NS60MOV SECOND,#00HNS60: LCALL DISPJNB SECONDK,$NK1: JB MINITEK,NK2LCALL DELY10MSJB MINITEK,NK2INC MINITEMOV A,MI

15、NITECJNE A,#60,NM60MOV MINITE,#00HNM60: LCALL DISPJNB MINITEK,$NK2: JB HOURK,NK3LCALL DELY10MSJB HOURK,NK3INC HOURMOV A,HOURCJNE A,#24,NH24MOV HOUR,#00HNH24: LCALL DISPJNB HOURK,$NK3: LJMP WTDELY10MS:MOV R6,#10D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETDISP: MOV A,#DISPBUFADD A,#8DEC AMOV R1,AMOV A,HOURMO

16、V B,#10DIV ABMOV R1,ADEC R1MOV A,BMOV R1,ADEC R1MOV A,#10MOVR1,ADEC R1MOV A,MINITEMOV B,#10DIV ABMOV R1,ADEC R1MOV A,BMOV R1,ADEC R1MOV A,#10MOVR1,ADEC R1MOV A,SECONDMOV B,#10DIV ABMOV R1,ADEC R1MOV A,BMOV R1,ADEC R1RETINT_T0:MOV TH0,#(65536-2000) / 256MOV TL0,#(65536-2000) MOD 256MOV A,#DISPBUFADD

17、A,DISPBITMOV R0,AMOV A,R0MOV DPTR,#TABLEMOVC A,A+DPTRMOV P1,AMOV A,DISPBITMOV DPTR,#TABMOVC A,A+DPTRMOV P3,AINC DISPBITMOV A,DISPBITCJNE A,#08H,KNAMOV DISPBIT,#00HKNA: INC T2SCNTAMOV A,T2SCNTACJNE A,#100,DONEMOV T2SCNTA,#00HINC T2SCNTBMOV A,T2SCNTBCJNE A,#05H,DONEMOV T2SCNTB,#00HINC SECONDMOV A,SECO

18、NDCJNE A,#60,NEXTMOV SECOND,#00HINC MINITEMOV A,MINITECJNE A,#60,NEXTMOV MINITE,#00HINC HOURMOV A,HOURCJNE A,#24,NEXTMOV HOUR,#00HNEXT: LCALL DISPDONE: RETITABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40HTAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FHEND6 數(shù)字鐘源程序的仿真6.1 編譯、連接將數(shù)字鐘源程序輸入到keil軟件,建立工程

19、項目,添加完成程序的編譯、連接,通過后無錯誤。如圖所示:圖6.1 編譯、連接圖6.2 仿真6.2.1 生成HEX文件利用keil將編譯、連接無誤的源程序生成hex文件,準備與protues聯(lián)調(diào)進行仿真。圖 6.2.1 從keil里生成十六進制文件6.2.2 仿真結(jié)果在protues里面將HEX文件導(dǎo)入單片機,運行。得到仿真如下:圖 6.2.2 仿真結(jié)果顯示7 數(shù)字鐘硬件原理圖1 把“單片機系統(tǒng)”區(qū)域中的P1.0P1.7端口用8芯排線連接到“動態(tài)數(shù)碼顯示”區(qū)域中的AH端口上;2 把“單片機系統(tǒng):區(qū)域中的P2.0P2.7端口用8芯排線連接到“動態(tài)數(shù)碼顯示”區(qū)域中的端口上;3 把“單片機系統(tǒng)”區(qū)域中

20、的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分別用導(dǎo)線連接到“獨立式鍵盤”區(qū)域中的SP3、SP2、SP1端口上;8 主要原器件清單元件名稱規(guī)格型號/參數(shù)數(shù)量單片機AT89C511電容15pF2晶振11.0592MHz1電容10uF1數(shù)碼管7SEG-MPX6-CC-RED1電阻10K12按鍵BUTTON3小 結(jié)本次課程設(shè)計我們小組選擇的課題是簡易數(shù)字鐘的設(shè)計。主要的設(shè)計思路是運用5個單元模塊的組合來實現(xiàn)符合設(shè)計要求的數(shù)字鐘。五大模塊設(shè)置合理,各自發(fā)揮自己的作用,成為一個整體。分模塊來調(diào)試,最終實現(xiàn)。課程設(shè)的三周是忙碌、充實而又緊張的。雖然臨近期末考試早已結(jié)束近一個月之久,但我們不僅沒有把這當(dāng)成一種考試后的娛樂,去隨意對待,反而調(diào)整好自己心態(tài),把這次課程設(shè)計當(dāng)作一次難得的全面復(fù)習(xí)機會。通過這次課程設(shè)計,我學(xué)會了很多書本上學(xué)不到的知識,熟練掌握了Keil的開發(fā)環(huán)境,也加深了軟件的使用。這個課設(shè)從自己找相關(guān)軟件、裝軟件、學(xué)軟件再到仿真,充滿許多艱辛,付出了很多汗水和時間,在同組人員互相鼓勵,互相探討,互相競爭的團隊協(xié)作下,克服這探索道路上的種種困難,最后終于做成了一份完整的課程設(shè)計。心里還是不免有一種成功后的喜悅

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論