第06章定時器計數(shù)器01課件_第1頁
第06章定時器計數(shù)器01課件_第2頁
第06章定時器計數(shù)器01課件_第3頁
第06章定時器計數(shù)器01課件_第4頁
第06章定時器計數(shù)器01課件_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6章 定時器/計數(shù)器

《單片機原理與應用系統(tǒng)設計》

電子工業(yè)出版社,2009.7

歐偉明何靜凌云劉劍等編著

1/6/20241本章主要內(nèi)容定時器/計數(shù)器的結構與控制定時器/計數(shù)器的4種工作方式定時器/計數(shù)器的應用舉例1/6/202426.1.189S51定時器/計數(shù)器的結構89S51單片機內(nèi)部有兩個16-bit的定時器/計數(shù)器T1和T0,受特殊功能寄存器TMOD和TCON的控制,是16-bit加1計數(shù)器。結構如圖6.1所示:1/6/20243定時器工作模式單片機芯片內(nèi)振蕩器輸出經(jīng)12分頻后的脈沖加計數(shù),即每個機器周期使定時器/計數(shù)器(T0或T1)的數(shù)值加1直至計滿溢出。1/6/20244計數(shù)器工作模式通過引腳T0(P3.4)和T1(P3.5)對外部脈沖信號計數(shù)。當輸入脈沖信號產(chǎn)生由1至0的下降沿時定時器/計數(shù)器的值加1。CPU檢測一個1至0的跳變需要兩個機器周期,故最高計數(shù)頻率為振蕩頻率的1/24。為了確保某個電平在變化之前被采樣一次,要求電平保持時間至少是一個完整的機器周期。輸入信號波形如下圖所示。1/6/20245對輸入脈沖寬度的要求1/6/202461/6/202496.1.2定時器/計數(shù)器的控制定時器/計數(shù)器控制寄存器TCOM

特殊功能寄存器TMOD的字節(jié)地址為88H,可位尋址。TCON的格式如圖6.3所示。1/6/202410

控制寄存器TCOM各位定義TCON中的低4-bit與外部中斷有關,已在本書第5章中介紹。TF1、TF0——計數(shù)溢出標志位

當計數(shù)器作加1計數(shù)而產(chǎn)生溢出時,該位被單片機內(nèi)部硬件電路自動置“1”。使用查詢方式時,此位作為狀態(tài)位供CPU查詢,但應該注意的是,當CPU查詢有效后,應采用軟件指令及時將該位清“0”。使用中斷方式時,此位作為中斷請求標志位,CPU進入中斷服務程序后,該位由單片機內(nèi)部硬件電路自動清“0”1/6/202411

控制寄存器TCOM各位定義TR1、TR0——加1計數(shù)運行控制位

當TR1=1時,啟動定時器/計數(shù)器T1進行加1計數(shù);TR1=0時,停止定時器/計數(shù)器T1的計數(shù)。TR0=1時,啟動定時器/計數(shù)器T0進行加1計數(shù);TR0=0時,停止定時器/計數(shù)器T0的計數(shù)。TR1、TR0可以由軟件置“1”和清“0”。

1/6/2024126.2定時器/計數(shù)器的4種工作方式工作方式1工作方式2工作方式3工作方式01/6/2024136.2.1工作方式1當M1、M0為01時,定時器/計數(shù)器工作于工作方式1,等效邏輯結構圖如圖6.4所示(以定時器/計數(shù)器T1為例,所以TMOD.5、TMOD.4=01)。1/6/2024146.2.1工作方式11.兩種工作模式的選擇

⑴定時器工作模式()

⑵計數(shù)器工作模式()2.軟件控制和硬件控制的選擇

