版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
定時計數(shù)器及其應用第一頁,共六十四頁,2022年,8月28日第八章定時計數(shù)器及其應用8.0引言8.1T0/T1的基本結(jié)構(gòu)和工作方式8.2定時器的應用第二頁,共六十四頁,2022年,8月28日一、定時器計數(shù)器的功能:1.定時器的功能:定時發(fā)出脈沖信號,向CPU申請中斷,其定時間隔的長短及起始控制的時間均可由程序控制。例如某機械零件的熱處理工藝曲線為:溫度開始定時保溫5分鐘淬火清洗開始定時回火3小時空冷
實際控制可以由單片機定時發(fā)出信號控制自動完成整個工藝過程。8.0引言第三頁,共六十四頁,2022年,8月28日2.計數(shù)功能:對外界發(fā)生的事件計數(shù)(輸入脈沖),當達到程序規(guī)定的計數(shù)值時,輸出一脈沖信號,申請中斷。例如一啤酒生產(chǎn)線,如下圖所示
計數(shù)24瓶光電信號24瓶裝完申請中斷轉(zhuǎn)入中斷服務程序裝箱輸送帶第四頁,共六十四頁,2022年,8月28日★定時器(Timer)與計數(shù)器(Counter)的區(qū)別★定時計數(shù)器在單片機應用系統(tǒng)中的地位和作用時間基準、延時、電子音樂、電機速度控制工業(yè)測量(電機速度、產(chǎn)量、信號頻率、脈沖寬度)★51系列單片機片上定時計數(shù)器的基本特性:
可編程(3個方面):
1)位數(shù)
2)啟動方式
3)定時/計數(shù)方式★其它計數(shù)器:
74LS161、163、160、162(不可編程)第五頁,共六十四頁,2022年,8月28日問題/知識點1.T0/T1有哪幾種工作模式?
2.方式1、2各有什么突出特點?
3.T0/T1的計數(shù)信號來源于何處?
4.對外部信號計數(shù)時的最高允許頻率為多少?
5.如何啟動T0/T1定時或計數(shù)?
6.TF0、TF1在什么情況下會自動置1?何時
會自動清零?
7.相關(guān)的SFR有哪幾個?第六頁,共六十四頁,2022年,8月28日8.1MCS-51的定時器兩個可編程的定時器/計數(shù)器T1、T0。2種工作模式:(1)計數(shù)器工作模式(2)定時器工作模式4種工作方式(方式0-方式3)第七頁,共六十四頁,2022年,8月28日1、計數(shù)原理對外部事件進行計數(shù)。1)預先裝入一個計數(shù)初值。2)每來一個外部脈沖輸入,記數(shù)器+1。3)記數(shù)器計滿回零,產(chǎn)生溢出中斷請求。計數(shù)值當前值初值第八頁,共六十四頁,2022年,8月28日2、定時原理對周期性的定時脈沖進行計數(shù)。1)預先裝入一個計數(shù)初值。2)周期性+1記數(shù)。3)記數(shù)器計滿回零,產(chǎn)生溢出中斷請求。定時時間記數(shù)器的模初值計數(shù)脈沖的周期MCS-51單片機的定時脈沖頻率為系統(tǒng)晶振頻率的12分頻,即一個機器周期。第九頁,共六十四頁,2022年,8月28日8.1.1定時器/計數(shù)器的控制TMOD:選擇定時器/計數(shù)器T0、T1的工作模式和工
作方式。
TCON:控制T0、T1的啟動和停止計數(shù),同時鎖存T0、
T1的狀態(tài)。系統(tǒng)復位時,TMOD和TCON的所有位清0用戶可用軟件對TMOD和TCON進行寫入和更改。第十頁,共六十四頁,2022年,8月28日8.1.1.1定時器/計數(shù)器控制寄存器TCON
低4位與外部中斷有關(guān),已介紹。高4位的功能如下:
(1)TF1、TF0——計數(shù)溢出標志位
(2)TR1、TR0——計數(shù)運行控制位
1:啟動定時器/計數(shù)器工作
0:停止定時器/計數(shù)器工作第十一頁,共六十四頁,2022年,8月28日標志位計滿溢出時,單片機內(nèi)部硬件對TF0(TF1)置“1”。中斷方式:作為中斷標志位。在響應中斷轉(zhuǎn)向中斷服務程序后,由硬件自動對TF清“0”。查詢方式:作為定時器狀態(tài)位以供查詢。查詢有效后以軟件及時將該位清“0”。第十二頁,共六十四頁,2022年,8月28日例:用位操作來使用定時器SETBTR1SETBTR0CLRTR1CLRTR0JBCTF1,L1;查詢TF1,為1則轉(zhuǎn)向L1且TF1清零。第十三頁,共六十四頁,2022年,8月28日8.1.1.2工作方式控制寄存器TMODTMOD的字節(jié)地址為89H,不能按位尋址,只能用字節(jié)傳送指令來設置。8位分為兩組,高4位控制T1,低4位控制T0。第十四頁,共六十四頁,2022年,8月28日(1)GATE——門控位
0:以TRx(x=0,1)來啟動定時器/計數(shù)器運行。
1:用外中斷引腳(/INT0或/INT1)上的高電平和
TRx來啟動定時器/計數(shù)器運行。
(2)C/T*——計數(shù)器模式和定時器模式選擇位
1:計數(shù)方式,計數(shù)脈沖從外部引腳引入。
T0-P3.4T1-P3.5
0:定時器方式,計數(shù)脈沖為內(nèi)部脈沖。
脈沖周期=機器周期第十五頁,共六十四頁,2022年,8月28日(3)M1、M0——工作方式選擇位
M1M0工作方式
00 方式0,13位定時器/計數(shù)器。
01 方式1,16位定時器/計數(shù)器。
10 方式2,8位常數(shù)自動重新裝載
11 方式3,僅適用于T0,T0分成兩個8 位計數(shù)器,T1停止計數(shù)。第十六頁,共六十四頁,2022年,8月28日8.1.2定時器/計數(shù)器的4種工作方式
8.1.2.1定時工作方式0M1、M0為00,定時器/計數(shù)器的框圖:
TL計滿溢出向TH進位。13位計滿溢出時TF1置位。第十七頁,共六十四頁,2022年,8月28日方式0——13位的計數(shù)器C/T*位決定工作模式:
0:開關(guān)打在上面,為定時器工作模式;
1:開關(guān)打在下面,為計數(shù)器工作模式,計數(shù)脈沖為P3.4、P3.5引腳上的外部輸入脈沖,當引腳上發(fā)生負跳變時,計數(shù)器加1。GATE位:決定定時器/計數(shù)器的運行是取決于TRx一個條件還是TRx和INTx*引腳兩個條件。GATE=1TR1=1時由/INT1信號控制計數(shù)脈沖的接通或斷開。常用于測量外部輸入信號的脈沖寬度。第十八頁,共六十四頁,2022年,8月28日
8.1.2.2方式1
M1、M0=01,16位的計數(shù)器。TL計滿溢出向TH進位。16位計滿溢出時TF1置位。第十九頁,共六十四頁,2022年,8月28日
在方式0和方式1中,計數(shù)計滿溢出后,使其值為0。在循環(huán)定時或計數(shù)應用中,必須反復預置計數(shù)初值,不僅會影響定時精度,而且給程序設計帶來不便。第二十頁,共六十四頁,2022年,8月28日THx作為常數(shù)緩沖器,當TLx計數(shù)溢出時,在置“1”溢出標志TFx的同時,還自動的將THx中的初值送至TLx,使TLx從初值開始重新計數(shù)。M1、M0=10,等效框圖如下:8.1.2.3方式2
計數(shù)滿后自動裝入計數(shù)初值。第二十一頁,共六十四頁,2022年,8月28日
省去用戶軟件中重裝初值的程序,精確的定時。
定時器作串口波特率發(fā)生器時,常選用定時方式2。定時器/計數(shù)器的方式2工作過程如圖(X=0,1)。
初始化時,將初值分別付給THx和TLx。第二十二頁,共六十四頁,2022年,8月28日(2)T1工作在方式1
(3)T1工作在方式2
0~7第二十三頁,共六十四頁,2022年,8月28日第二十四頁,共六十四頁,2022年,8月28日
回顧1.T0/T1有哪幾種工作模式?
2.方式1、2各有什么突出特點?
3.T0/T1的計數(shù)信號來源于何處?
4.對外部信號計數(shù)時的最高允許頻率為多少?
5.如何啟動T0/T1定時或計數(shù)?
6.TF0、TF1在什么情況下會自動置1?何時
會自動清零?
7.相關(guān)的SFR有哪幾個?第二十五頁,共六十四頁,2022年,8月28日4種工作方式中,方式0與方式1基本相同,由于方式0是為兼容MCS-48而設,初值計算復雜,在實際應用中,一般不用方式0,而采用方式1。8.1.3定時器/計數(shù)器的編程和應用第二十六頁,共六十四頁,2022年,8月28日8.1.3.1計算初值的計算1、定時方式下的計數(shù)初值定時時間
或者第二十七頁,共六十四頁,2022年,8月28日計數(shù)初值:方式0:n=13方式1:n=16方式2:n=8第二十八頁,共六十四頁,2022年,8月28日計數(shù)方式下的計數(shù)初值在計數(shù)方式下,可分為兩種情況:1、已知計數(shù)脈沖的個數(shù)C2、未知計數(shù)脈沖的個數(shù)C第二十九頁,共六十四頁,2022年,8月28日定時/計數(shù)器初始化基本步驟
1)根據(jù)定時時間或計數(shù)要求,確定計數(shù)初值
2)確定工作方式,寫控制字到TMOD3)預置定時或者計數(shù)的初值x4)根據(jù)需求開放定時器/計數(shù)器的中斷
5)啟動定時器/計數(shù)器
8.1.3.2初始化編程第三十頁,共六十四頁,2022年,8月28日
8.1.3.3應用舉例1、方式1應用
例:假設系統(tǒng)時鐘頻率采用6MHz,要在P1.0上輸出一個周期為2ms的方波,如圖所示。
第三十一頁,共六十四頁,2022年,8月28日
方波的周期用T0來確定,讓T0每隔1ms計數(shù)溢出1次(每1ms產(chǎn)生一次中斷),CPU響應中斷后,在中斷服務程序中對P1.0取反。
(1)計算初值X
設初值為X,則有: (216-X)×2×10-6=1×10-3216-X=500X=65036X化為16進制,即。所以,T0的初值為:TH0=0FEHTL0=0CH
(2)初始化程序設計
第三十二頁,共六十四頁,2022年,8月28日中斷服務程序主程序第三十三頁,共六十四頁,2022年,8月28日
對寄存器IP、IE、TCON、TMOD的相應位進行正確設置,將計數(shù)初值送入定時器中。(3)程序設計
中斷服務程序除產(chǎn)生方波外,還要注意將計數(shù)初值重新裝入定時器中,為下一次中斷作準備。參考程序:
ORG0000HRESET:AJMPMAIN;轉(zhuǎn)主程序
ORG000BH;T0的中斷入口
AJMPIT0P ;轉(zhuǎn)T0中斷處理程序IT0P
ORG0100HMAIN:MOVSP,#60H;設堆棧指針
MOVTMOD,#01H ;設置T0為方式1
第三十四頁,共六十四頁,2022年,8月28日
ACALLPT0M0 ;調(diào)用子程序PT0M0HERE:AJMPHERE ;自身跳轉(zhuǎn)PT0M0:MOVTL0,#0CH ;
MOVTH0,#0FEHSETBTR0 ;啟動T0SETBET0 ;允許T0中斷
SETBEA;CPU開中斷
RETITOP:MOVTL0,#0CH;T0中斷服務子程序,T0置初值
MOVTH0,#0FEHCPLP1.0;P1.0的狀態(tài)取反
RETI第三十五頁,共六十四頁,2022年,8月28日
查詢方式的參考程序:
MOVTMOD,#01H;設置T0為方式1
SETBTR0;接通T0LOOP:MOVTH0,#0FEH;T0置初值
MOVTL0,#0CHLOOP1:JNBTF0,LOOP1;查詢TF0標志 CLRTF0;T0溢出,清TF0 CPLP1.0;P1.0的狀態(tài)求反
SJMPLOOP第三十六頁,共六十四頁,2022年,8月28日第三十七頁,共六十四頁,2022年,8月28日例假設系統(tǒng)時鐘為6MHz,編寫定時器T0產(chǎn)生1秒定時的程序。(1)T0工作方式的確定定時時間較長,采用哪一種工作方式?由各種工作方式的特性,可計算出:
方式0最長可定時16.384ms;
方式1最長可定時131.072ms;
方式2最長可定時512s。選方式1,每隔100ms中斷一次,中斷10次為1s第三十八頁,共六十四頁,2022年,8月28日(2)計算計數(shù)初值因為:(216-X)×2×10-6=10-1
所以:X=15536=3CB0H
因此:TH0=3CH,TL0=0B0H(3)10次計數(shù)的實現(xiàn)采用循環(huán)程序法。(4)程序設計參考程序:
第三十九頁,共六十四頁,2022年,8月28日
ORG0000HRESET:LJMPMAIN ;上電,轉(zhuǎn)主程序入口MAIN
ORG000BH
;T0的中斷入口
LJMPIT0P ;轉(zhuǎn)T0中斷處理程序IT0P
ORG1000H
MAIN:MOVSP,#60H ;設堆棧指針
MOVB,#0AH;設循環(huán)次數(shù)10次
MOVTMOD,#01H;設T0工作在方式1
MOVTL0,#0B0H;給T0設初值
MOVTH0,#3CH
第四十頁,共六十四頁,2022年,8月28日
SETBTR0 ;啟動T0SETBET0;允許T0中斷
SETBEA;CPU開放中斷
HERE:SJMPHERE;等待中斷
ITOP:MOVTL0,#0B0H;T0中斷子程序,重裝初值
MOVTH0,#3CH;
DJNZB,LOOPCLRTR0;1s定時時間到,停止T0工作
LOOP:RETI第四十一頁,共六十四頁,2022年,8月28日2、方式2的應用
省去程序中重裝初值的指令,并可產(chǎn)生相當精確的定時時間。
例當T0(P3.4)引腳上發(fā)生負跳變時,從P1.0引腳上輸出一個周期為1ms的方波,如圖所示。(系統(tǒng)時鐘為6MHz)
第四十二頁,共六十四頁,2022年,8月28日(1)工作方式選擇
T0為方式1計數(shù),初值0FFFFH,即外部計數(shù)輸入端T0(P3.4)發(fā)生一次負跳變時,T0加1且溢出,溢出標志TF0置“1”,發(fā)中斷請求。在進入T0中斷程序后,把F0標志置“1”,說明T0腳已接收了負跳變信號。
T1定義為方式2定時。在T0腳發(fā)生一次負跳變后,第四十三頁,共六十四頁,2022年,8月28日
啟動T1每500s產(chǎn)生一次中斷,在中斷服務程序中對P1.0求反,使P1.0產(chǎn)生周期1ms的方波。(2)計算T1初值設T1的初值為X:則(28-X)×2×10-6=5×10-4X=28-250=6=06H(3)程序設計
ORG0000HRESET:LJMPMAIN;復位入口轉(zhuǎn)主程序
ORG000BH JMPIT0P ;轉(zhuǎn)T0中斷服務程序第四十四頁,共六十四頁,2022年,8月28日
ORG001BHLJMPIT1P ;轉(zhuǎn)T1中斷服務程序
ORG0100HMAIN:MOVSP,#60HACALLPT0M2 ;調(diào)用對T0,T1初始化子程序LOOP:MOVC,F0 ;T0產(chǎn)生過中斷了嗎,產(chǎn)生過 ;中斷,則F0=1JNCLOOP ; ;T0沒有產(chǎn)生過中斷,則跳到 ;LOOP,等待T0中斷
SETBTR1 ;啟動T1SETBET1 ;允許T1中斷HERE:AJMPHERE第四十五頁,共六十四頁,2022年,8月28日
PT0M2:MOVTMOD,#25H ;初始化,T1為方式2定 ;時,T0為方式1計數(shù)
MOVTL0,#0FFH ;T0置初值
MOVTH0,#0FFHSETBTR0 ;啟動T0SETBET0 ;允許T0中斷
MOVTL1,#06H ;T1置初值
MOVTH1,#06HCLRF0 ;把T0已發(fā)生中斷標志F0清0SETBEA RET第四十六頁,共六十四頁,2022年,8月28日IT0P:CLRTR0;T0中斷服務程序,停止T0計數(shù)
SETBF0;建立產(chǎn)生中斷標志
RETIIT1P:CPLP1.0;T1中斷服務,P1.0位取反
RETI
在T1定時中斷服務程序IT1P中,省去了T1中斷服務程序中重新裝入初值06H的指令。第四十七頁,共六十四頁,2022年,8月28日
例利用T1的方式2對外部信號計數(shù),要求每計滿100個數(shù),將P1.0取反。
本例是方式2計數(shù)模式的應用。(1)選擇工作方式
外部信號由T1(P3.5)腳輸入,每發(fā)生一次負跳變計數(shù)器加1,每輸入100個脈沖,計數(shù)器產(chǎn)生溢出中斷,在中斷服務程序中將P1.0取反一次。
T1方式2的控制字為TMOD=60H。不使用T0時,TMOD的低4位可任取,但不能使T0進入方式3,這里取全0。(2)計算T1的初值
X=28-100=156=9CH
因此,TL1的初值為9CH,重裝初值寄存器TH1=9CH第四十八頁,共六十四頁,2022年,8月28日(3)程序設計
ORG0000H LJMPMAIN
ORG001BH ;T1中斷服務程序入口
CPLP1.0 ;P1.0位取反
RETI
ORG0100HMAIN: MOVTMOD,#60H;設T1為方式2計數(shù)
MOVTL0,#9CH;T0置初值
MOVTH0,#9CH SETBTR1;啟動T1SETBET1SETBEAHERE: AJMPHERE第四十九頁,共六十四頁,2022年,8月28日第五十頁,共六十四頁,2022年,8月28日第五十一頁,共六十四頁,2022年,8月28日第五十二頁,共六十四頁,2022年,8月28日第五十三頁,共六十四頁,2022年,8月28日5、門控制位GATE的應用—測量脈沖寬度
GATEx可使定時器/計數(shù)器Tx的啟動計數(shù)受/INTx的控制,可測量引腳/INTx(P3.2P3.3)上正脈沖的寬度(機器周期數(shù))。第五十四頁,共六十四頁,2022年,8月28日待測脈沖信號接與哪個引腳?(/INT0引腳、
T0引腳)設定T0為定時方式還是計數(shù)方式?幾位?設初值TH0、TL0為多少?
何時置位TR0?何時讀取結(jié)果TH0、TL0?若TH0、TL0發(fā)生溢出應如何處理?如何測量負脈沖寬度?測量精度與什么有關(guān)?第五十五頁,共六十四頁,2022年,8月28日參考程序:
ORG0000HRESET:AJMPMAIN;復位入口轉(zhuǎn)主程序
ORG0100HMAIN:MOVSP,#60HMOVTMOD,#90H;T1為方式1定時控制字
MOVTL1,#00HMOVTH1,#00HCLREILOOP0:JBP3.3,LOOP0 ;/INT1高,則循環(huán)
SETBTR1 ;如/INT1為低,啟動T1LOOP1:JNBP3.3,LOOP1 ;等待/INT1變高,開始計數(shù)LOOP2:JBP3.3,LOOP2 ;/INT1高,計數(shù)第五十六頁,共六十四頁,2022年,8月28日
CLRTR1 ;停止T1計數(shù)
MOVA,TL1 ;T1計數(shù)值送A
將A中的T1計數(shù) 值送顯示緩沖區(qū)
轉(zhuǎn)換成顯示的代碼
LOOP3:LCALLDIR ;調(diào)用顯示子程序DIR ;顯示T1計數(shù)值
AJMPLOOP3 ;執(zhí)行程序,使/INT1引腳上出現(xiàn)的正脈沖寬度以機器周期數(shù)的形式顯示在顯示器上。第五十七頁,共六十四頁,2022年,8月28日信號頻率的測量基本原理:定時1s,記錄脈沖個數(shù)。1.待測頻率信號接與哪個引腳?(T0引腳、!INT0引腳)2.設定T0為定時方式還是計數(shù)方式?幾位?3.設初值TH0、TL0為多少?4.何時置位TR0?何時讀取結(jié)果TH0、TL0?5.若TH0、TL0發(fā)生溢出應如何處理?第五十八頁,共六十四頁,2022年,8月28日8.1.3.4定時器/計數(shù)器在應用中應注意的兩個問題1、運行中讀定時器/計數(shù)器在讀取運行中的定時器/計數(shù)器時,需注意:若恰好出現(xiàn)TLX溢出向TH
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物標志物在藥物臨床試驗中的生物標志物策略
- 生物制品穩(wěn)定性試驗文檔規(guī)范與完整性
- 生物制劑失應答后IBD的聯(lián)合治療策略-1
- 生物3D打印器官供應鏈管理策略
- 內(nèi)控主管筆試題及解析
- 深度解析(2026)《GBT 19569-2004潔凈手術(shù)室用空氣調(diào)節(jié)機組》
- 生活方式干預習慣優(yōu)化方案
- 體育產(chǎn)業(yè)資料員招聘面試問題集
- 日化產(chǎn)品銷售數(shù)據(jù)分析技巧面試題
- 深度解析(2026)《GBT 19320-2003小艇 汽油發(fā)動機逆火火焰控制》
- 感術(shù)行動培訓課件
- DB44∕T 2552-2024 藥物臨床試驗倫理審查規(guī)范
- 跨區(qū)域文化協(xié)作-洞察及研究
- 2025 易凱資本中國健康產(chǎn)業(yè)白皮書 -生物制造篇(與茅臺基金聯(lián)合發(fā)布)
- 產(chǎn)業(yè)經(jīng)濟學(蘇東坡版)課后習題及答案
- T/CECS 10227-2022綠色建材評價屋面綠化材料
- 區(qū)域醫(yī)學檢驗中心項目建設方案
- 小學四年級安全教育上冊教學計劃小學四年級安全教育教案
- 個人優(yōu)勢與劣勢分析
- VCR接頭鎖緊工作程序
- 2025閥門裝配工藝規(guī)程
評論
0/150
提交評論