單片機課程設(shè)計報告電子時鐘_第1頁
單片機課程設(shè)計報告電子時鐘_第2頁
單片機課程設(shè)計報告電子時鐘_第3頁
單片機課程設(shè)計報告電子時鐘_第4頁
單片機課程設(shè)計報告電子時鐘_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機課程設(shè)計報告電子時鐘該課程設(shè)計是利用MCS-51單片機內(nèi)部的定時/計數(shù)器、中斷系統(tǒng)、以及行列鍵盤和 LED顯示器等部件,設(shè)計一個單片機電子時鐘。設(shè)計的電子時鐘通過數(shù)碼管顯示,并能通 過按鍵實現(xiàn)設(shè)置時刻和暫停、啟動操縱等。二、電子時鐘設(shè)計思想:用定時/計數(shù)器TO,工作于定時,采納方式1,對12MHz的系統(tǒng)時鐘進(jìn)行定時計數(shù), 初值設(shè)為XXYY (自己運算)。形成定時時刻為50mso用片內(nèi)RAM的7BH單元對50ms 計數(shù),計20次產(chǎn)生秒計數(shù)器78H單元加1,秒計數(shù)器加到60則分計數(shù)器79H單元加1,分 計數(shù)器加到60則時計數(shù)器7AH單元加1,時計數(shù)器加到24則時計數(shù)器清0o然后把秒、分、 時

2、計數(shù)器分成十位和個位放到8個數(shù)碼管的顯示緩沖區(qū),通過數(shù)碼管顯示出來。顯示格式為 小時十位、小時個位-分十位、分個位一秒十位、秒個位。在處理過程中加上了按犍判定程 序,能對按鍵處理。三、MCS51單片機系統(tǒng)簡介單片機應(yīng)用系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成。硬件系統(tǒng)是指單片機以及擴展的 儲備器、10接口、外圍擴展的功能芯片以及接口電路。軟件系統(tǒng)包括監(jiān)控程序和各種應(yīng)用 程序。在單片機應(yīng)用系統(tǒng)中,單片機是整個系統(tǒng)的核心,對整個系統(tǒng)的信息輸入、處理、信 息輸出進(jìn)行操縱。與單片機配套的有相應(yīng)的復(fù)位電路、時鐘電路以及擴展的儲備器和IO接 口,使單片機應(yīng)用系統(tǒng)能夠運行。在一個單片機應(yīng)用系統(tǒng)中,往往都會輸入信息

3、和顯示信息,這就涉及鍵盤和顯示器。 在單片機應(yīng)用系統(tǒng)中,一樣都依照系統(tǒng)的要求配置相應(yīng)的鍵盤和顯示器。配置鍵盤和顯示器 一樣都沒有統(tǒng)一的規(guī)定,有的系統(tǒng)功能復(fù)雜,需輸入的信息和顯示的信息量大,配置的鍵盤 和顯示器功能相對強大,而有些系統(tǒng)輸入/輸出的信息少,這時可能用幾個按鍵和幾個LED 指示燈就能夠進(jìn)行處理了。在單片機應(yīng)用系統(tǒng)在中配置的鍵盤能夠是獨立鍵盤,也可能是矩 陣鍵盤。顯示器能夠是LED指示燈,也能夠是LED數(shù)碼管,也能夠是LCD顯示器,還能 夠使用CRT顯示器°單片機應(yīng)用系統(tǒng)中鍵盤一樣用的比較多的是矩陣鍵盤,顯示器用的比 較多的是LED數(shù)碼管還LCD顯示器。四、MCS51單片機內(nèi)

4、部定時器'計數(shù)器、中斷系統(tǒng)簡介定時器'計數(shù)器1、MCS-51系列中51子系列有兩個16位的可編程定時'計數(shù)器可:定時'計數(shù)器T0和定 時計數(shù)器T1。它由加法計數(shù)器、方式寄存器TMOD、操縱寄存器TCON等組成。方式寄 存器用于設(shè)定定時計數(shù)器T0和T1的工作方式,操縱寄存器用于對定時計激器啟動、停止 進(jìn)行操縱。2、每個定時計數(shù)器既能夠?qū)ο到y(tǒng)時鐘計數(shù)實現(xiàn)定時,也能夠外部信號計數(shù)實現(xiàn)計數(shù)功能 通過編程設(shè)定來實現(xiàn)。3、每個定時計數(shù)器都有多種工作方式,其中T0有四種工作方式,T1有三種工作方式, T2有三種工作方式。通過編程可設(shè)定工作于某種方式。四種工作方式為:13位定時

