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

下載本文檔

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

文檔簡介

第6章定時器/計數(shù)器T0和T1的電路結(jié)構(gòu)和工作原理基本相同Ti的工作原理簡要概括:核心部分是一個由時鐘信號觸發(fā)的按遞增規(guī)律工作的循環(huán)計數(shù)器;從預(yù)先設(shè)定的某一“初始值”開始計起,在累積到超過最大值時產(chǎn)生溢出,并同時會建立一個相應(yīng)的溢出標(biāo)志(即中斷標(biāo)志位)TFi。6.1定時器/計數(shù)器T0和T1的特性

定時器/計數(shù)器的核心:一個加1計數(shù)器,其基本功能是加1計數(shù)。計數(shù)功能:若是對單片機的T0、T1引腳輸入信號進行計數(shù),即是計數(shù)功能。當(dāng)外部輸入信號由1至0跳變時,計數(shù)器加1。定時功能:若是對單片機內(nèi)部的機器周期進行計數(shù),從而得到定時,這就是定時功能。每個機器周期(等于12個晶體振蕩周期)計數(shù)器加1。定時功能和計數(shù)功能的設(shè)定和控制都是通過軟件來設(shè)定的。6.1定時器/計數(shù)器T0和T1的特性

具有以下特性:具有2種功能模式可供選擇具有4種工作方式可供選擇核心是一個16位寬的循環(huán)累加計數(shù)寄存器計數(shù)寄存器在SFR內(nèi)統(tǒng)一編址用軟件方式可以隨時直接讀出或改寫計數(shù)寄存器的內(nèi)容用軟件方式可以隨時控制累加計數(shù)的開啟和停止6.1定時器/計數(shù)器T0和T1的特性

具有以下特性:也可以用外接引腳信號控制累加計數(shù)過程的開啟或停止計數(shù)寄存器計滿溢出時,產(chǎn)生中斷標(biāo)志位T1可用作異步串行接口UART的波特率發(fā)生器通過巧妙編程,還可用來實現(xiàn)輸入捕捉、輸出比較、脈寬調(diào)制等擴展功能。5.1定時器/計數(shù)器T0和T1的特性

5.3定時器/計數(shù)器電路結(jié)構(gòu)T0、T1的內(nèi)部結(jié)構(gòu)框圖5.1定時器的結(jié)構(gòu)及工作原理定時/計數(shù)器對輸入信號的要求外部計數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24,例如選用12MHz頻率的晶體,則可輸入500KHz的外部脈沖。輸入信號的高、低電平至少要分別保持一個機器周期。 如圖所示,圖中Tcy為機器周期。與T0和T1模塊有關(guān)的SFR共有8個定時器控制寄存器TCON定時器方式寄存器TMOD中斷允許寄存器IE中斷優(yōu)先權(quán)管理寄存器IP累加計數(shù)器存器TH0+TL0、TH1+TL15.2T0和T1相關(guān)的寄存器

方式寄存器TMOD

GATE=1,T0、T1的啟動由INTi引腳和TRi位共同控制。只有INTi為高電平時,TRi置“1”才能啟動定時器/計數(shù)器。GATE=0,T0、T1由軟件設(shè)置TRi來控制啟動。TRi=1,啟動;TRi=0,停止。定時器/計數(shù)器的工作方式

TMOD用于控制T0和T1工作方式,低4位用于控制T0,高4位用于控制T1。M1M0:工作方式控制位,對應(yīng)4種工作方式。C/T:定時器/計數(shù)器功能方式選擇位??刂萍拇嫫鱐CON

控制寄存器TCON

TCON用于控制定時器/計數(shù)器的啟、停、溢出標(biāo)志和外部中斷信號觸發(fā)方式。TFi:T0、T1溢出位。當(dāng)計數(shù)溢出時,由硬件自動使TFi置1,并向CPU申請中斷。進入中斷服務(wù)程序后,TFi又被硬件自動清0。TFi也可作為程序查詢的標(biāo)志位,在查詢方式下由軟件清0。TRi:T0、T1運行控制位。TRi=1啟動計數(shù),TRi=0,停止工作。5.4定時器/計數(shù)器的工作方式及應(yīng)用每一種工作方式對應(yīng)最大計數(shù)值:

方式0 13位計數(shù)器213=8192

方式1 16位計數(shù)器 216=65536

方式2 8位計數(shù)器 28=256

方式3 8位計數(shù)器 28=256T0優(yōu)于T1的方面:多一種工作方式T1優(yōu)于T0的方面:可以作為串口的波特率發(fā)生器MCS-51的定時器T0有4種工作方式: 即:方式0,方式1,方式2,方式3。MCS-51的定時器T1有3種工作方式: 即:方式0,方式1,方式2。5.3定時器的工作方式5.3.2方式1

