![定時器/計數(shù)器及應(yīng)用_第1頁](http://file4.renrendoc.com/view/debcdcde6efed39f40d2b3acb63835c2/debcdcde6efed39f40d2b3acb63835c21.gif)
![定時器/計數(shù)器及應(yīng)用_第2頁](http://file4.renrendoc.com/view/debcdcde6efed39f40d2b3acb63835c2/debcdcde6efed39f40d2b3acb63835c22.gif)
![定時器/計數(shù)器及應(yīng)用_第3頁](http://file4.renrendoc.com/view/debcdcde6efed39f40d2b3acb63835c2/debcdcde6efed39f40d2b3acb63835c23.gif)
![定時器/計數(shù)器及應(yīng)用_第4頁](http://file4.renrendoc.com/view/debcdcde6efed39f40d2b3acb63835c2/debcdcde6efed39f40d2b3acb63835c24.gif)
![定時器/計數(shù)器及應(yīng)用_第5頁](http://file4.renrendoc.com/view/debcdcde6efed39f40d2b3acb63835c2/debcdcde6efed39f40d2b3acb63835c25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
5定時器/計數(shù)器及其應(yīng)用5.1定時器/計數(shù)器工作原理1.基本概念(1)計數(shù):計數(shù)是指對外部事件的個數(shù)進(jìn)行計量。其實質(zhì)就是對外部輸入脈沖的個數(shù)進(jìn)行計量。實現(xiàn)計數(shù)功能的器件稱為計數(shù)器。(2)定時:8051單片機(jī)中的定時器和計數(shù)器是一個部件,只不過計數(shù)器記錄的是外界發(fā)生的事件,而定時器則是由單片機(jī)內(nèi)部提供一個非常穩(wěn)定的計數(shù)源進(jìn)行定時的。這個計數(shù)源是由單片機(jī)的晶振經(jīng)過12分頻后獲得的一個脈沖源。所以定時器計數(shù)脈沖的時間間隔與晶振有關(guān)。(3)定時的種類軟件定時:利用執(zhí)行一個循環(huán)程序進(jìn)行時間延遲。其特點(diǎn)是定時時間精確,不需外加硬件電路,但占用CPU時間。因此軟件定時的時間不宜過長。
硬件定時:利用硬件電路實現(xiàn)定時。其特點(diǎn)是不占用CPU時間,通過改變電路元器件參數(shù)來調(diào)節(jié)定時,但使用不夠靈活方便。對于時間較長的定時,常用硬件電路來實現(xiàn)。
可編程定時器:通過專用的定時器/計數(shù)器芯片實現(xiàn)。其特點(diǎn)是通過對系統(tǒng)時鐘脈沖進(jìn)行計數(shù)實現(xiàn)定時,定時時間可通過程序設(shè)定的方法改變,使用靈活方便。也可實現(xiàn)對外部脈沖的計數(shù)功能。
MCS-51單片機(jī)內(nèi)部有兩個16位可編程的定時器/計數(shù)器,簡稱為T0和T1,均可作定時器用也可計數(shù)器,它們均是二進(jìn)制加法計數(shù)器,當(dāng)計數(shù)器計滿回零時能自動產(chǎn)生溢出中斷請求,表示定時時間已到或計數(shù)已終止。適用于定時控制、延時、外部計數(shù)和檢測等。計數(shù)器:對引腳T0(P3.4)和T1(P3.5.)輸入的外部脈沖信號計數(shù),當(dāng)輸入脈沖信號從1到0的負(fù)跳變時,計數(shù)器就自動加1。計數(shù)的最高頻率一般為振蕩頻率的1/24。定時器:對系統(tǒng)晶振振蕩脈沖的12分頻輸出進(jìn)行計數(shù)。(1)定時器/計數(shù)器的結(jié)構(gòu)組成:16位加法計數(shù)器、工作方式寄存器TMOD和控制寄存器TCON。T0:TL0(低8位)和TH0(高8位)T1:TL1(低8位)和TH1(高8位)2.MCS-51內(nèi)部定時器/計數(shù)器
8051單片機(jī)內(nèi)部的定時器/計數(shù)器的結(jié)構(gòu)如下圖所示。(2)控制寄存器TCON(88H)
TF1
TR1
TF0
TR0IE1IT1IE0IT0TF0/TF1:T0/1計數(shù)溢出標(biāo)志位。可用于申請中斷或供CPU查詢。在進(jìn)入中斷服務(wù)程序時會自動清零;但在查詢方式時必須軟件清零。
=1:計數(shù)溢出;
=0:計數(shù)未滿。TR0/TR1:T0/1啟停控制位。=1:啟動計數(shù);=0:停止計數(shù)。IE0/IE1和IT0/IT1:用于管理外部中斷(前面已介紹過)。
M1,M0:工作方式選擇位。=00:13位定時器/計數(shù)器;=01:16位定時器/計數(shù)器(常用);=10:可自動重裝的8位定時器/計數(shù)器(常用);=11:T0分為2個8位定時器/計數(shù)器;僅適用于T0。C/:定時方式/計數(shù)方式選擇位。=1:選擇計數(shù)器工作方式,對T0/T1引腳輸入的外部事件的負(fù)脈沖計數(shù);=0:選擇定時器工作方式,對機(jī)器周期脈沖計數(shù)定時。如下頁圖所示。(2)工作方式寄存器TMOD
GATEC/TM1M0GATEC/TM1M0T1T0GATE:門控位,定時器/計數(shù)器的啟/??捎绍浖c硬件兩者控制=0:軟件控制,只由TCON中的啟/??刂莆籘R0/TR1控制定時器/計數(shù)器的啟/停。=1:硬件控制,由外部中斷請求信號/和TCON中的啟/停控制位TR0/TR1組合狀態(tài)控制定時器/計數(shù)器的啟/停。其控制邏輯如下圖所示。5.3定時器/計數(shù)器的工作方式
8051單片機(jī)的定時器/計數(shù)器共有四種工作模式,現(xiàn)以T0為例加以介紹,T1與T0的工作原理相同,但方式3下T1停止計數(shù)。方式(如F0)和用戶定義名稱等幾種方式。1.工作方式0(M1M0=00,13位定時器/計數(shù)器)
由TH0的全部8位和TL0的低5位(TL0的高3位未用)構(gòu)成13位加1計數(shù)器,當(dāng)TL0低5位計數(shù)滿時直接向TH0進(jìn)位,并當(dāng)全部13位計數(shù)滿溢出時,溢出標(biāo)志位TF0置“1”。2.工作方式1(M1M0=01,16位定時器/計數(shù)器)
由TH0和TL0構(gòu)成16位加1計數(shù)器,其他特性與工作方式0相同。3.工作方式2(M1M0=10,自動重裝計數(shù)初值的8位定時器/計數(shù)器)
16位定時器/計數(shù)器被拆成兩個8位寄存器TH0和TL0,CPU在對它們初始化時必須裝入相同的定時器/計數(shù)器初值。以TL0作計數(shù)器,而TH0作為預(yù)置寄存器。當(dāng)計數(shù)滿溢出時,TF0置“1”,同時TH0將計數(shù)初值以硬件方法自動裝入TL0。這種工作方式很適合于那些重復(fù)計數(shù)的應(yīng)用場合(如串行數(shù)據(jù)通信的波特率發(fā)生器)。4.工作方式3(M1M0=11,2個8位定時器/計數(shù)器,僅適用于T0)TL0:8位定時器/計數(shù)器,使用T0原有控制資源TR0和TF0,其功能和操作與方式0或方式1完全相同。TH0:只能作為8位定時器,借用T1的控制位TR1和TF1,只能對片內(nèi)機(jī)器周期脈沖計數(shù)。在方式3模式下,定時器/計數(shù)器0可以構(gòu)成兩個定時器或者一個定時器和一個計數(shù)器。T0方式3下的T1方式2,因定時初值能自動恢復(fù),用作波特率發(fā)生器更為合適。
定時器/計數(shù)器可按片內(nèi)機(jī)器周期定時,也可對由T0/T1引腳輸入一個負(fù)脈沖進(jìn)行加法計數(shù)。在應(yīng)用時,其工作方式和工作過程均可通過程序設(shè)定和控制,因此,定時器/計數(shù)器在工作前必須先對其進(jìn)行初始化,計算和設(shè)置初值。1.定時器T0/T1中斷申請過程(1)在已經(jīng)開放T0/T1中斷允許且已被啟動的前提下,T0/T1加1計滿溢出時TF0/TF1標(biāo)志位自動置“1”;(2)CPU檢測到TCON中TF0/TF1變“1”后,將產(chǎn)生指令:LCALL000BH/LCALL001BH執(zhí)行中斷服務(wù)程序;(3)TF0/TF1標(biāo)志位由硬件自動清“0”,以備下次中斷申請。5.4定時器/計數(shù)器的應(yīng)用
2.定時器/計數(shù)器初始化的步驟
(1)寫TMOD,設(shè)置定時器/計數(shù)器的工作方式;
(2)計算定時器/計數(shù)器的初值,寫入TH0/TH1、TL0/TL1。
(3)設(shè)置IE、IP,以開放相應(yīng)的中斷和設(shè)定中斷優(yōu)先級。3.定時器/計數(shù)器的定時器/計數(shù)器范圍
(1)工作方式0:13位定時器/計數(shù)器方式最大計數(shù)值=213=8192(2)工作方式1:16位定時器/計數(shù)器方式最大計數(shù)值=216=65536
(3)工作方式2和工作方式3:8位的定時器/計數(shù)器方式
最大計數(shù)值=28=2563.計數(shù)器初值的計算
方法:用最大計數(shù)量減去需要的計數(shù)次數(shù)。即:TC=MC其中:TC——計數(shù)器需要預(yù)置的初值;M——計數(shù)器的模值(最大計數(shù)值);方式0時,M=213;方式1時,M=216;方式2,3時,M=28;C——計數(shù)器計滿回0所需的計數(shù)值,即設(shè)計任務(wù)要求的計數(shù)值。例如:流水線上一個包裝是12盒,要求每到12盒就產(chǎn)生一個動作,用單片機(jī)的工作方式0來控制,則應(yīng)當(dāng)預(yù)置的初值為:TC=MC=213
12=81804.定時器初值的計算
定時時間的計算公式為:T=(MTC)×T0(或TC=MT/T0)其中:T——定時器的定時時間,即設(shè)計任務(wù)要求的定時時間;T0——計數(shù)器計數(shù)脈沖的周期,即單片機(jī)系統(tǒng)主頻周期的12倍;M——計數(shù)器的模值;TC——定時器需要預(yù)置的初值。若設(shè)初值TC=0,則定時器定時時間為最大。若設(shè)單片機(jī)系統(tǒng)主頻為12MHz,則各種工作方式定時器的最大定時時間為:工作方式0:
Tmax=213×1s=8.192ms工作方式1:
Tmax=216×1s=65.536ms工作方式2和3:Tmax=28×1s=0.256ms5.定時器/計數(shù)器應(yīng)用舉例
[例題4]
設(shè)一只發(fā)光二極管LED和8051的P1.0腳相連。當(dāng)P1.0腳是低電平時,LED發(fā)亮;當(dāng)P1.0腳是高電平時,LED不亮。編制程序用定時器來實現(xiàn)發(fā)光二極管LED的閃爍功能,設(shè)置LED每1s閃爍一次。已知單片機(jī)系統(tǒng)主頻為12MHz。解:定時器/計數(shù)器的最長的定時是65.536ms,無法實現(xiàn)1s的定時??梢圆捎密浖嫈?shù)器來進(jìn)行設(shè)計。設(shè)計思想:定義一個軟件計數(shù)器單元30H,先用定時器/計數(shù)器0做一個50ms的定時器,定時時間到了以后將軟件計數(shù)器中的值加1,如果軟件計數(shù)器計到了20,取反P1.0,并清掉軟件計數(shù)器中的值,否則直接返回。則完成了20次定時中斷才取反一次P1.0,因此定時時間就為20×50=1000ms=1s。定時器/計數(shù)器0采用工作方式1,其初值為:21650ms/1s=6553650000=15536=3CB0H電路圖如下:定時器初值的新算法:程序如下:
ORG0000H AJMPSTART;轉(zhuǎn)入主程序 ORG000BH ;定時器/計數(shù)器0的中斷服務(wù)程序入口地址 AJMPTIME0 ;跳轉(zhuǎn)到真正的定時器中斷服務(wù)程序處 ORG0030H START:MOVSP,#60H;設(shè)置堆棧指針 MOVP1,#0FFH;關(guān)發(fā)光二極管LED(使其滅) MOV30H,#00H;軟件計數(shù)器預(yù)清0 MOVTMOD,#01H;定時器/計數(shù)器0工作于方式1 MOVTH0,#3CH;設(shè)置定時器/計數(shù)器的初值 MOVTL0,#0B0H SETBEA ;開總中斷允許 SETBET0 ;開定時器/計數(shù)器0中斷允許 SETBTR0 ;啟動定時器/計數(shù)器0LOOP:AJMPLOOP ;循環(huán)等待(真正工作時,這里可寫任意其他程序) 定時器/計數(shù)器0的中斷服務(wù)程序1:
TIME0:PUSHACC;將PSW和ACC推入堆棧保護(hù) PUSHPSW INC30H ;軟件計數(shù)器加1 MOVA,30H CJNEA,#20,T_LP2 ;軟件計數(shù)器單元中的值到了20了嗎?到了,繼續(xù)執(zhí)行;否則,轉(zhuǎn)入T_LP2T_LP1:CPLP1.0 ;到了,P1.0取反 MOV30H,#00H ;清軟件計數(shù)器(或置初值20)T_LP2:MOVTH0,#3CH ;重置定時器/計數(shù)器的初值 MOVTL0,#0B0H POPPSW ;恢復(fù)PSW和ACC POPACC RETI ;中斷返回 END 定時器/計數(shù)器0的中斷服務(wù)程序2:
TIME0:MOVTL0,#0B0H;重置定時器/計數(shù)器的初值
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保理念下的現(xiàn)代家居設(shè)計風(fēng)格
- 現(xiàn)代飲食文化與胃腸健康的平衡
- 生產(chǎn)環(huán)境下的操作規(guī)范與質(zhì)量控制
- 現(xiàn)代企業(yè)網(wǎng)絡(luò)攻擊的防范與應(yīng)對
- 現(xiàn)代企業(yè)決策分析與科學(xué)決策
- 2023三年級語文下冊 第八單元 口語交際:趣味故事會配套說課稿 新人教版
- Unit5 Humans and nature Lesson 1 A sea story 說課稿-2024-2025學(xué)年高中英語北師大版(2019)必修第二冊001
- 2024-2025學(xué)年新教材高中數(shù)學(xué) 第五章 三角函數(shù) 5.7 三角函數(shù)的應(yīng)用(2)說課稿 新人教A版必修第一冊
- 2023八年級數(shù)學(xué)下冊 第18章 平行四邊形18.1 平行四邊形的性質(zhì)第2課時 平行四邊形的性質(zhì)定理3說課稿 (新版)華東師大版
- 2023二年級語文上冊 第二單元 2 樹之歌配套說課稿 新人教版
- (人衛(wèi)版第九版?zhèn)魅静W(xué)總論(一))課件
- 壓力性損傷護(hù)理質(zhì)控細(xì)則及集束化管理措施
- 《批判性思維原理和方法》全套教學(xué)課件
- 產(chǎn)后康復(fù)-腹直肌分離
- 丙烯-危險化學(xué)品安全周知卡
- 粉條加工廠建設(shè)項目可行性研究報告
- 《配電網(wǎng)設(shè)施可靠性評價指標(biāo)導(dǎo)則》
- 2024年國家電網(wǎng)招聘之通信類題庫附參考答案(考試直接用)
- CJJ 169-2012城鎮(zhèn)道路路面設(shè)計規(guī)范
- 食品企業(yè)日管控周排查月調(diào)度記錄及其報告格式參考
- 產(chǎn)品質(zhì)量法解讀課件1
評論
0/150
提交評論