⑴軟件控制(當GATE=0時

⑵軟件和硬件聯(lián)合控制(當GATE=1時)1/6/2024156.2.2工作方式2當M1、M0為10時,定時器/計數(shù)器工作于工作方式2,等效邏輯結構圖如圖6.4所示(以定時器/計數(shù)器T1為例,所以TMOD.5、TMOD.4=10)。1/6/2024166.2.2工作方式21.工作方式2時,16-bit的定時器/計數(shù)器T1被拆分為兩個8-bit寄存器TH1和TL1,其中,TL1為加1計數(shù)器,TH1作為TL1的初值預置寄存器,并始終保持為初值常數(shù)。當TL1加1計數(shù)溢出時,溢出標志位TF1被硬件電路自動置“1”,同時,自動將TH1中的初值送給TL1,使TL1從初值開始重新加計數(shù)。

2.工作方式2可以省去用戶程序中重裝初值的指令執(zhí)行時間,可以相當精確地定時。1/6/2024176.2.3工作方式3工作方式3是為了增加1個附加的8-bit定時器/計數(shù)器而設置的,從而使89S51具有3個定時器/計數(shù)器。工作方式3只適用于定時器/計數(shù)器T0,定時器/計數(shù)器T1不能工作在工作方式3

。1/6/202418工作方式3下的T0

當TMOD.1、TMOD.0=11時,T0的工作方式被選為工作方式3,這時各引腳與T0的邏輯關系如圖6.7所示。

1/6/202419(a)TL0作為8-bit定時器/計數(shù)器(b)TH0作為8-bit定時器圖6.7T0工作方式3時的邏輯結構框圖1/6/202420

T0工作方式3時T1的各種工作方式1.一般情況下,當T1用作串行口波特率發(fā)生器時,T0才工作于工作方式3。2.T0處于工作方式3時,T1可設置為工作方式0、工作方式1、工作方式2,用來作為串行口的波特率發(fā)生器,以確定串行通信的速率

1/6/202421圖6.8T0工作方式3時T1為工作方式0的工作示意圖1/6/202422圖6.9T0工作方式3時T1為工作方式1的工作示意圖1/6/202423圖6.10T0工作方式3時T1為工作方式2的工作示意圖1/6/2024246.2.4工作方式0當M1、M0為00時,定時器/計數(shù)器工作于工作方式1,等效邏輯結構圖如圖6.11所示(以定時器/計數(shù)器T1為例,所以TMOD.5、TMOD.4=00)。1/6/202425工作方式0工作方式0與工作方式1的差別僅僅在于計數(shù)器的模不同,工作方式1為16-bit加1計數(shù)器,而工作方式0為13-bit加1計數(shù)器,由TL1的低5-bit和TH1的8-bit構成,當TL1的低5-bit計數(shù)溢出時,向TH1進位,TH1計數(shù)溢出時,將TCON中的溢出標志位置“1”。由于工作方式0是為了兼容MCS-48系列的單片機而設計的,并且其計數(shù)初值的計算比較復雜,所以在實際應用中,一般不使用工作方式0,而采用工作方式1。1/6/2024266.3定時器/計數(shù)器的應用舉例脈沖信號的產(chǎn)生脈沖寬度的測量

1/6/2024276.3.1脈沖信號的產(chǎn)生例6.1設單片機的晶振頻率為=12MHz,要求在P1.0引腳上輸出周期為2ms的方波。分析:不妨設T1處于定時器工作模式,工作方式1。周期為2ms的方波要求定時間隔為1ms,每次定時1ms時間到,就將P1.0取反。定時器的計數(shù)信號頻率為/12=1MHz,計數(shù)周期為12/=1μs,也就是說,每個機器周期定時器就計數(shù)加1,而1ms=1000μs,需計數(shù)次數(shù)為1000/(12/)=1000。由于加1計數(shù)器是向上計數(shù),為了得到1000個計數(shù)之后的定時器溢出,必須給加1計數(shù)器賦初值65536-1000=64536=FC18H,在C51語言中相當于-1000。1/6/202428⑴匯編語言程序設計(采用中斷方式)ORG 0000H ;復位入口 AJMP START ORG 001BH ;T1溢出中斷入口 AJMP T1INT ORG 0030HSTART: MOV SP, #60H ;系統(tǒng)初始化 MOV TMOD, #10H ;設置T1工作于定時工作方式1 MOV TH1, #0FCH ;設置加1計數(shù)器的計數(shù)初值高字節(jié) MOV TL1, #18H ;設置加1計數(shù)器的計數(shù)初值低字節(jié) SETB TR1 ;啟動T1開始定時 SETB ET1 ;開T1溢出中斷 SETB EA ;開總允許中斷MAIN: AJMP MAIN ;主程序(等待T1溢出中斷)T1INT: CPL P1.0 ;T1溢出中斷服務程序 MOV TH1, #0FCH ;T1重賦初值 MOV TL1, #18H RETI1/6/2024296.3.2脈沖寬度的測量例6.2測量輸入到單片機P3.3引腳上的周期性脈沖信號的脈沖寬度。分析:由前面的介紹可知,當GATE=1時,是一種采用軟件和硬件聯(lián)合控制的方法來實現(xiàn)計數(shù)器運行與否的控制。下面以T1為例,若GATE=1,則只有當TR1=1且=1時,T1計數(shù)。利用GATE的這一功能,可測量引腳,也就是P3.3引腳上的周期性脈沖信號的脈沖寬度,其方法如圖6.12所示。1/6/202430供參考的匯編語言源程序如下:ORG 0000H ;復位入口 AJMP MAIN ORG 0030HMAIN: MOV SP, #60H ;系統(tǒng)初始化 MOV TMOD, #90H ;設置T1工作于定時工作方式1,且GATE=1 MOV TH1, #00H ;T1從0開始作加1計數(shù) MOV TL1, #00H CLR TR1 JB P3.3, $ ;等待P3.3引腳的第一個下降沿 JNB P3.3, $ ;等待P3.3引腳的第一個上升沿 SETB TR1 ;啟動T1開始定時 JB P3.3, $ ;P3.3引腳電平為高電平時,CPU等待 CLRTR1 ;P3.3引腳電平變?yōu)榈碗娖綍r停止T1的工作 LCALLDisplay ;調(diào)用顯示子程序,顯示測量結果即脈沖寬度 ……1/6/202431思考題與習題定時器/計數(shù)器處于定時器工作模式時,其計數(shù)脈沖由誰提供?定時時間與哪些因素有關?定時器/計數(shù)器處于計數(shù)器工作模式時,對外部計數(shù)脈沖頻率有何限制?如果采用的晶振頻率為6MHz,在定時器/計數(shù)器的工作方式0、工作方式1、工作方式2下,其最大的定時時間分別是多少?判斷下列說法是否正確。

⑴特殊功能寄存器SCON,與定時器/計數(shù)器的控制無關。

⑵特殊功能寄存器TCON,與定時器/計數(shù)器的控制無關。

⑶特殊功能寄存器IE,與定時器/計數(shù)器的控制無關。

⑷特殊功能寄存器TMOD,與定時器/計數(shù)器的控制無關。利用定時器/計數(shù)器T0對外部脈沖進行計數(shù),每計數(shù)100個脈沖后,T0轉為定時器工作模式。定時1ms后,又轉為計數(shù)器工作模式,如此循環(huán)不止。假定89S51單片機的晶振頻率為6MHz,請使用工作方式1實現(xiàn),要求編寫相應的程序。1/6/202432思考題與習題定時器/計數(shù)器的工作方式2有什么特點?適用于哪些應用場合?請編寫程序,要求使用定時器/計數(shù)器T0,采用工作方式2定時,在P1.0引腳上輸出周期為400μs,占空比為10︰1的矩形脈沖。一個定時器的定時時間有限,如何實現(xiàn)兩個定時器的串行定時,來達到較長時間定時的目

溫馨提示

  • 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

提交評論