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

下載本文檔

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

文檔簡介

1、 單片機原理與應用單片機原理與應用 第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器 7.1 定時器定時器/計數(shù)器的功能和結構計數(shù)器的功能和結構 7.2 定時器定時器/計數(shù)器的工作原理計數(shù)器的工作原理 7.3 定時器定時器/計數(shù)器的工作方式計數(shù)器的工作方式 7.4 定時器定時器/計數(shù)器的編程計數(shù)器的編程本章要點:第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器7.1 定時器定時器/計數(shù)器的功能和結構計數(shù)器的功能和結構7.1.1定時器定時器/計數(shù)器的功能計數(shù)器的功能7.1.2定時器定時器/計數(shù)器的結構計數(shù)器的結構第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器7.1.2定時器定時器/計數(shù)器的結構計數(shù)器

2、的結構第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器7.2 定時器定時器/計數(shù)器的工作原理計數(shù)器的工作原理控制信號振蕩器端TX計數(shù)器加1TFX中斷12C/T=0C/T=1第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器7.3 定時器定時器/計數(shù)器的工作方式計數(shù)器的工作方式7.3.1工作方式寄存器工作方式寄存器-TMOD第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器(1GATE: 門控位,實現(xiàn)選通控制門控位,實現(xiàn)選通控制 GATE0時,只需用軟件使時,只需用軟件使TR0或或TR1置置1就可以啟動定時器,而不管就可以啟動定時器,而不管INT0(或或INT1)的的電平是高電平還是低電平;電平是高電平還

3、是低電平; GATE=1時,只有在時,只有在INT0(或或INT1)引腳為引腳為高電平,而且高電平,而且TR0或或TR1置置1時,才能啟動時,才能啟動定時器工作定時器工作.(2C/T:計數(shù):計數(shù)/定時方式選擇位定時方式選擇位 C/T0,設置為定時方式,定時器計數(shù)單,設置為定時方式,定時器計數(shù)單片機內部計數(shù)脈沖;當片機內部計數(shù)脈沖;當C/T1,設置為計數(shù)功,設置為計數(shù)功能,計數(shù)器對來自能,計數(shù)器對來自T0P3.4或或T1P3.5端端的外部脈沖計數(shù)。的外部脈沖計數(shù)。7.3.1工作方式寄存器工作方式寄存器-TMOD第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器(3M1 M0:這兩位指定定時器:這兩位

4、指定定時器/計數(shù)器的計數(shù)器的工作方式,可形成四種編碼工作方式,可形成四種編碼M1M0工作方式工作方式 功功 能能 說說 明明00方式方式013位計數(shù)器位計數(shù)器01方式方式116位計數(shù)器位計數(shù)器10方式方式2自動再裝入自動再裝入8位計數(shù)器位計數(shù)器11方式方式3定時器定時器0:分成兩個:分成兩個8位計數(shù)器位計數(shù)器7.3.1工作方式寄存器工作方式寄存器-TMOD第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器1.方式方式0 7.3.2 定時器定時器/計數(shù)器工作方式計數(shù)器工作方式控制振蕩器12TL0(5位)TF0中斷T0 端C/ T = 0C/ T = 1+INT0 端GATETR0TH0(8位)第第7

5、 7章章 定時器定時器/ /計數(shù)器計數(shù)器2.方式方式1控制振蕩器12TL0(8位)TF0中斷T0 端C/ T = 0C/ T = 1+INT0 端GATETR0TH0(8位)7.3.2 定時器定時器/計數(shù)器工作方式計數(shù)器工作方式第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器3.方式方式2控制振蕩器12TL0(8位)TF0中斷T0 端C/ T = 0C/ T = 1+INT0 端GATETR0TH0(8位)重新裝入7.3.2 定時器定時器/計數(shù)器工作方式計數(shù)器工作方式第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器4.方式方式3 控制振蕩器12TL0(8位)TF0中斷T0 端C/ T = 0C/

6、T = 1+INT0 端GATETR0TH0(8位)1/12 fosc1/12 foscTF1中斷1/12 foscTR17.3.2 定時器定時器/計數(shù)器工作方式計數(shù)器工作方式第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器7.3.4 計數(shù)初值的計算計數(shù)初值的計算 由于定時器由于定時器/計數(shù)器以加計數(shù)器以加1方式計數(shù),假設計方式計數(shù),假設計數(shù)值為數(shù)值為x,則應裝入定時器,則應裝入定時器/計數(shù)器的初值為:計數(shù)器的初值為: (n為不同方式下計數(shù)器的位數(shù)為不同方式下計數(shù)器的位數(shù)) x2n 第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器每個機器周期包括每個機器周期包括12個振蕩周期,若晶振頻率個振蕩周期

7、,若晶振頻率為為6MHz,一個機器周期,一個機器周期: 計數(shù)個數(shù)為:計數(shù)個數(shù)為: 其中其中Tp為機器周期為機器周期 則應裝入的計數(shù)初值為:則應裝入的計數(shù)初值為:2uS1061212T6p晶晶振振頻頻率率 x2n pcTTx 【例】要求定時為【例】要求定時為1mS,晶振頻率,晶振頻率12MHz。 7.3.4 計數(shù)初值的計算計數(shù)初值的計算第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器應注意以下兩點:應注意以下兩點: (1正確編制定時器正確編制定時器/計數(shù)器的初始化程序計數(shù)器的初始化程序 包括定義包括定義TMOD、寫入定時初值、設置中斷、寫入定時初值、設置中斷系統(tǒng)和啟動定時器系統(tǒng)和啟動定時器/計數(shù)器

8、運行等。計數(shù)器運行等。 (2正確編制定時器正確編制定時器/計數(shù)器中斷服務程序計數(shù)器中斷服務程序 注意是否需要重裝定時初值,若需要連續(xù)反復注意是否需要重裝定時初值,若需要連續(xù)反復使用原定時時間,且未工作在方式使用原定時時間,且未工作在方式2,則應在中斷,則應在中斷服務程序中重裝定時初值。服務程序中重裝定時初值。7.4定時器定時器/計數(shù)器的編程計數(shù)器的編程第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器7.4.1定時器應用實例定時器應用實例 【例【例7-2】使用定時器】使用定時器/計數(shù)器計數(shù)器T0的方式的方式0,設定,設定1ms的定時。在的定時。在P1.0引腳上產生周期為引腳上產生周期為2ms的方波

9、輸出。晶的方波輸出。晶體振蕩器的頻率為體振蕩器的頻率為fosc=6MHz。解:(解:(1定時常數(shù)計算定時常數(shù)計算振蕩器頻率為振蕩器頻率為fosc=6MHz=6106HZ,方式,方式0計數(shù)器長度計數(shù)器長度 n=13, 2n=213=8192定時時間:定時時間: t=1ms=110-3s機器周期:機器周期: Tp12/61062us計數(shù)值:計數(shù)值: xTc/Tp1ms/2us500那么應裝入的初值為那么應裝入的初值為 81925007692定時常數(shù)定時常數(shù)TC轉換成二進制數(shù)轉換成二進制數(shù)TCB11110 0000 1100 B。所以所以TCH1EH,TCL0CH。那么應該寫入。那么應該寫入T0的形

10、式的形式為為TH0=1EH,TL0=0CH。第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器(2TMOD的設定即控制字)的設定即控制字)7.4.1定時器應用實例定時器應用實例第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器(3編編 程程ORG0000HAJMPMAIN ;轉到主程序;轉到主程序ORG000BH ;T0中斷矢量地址中斷矢量地址AJMPINQP ;轉到中斷服務程序;轉到中斷服務程序ORG0050HMAIN: MOV TMOD,#00H ;設置;設置T0為方式為方式0定時定時MOVTH0,#1EH ;裝入;裝入T0的定時常數(shù)的定時常數(shù)MOVTL0,#0CHSETBTR0 ;啟動;啟動T0

11、SETBET0 ;允許;允許T0中斷中斷SETBEA ;CPU開中斷開中斷SJMP$ ;等待;等待T0中斷發(fā)生中斷發(fā)生ORG0100H ;中斷服務程序;中斷服務程序INQP:MOVTH0,1EH ;重裝定時常數(shù);重裝定時常數(shù)MOVTL0,0CHCPLP1.0 ;P1.0變反輸出變反輸出RETI ;中斷返回;中斷返回第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器7.4.2計數(shù)器應用實例計數(shù)器應用實例 【例【例7-3】試設定定時器】試設定定時器/計數(shù)器計數(shù)器T0為計數(shù)方式為計數(shù)方式2。當。當T0引腳出現(xiàn)負跳變時,向引腳出現(xiàn)負跳變時,向CPU申請中斷。申請中斷。解:解:(1定數(shù)常數(shù)計算定數(shù)常數(shù)計算當

12、當T0引腳出現(xiàn)負跳變時,即向引腳出現(xiàn)負跳變時,即向CPU申請中斷,意思是說申請中斷,意思是說當計數(shù)器計數(shù)到當計數(shù)器計數(shù)到28時就會溢出,設計數(shù)初值為時就會溢出,設計數(shù)初值為X,再計,再計數(shù)一次計數(shù)器就溢出,用公式表示為數(shù)一次計數(shù)器就溢出,用公式表示為X128,所以,所以X28125511111111B0FFH,故此時的定數(shù)常數(shù),故此時的定數(shù)常數(shù)應為應為TCB=0FFH。第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器(2TMOD的設定即控制字)的設定即控制字)定時器T1(無關)M00M11TC/1,計數(shù)GATE0,不用門控控制字為 06H000000007.4.2計數(shù)器應用實例計數(shù)器應用實例第第

13、7 7章章 定時器定時器/ /計數(shù)器計數(shù)器(3編編 程程ORG0000H AJMPMAIN ;轉到主程序;轉到主程序 ORG000BH ;T0的中斷入口的中斷入口 AJMPINTS ;轉到中斷服;轉到中斷服務程序務程序 ORG0100H ;主程;主程序入口地址序入口地址MAIN:MOVSP , #60H;設棧;設棧指針指針MOVTMOD,#06H ;設;設T0為計為計數(shù)方式數(shù)方式2MOVTL0,#0FFH ;設;設TL0初初值值MOVTH0,#0FFH ;設;設TH0初值初值 SETBTR0 ;啟動計數(shù);啟動計數(shù)SETBET0 ;允許;允許T0中斷中斷 SETBEA ;中斷開放;中斷開放 SJ

14、MP$ ;等待;等待T0中斷發(fā)生中斷發(fā)生 ;中斷處理程序;中斷處理程序INTS:PUSHA ;現(xiàn)場保護,把寄;現(xiàn)場保護,把寄存器存器A中的值壓入堆棧中中的值壓入堆棧中PUSHDPL ;把數(shù)據(jù)指針的低位;把數(shù)據(jù)指針的低位DPL中的值壓入堆棧中中的值壓入堆棧中PUSHDPH ;把數(shù)據(jù)指針的高位;把數(shù)據(jù)指針的高位DPH中的值壓入堆棧中中的值壓入堆棧中 ;現(xiàn)場恢復;現(xiàn)場恢復POPDPH ;把數(shù)據(jù)指針的高位;把數(shù)據(jù)指針的高位DPH中的值從堆棧中取出中的值從堆棧中取出 POPDPL ;把數(shù)據(jù)指針;把數(shù)據(jù)指針的低位的低位DPL中的值從堆棧中取出中的值從堆棧中取出POPA ;把寄存器;把寄存器A中的值中的值從

15、堆棧中取出從堆棧中取出RETI第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器【實例【實例7-1】已知晶振】已知晶振12MHZ,參見圖,參見圖7-9,要求要求利用定時器利用定時器T0使圖中發(fā)光二極管使圖中發(fā)光二極管D進行秒閃爍。進行秒閃爍。 解析:發(fā)光二極管進行秒閃爍。即一秒鐘一解析:發(fā)光二極管進行秒閃爍。即一秒鐘一亮一暗,亮亮一暗,亮500ms,暗,暗500ms。晶振。晶振12MHz,一,一個機器周期是個機器周期是1s,T0方式方式1最大定時只能最大定時只能65ms多注多注:21665536)。)。 取取T0定時定時50ms,計數(shù),計數(shù)10次,即可實現(xiàn)次,即可實現(xiàn)500ms定時。定時。 (1計

16、算定時初值計算定時初值T0初值初值=216-50000s/1s=6553650000=15536=3CB0H TH0=3CH;TL0=B0H 7.5 實例解析實例解析第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器(2設置設置TMOD0000 0 0 01 B = 01H T0方式方式 T0 與與 INT0 無關無關 T1控制位控制位 (3編程編程ORG 0000H ;復復位地址位地址 LJMP MAIN ;轉入主程轉入主程序序ORG 000BH ;T0中斷入中斷入口地址口地址LJMP IT0 ;轉入轉入T0中斷服務中斷服務程序程序ORG 0100H ;主程序首主程序首地址地址MAIN:MOV

17、TMOD,#01H ; 設置設置T0為為工作方式工作方式1MOV TH0,#3CH ; 裝入定時常數(shù)裝入定時常數(shù)MOV TL0,#0B0H MOV IE,#10000010B ;T0開中斷開中斷 MOV R7,#0AH ; 設置循環(huán)設置循環(huán)次數(shù)為次數(shù)為10次次 SETB TR0 ;T0運行運行SJMP $ ;等待中斷等待中斷第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器;中斷服務程序:;中斷服務程序: ORG 000BHITO: MOV TL0,#0B0H ;重新裝入時間常數(shù)重新裝入時間常數(shù) MOV TH0,#3CH DJNZ R7,LOOP ;循環(huán)循環(huán)10次次 CLR TR0 ; 500ms

18、定時到了定時到了,停止停止T0工作工作LOOP: RETI ;中斷返回中斷返回 END ;程序結束程序結束7.5 實例解析實例解析第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器 【實例【實例7-2】利用定時器】利用定時器/計數(shù)器,測定如圖所計數(shù)器,測定如圖所示波形的一個周期長度。示波形的一個周期長度。7.5 實例解析實例解析第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器解析:這里利用門控位解析:這里利用門控位GATE啟動定時器的方法。啟動定時器的方法。設如圖示定時器設如圖示定時器/計數(shù)器計數(shù)器T0為定時器,為高電平時,為定時器,為高電平時,啟動定時器;定時器啟動定時器;定時器/計數(shù)器計數(shù)器T1

19、為計數(shù)器,為計數(shù)器,T1的電平的電平由由1到到0,計數(shù)器計數(shù)。,計數(shù)器計數(shù)。(1定時器設置定時器設置當每秒脈沖數(shù)低于當每秒脈沖數(shù)低于3個時,每個脈沖周期個時,每個脈沖周期330ms左左右,故而設置定時器的基本定時為右,故而設置定時器的基本定時為100ms,可以滿足,可以滿足測時的精度要求。因而,采用門控方式,觸發(fā)啟動測時的精度要求。因而,采用門控方式,觸發(fā)啟動定時器;采用方式定時器;采用方式1,16位計數(shù)器。位計數(shù)器。7.5 實例解析實例解析第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器定時器定時器T0的的TMOD的設置:的設置:控制字為控制字為9H時間常數(shù)計算:晶體振蕩器為時間常數(shù)計算:晶體

20、振蕩器為6MHz,基本定時時間,基本定時時間為為100ms,機器周期,機器周期Tc為為設置初值為設置初值為x:x=21650000=15536=3CB0H預置:(預置:(TH0)=3CH,(,(TL0)=0B0HGATEM1M01001s66C10210612T7.5 實例解析實例解析第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器(2計數(shù)器設置計數(shù)器設置定時器定時器/計數(shù)器計數(shù)器T1為計數(shù)器。計數(shù)值為為計數(shù)器。計數(shù)值為2,當計數(shù),當計數(shù)1時,啟動定時器;當計數(shù)時,啟動定時器;當計數(shù)2時,中斷計數(shù)器時,中斷計數(shù)器T1,并停,并停止定時器止定時器T0的定時;中斷方式,其優(yōu)先級高于定時的定時;中斷方

21、式,其優(yōu)先級高于定時器器T0。計數(shù)器計數(shù)器T1的的TMOD的設置:的設置:控制字為控制字為5H。計數(shù)器初值為:計數(shù)器初值為:FFFEH,預置:(預置:(TH1)=0FFH,(,(TL0)=0FEH。C/TGATEM1M001017.5 實例解析實例解析第第7 7章章 定時器定時器/ /計數(shù)器計數(shù)器 (3)編編 程程ORG0000HAJMPMAINORG000BH;T0的中斷入口的中斷入口 AJMPTIME0 ; 轉入轉入中斷程序中斷程序ORG001BH ;T1的中斷入口的中斷入口AJMPTIME1 ;轉入中斷程序轉入中斷程序 ORG0033HMAIN: MOV SP,#60H ;設置堆棧指針初值設置堆棧指針初值MOV R3,#0 ;清除軟件計數(shù)器;清除軟件計數(shù)器 SETB P3.2 ;將;將P3.2,P3.5置置1,即為,即為輸入狀態(tài)輸入狀態(tài) SETB P3.5 MOV TMOD,#59HMOV TH0,#3CH ;裝入定時器初值;裝

溫馨提示

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

評論

0/150

提交評論