單片機(jī)原理與應(yīng)用電子時鐘_第1頁
單片機(jī)原理與應(yīng)用電子時鐘_第2頁
單片機(jī)原理與應(yīng)用電子時鐘_第3頁
單片機(jī)原理與應(yīng)用電子時鐘_第4頁
單片機(jī)原理與應(yīng)用電子時鐘_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、. . . . 單片機(jī)原理與應(yīng)用電子時鐘 課程設(shè)計報告 學(xué)院:信息工程學(xué)院 專業(yè)班級:通信工程10-1班 :牛愛 歡 焦航指導(dǎo)教師:振 目 錄1. 設(shè)計題目.1 1.1課題研究背景.1 1.2課題主要容.12. 設(shè)計任務(wù).13. 設(shè)計思路.2 3.1系統(tǒng)框圖設(shè)計.2 3.2系統(tǒng)電路原理設(shè)計.34. 硬件原理圖和連接圖.4 4.1總原理圖.4 4.2AT89C51.4 4.3復(fù)位電路.7 4.4按鍵電路.7 4.5LED顯示電路.85. 程序流程圖.9 5.1主程序.9 5.2數(shù)碼管顯示.9 5.3定時器/計數(shù)器T0中斷服務(wù)程序.9 5.4按鍵處理程序.116. 程序清單.127. 實驗總結(jié).1

2、78. 設(shè)計心得.189. 參考資料.1919 / 241.設(shè)計題目 1.1課題研究背景 電子時鐘有著很長的歷史,在1957年,Ventura發(fā)明了世界上的第一塊電子表后,他就奠定了電子時鐘的基礎(chǔ),電子時鐘開始迅速地發(fā)展起來?,F(xiàn)代的電子時鐘是基于單片機(jī)的一種計時工具,采用延時程序產(chǎn)生一定的時間中斷,用于一秒的定義,通過計數(shù)方式進(jìn)行滿六十秒為一分鐘進(jìn)一,滿六十分為一小時進(jìn)一,滿二十四小時清零,從而達(dá)到計時的功能?;?1單片的電子時鐘,外圍電路簡單易于實現(xiàn),性價比高,是實現(xiàn)電子時鐘的不錯選擇。 1.2課題主要容本次課程設(shè)計基于單片機(jī)部資源設(shè)計出的一款性價比高的電子時鐘系統(tǒng),主要涉與到以下幾個研究

3、方向: (1) 熟悉MCS-51單片機(jī)部定時器的工作方式; (2) 掌握單片機(jī)部中斷系統(tǒng)的工作模式; (3) 了解MCS-51單片機(jī)外部電路的一般設(shè)計方法; (4) 熟悉匯編語言的編寫規(guī)則;(5) 掌握單片機(jī)部ram地址分配方法; (6) 掌握特殊功能寄存器的用法; (7) 熟悉Proteus ISIS與Keil uVision2軟件的使用。2.設(shè)計任務(wù)我們采用應(yīng)用廣泛的AT89C51作為時鐘控制芯片,利用單片機(jī)部的定時/計數(shù)器T0 實現(xiàn)軟時鐘的目的。在六位數(shù)碼顯示器上顯示時,分,秒。選用定時器每隔0.125秒產(chǎn)生一次中斷,在存中設(shè)定四個單元,存放0.125秒,秒,分,時,每隔0.125秒對這

4、些單元中的容進(jìn)行必要的修改。存放時分秒與0.125秒的數(shù)值的四個單元選用片RAM:(50H) 0.125秒的個數(shù)(51H) 秒(BCD碼)(52H) 分(BCD碼)(53H) 時(BCD碼)晶振頻率為6MHz,使用方式1定時0.125秒,則定時器的初始值為0BDCH??擅恐袛?次更新一次時間顯示,每隔兩次中斷(0.25秒)進(jìn)行一次鍵盤檢查。此外還要實現(xiàn)對時間的調(diào)整功能,89C51的P1.0、P1.1、P1.2外接三個獨立按鍵,當(dāng)有鍵按下時,分別使秒單元清零,時,分容加一。3.設(shè)計思路 3.1系統(tǒng)框圖設(shè)計 根據(jù)電子時鐘能夠?qū)崿F(xiàn)的功能,采用單片機(jī)部資源,設(shè)計出了系統(tǒng)原理框圖,如圖3-1所示: 圖3

