單片機定時器的使用和詳細講解特別是定時器_第1頁
單片機定時器的使用和詳細講解特別是定時器_第2頁
單片機定時器的使用和詳細講解特別是定時器_第3頁
單片機定時器的使用和詳細講解特別是定時器_第4頁
單片機定時器的使用和詳細講解特別是定時器_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1定時器的講解和使用 有對定時器2的詳細講解第八章第八章 定時器定時器2章節(jié)概述 很棒n8.1 8.1 概述概述n8.2 8.2 定時器定時器T0T0和和T1T1的結構的結構n8.3 8.3 定時器工作模式定時器工作模式n8.4 8.4 定時器定時器T2T238.1 8.1 概述概述n定時器是單片機的重要功能模塊之一,在檢測、控制領域有廣泛應用。n定時器常用作定時時鐘,以實現(xiàn)定時檢測、定時響應、定時控制,并且可用于產(chǎn)生ms寬的脈沖信號,驅(qū)動步進電機n定時和計數(shù)功能最終都是通過計數(shù)實現(xiàn)的,若計數(shù)的事件源是周期固定的脈沖,則可以實現(xiàn)定時功能,否則只能實現(xiàn)計數(shù)功能。因此可以將定時和計數(shù)功能由一個部件

2、實現(xiàn)。4n實現(xiàn)定時和計數(shù)的方法一般有:軟件定時、專用硬件電路和可編程定時器/計數(shù)器三種方法。q軟件定時軟件定時:執(zhí)行一個循環(huán)程序進行時間延遲。定時準確,不需要外加硬件電路,但增加CPU開銷。q專用硬件電路定時:專用硬件電路定時:可實現(xiàn)精確的定時和計數(shù),但參數(shù)調(diào)節(jié)不便。q可編程定時器計數(shù)器:可編程定時器計數(shù)器:不占用CPU時間,能與CPU并行工作,實現(xiàn)精確的定時和計數(shù),又可以通過編程設置其工作方式和其它參數(shù),因此使用方便。 5n定時器的基本工作原理是:利用計數(shù)器對固定周期的脈沖計數(shù),通過寄存器的溢出來觸發(fā)中斷。q具體應用步驟:n1)根據(jù)需要的定時時間,結合單片機的晶振頻率,計算出寄存器的初始值n

