基于單片機的9h定時器課程設計_第1頁
基于單片機的9h定時器課程設計_第2頁
基于單片機的9h定時器課程設計_第3頁
基于單片機的9h定時器課程設計_第4頁
基于單片機的9h定時器課程設計_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、沈陽工業(yè)大學 課程設計課 程:單片機原理及應用 題 目:基于單片機的長定時器設計(0-9h)專業(yè)班級: 通信工程1003班 學 號: 學生姓名: 吳開來 指導教師: 唐云雷 完成時間: 2013年6月25日 目錄第1章 緒論2第2章 設計內(nèi)容3第3章 MCS-51單片機系統(tǒng)簡介4第4章 課程設計原理6第5章 課程設計代碼8第6章 仿真與編譯16第7章 設計總結18參考文獻:20附錄:20基于LED的數(shù)字時鐘設計摘要:近年來隨著計算機在社會領域的滲透和大規(guī)模集成電路的發(fā)展,單片機的應用正在不斷地走向深入,由于它具有功能強,體積小,功耗低,價格便宜,工作可靠,使用方便等特點,因此特別適合于與控制有

2、關的系統(tǒng),越來越廣泛地應用于自動控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個領域,單片機往往是作為一個核心部件來使用,在根據(jù)具體硬件結構,以及針對具體應用對象特點的軟件結合,以作完善。關鍵字 : 單片機 時鐘設計 MC51第1章 緒論 單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣、 發(fā)展很快、單片機體積小、重量輕、抗干擾能力強、環(huán)境要求不高、價格低廉、可靠性高、靈活性好、開發(fā)較為容易。由于具有上述優(yōu)點,在我國,單片機已廣泛地應用在工業(yè)自動化控制、自動檢測、智能儀器儀表、家用電器、電力電子、機電一體化設備等各個方面,而51單片機是各單片機

3、中最為典型和最有代表性的一種。這次課程設計通過對它的學習、應用,以AT89C51芯片為核心,加以輔助電路,設計了一個簡易的長定時器,它是在設計數(shù)字時鐘的基礎上,由直流電源供電,通過數(shù)碼管能夠準確顯示時間。數(shù)字時鐘是現(xiàn)代社會應用廣泛的計時工具,在航天、電子等科研單位,工廠、醫(yī)院、學校等企事業(yè)單位,各種體育賽事及我們每個人的日常生活中都發(fā)揮著重要的作用。本系統(tǒng)是基于AT89C51單片機設計的一個具有四位數(shù)碼管顯示的數(shù)字時實時鐘,該系統(tǒng)同時具有硬件設計簡單、工作穩(wěn)定性高、價格低廉等優(yōu)點。數(shù)字單片機的技術進步反映在內(nèi)部結構、功率消耗、外部電壓等級以及制造工藝上。在這幾方面,較為典型地說明了數(shù)字單片機的

4、水平。在目前,用戶對單片機的需要越來越多,但是,要求也越來越高。下面分別就這幾個方面說明單片機的技術進步狀況。第2章 設計內(nèi)容 利用單片機的定時計數(shù)器,中斷系統(tǒng),以及鍵盤和LED顯示器進行設計。在數(shù)碼管顯示器上實現(xiàn)電子時鐘,顯示格式為00-00-00,實現(xiàn)從0-9h的長時間定時,并且能進行設置時間和整點提示、提示功能使能控制。第3章 MCS-51單片機系統(tǒng)簡介MCS51是指由美國INTEL公司(對了,就是大名鼎鼎的INTEL)生產(chǎn)的一系列單片機的總稱,這一系列單片機包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機都

5、是在8051的基礎上進行功能的增、減、改變而來的,所以人們習慣于用8051來稱呼MCS51系列單片機,而8031是前些年在我國最流行的單片機,所以很多場合會看到8031的名稱。INTEL公司將MCS51的核心技術授權給了很多其它公司,所以有很多公司在做以8051為核心的單片機,當然,功能或多或少有些改變,以滿足不同的需求,其中89C51就是這幾年在我國非常流行的單片機,它是由美國ATMEL公司開發(fā)生產(chǎn)的。以后我們將用89C51、89S51來完成一系列的實驗。MCS-51系列單片機MCS-51系列單片機分為兩大系列,即51子系列與52子系列。51子系列:基本型,根據(jù)片內(nèi)ROM的配置,對應的芯片為