5、計數(shù)器、 16位定時計數(shù)器、8位自動重置定時計數(shù)器、兩個8位定時計數(shù)器(只有T0有)4、每一個定時計數(shù)器定時計數(shù)時刻到時產(chǎn)生溢出,使相應(yīng)的溢出位置位,溢出可通過查 詢或中斷方式處理。中斷系統(tǒng):1、MCS-51單片機提供5個硬件中斷源,2個外部中斷源,2個定時計數(shù)器T0和T1的 溢出中斷TFO和TF1, 1個串行口發(fā)送TI和接收RI中斷。2、MCS-51單片機中沒有專門的開中斷相關(guān)中斷指令,對各個中斷源的承諾和屏蔽是由 內(nèi)部的中斷承諾寄存器正的各位來操縱的。中斷承諾寄存器IE的字節(jié)地址為A8H,能夠 進(jìn)行位尋址。系統(tǒng)復(fù)位時,中斷承諾寄存器IE的內(nèi)容為00H,假如要開放某個中斷源,則 必須使IE中

6、的總控置位和對應(yīng)的中斷承諾位置“13、MCS-51單片機有5個中斷源,為了處理方便,每個中斷源有兩級操縱,高優(yōu)先級和 低優(yōu)先級。通過由內(nèi)部的中斷優(yōu)先級寄存器IP來設(shè)置,中斷優(yōu)先級寄存器IP的字節(jié)地址為 B8H,能夠進(jìn)行位尋址。假如某位被置“1”,則對應(yīng)的中斷源被設(shè)為高優(yōu)先級:假如某位被 清零,則對應(yīng)的中斷源被設(shè)為低優(yōu)先級。關(guān)于同級中斷源,系統(tǒng)有默認(rèn)的優(yōu)先權(quán)順序,從高 到低優(yōu)先權(quán)順序為外部中斷0、定時計數(shù)器T0中斷、外部中斷1、定時計數(shù)器T1中斷、串 行口中斷。通過設(shè)置中斷優(yōu)先級寄存器IP能夠改變系統(tǒng)默認(rèn)的優(yōu)先級順序。4、MCS-51單片機響應(yīng)中斷的條件為:中斷源有要求且中斷承諾。五、鍵盤和LE

7、D數(shù)碼管顯示器簡介鍵盤是單片機應(yīng)用系統(tǒng)中最常用的輸入設(shè)備,在單片機應(yīng)用系統(tǒng)中,操作人員一樣差 不多上通過鍵盤向單片機系統(tǒng)輸入指令、地址和數(shù)據(jù),實現(xiàn)簡單的人機通信。鍵盤實際上是 一組按鍵開關(guān)的集合,平常按鍵開關(guān)總是處于斷開狀態(tài),當(dāng)按下鍵時它才閉合。鍵盤的結(jié)構(gòu) 形式一樣有兩種:獨立式犍盤和矩陣式鍵盤。矩陣式犍盤的工作方式有3種:查詢工作方式、 定時掃描工作方式和中斷工作方式。LED數(shù)碼管顯示器:在單片機應(yīng)用系統(tǒng)中,經(jīng)常用到LED數(shù)碼管作為顯示輸出設(shè)備, LED數(shù)碼管顯示器盡管顯示信息簡單,但它具有顯示清晰、亮度高、使用電壓低、壽命長、 與單片機接口方便等特點,差不多上能夠滿足單片機應(yīng)用系統(tǒng)的需要,

8、因此在單片機應(yīng)用系 統(tǒng)中經(jīng)常用到。LED數(shù)碼管顯示器是由發(fā)光二極管按一定的結(jié)構(gòu)組合起來的顯示器件。在 單片機應(yīng)用系統(tǒng)中通常使用的是8段式LED數(shù)碼管顯示器,它有共陰極和共陽極兩種。所 謂譯碼方式是指由顯示字符轉(zhuǎn)換得到對應(yīng)的字段碼的方式。關(guān)于LED數(shù)碼管顯示器,通常 的譯碼方式有兩種:硬件譯碼方式和軟件譯碼方式。LED數(shù)碼管在顯示時,通常有兩種顯 示方式:靜態(tài)顯示方式和動態(tài)顯示方式。在使用時能夠把它們組合起來。在實際應(yīng)用時,假 如數(shù)碼管個數(shù)較少,通常用硬件譯碼靜態(tài)顯示,在數(shù)碼管個數(shù)較多時,則通常用軟件譯碼動 態(tài)顯示。六、差不多原理軟時鐘是利用單片機內(nèi)部的定時器計數(shù)器來實現(xiàn)的,它的處理過程如下:第