3、2)根據(jù)需要開中斷n3)啟動定時器q若已規(guī)定用軟件啟動,則可把TR0、TR1或TR2置“1”;若已規(guī)定由外中斷引腳電平啟動,則需給外引腳步加啟動電平。當實現(xiàn)了啟動要求后,定時器即按規(guī)定的工作方式和初值開始計數(shù)或定時。 6nXC866單片機有三個16位的定時器定時器0、定時器1和定時器2。n定時器0、1各具有四種工作模式;定時器2有兩種工作模式。n定時器0、1和定時器2的任何一種工作模式均可通過程序?qū)ο鄳拇嫫鬟M行設置來選擇。n定時器在定時時間到時,可以由程序決定是否產(chǎn)生中斷請求信號,進而判斷是否執(zhí)行中斷程序。n但是,無論中斷請求信號是否產(chǎn)生,當定時器在定時時間到時,定時器的溢出標志位TF0(T

4、F1)由硬件置“1”。78.2 8.2 定時器定時器T0T0和和T1T1的結構的結構n定時器T0和T1的結構如圖8-1所示。圖8-1 定時器T0和T1結構圖核心寄存核心寄存器器16位位加法計數(shù)器加法計數(shù)器定時器模定時器模式寄存器式寄存器81.161.16位加法計數(shù)器位加法計數(shù)器n16位加法計數(shù)器是定時器的核心,圖8-1中用寄存器TH0、TL0及TH1、TL1表示。nT0加法計數(shù)器的高8位和低8位分別用TH0、TL0表示nT1加法計數(shù)器的高8位和低8位分別用TH1、TL1 表示n高8位和第8為可分別單獨使用n當定時器工作時,加法計數(shù)器對內(nèi)部機器周期脈沖Tcy計數(shù)。Tcy9n2.2.模式寄存器(模

5、式寄存器(TMODTMOD) TMOD用來選擇定時器0、1的工作模式,低4位用于定時器0,高4位用于定時器1,其組成如圖8-2所示。圖8-2 模式寄存器組成方式方式選擇選擇0000:模式:模式0 00101:模式模式1 11010:模式模式2 21111:模式模式3 3方式方式選擇選擇T1T1T0T010n3.3.控制寄存器(控制寄存器(TCONTCON)qTCON高4位用于控制定時器0、1的運行;低4位用于控制外部中斷,與定時器無關。 定時器定時器0 0、1 1運行控運行控制位制位TR0TR0(TR1TR1):):TR0(TR1)=1 TR0(TR1)=1 啟動啟動TR0(TR1)=0 TR

6、0(TR1)=0 停止停止定時器定時器0 0、1 1溢出標志溢出標志TF0TF0(TF1TF1):):溢出時該位由硬件自溢出時該位由硬件自動置動置1 1,響應中斷后,響應中斷后,由硬件自動清由硬件自動清0 0圖8-3 控制寄存器組成11n4.4.中斷使能寄存器(中斷使能寄存器(IEN0IEN0)qIEN0中的ET0(ET1)位控制定時器0、1是否產(chǎn)生中斷請求信號。為0時不產(chǎn)生中斷請求信號,為1時允許產(chǎn)生中斷請求信號。其結構如圖8-4所示。 圖8-3 中斷使能寄存器組成定時器定時器0 0中中斷使能位斷使能位定時器定時器0 0中中斷使能位斷使能位128.3 8.3 定時器工作模式定時器工作模式n定

7、時器0 和定時器1 完全兼容,均可設定為四種不同的工作模式,如表8-1 所示。寄存器TMOD 的位域TxM選擇定時器的工作模式。 n兩個定時器在模式0、1 和2 時獨立工作;在模式3 時具有特定功能。 13表8-1 定時器0 和定時器1 工作模式 14n1.1.工作模式工作模式0 0n當T0M(T1M)=00時定時器設定為工作模式0,此時定時器工作于13位定時狀態(tài)。n其中TH0是高8位加法計數(shù)器,TL0是低5位加法計數(shù)器(TL0只用了低5位,高3位未用)。TL0加法計數(shù)溢出時向TH0進位,TH0加法計數(shù)溢出時硬件置TF0=1。n加法計數(shù)器對機器周期脈沖Tcy計數(shù),每個機器周期TL0加1。15n

8、定時器的定時時間n計數(shù)初始值Xn最大定時能力:)13(-2nTcyXn此處定時時間Tcy)X-(8192TTcy8192Tmax16模式0的結構圖如圖8-4所示。圖8-4 方式0結構圖門控位GATE=0 定時器不受定時器不受控于外部信號;僅打控于外部信號;僅打開與門,是定時器僅開與門,是定時器僅有有TR位控制;位控制;GATE=1 定時器受控定時器受控于外部信號,此時要于外部信號,此時要求求TR=1;13位加法位加法計數(shù)器計數(shù)器17p例題例題:生成周期為1.2 ms的等寬正方波。機器晶振26.67MHz。使用T0以方式0工作,由P0.0輸出1.2 msn機器周期:37.5ns。計數(shù)周期Tcy是

9、機器脈沖的2分頻,因此Tcy=75ns;n定時時間0.6ms 。n以0.6 ms為周期在P1.0端交替輸出高低電平。18Tcyn定時時間計數(shù)初值-200192800081927510*6 . 02613xCX00000000000050600000011008xTLxTH位低位高n定時器初始化程序 MOV TL0, #0X00 MOV TH0,#0X06 MOV TMOD,#0X00 SETB ET0 SETB TR0n定時器中斷服務程序 PUSH . CPL P0_0 POP T0從從192開始計數(shù),直到開始計數(shù),直到超過超過8192即溢出,置即溢出,置TF0=1,產(chǎn)生中斷信號產(chǎn)生中斷信號1

10、9n2.2.工作模式工作模式1 1nT0M(T1M)=01時定時器設定為工作模式1,此時定時器0(定時器1)被設置為16位定時器。此時TH0、TL0都是8位加法計數(shù)器。其他與工作方式0相同。n定時器的定時時間n計數(shù)初始值)16(-2nTcyn此處定時時間計數(shù)初值Tcy)X-(65536T20模式1的結構圖如圖8-5所示。圖8-5 方式1結構圖16位加法位加法計數(shù)器計數(shù)器21n3.3.工作模式工作模式2 2n當T0M(T1M)=10時定時器設定為工作模式2,此時定時器0(定時器1)被設置為可自動重載的8 位定時器。qTL0為8位加法計數(shù)器,qTH0為存放該8位加法計數(shù)器初值的寄存器。 qTH0、

11、TL0的初值都由程序預置。n在工作模式2中,定時器的定時時間由下式確定:Tcy)X-(256T只有只有T0可工可工作于此模式作于此模式22模式2的結構圖如圖8-6所示。圖8-6 方式2結構圖8位加法位加法計數(shù)器計數(shù)器初值寄初值寄存器存器23n4.4.工作模式工作模式3 3n當T0M(T1M)=11時定時器設定為工作模式3,只有定時器0可以工作在工作模式3下。如把定時器1設置為工作模式3,則定時器1停止工作。nTL0、TH0成為兩個獨立的8位加法計數(shù)器。它的工作情況與模式0、模式1類似,差別在于定時范圍為:n模式3的結構圖如圖8-7所示。 nTL0 占用定時器0 的控制位:GATE0,TR0 和

12、TF0nTH0占用定時器1 的控制位TR1 和TF1,TH0 溢出時將置位TF1, 并且在ET1 置位時產(chǎn)生中斷。Tcy)X-(256T24圖8-7 方式3結構圖25T0和T1的應用舉例n例 若fOSC=26.67MHz,T1工作于方式1,產(chǎn)生45ms的定時中斷,TF1為其中斷源標志。試編寫主程序和中斷服務程序,使P1.0產(chǎn)生周期為90ms的方波。(忽略中斷響應時間和指令執(zhí)行時間)n解:q讓P1.0每45ms取反一次即可實現(xiàn)。定時器的單次定時時間不可能達到45ms,如果設定16位的工作模式1,最大定時時間也才為4.9152ms。q可讓定時器多次定時產(chǎn)生4.5ms的定時時間,如讓T1工作在方式1

13、,單次定時時間為4.5ms,那么T1中斷10次就是45ms的時間。 26n(1)確定定時常數(shù)q假設使用fOSC的2分頻作為計數(shù)源,則Tcy2/ fOSC 2/(26.67106)75nsq由公式q可知計數(shù)初值qTH1=0 x15,TL0=0 xA0。 )16(-2nTcyn此處定時時間計數(shù)初值0150553610*755 . 4655366AxmsmsX27n(2)初始化程序 包括T1初始化和中斷系統(tǒng)初始化,主要是對IP、IE、TCON、TMOD的相應位進行正確的設置,并將時間常數(shù)送入T1。一般將初始化操作放在主程序中完成,當程序規(guī)模較大時,應編寫單獨的初始化程序,以利于程序的模塊化設計。n(

14、3)中斷服務程序 中斷服務程序除了完成要求的方波產(chǎn)生這一工作之外,還要注意將時間常數(shù)重新送入T1中,為下一次產(chǎn)生中斷作準備。28程序清單如下(主程序): #include sbit P1_0 = P10;int count=10;/10次T1中斷為45msvoid main( void ) TMOD=0 x10; /T1方式1 P1_0=0; TH1=0 x15; /初值 TL1=0 xA0; IEN0=0 x08; /允許T1中斷 IP|=0 x08; IPH|=0 x08; /TF1中斷為高級中斷 TR1=1 EA=1; / 總開中斷 while(1); /死循環(huán), 查詢等待TF1置位,產(chǎn)

15、生方波注:寄存器所在頁的選擇沒有列出29程序清單如下(中斷服務程序片段): TF1=0; TH1=0 x15; TL1=0 xA0; /重填初值 If (count!=0) count-; else count=10;P1_0=!P1_0; 308.4 8.4 定時器定時器T2T2n8.4.1 8.4.1 概述概述n定時器2 是一個16 位通用計數(shù)器,其具有兩種操作模式:16 位自動重載模式和16 位捕獲模式。n如果預分頻功能被禁止,定時器2工作時,16 位通用加法計數(shù)器以12分頻的周期脈沖計數(shù),每個周期16位通用加法計數(shù)器加1或減1。31n定時器2由T2MOD寄存器、T2CON存器、功能存器

16、TH2、TL2、RC2H、RC2L等電路構成。qTH2、TL2構成16位通用計數(shù)器。qRC2H、RC2L作為16位寄存器,在自動重載模式中RC2H、RC2L作為16位通用計數(shù)器的16位初值寄存器q在捕捉模式中,當引腳T2EX上出現(xiàn)下降沿跳變時,把TH2、TL2的當前值捕捉到RC2H、RC2L中去。32n8.4.2 8.4.2 定時器定時器T2T2控制寄存器控制寄存器n1.1.模式寄存器模式寄存器T2MODT2MODn寄存器T2MOD 用來選擇定時器2 的工作模式。其組成如圖8-8所示。33啟動邊沿啟動邊沿選擇位選擇位 外部啟動外部啟動使能位使能位 捕獲模式捕獲模式/ /重載模式重載模式的邊沿選

17、擇位的邊沿選擇位 預分頻使能位預分頻使能位 計數(shù)器計數(shù)器遞增遞增/ /遞遞減使能位減使能位 圖8-8 T2MOD各位功能34n2.2.控制寄存器控制寄存器T2CONT2CONn寄存器T2CON 控制定時器2 的工作模式,其各位功能如圖8-9所示。 上溢上溢/ /下溢標志位下溢標志位 外部事件標志位外部事件標志位展示展示T2EX引腳狀態(tài)引腳狀態(tài) 捕獲捕獲/ /重載模式選擇位重載模式選擇位0 0:重載;:重載;1 1:捕獲:捕獲 外部使能控制位外部使能控制位1:使能:使能T2EX引腳控制;引腳控制;0:禁止:禁止 T2EX引腳控制;引腳控制;啟動啟動/ /停止控制位停止控制位 圖8-9 T2CON

18、各位功能358.4.3 8.4.3 定時器定時器T2T2工作模式工作模式n1.1.自動重載模式自動重載模式n控制寄存器T2CON 中的 置“0” 時,定時器2被選擇為自動重載模式。n該模式下,定時器2計數(shù)至溢出時,將寄存器RC2H、RC2L中的16 位初始值重新裝入定時器的TH2、TL2寄存器中,開始新一輪計數(shù)循環(huán)。n并置位寄存器T2CON 的TF2 位表示計數(shù)溢出,從而向CPU 發(fā)送中斷請求信號。n溢出標志TF2 必須由程序清零。根據(jù)控制寄存器T2MOD 中DCEN 控制位的設置,自動重載模式可進一步分為兩種類型。2/LRCP36n1)禁止遞增/遞減計數(shù)模式n若DCEN = 0,則遞增/遞減

