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

下載本文檔

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

文檔簡介

摘要60S計時器以單片機為核心,由計時器,綜合控制器等組成。系統(tǒng)采用模塊化設計,主要分為計時顯示模塊和按鍵控制模塊。每個模塊的程序結(jié)構(gòu)簡單,任務明確,易于編寫、調(diào)試和修改。編程后利用Keil軟件來進行編譯,在生成HEX文件裝入芯片中,在通過實驗箱實現(xiàn)60S計時功能。本設計中系統(tǒng)硬件電路主要是由以下幾個部分組成:單片機SST89C58、振蕩電路、顯示電路和按鍵開關。該系統(tǒng)具有60S內(nèi)準確計時和及時清零的功能。關鍵詞:單片機,計時,顯示,60S計時,復位清零TOC\o"1-5"\h\z\o"CurrentDocument"第1章設計任務要求及意義 3\o"CurrentDocument"1.1、 計時器系統(tǒng)設計 3\o"CurrentDocument"1.2、 設計任務及目標 3\o"CurrentDocument"1.3、 本人所做工作 3\o"CurrentDocument"1.4、 實驗意義 3\o"CurrentDocument"第2章硬件設計 4\o"CurrentDocument"2.1、 設計原理 4\o"CurrentDocument"2.2、 SST89C58芯片簡介 4\o"CurrentDocument"2.3、 硬件資源分配 52.4、 完整電路圖 5\o"CurrentDocument"2.5、 顯示電路圖 6\o"CurrentDocument"2.6、 振蕩電路圖 7\o"CurrentDocument"第3章軟件設計 8\o"CurrentDocument"3.1主程序流程圖 8\o"CurrentDocument"3.2定時中斷程序流程圖 9\o"CurrentDocument"3.3清零中斷程序流程圖 10\o"CurrentDocument"3.4源程序代碼 11\o"CurrentDocument"總結(jié) 13\o"CurrentDocument"參考文獻 14第1章設計任務要求及意義1?1、計時器系統(tǒng)設計1.1.1、 具有60S內(nèi)計時功能;1.1.2、 設置外部操作開關,控制計時的直接清零,啟動和關閉功能;1.1.3、 直接清零時,數(shù)碼顯示管上顯示“00”;1.1.4、 計時器為60S內(nèi)遞加計時,計時間隔為1S;1.1.5、 計時器遞加到60S時,數(shù)碼顯示管不能滅燈,同時程序繼續(xù)運行。1.2、 設計任務及目標1、 進行電路的安裝、調(diào)試。直到電路能達到規(guī)定的設計目標;2、 寫出完整、詳細的課程設計報告1.3、 本人所做工作選題,硬件原理設計,流程圖繪畫,程序編寫,軟硬件調(diào)試,賦初值功能補充,設計報告編寫與整理。1?4、實驗意義1.4.1、 本次課程設計我們應用單片機的定時器/計數(shù)器定時和計數(shù)的原理,設計一個簡單的計時器系統(tǒng),能進行實時計時并在數(shù)碼顯示管上顯示出來,再用兩個按鍵開關控制其開始計時、清零。具有一定的實用性。1.4.2、 通關本次課程設計以加深我們對單片機軟、硬件結(jié)合的認識,并能運用所學知識設計一些簡單的實用系統(tǒng)。第2章硬件設計2.1、 設計原理本實驗利用單片機的定時器/計數(shù)器定時和計數(shù)的原理,并考慮現(xiàn)有實驗條件,即DVCC系列單片機仿真實驗系統(tǒng)實驗箱所提供的器件來設計計時器,將軟、硬件有機的結(jié)合起來,實現(xiàn)計時功能。其中本系統(tǒng)設計了2個撥動開關:K1(芯片P3.2腳)為0計時,為1不影響計時;K2(芯片P3.3腳)為1清零,為0不影響程序運行。主要用到單片機中定時中斷的相關知識。2.2、 SST89C58芯片簡介2.2.1、SST89C58芯片引腳圖如下所示:(T2)P1.0(T2Ex)P1.1P1.2P13P1.4P1.5P1.6P1.7RST(RXD)P3.0(TXD)P3.1(INTO#)P3.2(INT1#)P3.3(TO)P3.4(T1)P3.5(WR#)P3.6(RD#)P3.72.2.2、引腳介紹:4OPinPDIPTopView10(T2)P1.0(T2Ex)P1.1P1.2P13P1.4P1.5P1.6P1.7RST(RXD)P3.0(TXD)P3.1(INTO#)P3.2(INT1#)P3.3(TO)P3.4(T1)P3.5(WR#)P3.6(RD#)P3.72.2.2、引腳介紹:4OPinPDIPTopView1011_12[倡:14-15-1617圖2-14039383736353433323130292827262524VDDPO.O(ADO)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)EA#ALE/PROG#PSEN#P2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)多,4組基本I/O口,但不1腳排序與8051差不聿T2:入三功能(定時電平有效,所以在工彳 同的是P1.0口),EA端為低2.2.3、該芯片與標準的8051引腳、指令和片內(nèi)資源完全兼容,擁有256*8位的內(nèi)部RAM,3個16位定時、計數(shù)器,一個全雙工、可編程串行通訊口,6個中斷源,2個優(yōu)先級,4個8位I/O口(P0、P1、P2、P3),內(nèi)含20KB/36KB高性能Flash,分為兩個獨立的大塊B0、

B1,且可分別加鎖。2.3、硬件資源分配2.3.1主要運用的硬件本設計系統(tǒng)需要的端口為P1口,P2口,P3口,LED數(shù)碼顯示管,定時器T0,外部中斷器INT1,按鍵(本系統(tǒng)用開關K1,K2代替)。2.3.2硬件分配P1口:作為輸出口,與數(shù)碼管的C0DE(a-h)端口相連接,狀態(tài)及對應如下表。十進制0123456789十六進制3F065B4F666D7D077F6FHHHHHHHHHH表2-1P2口:作為輸出口,與數(shù)碼管的JB53CBIT0-BIT1)相連接,使得P2.1,P2.2電平交替顯示時間P3口:作為特殊端口,與開關K1,K2連接,K1與P3.2連接,K2與P3.3連接。清零。開關:清零。K1,K2,控制程序的啟動完整電路圖針時器電EAVCC?C.CXTAL2PO.lP0J2P0.3P04?C.iK1,K2,控制程序的啟動完整電路圖針時器電EAVCC?C.CXTAL2PO.lP0J2P0.3P04?C.iPO6SST逐冊1j-LL1RE&P2.Cp3.2(INTO)P2.1?33(INT1)P2J2P34CT0)P2.3P3.=(T1)P24pl.CP26pl.lP2.7Pl.3?3.7(RD)pl.+:?3.6(WK)誨PSENALEPROGpl-p3.1(TXD)GNDp3.fl(RXD)圖2-2(計時器電路圖)2.5、顯示電路圖該電路由2個8段共陰極數(shù)碼管組成,其對應的BIT口有P2.0、P2.1控制,選擇和鎖定對應數(shù)碼管顯示。具體電路如圖2-3所示。圖2-3(顯示電路圖)2.6、振蕩電路圖SST89C58中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入和輸出端。這個放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構(gòu)成自激振蕩器。具體電路如圖2-4所示。GNDVCC圖2-4(振蕩電路圖)