6、8031、8051、8751、895152子系列:增強型,根據(jù)片內(nèi)ROM的配置,對應的芯片為8032、8052、8752、8952這兩大系列單片機的主要硬件特性如下表:上表中可以看到,8031、8031、8032、80C32片內(nèi)是沒有ROM的,對應著上表看,我們可以發(fā)現(xiàn),51系列的單片機的RAM大小為128B,52系列的RAM大小為256B,51系列的計數(shù)器為兩個16位的,52系列的計數(shù)器為三個16位計數(shù)器。51系列的中斷源為5個,52系列的中斷源為6個。MCS-51單片機內(nèi)部定時器/計數(shù)器中 斷系統(tǒng)簡介5個中斷源的符號、名稱及產(chǎn)生的條件如下。INT0:外部中斷0,由P32端口線引入,低電平或

7、下跳沿引起。INT1:外部中斷1,由P33端口線引入,低電平或下跳沿引起。T0:定時器計數(shù)器0中斷,由T0計滿回零引起。T1:定時器計數(shù)器l中斷,由T1計滿回零引起。TIRI:串行IO中斷,串行端口完成一幀字符發(fā)送接收后引起。èMCS-51單片機中斷系統(tǒng)的結構第4章 課程設計原理 單片機控制的數(shù)字鐘的硬件結構與軟件設計,給出了匯編語言源程序。此數(shù)字鐘是一個將“時”、“分”、“秒”顯示于人的視覺器官的計時裝置。顯示器件選用LED七段數(shù)碼管。在顯示電路輸出的驅動下,顯示出清晰、直觀的數(shù)字符號。針對數(shù)字鐘會產(chǎn)生走時誤差的現(xiàn)象,在電路中就設計有有校準時間功能的電路。使用動態(tài)數(shù)碼顯示的方法,運

8、用獨立式按鍵識別過程,按“時”,“分”,“秒”數(shù)據(jù)送出顯示處理方法,另外時鐘還設置專門的針對于整點報時的按鍵,以時鐘個位變化為標志當前后兩位的值不相等時將蜂鳴器置高電平時蜂鳴器響。具體硬件整體框圖如下: 4.1 數(shù)值時鐘整體框圖軟件設計框圖如下: 4.2 軟件簡單流程圖第5章 課程設計代碼; 簡要說明:實現(xiàn)24小時制電子鐘,6位數(shù)碼管顯示,顯示時分秒; 顯示格式:00-00-00; P0口輸出段選信號,P2口輸出位選信號,到整點進行提示提示時間為30s; P1.0為調(diào)時按鈕,P1.1為調(diào)分按鈕;P1.3為秒復位 晶振12M ORG 0000H ;程序入口地址 LJMP START ORG 00

9、0BH ;定時器0中斷入口地址 LJMP TIMER_0 K1 BIT P3.7 ;定義調(diào)時按鍵 K2 BIT P3.6 ;定義調(diào)分按鍵 K3 BIT P3.5 ;秒清零 K4 BIT P3.4 ;停止蜂鳴器 FLAG BIT 37H ;蜂鳴器響標志位1為蜂鳴器沒有叫,0代表蜂鳴器正在叫 MODE BIT 38H ;報時使能位1為能夠報時0為否 FLAG1 BIT 38HSTART: MOV TMOD,#01H ;定時器0,工作模式1 MOV TH0,#03CH MOV TL0,#0B0H ;賦初值,定時50ms SETB EA ;開中斷總開關 SETB TR0 ;開啟定時器0 SETB ET

10、0 ;定時器0中斷允許位 MOV R6,#0 ;用于控制走時的基準時鐘源,計中斷次數(shù) MOV R5,#0 ;R5用于控制掃描按鍵的時間間隔 MOV 20H,#0 ;秒個位寄存器清零 MOV 21H,#0 ;秒十位寄存器清零 MOV 22H,#0 ;分個位寄存器清零 MOV 23H,#0 ;分十位寄存器清零 MOV 24H,#0 ;時個位寄存器清零 MOV 25H,#0 ;時十位寄存器清零 CLR P0.0 ;將蜂鳴器置0停止 SETB FLAG ;將蜂鳴器響清零 SETB MODE ;默認置為能夠報時 MOV 30H,24H MOV 31H,30H LJMP DISPLAYTIMER_0: C

11、LR EA INC R6ADD_TIME: CJNE R6,#20,NEXT ;定時器中斷20次,1秒到 MOV R6,#0 INC 20H MOV A,20H CJNE A,#10,NEXT ;如果秒個位等于10,清零 MOV 20H,#00H INC 21H MOV A,21H CJNE A,#6,NEXT ;如果秒十位等于6,清零 MOV 21H,#00H INC 22H NEXT: MOV TH0,#03CH MOV TL0,#0B0H ;重新賦初值,定時50ms SETB EA RETIDISPLAY: LCALL TIME INC R5 MOV DPTR,#TABLE MOV A,