9、一設(shè)定單 片機內(nèi)部的一個定時器朝嗷器工作于定時方式,對機器周期計數(shù)形成基準(zhǔn)時刻,然后用另 一個定時器'計數(shù)器或軟件計數(shù)的方法對基準(zhǔn)時刻計數(shù)形成秒,秒計60次形成分,分計60 次形成小時,小時計24次則計滿一天。然后通過數(shù)碼管把它們的內(nèi)容在相應(yīng)位置顯示出來 即可。數(shù)碼管顯示能夠采納靜態(tài)顯示方法或動態(tài)顯示方法。靜態(tài)顯示方法需要數(shù)據(jù)鎖存器等 硬件,接口復(fù)雜,時鐘顯示一樣用6個或8個數(shù)碼管。由于系統(tǒng)沒有其他的復(fù)雜的任務(wù)處理, 而且顯示的時鐘信息隨時都可能變化,一樣采納動態(tài)顯示方式。動態(tài)顯示方法線路相對簡單, 但需動態(tài)掃描,掃描頻率要大于人眼視覺暫留頻率,信息看起來才穩(wěn).固。譯碼方式可分為軟 件

10、譯碼和硬件譯碼,軟件譯碼通過譯碼程序查得顯示信息的字段碼:硬件譯碼通過硬件譯碼 器得到顯示信息的字段碼,實際中通常采納軟件譯碼。在具體處理時,定時器沖數(shù)器采納中斷方式工作,對時鐘的形成在中斷服務(wù)程序中實 現(xiàn)。在主程序中只需對定時器計數(shù)器初始化、調(diào)用顯示子程序和操縱子程序。另外,為了使 用方便,設(shè)出了簡單的按鍵,能夠通過按鍵實現(xiàn)時、分的調(diào)整,如此在主程序中就加入了鍵 盤設(shè)置子程序。七、系統(tǒng)硬件電路的設(shè)計P0.OADO P0.HAD1 P0.2Me POLADS P0.4MX PO5ADS PO.8AD6 P0.71AD73M 陽府 P22A1O P23 Ali P2W2 P25A13 P2&am

11、p;A" P271A1SP3.GRM) W.lTXD R32 m R32而典3和 P35T1 P36而 P3.7HJmFri2FrMn5Fr17-K0鍵為模式選擇鍵,按第一次暫停,設(shè)小時;按第二次暫停,設(shè)分,按第三次重新開始走動。K1為加1鍵,K2為減1健。八、系統(tǒng)軟件程序的設(shè)計電子時鐘的軟件系統(tǒng)由主程序和子程序組成,主程序程序包含初始化參數(shù)設(shè)置、按鍵處 理、數(shù)碼管顯示模塊等,1 .主程序主程序執(zhí)行流程如圖11.2,主程序先對顯示單元和定時器川數(shù)器初始化,然后重復(fù)調(diào) 用數(shù)碼管顯示模塊和按鍵處理模塊,當(dāng)有鍵按下,則轉(zhuǎn)入相應(yīng)的功能程序。2 .數(shù)碼管顯示模塊本系統(tǒng)共用8個數(shù)碼管,從右到左依

12、次顯示秒個位、秒十位、橫線、分個位、分十位、 橫線、時個位和時十位.采納軟件譯碼動態(tài)顯示。3 .定時/計數(shù)器TO中斷服務(wù)程序定時器/計數(shù)器TO用于時刻計時。選擇方式1,重復(fù)定時,定時時刻設(shè)為50ms,定時 時刻到則中斷,在中斷服務(wù)程序中用一個計數(shù)器對50ms計數(shù),計20次則對秒單元加1,秒 單元加到60則對分單元加1,同時秒單元清0:分單元加到60則對時單元加1,同時分單 元清0;時單元加到24則對時單元清0,標(biāo)志一天時刻計滿。在對各單元計數(shù)的同時,把它們的值放到儲備單元的指定位置。定時器/計數(shù)器T0中斷服務(wù)程序流程圖如圖11.3o圖11.2主程序流程圖圖11.3定時器/計數(shù)器TO中斷服務(wù)程序