5、-1 在單片機(jī)部構(gòu)建三個模塊:控制模塊、譯碼模塊、定時模塊,用以實現(xiàn)自動計數(shù)、譯碼顯示功能。單片機(jī)外部構(gòu)建三個電路:復(fù)位電路、外部按鈕電路、顯示電路,用以實現(xiàn)對單片機(jī)部計數(shù)控制以與譯碼輸出的正確顯示。該電子時鐘是將秒、分、時顯示在人的視覺器官面前的一種計時裝置。故將計時周期設(shè)置為24小時,當(dāng)顯示滿刻度是23時59分59秒時,數(shù)碼管顯示為0。為了確保時間正常校對,在系統(tǒng)中設(shè)有校對按鈕,用以實現(xiàn)對數(shù)碼管顯示的正確調(diào)整。 3.2系統(tǒng)電路原理設(shè)計在本次的設(shè)計中對6MHZ的系統(tǒng)時鐘進(jìn)行定時計數(shù),初值設(shè)為0BDCH。形成定時時間為0.125s。用片RAM的50H單元對0.125s計數(shù),計8次1秒鐘到,然后

6、對秒計數(shù)器51H單元加1,秒計數(shù)器加到60后就向分進(jìn)位,則分計數(shù)器52H單元加1而秒計數(shù)器51H單元清零;分計數(shù)器加到60后又向時進(jìn)位,則時計數(shù)器53H單元加1而分計數(shù)器52H單元清零;時計數(shù)器加到24則時計數(shù)器清零。然后把秒、分、時計數(shù)器分成十位和個位放到6個數(shù)碼管的顯示緩沖區(qū),通過數(shù)碼管顯示出來。顯示格式為小時十位、小時個位、分十位、分個位、秒十位、秒個位。4. 硬件原理圖和連接圖 4.1總原理圖根據(jù)電路原理框圖設(shè)計出電路原理圖如圖4-1所示,由6MHz的晶振給單片機(jī)提供固定的時鐘頻率,通過k0、k1、k2可以對顯示電路時間進(jìn)行位設(shè)定。 圖4-1 4.2AT89C51 AT89C51是一種

7、帶4K字節(jié)FLASH存儲器的低電壓、高性能CMOS的8位微處理器,俗稱單片機(jī)。AT89C51是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器。如圖4-2所示: 圖4-2 由于電路原理中只用到單片機(jī)的p0、p1、p2口,所示下面對這三個端口進(jìn)行詳細(xì)介紹。 1)、P0口:P00P07統(tǒng)稱為P0口,在不接片外存儲器與不擴(kuò)展I/O接口時,作為準(zhǔn)雙向輸入/輸出

8、接口。在接有片外存儲器或擴(kuò)展I/O接口時,P0口分時復(fù)用為低8位地址總線和雙向數(shù)據(jù)總線。P0口是一個三態(tài)雙向口,由一個輸出鎖存器、兩個三態(tài)緩沖器、輸出驅(qū)動電路和輸出控制電路組成。在輸入數(shù)據(jù)時,應(yīng)人為地先向P0口寫“1”,定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。 2)、P1口:P10P17統(tǒng)稱為P1口,可作為準(zhǔn)雙向I/O接口使用。P1口是一個部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4LSTTL門電流。P1口管腳寫入“1”后,被部上拉為

9、高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于部上拉的緣故。 3)、P2口:P20 P27口統(tǒng)稱為P2口,一般可以作為準(zhǔn)雙向I/O接口使用,在接有片外存儲器或擴(kuò)展I/O接口且尋址圍超過256字節(jié)時,P2口用作高8位地址總線。P2口為一個部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用部上拉優(yōu)勢,當(dāng)對外部八位地