第3章軟件設計3.1主程序流程圖該程序?qū)崿F(xiàn)了程序的初始化,賦初值,開相應中斷,在計時沒有開始之開始命令發(fā)出后,判斷是否清零,并執(zhí)行相應操作。圖3-1

3.2定時中斷程序流程圖定時器T0工作于方式1,現(xiàn)賦初值為3CB4H,定時50ms,并判斷是否完成一秒的定時,完成后當前計時時間值R0加一,與十相除,并將商和余數(shù)分給R1、R2,否,則跳出中斷;再判斷是否60S計時完成,是則將R0清零。

圖3-23.3清零中斷程序流程圖清零是將現(xiàn)場保護,并查“00”調(diào)顯示,關閉清零中斷,彈出現(xiàn)場,跳出循環(huán),并在初始化中次開啟該中斷。跳轉(zhuǎn)響應程序保護現(xiàn)場顯示“00”1F關閉清零中斷1r彈出現(xiàn)場退出中斷圖3-3

3.4源程序代碼ORG0000HAJMPMAINORG000BHLJMPTIMEORG0013HAJMPCLEARORG0050HLJMPSTARTTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHMAIN:MOVTMOD,#01H;定時器T0工作于方式1MOVTH0,#03CH;定時50msMOVTL0,#0B4HMOVIE,#86H;允許外部中斷1,定時器T0中斷MOVIP,#04H;優(yōu)先清零MOVSP,#074H;堆棧底MOVB,#10;定義被除數(shù)為10MOVR0,#1MOVR1,#1MOVR2,#0MOVR3,#20WAIT:MOVP1,#80HCLRP2.0CLRP2.1WAIT1:JNBP3.2,START;判斷是否開始計時AJMPWAIT1START:SETBTR0;開始定時1SJNBEX1,MAIN;檢查是否有申請清零MOVA,R1MOVDPTR,#TABMOVCA,@A+DPTRSETBP2.1CLRP2.0MOVP1,AACALLDELAYMOVA,R2MOVDPTR,#TABMOVCA,@A+DPTRCLRP2.1SETBP2.0MOVP1,A