12、20H MOVC A,A+DPTR MOV P1,A CLR P2.0 LCALL DELAY SETB P2.0 ;顯示秒個位 MOV A,21H MOVC A,A+DPTR MOV P1,A CLR P2.1 LCALL DELAY SETB P2.1 ;顯示秒十位 MOV DPTR,#TABLE MOV A,22H MOVC A,A+DPTR MOV P1,A CLR P2.3 LCALL DELAY SETB P2.3 ;顯示分個位 MOV DPTR,#TABLE MOV A,23H MOVC A,A+DPTR MOV P1,A CLR P2.4 LCALL DELAY SETB P2

13、.4 ;顯示分十位 MOV P1,#0BFH CLR P2.2 LCALL DELAY SETB P2.2 MOV P1,#0BFH CLR P2.5 LCALL DELAY SETB P2.5 MOV DPTR,#TABLE MOV A,24H MOVC A,A+DPTR MOV P1,A CLR P2.6 LCALL DELAY SETB P2.6 ;顯示時個位 MOV DPTR,#TABLE ;該位使用TABLE1以消除前置0 MOV A,25H MOVC A,A+DPTR MOV P1,A CLR P2.7 LCALL DELAY SETB P2.7 ;顯示時十位 MOV A,31H

14、CJNE A,30H,CONTINUE JNB FLAG,COMPARE;如果蜂鳴器正在響則比較PTF: CJNE R5,#80,DISPLAY ;當R5到4時,掃描按鍵 MOV R5,#0 LJMP KEY_SCANCOMPARE: MOV A,20H SUBB A,33H JZ CONTINUE1 MOV 33H,20H CPL P0.0CONTINUE1: MOV A,21H SUBB A,32H CJNE A,#3,PTF SETB FLAG CLR P0.0 LJMP PTFCONTINUE: JNB MODE,NRS MOV 31H,30H MOV 33H,20H SETB P0.

15、0 SETB FLAG1 CLR FLAG ;設置標志位為0 MOV 32H,21HNRS: CJNE R5,#80,EXIT0 ;當R5到4時,掃描按鍵 MOV R5,#0KEY_SCAN: JNB K1,ADD_HOUR JNB K2,ADD_MIN JNB K3,CLEAR JNB K4,STOP LJMP DISPLAY ;無鍵按下,跳至走時EXIT0: LJMP DISPLAYADD_HOUR: INC 24H ;小時加1 LJMP DISPLAY ;更新ADD_MIN: INC 22H ;分鐘加1 LJMP DISPLAY ;更新CLEAR: ;秒清零 MOV 20H,#00H M

16、OV 21H,#00H LJMP DISPLAYSTOP: JB FLAG,OFF CLR P0.0; SETB FLAG; LJMP DISPLAYOFF: JNB MODE,OPEN CLR MODE ;清除報時控制位 MOV R0,#0EFHLOOP1: MOV R1,#03HLOOP11: MOV P1,#0C0H CLR P2.5 LCALL DELAY SETB P2.5 MOV P1,#8EH CLR P2.4 LCALL DELAY MOV P1,#8EH SETB P2.4 CLR P2.3 LCALL DELAY SETB P2.3 DJNZ R1,LOOP11 DJNZ

17、R0,LOOP1 LJMP DISPLAYOPEN: SETB MODE MOV R0,#0EFHLOOP2: MOV R1,#03HLOOP21: MOV P1,#0C0H CLR P2.4 LCALL DELAY SETB P2.4 MOV P1,#0C8H CLR P2.3 LCALL DELAY SETB P2.3 DJNZ R1,LOOP21 DJNZ R0,LOOP2 LJMP DISPLAYDELAY: MOV R7,#150 ;掃描延時 DJNZ R7,$ RETTIME: MIN: MOV A,22H CJNE A,#10,HOUR ;如果分個位等于10,清零 MOV 22H

18、,#00H INC 23H MOV A,23H CJNE A,#6,HOUR ;如果分十位等于6,清零 MOV 23H,#00H INC 24H MOV 30H,24H HOUR: MOV A,25H CJNE A,#0,LOOP ;如果時十位等于0,檢查時個位 MOV A,24H CJNE A,#9,EXIT ;如果時個位等于9,清零 MOV 24H,#00H ;清零時個位 MOV 25H,#00H ;清零時十位 LJMP EXITLOOP: MOV A,24H CJNE A,#10,EXIT ;如果時個位等于10,清零 MOV 24H,#00H INC 25H LJMP EXIT EXIT: RET TABLE: ;數(shù)碼管字形顯示編碼表 DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論