19、計數(shù)選擇被禁止,此時定時器只能遞增計數(shù)。工作原理如圖 8-10 所示。圖8-10 T2禁止遞增/遞減計數(shù)模式27號引腳使能/禁止引入外部信號控制T2中斷標志位通用16定時器寄存器重載值寄存器預分頻使能位37n若EXEN2 = 0,置位TR2 定時器開始遞增計數(shù),計數(shù)至最大值FFFFH 后溢出并置位TF2,同時將寄存器RC2 中的16 位重載值重新裝入定時器寄存器。n重載值由軟件預先設置。新一輪計數(shù)循環(huán)開始,定時器同上一輪計數(shù)循環(huán)一樣,從重載值開始遞增計數(shù)。38n若EXEN2 = 1, 置位TR2 定時器開始遞增計數(shù)至最大值FFFFH。計數(shù)溢出或輸入引腳T2EX 的負/正跳變(由寄存器T2MOD

20、 的位EDGESEL 選擇)均會引起16 位重載,將寄存器RC2 的內(nèi)容重新裝入定時器寄存器。n中斷標志位:q若由溢出引起重載,溢出標志TF2置位。q若由引腳T2EX 的負/正跳變引起重載,寄存器T2CON 中的EXF2 置位。q這兩種情況均產(chǎn)生中斷,定時器進入下一輪計數(shù)循環(huán)。EXF2 標志和TF2 一樣必須由軟件清零。39n允許硬件啟動時(T2RHEN=1)qT2EX第一個上升沿/下降沿觸發(fā)TR2=1啟動T2;q上升沿/下降沿的選擇由T2REGS選擇;q如果使能外部控制(EXEN2=1),引腳T2EX的邊沿跳變完成兩個任務:(由T2REGS選擇上升沿/下降沿)n啟動T2nEXF2置位40n2