M1、M0=01,為16位的計數(shù)器,除位數(shù)外,其他與方式0相同。其定時時間為:

(216-初值)×振蕩周期×12

例如:若晶振頻率為12MHz,則最長的定時時間為

(216-0)×(1/12)×12us=65.536ms5.3定時器的工作方式——方式15.3.3方式2

M1、M0=10,為自動恢復(fù)初值的8位計數(shù)器,等效框圖如下:TLx作為8位計數(shù)器,THx作為重置初值的緩沖器。5.3定時器的工作方式——方式2

THx作為常數(shù)緩沖器,當(dāng)TLx計數(shù)溢出時,在置“1”溢出標(biāo)志TFx的同時,還自動的將THx中的初值送至TLx,使TLx從初值開始重新計數(shù)。定時器/計數(shù)器的方式2工作過程如圖(x=0,1)。優(yōu)點:

方式0和方式1用于循環(huán)重復(fù)定時或計數(shù)時,在每次計數(shù)器擠滿溢出后,計數(shù)器復(fù)0。若要進行新一輪的計數(shù),就得重新裝入計數(shù)初值。這樣一來不僅造成編程麻煩,而且影響定時精度。而方式2具有初值自動裝入的功能,避免了這個缺點,可實現(xiàn)精確的定時。缺點: 只有8位計數(shù)器,定時時間短、計數(shù)范圍小。其定時時間為:

(28-初值)×振蕩周期×12若晶振頻率為12MHz,則最長的定時時間為(28-0)×(1/12)×12us=0.256ms5.3定時器的工作方式——方式2方式2工作過程圖

(x=0,1)。5.3.4方式3

只適用于定時器/計數(shù)器T0。T1不能工作在方式3。 如果將T1置為方式3,則相當(dāng)于TR1=0,停止計數(shù)(此時T1可用來作串行口波特率產(chǎn)生器)。1.工作方式3下的T0

T0在方式3時被拆成兩個獨立的8位計數(shù)器:TH0和TL0。

8位計數(shù)器TL0使用T0的狀態(tài)控制位C/T*、GATE、TR0、INT0,它既可以工作在定時方式,也可以工作在計數(shù)方式。8位定時器TH0被固定為一個8位定時器(不能作外部計數(shù)模式),并使用定時器T1的狀態(tài)控制位TR1,同時占用定時器T1的中斷請求源TF1。此時,定時器TH0的啟動或停止只受TR1控制。

TR1=1時,啟動TH0的計數(shù);TR1=0時,停止TH0的計數(shù)5.3定時器的工作方式——方式32.T0工作在方式3下T1的各種工作方式注意:當(dāng)T0處于方式3時,T1仍可設(shè)置為方式0、方式1和方式2。當(dāng)時由于TR1、TF1和T1的中斷源都已被定時器T0(中的TH0)占用,所以定時器T1僅有控制位C/T來決定其工作在定時方式或計數(shù)方式。當(dāng)計數(shù)器計滿溢出時,不能置位“TF1”,而只能將輸出送往串口。所以,此時定時器T1一般用作串口的波特率發(fā)生器,或不需要中斷的場合。

(1)T1工作在方式05.3定時器的工作方式第5章定時器/計數(shù)器及其應(yīng)用5.4定時器的編程和應(yīng)用5.4定時器的編程和應(yīng)用編程說明MCS-51單片機的定時器是可編程的,但在進行定時或計數(shù)之前要對程序進行初始化,具體步驟如下:(1)確定工作方式字:對TMOD寄存器正確賦值;(2)確定定時初值:計算初值,直接將初值寫入寄存器的TH0、TL0或TH1、TL1; 初值計算:設(shè)計數(shù)器的最大值為M,則置入的初值X為: 計數(shù)方式:X=M-計數(shù)值 定時方式:由(M-X)T=定時值,得X=M-定時值/T T為計數(shù)周期,是單片機的機器周期。 (模式0M為213,模式1M為216,模式2和3M為28)(3)根據(jù)需要,對IE置初值,開放定時器中斷;(4)啟動定時/計數(shù)器,對TCON寄存器中的TR0或TR1置位,置位以后,計數(shù)器即按規(guī)定的工作模式和初值進行計數(shù)或開始定時。定時初值:

對機器周期進行計數(shù)。T:定時時間,X:初值,N:計數(shù)器位數(shù),fosc:系統(tǒng)時鐘頻率,則:(2N-X)×12/fosc=TX=2N-fosc/12×T計數(shù)初值:

對外部脈沖進行計數(shù),計數(shù)值根據(jù)要求確定。N:計數(shù)器位數(shù),X:初值,則:

X=2N-計數(shù)值5.4定時器的編程和應(yīng)用

例5-1

要在P1.0上輸出一個周期為2ms的方波,假設(shè)系統(tǒng)振蕩頻率采用12MHz。

利用T0方式0產(chǎn)生1ms的定時

方波的周期用T0來確定,讓T0每隔1ms計數(shù)溢出1次,即TF0=1;查詢到TF0=1則CPU對P1.0取反。即要使P1.0每隔1ms取反一次。5.4定時器/計數(shù)器的工作方式及應(yīng)用每一種工作方式對應(yīng)最大計數(shù)值:

方式0 13位計數(shù)器213=8192

方式1 16位計數(shù)器 216=65536

方式2 8位計數(shù)器 28=256

方式3 8位計數(shù)器 28=256T0優(yōu)于T1的方面:多一種工作方式T1優(yōu)于T0的方面:可以作為串口的波特率發(fā)生器5.4定時器的編程和應(yīng)用第一步:確定工作方式字 方式0(13位)最長可定時8.192ms;

方式1(16位)最長可定時65.536ms;

方式2(8位)最長可定時256s。T0為方式0,M1M0=00定時工作狀態(tài),C/T=0GATE=0,不受INT0控制,T1不用全部取“0”值。故TMOD=00H5.4定時器的編程和應(yīng)用第二步:計算1ms定時的初值X

設(shè)初值為X,則有: (213-X)×12×10-6×1/12=1×10-3

可求得:X=8192-1000=7192 X化為16進制,即X=1C18H=1,1100,000

1,1000B。 所以,T0的初值為:

TH0=E0HTL0=18HTH011100000TL0×

×

×

11000第三步:程序設(shè)計

采用查詢TF0的狀態(tài)來控制P1.0的輸出,同時要重新裝入初值。5.4定時器的編程和應(yīng)用

參考程序:

ORG 0100HMAIN: MOV TMOD,#00H ;設(shè)置T0為方式0 MOV TL0, #18H ;送計數(shù)初值

MOV TH0, #0E0H ;送計數(shù)初值

SETB TR0 ;啟動T0LOOP: JBC TF0, NEXT;查詢定時時間到,轉(zhuǎn)NEXT,同時清TF0

SJMP LOOP ;重復(fù)循環(huán)NEXT:

MOV TL0,#18H

;T0重置初值

MOV TH0,#0E0H;T0重置初值

CPL P1.0

;P1.0的狀態(tài)取反

SJMP LOOP ;重復(fù)循環(huán)

END改為中斷方式(程序現(xiàn)編)ORG0000HLJMPmainORG000BHLJMPNEXTORG 0100HMAIN: MOV TMOD,#00H ;設(shè)置T0為方式0 MOV TL0, #18H ;送計數(shù)初值

MOV TH0, #0E0H ;送計數(shù)初值

SETBET0SETBEA SETB TR0 ;啟動T0SJMP$NEXT:

MOV TL0,#18H

;T0重置初值

MOV TH0,#0E0H;T0重置初值

CPL P1.0

;P1.0的狀態(tài)取反

RETI ;重復(fù)循環(huán)

ENDGATE門可使定時器Tx(T0或T1)的啟動計數(shù)受INTx*的控制,可測量引腳INTx*(P3.2或P3.3)上正脈沖的寬度(機器周期數(shù))。以T1為例:門控制位GATE的應(yīng)用—測量脈沖寬度回顧當(dāng)GATE=1時,K=TRx·INTxK利用GATE測試外部輸入脈沖寬度

GATE=0時,定時器的啟動只受TRi位控制。GATE=1時,定時器的啟動將受TRi位和外部中斷信號INTi的共同控制。只有當(dāng)INTi=1,同時TRi=1時才能啟動計數(shù);INTi=0時停止計數(shù)。換一個角度看,當(dāng)GATE=1時,定時器實際記錄的時間就是相應(yīng)INTi引腳上高電平的持續(xù)時間。通過反相器,則可測得相應(yīng)INTi引腳上低電平的持續(xù)時間。二個時間的和即為INTi引腳上輸入波形的周期,其倒數(shù)即為INTi引腳上輸入波形的頻率。還可算出占空比等參數(shù)。測試原理:以T0為例

GATE=1TR0=1例5-4利用T1門控位GATE測試INT1*(P3.3)引腳上出現(xiàn)的

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論