13、流程圖4 .按鍵處理模塊按鍵處理設(shè)置為:如沒有按鍵,則時鐘正常走時。當(dāng)按下K0按鍵時,進(jìn)入調(diào)分狀態(tài), 時鐘停止走動:按K1可K2按鍵可進(jìn)行加1或減1操作;連續(xù)按K0鍵可分別進(jìn)行分和小 時的調(diào)整:最后按K0鍵將退出調(diào)整狀態(tài),時鐘開始計時運行。5 .匯編語言源程序清單:采納8位LED軟件譯碼動態(tài)顯示程序:使用AT89c51單片機,12MHZ晶振,P0輸出字段碼,P2 口輸出位選碼,用共陽 :LED數(shù)碼管,P1.0為調(diào)時位選擇按鍵,P1.1為加1鍵,P1.2為減1鍵。:片內(nèi)RAM的70H到77H單元為LED數(shù)碼管的顯示緩沖區(qū):78H, 79H, 7AH分別為秒、分、小時計數(shù)單元:7BH為50ms計數(shù)

14、器,7cH為調(diào)時按鍵計數(shù)器ORG 0000H UMP START ORG 000BH;定時器/計數(shù)器TO中斷程序入口LIMP INTT0:主程序START: MOV RO, #70H MOV R7, #0CH INIT: MOV R0, #00H INC RO DJNZ R7, INIT MOV 72H, #10 MOV 75H, #10 MOV TMOD, #01H MOV TLO, #0B0H MOV TOO, #03CH SETB EA SETB ETO SETB TRO START 1: LCALL SCAN LCALL KEYSCAN SJMP START 1 :延時IMS子程序 D

15、L1MS: MOV R6, #14H DL1: MOV R7, #19H DL2: DJNZ R7, DL2 DJNZ R6, DL1 RET ;延時20MS子程序 DL20MS: ACALL SCAN ACALL SCAN ACALL SCAN RET ;數(shù)碼管顯示程序 SCAN: MOV A, 78H:時刻存入顯示緩沖區(qū)相應(yīng)位置MOV B, #0AH DIV AB MOV 71H, AMOV 70H, BMOV A, 79HMOV B, #0AHDIV ABMOV 74H, AMOV 73H, BMOV A, 7AHMOV B, #0AHDIV ABMOV 77H, AMOV 76H, B

16、MOV RI, #70H:循環(huán)掃描顯示MOV R5, #80HMOV R3, #08HSCAN1: MOV A, R5MOV P2, AMOV A, R1MOV DPTR, #TABMOVC A, A+DPTRMOV PO, AMOV A, R5LCALL DL1MSINC RIMOV A, R5RR AMOV R5, ADJNZ R3, SCAN1MOV P2, #00HMOV PO, #OFFHRETTAB: DB OCOH, 0F9H, 0A4H, OBOH, 99H. 92H, 82H, 0F8H, 80H, 90H, OBFH:“09”,的共陽極字段碼;定時器/計數(shù)器TO中斷服務(wù)程序

17、 INTTO: PUSH ACC PUSH PSW CLR ETO CLR TRO MOV TLO, #OBOH MOV TOO, #03CH SETB TRO INC 7BH MOV A, 7BH CJNE A, #14H, OUTTOMOV 7BH, #00 INC 78H MOV A, 78H CJNE A, #3CH, OUTTO MOV 78H, #00 INC 79H MOV A, 79H CJNE A, #3CH, OUTTO MOV 79H, #00 INC 7AH MOV A, 7AH CJNE A, #18H, OUTTO MOV 7AH, #00OUTTO: SETB E

18、TO POP PSW POP ACC RETI :按鍵處理程序 KEYSCAN: CLR EA JNB PLO, KEYSCANO JNB PL1, KEYSCAN 1 JNB Pl2 KEYSCAN2KEYOUT: SETB EA RETKEYSCANO: LCALL DL20MS JB P1.0, KEYOUTWAIT0: JNB PLO, WAIT0 INC 7CH MOV A, 7CH CLR ETO CLR TRO CJNE A, #03H, KEYOUT MOV 7cH, #00 SETB ETO SETB TRO SJMP KEYOUTKEYSCAN 1: LCALL DL20M

19、S JB Pl.L KEYOUTWAIT1: JNB Pl.h WAIT1 MOV A, 7CH CJNE A, #02H, KSCAN11 INC 79H MOV A, 79HCJNE A, #3CH, KEYOUTMOV 79H, #00SJMP KEYOUTKSCAN11: INC 7AHMOV A, 7AHCJNE A, #18H, KEYOUTMOV 7AH, #00SJMP KEYOUT KEYSCAN2: LCALL DL20MSJB P1.2, KEYOUT WAIT2: JNB PL2, WAIT2MOVA, 7CHCJNEA, #02H, KSCAN21DEC79HMOVA, 79HCJNEA, #0FFH, KEY

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論