21、)使能遞增/遞減計數(shù)模式n若DCEN = 1,則遞增/遞減計數(shù)選擇被使能,此時定時器可以遞增或遞減計數(shù)。工作原理如圖 8-11 所示。圖8-11 T2使能遞增/遞減計數(shù)模式41n引腳T2EX 的邏輯電平為1 時q定時器2 遞增計數(shù),因此定時器遞增計數(shù),計數(shù)至最大值FFFFH 后溢出并置位TF2,RC2 寄存器的16 位重載值重新裝入定時器寄存器。n引腳T2EX 的邏輯電平為0 時q定時器2 遞減計數(shù)。定時器遞減計數(shù)并當THL2 的值和寄存器RC2 中的值相等時發(fā)生下溢。下溢后置位TF2,并將值FFFFH 重新載入定時器寄存器THL2 中42n若允許硬件啟動T2(當T2RHEN=1)時,根據(jù)T2

22、EX輸入的是上升沿/下降沿可將T2設置為遞增、遞減計數(shù)nT2由上升沿啟動,T2只能工作于遞增模式nT2由下降沿啟動,T2只能工作于遞減模式43n2.2.捕獲模式捕獲模式n控制寄存器T2CON 中的 及EXEN2置位時,定時器進入16位捕獲模式。n此模式下,遞減計數(shù)功能必須禁止。16位計數(shù)器始終遞增計數(shù)始終遞增計數(shù),計數(shù)至最大值FFFFH后溢出,TF2置位并將0000H 0000H 重新載入定時器寄存器TH2、TL2中。n溢出后TF2置位,則定時器向CPU發(fā)送中斷請求。n捕獲模式的結構圖如圖8-12所示。2/LRCP44圖8-12 T2捕獲模式結構圖45n在引腳T2EX 的下降沿/上升沿(由T2MOD.EDGESEL 選擇),將定時器寄存器(THL2)的值捕獲到寄存器RC2 中。如果在計數(shù)器加1 時檢測到捕獲信號,計數(shù)器先加1 然后執(zhí)行捕獲操作,從而確??偰懿东@到定時計數(shù)器的最新值。執(zhí)行完捕獲操作,EXF2 置位、可用來產(chǎn)生中斷請求46n若允許硬件啟動T2(當T2RHEN=1)時,引腳T2EX輸入的第一個下降沿/上升沿(由T2MOD.

溫馨提示

  • 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

提交評論