10、址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 4.3復(fù)位電路計算機(jī)在啟動運行時都需要復(fù)位,復(fù)位時使中央處理器CPU和部其他部件處于一個確定的初始狀態(tài),從這個狀態(tài)開始工作。 AT89C51單片機(jī)有一個復(fù)位引腳RST,高電平有效。在時鐘電路工作以后,當(dāng)外部電路使得RST端出現(xiàn)兩個機(jī)器周期(24個時鐘周期)以上的高電平,系統(tǒng)部復(fù)位。復(fù)位有兩種方式:上電復(fù)位和按鈕復(fù)位。在此次的設(shè)計中,我采用按鍵復(fù)位,如圖4-3所示: 圖4-3只要RST保持高電平,AT89C51單片機(jī)將循環(huán)復(fù)位。復(fù)位期間,ALE、PSEN輸出高電平。RST從高電平

11、變?yōu)榈碗娖胶?,PC指針變?yōu)?000H,使單片機(jī)從程序存儲器地址為0000H的單元開始執(zhí)行程序。當(dāng)單片機(jī)執(zhí)行程序出錯或進(jìn)入死循環(huán)時,可按復(fù)位按鈕重新啟動。 4.4按鍵電路獨立式鍵盤是各按鍵相互獨立,每個按鍵各接一根I/O接口線,每根I/O接口線的按鍵是不會影響其他的I/O接口線。在本次設(shè)計中,按鍵為K0、K1、K2,他們分別與單片機(jī)P1.0、P1.1、P1.2接口線相接。通過按鍵控制顯示器的顯示。圖4-4所示: 圖4-4 4.5 LED顯示電路在本次的設(shè)計中,采用的8位的數(shù)碼管顯示器。數(shù)碼管如果按照段數(shù)分可為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元,也就是多了一個小數(shù)點

12、的顯示;如果按能夠顯示多少個“8”分類的話,也可以可分為1位、2位、4位等數(shù)碼管。 如果按照發(fā)光二極管單元的連接方式又可以分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽極的數(shù)碼管是將所有發(fā)光二極管的陽極接到一起后就形成公共陽極(COM)的數(shù)碼管,共陽極數(shù)碼管在應(yīng)用時要將公共極(COM)接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮,當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰極數(shù)碼管是將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰極數(shù)碼管在應(yīng)用時應(yīng)將公共極(COM)接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮,當(dāng)某一字段的陽極為低電平時

13、,相應(yīng)字段就不亮。如圖4-5所示: 圖4-55.程序流程圖 5.1主程序 先對顯示單元和定時器/計數(shù)器初始化,然后重復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵處理模塊,當(dāng)有按鍵按下時,則轉(zhuǎn)入相應(yīng)的功能程序。 5.2數(shù)碼管顯示 本設(shè)計有8個數(shù)碼管,從右到左為妙、分、時。在本系統(tǒng)中數(shù)碼管顯示采用軟件譯碼動態(tài)顯示。在存儲器中首先建立一顯示信息的字段碼表,顯示時,先從顯示緩沖區(qū)中取出顯示的信息,然后通過查表程序在字段表中查出所顯示的信息的斷碼,從P0端口輸出,同時在P2端口進(jìn)行數(shù)碼管顯示。 5.3定時器/計數(shù)器T0中斷服務(wù)程序 T0用于計時,選中方式一,重復(fù)定時,定時時間設(shè)為0.125s,定時時間到則中斷,在中斷服務(wù)

14、程序中用一個計數(shù)器對0.125s計數(shù),計8次則對秒單元加一。秒單元加到60則對分單元加一,同時秒單元清0;分單元加到60則對時單元加一,同時分單元清0;時單元加到24則對時單元清0,標(biāo)志一天時間計滿。在對各單元計數(shù)的同時,把他們的值放到存儲器單元的指定位置。流程圖如下: 設(shè)置初始值,啟動下一個0.125s是開始T0為方式1設(shè)中斷次數(shù)為8,清計時單元允許T0中斷調(diào)用顯示子程序進(jìn)入功能程序按下鍵否開始中斷返回0.125s計數(shù)器加一秒單元加1,125ms計數(shù)器清0分單元加1,秒單元清0時單元加1,分單元清0時單元清0125ms計數(shù)器=8?秒單元=60?分單元=60?時單元=24?主程序流程圖T0中斷