ACALLDELAYAJMPRETSTARTCLEAR:PUSHACC;保護現(xiàn)場PUSHPSWMOVR1,#0MOVA,R1MOVDPTR,#TABMOVCA,@A+DPTRCLEAR1:MOVP1,ACLRP2.0CLRP2.1CLEAR2:JNBP3.3,CLEAR2CLREX1BACK1:POPPSWPOPRETIACCDIVR0:INCR0;一秒之后R0加一MOVA,R0DIVAB ;將當前時間與10相除,商存A,余數(shù)存BMOVR1,BMOVR2,AMOVB,#10MOVRETR3,#20TIME:PUSHACCPUSHPSWMOVTH0,#03CH ;定時50MSMOVTL0,#0B4HDJNZR3,EXIT ;定時1SACALLDIVR0CJNER0,#60,EXIT;判斷是否滿60STIME1:MOVR0,#0EXIT:POPPSWPOPRETIACCDELAY:MOVR4,#20 ;延時20msDEL1:MOVR5,#7DHDEL2:NOPNOPDJNZR5,DEL2DJNZRETENDR4,DEL1總結(jié)單片機作為我們的主要專業(yè)課程之一,雖然在開學之際我對這門課程,不太感興趣,覺得那些程序是枯燥乏味的,但是通過這次課程設計之后我發(fā)現(xiàn)自己一點一滴的努力中對單片機的興趣也在不斷的增加。作為一名移動通信專業(yè)方面的大二學生,我覺得做單片機課程設計是十分有意義的,而且是十分有必要的。在已度過的大學時間里,我們大多數(shù)接觸的是專業(yè)課,我們在課堂上掌握的僅僅是專業(yè)課的理論知識,如何去鍛煉我們的實踐能力?如何把我們所學的專業(yè)基礎課理論知識運用到實踐中去呢?我想做類似的課程設計就為我們提供了良好的實踐平臺。本次課程設計是用SST89C58單片機CPU及接口電路設計一個具有計時功能的系統(tǒng),經(jīng)過一周的調(diào)試,結(jié)果滿足設計要求,驗證無誤。設計主要用到了SST89C58芯片,程序也較麻煩,同時也遇到了不少困難,尤其是關于計時模塊的設計實現(xiàn)。關于顯示模塊,在以前的實驗中做過,所以問題很容易解決。在做本次課程設計中,我感觸最深的是我們運用到以前所學的專業(yè)課知識,如,CAD制圖,匯編語言等等。做好一個課程設計,就必須做到:在設計程序之前,對所有單片機內(nèi)部結(jié)構(gòu)有個系統(tǒng)的了解,要有個清晰的思路和一個完整的軟件流程圖;在設計程序中,不能妄想一次就將程序設計好,反復修改,不斷改進是程序設計的一個必經(jīng)之路。從中讓我學到知識讓我受益終身。發(fā)現(xiàn)、提出、分析、解決問題和實踐能力的提高都會受益于我在以后的學習、工作和生活中。與此同時,通過本次設計,我系統(tǒng)的了解了計時系統(tǒng)的設計流程,尤其是硬、軟件的設計方法,掌握了鍵盤顯示電路的基本功能及編程方法,掌握了鍵盤電路和顯示電路的一般原理,也進一步掌握了用SST89C58芯片設計定時器的使用和中斷處理器程序的編程方法。開拓了思路,鍛煉了實踐動手能力,提高了分

溫馨提示

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

評論

0/150

提交評論