定時(shí)器初值的計(jì)算張宗芳課件_第1頁(yè)
定時(shí)器初值的計(jì)算張宗芳課件_第2頁(yè)
定時(shí)器初值的計(jì)算張宗芳課件_第3頁(yè)
定時(shí)器初值的計(jì)算張宗芳課件_第4頁(yè)
定時(shí)器初值的計(jì)算張宗芳課件_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

定時(shí)器初值的計(jì)算張宗芳第一章單片機(jī)概述定時(shí)器的初值計(jì)算1實(shí)例挑戰(zhàn)23定時(shí)器/計(jì)數(shù)器的工作原理(一)定時(shí)器/計(jì)數(shù)器的工作原理

16位的定時(shí)器/計(jì)數(shù)器實(shí)質(zhì)上是一個(gè)加1計(jì)數(shù)器,其控制電路受軟件控制、切換。

定時(shí)器工作前先裝入初值,利用送數(shù)指令將初值裝入TH0和TL0或TH1和TL1,高位數(shù)裝入TH0和TH1,低位數(shù)裝入TL0和TL1。當(dāng)發(fā)出啟動(dòng)命令后,裝初值寄存器開(kāi)始計(jì)數(shù),連續(xù)加1,每一個(gè)機(jī)器周期加1一次,加到滿值(各位全1)。若再加1,則溢出,同時(shí)將初值寄存器清零。(二)定時(shí)器的初值計(jì)算

1、選擇工作方式,即對(duì)TMOD賦初值。2、給定時(shí)器賦初值,即把初始常數(shù)裝入

TH0TL0或TH1TL1。3、根據(jù)需要設(shè)置中斷控制字。4、啟動(dòng)定時(shí)/計(jì)數(shù)器。設(shè)初值為X,最大計(jì)數(shù)值為M。初值X與機(jī)器周期T機(jī)及定時(shí)時(shí)間T的關(guān)系為

(M?X)T機(jī)=T 其中,T機(jī)=12個(gè)時(shí)鐘周期=12/fosc X=M?T/T機(jī)

初始化步驟(二)定時(shí)器的初值計(jì)算

方式的選擇:根據(jù)M1,M0來(lái)選擇。

00:方式001:方式110:方式211:方式3主要特點(diǎn):方式0:13位定時(shí)器。TH0的8位+TL0的低5位方式1:16位定時(shí)器。TH0的8位+TL0的8位方式2:能重復(fù)置初始值的8位定時(shí)器。TL0和TH0必須賦相同的值。方式3:只適用于定時(shí)器0,T0被拆成兩個(gè)獨(dú)立的8位定時(shí)器TL0,TH0。其中:TL0與方式0、1相同,可定時(shí)或計(jì)數(shù)。用定時(shí)器T0的GATE、C/T、TR0、TF0和INT0控制。TH0只可用作簡(jiǎn)單的內(nèi)部定時(shí)功能。占用T1的控制位TF1、TR1、INT1,啟動(dòng)關(guān)閉僅受TR1控制。對(duì)于不同工作方式,計(jì)數(shù)器位數(shù)不同,故最大計(jì)數(shù)值M也不同:方式0:M=213=8192方式1:M=216=65536方式2:M=28=256方式3:定時(shí)器0分為2個(gè)8位計(jì)數(shù)器,每個(gè)M均為256。因?yàn)槎〞r(shí)/計(jì)數(shù)器是作加1計(jì)數(shù),并在計(jì)滿溢出時(shí)產(chǎn)生中斷,因此初值X的計(jì)算如下:

X=M–計(jì)數(shù)值計(jì)算出來(lái)的結(jié)果X轉(zhuǎn)換為16進(jìn)制數(shù)后分別寫(xiě)入TL0(TL1)、TH0(TH1)。注意!方式0時(shí)初始值寫(xiě)入時(shí),對(duì)于TL不用的高3位應(yīng)填入0?。ǘ┒〞r(shí)器的初值計(jì)算

(二)定時(shí)器的初值計(jì)算

定時(shí)時(shí)間的計(jì)算公式定時(shí)器計(jì)算公式X值與工作方式對(duì)應(yīng)表定時(shí)器工作方式X的值方式013方式116方式28方式38如果系統(tǒng)晶振頻率為12M,可算出機(jī)器周期=問(wèn)題1:13位計(jì)數(shù)器計(jì)滿時(shí),共花了多少時(shí)間?問(wèn)題2:x由誰(shuí)來(lái)決定?機(jī)器周期由誰(shuí)來(lái)決定?重要公式

一般來(lái)說(shuō),使用定時(shí)器時(shí),定時(shí)時(shí)間是已知,機(jī)器周期也是已知的,而且選定時(shí)器的工作方式后,2x也是已知的。所以實(shí)際需確定的是初值,也即真正使用的公式是這個(gè)公式的變形公式:TH0、TL0、TH1、TL1這四個(gè)8位寄存器的使用TH0、TL0是T0定時(shí)器計(jì)數(shù)用的TH1、TL1是T1定時(shí)器計(jì)數(shù)用的(二)定時(shí)器的初值計(jì)算例如:若晶振頻率為6MHz,計(jì)算單片機(jī)的16位定時(shí)器最大定時(shí)時(shí)間?分析:已知fosc=6MHz則:(振蕩周期)1Tc=1/6MHz

(機(jī)器周期)1Tm=12Tc=12/6MHz=2

S

粗略地說(shuō):Tmin

2

S16位定時(shí)器最大數(shù)值為:

216=65536=0FFFFH故選擇方式1工作可以得到:

Tmax=65536

2=131072

S=131.072mS(三)實(shí)例挑戰(zhàn)(三)實(shí)例挑戰(zhàn)

使用T1、工作方式0,實(shí)現(xiàn)1秒延時(shí)函數(shù),晶振頻率為12MHz。方式0采用13位計(jì)數(shù)器,其最大定時(shí)時(shí)間為:8192×1

s=8.192ms,因此,選擇定時(shí)時(shí)間為5ms,再循環(huán)200次。

定時(shí)時(shí)間為5ms,則計(jì)數(shù)值為5ms/1

s=5000,T1的初值為:

X=M-計(jì)數(shù)值=8192-5000=3192=C78H=0110001111000B

13位計(jì)數(shù)器中TL1的高3位未用,填寫(xiě)0,TH1占高8位,所以,X的實(shí)際填寫(xiě)值應(yīng)為:

X=0110001100011000B=6318H舉例1用T1方式0實(shí)現(xiàn)任務(wù)中1秒延時(shí)函數(shù)如下:voiddelay1s(){unsignedchari;TMOD=0x00; //置T1為工作方式0for(i=0;i<200;i++)//設(shè)置200次循環(huán)次數(shù){ TH1=0x63; //設(shè)置定時(shí)器初值

TL1=0x18;TR1=1; //啟動(dòng)T1while(!TF1);//查詢計(jì)數(shù)是否溢出,即定時(shí)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論