15、服務(wù)程序NONONONO 5.4按鍵處理程序按鍵設(shè)置為:如果沒有按鍵,則時鐘正常走時。當(dāng)按下K0鍵時,時鐘復(fù)位,從零開始計數(shù);按K1鍵時,秒清零;按K1鍵時,分清零,再按時實現(xiàn)加一功能;按K2鍵時,時清零,再按時實現(xiàn)加一功能。6. 程序清單 ORG 0000H LJMP TIM ORG 000BH ;中斷服務(wù)程序入口 T0 LJMP LOOP2 ORG 0030H ;主程序入口TIM: MOV SP, #2FH MOV TMOD, #01H ;設(shè)置T0定時為方1 MOV IE, #0 SETB ET0 SETB EA ;打開T0中斷 MOV TH0, #0BH ;定時0.125s MOV TL

16、0, #0DCH SETB TR0 ;啟動T0 MOV 50H, #0 ;各時間存儲單元清零 MOV 51H, #0 MOV 52H, #0 MOV 53H, #0 CLR PSW.5 ;清除鍵盤調(diào)整標(biāo)志位LOOP1: CALL DISP2 ;調(diào)用顯示子程序 C TF0, LOOP2 JMP LOOP1 ;主程序循環(huán);-LOOP2: MOV TL0, #0DCH MOV TH0, #0BH INC 50H MOV A, 50H CJNE A, #02H, EQ04 SJMP JIANEQ04: CJNE A, #04H, EQ06 SJMP JIANEQ06: CJNE A, #06H, EQ

17、08 SJMP JIANEQ08: CJNE A, #08H, _END_T0 MOV 50H, #0 MOV A, 51H ;秒計數(shù) ADD A, #1 DA A MOV 51H, A CJNE A, #60H, JIAN MOV 51H, #0ADDF: ;分計數(shù) MOV A, 52H ADD A, #1 DA A MOV 52H, A CJNE A, #60H, JIAN MOV 52H, #0 PSW.5, _END_T0 ;PSW.5為1,是按鍵調(diào)整,時不變ADDH: ;時計數(shù) MOV A, 53H ADD A, #1 DA A MOV 53H, A CJNE A, #24H, JI

18、AN MOV 53H, #0 PSW.5, _END_T0JIAN: PSW.5, _END_T0 MOV P1, #0FFH MOV A, P1 ;讀取鍵盤狀態(tài) CPL A ANL A, #00000111B JZ _END_T0 ;為0則無鍵按下 SETB PSW.5 ACC.0, CLRS ;為1則是P3.0有鍵按下 ACC.1, ADDF ACC.2, ADDHCLRS: MOV 50H, #0 MOV 51H, #0_END_T0: CLR PSW.5 ;清除按鍵調(diào)整標(biāo)志位 RETI;-DISP2: ;顯示子程序,把51H 52H 53H的容送到LED顯示器 CALL FEN_JIE

19、2 CALL DISPLAY RET;-FEN_JIE2: MOV A, 51H ANL A, #0FH MOV 7DH, A MOV A, 51H SWAP A ANL A, #0FH MOV 7CH, A MOV A, 52H ANL A, #0FH MOV 7BH, A MOV A, 52H SWAP A ANL A, #0FH MOV 7AH, A MOV A, 53H ANL A, #0FH MOV 79H, A MOV A, 53H SWAP A ANL A, #0FH MOV 78H, A RET;-DISPLAY: MOV R0, #7DH MOV 7EH, #0FEH MOV

20、 7FH, #6_DP_L: MOV A, R0 MOV DPTR, #_MA_BIAO MOVC A, A+DPTR MOV P0, A ;P0段選 P2位選 MOV P2, 7EH XRL P2, #255 ;取反否則加三極管 MOV A, 7EH RL A MOV 7EH, A DEC R0 LCALL DL1MS MOV P2, #0 ;關(guān)閉顯示 DJNZ 7FH, _DP_L ;循環(huán)顯示六個位 RET_MA_BIAO: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H DB 92H, 82H, 0F8H, 80H, 90H DB 88H, 83H, 0C6H, 0A1H, 86H DB 8EHDL1MS:DEL1: MOV R7, #0 DJNZ R7, $ RETEND7. 實驗總結(jié)在本課題中,采用AT89C51單片機(jī)作為主控制器,6MHZ晶振作為振蕩源,P0口作為輸出字

溫馨提示

  • 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

提交評論