單片機(jī)原理及應(yīng)用06第六章MCS-定時(shí)器計(jì)數(shù)器_第1頁(yè)
單片機(jī)原理及應(yīng)用06第六章MCS-定時(shí)器計(jì)數(shù)器_第2頁(yè)
單片機(jī)原理及應(yīng)用06第六章MCS-定時(shí)器計(jì)數(shù)器_第3頁(yè)
單片機(jī)原理及應(yīng)用06第六章MCS-定時(shí)器計(jì)數(shù)器_第4頁(yè)
單片機(jī)原理及應(yīng)用06第六章MCS-定時(shí)器計(jì)數(shù)器_第5頁(yè)
已閱讀5頁(yè),還剩17頁(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)介

1、06第六章 MCS-定時(shí)器/計(jì)數(shù)器6.1 51的定時(shí)/計(jì)數(shù)器6.2 定時(shí)器/計(jì)數(shù)器的工作(gngzu)方式6.3定時(shí)器/計(jì)數(shù)器的應(yīng)用共二十二頁(yè)2個(gè)16位定時(shí)器/計(jì)數(shù)器 (52系列有3個(gè)16位Timer)定時(shí)器:對(duì)片內(nèi)機(jī)器時(shí)鐘(周期方波)進(jìn)行(jnxng)計(jì)數(shù)計(jì)數(shù)器:對(duì)Tx引腳輸入的負(fù)脈沖進(jìn)行計(jì)數(shù)與Timer工作有關(guān)的特殊(tsh)功能寄存器: TCON 和 TMOD6.5.1 定時(shí)/計(jì)數(shù)器概述6.1 51的定時(shí)/計(jì)數(shù)器共二十二頁(yè)Timer的2個(gè)特殊(tsh)功能寄存器(TCON,TMOD)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0一、定時(shí)器控制(kngzh)寄存器TCON

2、(88H)TFx: Timer0/1計(jì)數(shù)溢出標(biāo)志位。 =1 計(jì)數(shù)溢出; =0 計(jì)數(shù)未滿TFx標(biāo)志位 可用于申請(qǐng)中斷或供CPU查詢。 在進(jìn)入中斷服務(wù)程序時(shí)會(huì)自動(dòng)清零;但在 查詢方式時(shí)必須軟件清零。TRx: Timer0/1運(yùn)行控制位。 =1 啟動(dòng)計(jì)數(shù); =0 停止計(jì)數(shù)6.5.2 定時(shí)/計(jì)數(shù)控制共二十二頁(yè)TR0/TR1:Timer0/1運(yùn)行控制(kngzh)位: TR0/TR1 =0 時(shí),Timer0/1停止計(jì)數(shù) TR0/TR1 =1 時(shí),Timer0/1啟動(dòng)計(jì)數(shù)定時(shí)器T0/T1 中斷(zhngdun)申請(qǐng)過(guò)程 在已經(jīng)開(kāi)放T0/T1中斷允許且已被啟動(dòng)的前提下:T0/T1加滿溢出時(shí) TF0/TF1標(biāo)

3、志位自動(dòng)置“1” 檢測(cè)到TCON中TF0/TF1變“1”后,將產(chǎn)生指令: LCALL 000BH/LCALL 001BH 執(zhí)行中斷服務(wù)程序, TF0/TF1標(biāo)志位會(huì)自動(dòng)清“0”,以備下次中斷申請(qǐng)。 定時(shí)/計(jì)數(shù)器可按片內(nèi)機(jī)器周期定時(shí),也可對(duì)由T0/T1引腳輸入一個(gè)負(fù)脈沖進(jìn)行加法計(jì)數(shù)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCON (88H)共二十二頁(yè)GATE C / T M1 M0 GATE C / T M1 M0二、定時(shí)器方式(fngsh)寄存器TMOD (89H)T1T0M1,M0:工作(gngzu)方式定義位 ( 定義4 種方式 ):C/T :計(jì)數(shù)器/定時(shí)器選擇位 =

4、 1 外部事件計(jì)數(shù)器。對(duì)Tx引腳的負(fù)脈沖計(jì)數(shù); = 0 片內(nèi)時(shí)鐘定時(shí)器。對(duì)機(jī)器周期脈沖計(jì)數(shù)定時(shí)0 0:13位 Timer用它無(wú)益,不要記它!0 1:16位 Timer經(jīng)常用到1 0:可自動(dòng)重裝的 8位 Timer經(jīng)常用到1 1:T0 分為2個(gè)8位 Timer;T1 此時(shí)不工作 因?yàn)闆](méi)有帶來(lái)甚麼好處,幾乎無(wú)用共二十二頁(yè)GATE C / T M1 M0 GATE C / T M1 M0T1T0GATE門(mén)控位: Timer可由軟件與硬件(yn jin)兩者控制 GATE = 0 普通用法 Timer的啟/停由軟件對(duì)TRx位寫(xiě)“1”/“0”控制(89H) GATE = 1 門(mén)控用法(yn f) Tim

5、er的啟/停由軟件對(duì)TRx位寫(xiě)“1”/“0” 和在INTx引腳上出現(xiàn)的信號(hào)的高/低共同控制共二十二頁(yè)6.2.1工作(gngzu)方式1INTx端振蕩器12TLx THx (8位) (8位)TFx申請(qǐng)(shnqng)中斷Tx端TRx位GATE位1&C/T=0C/T=1控制 =1開(kāi)關(guān)接通或門(mén)與門(mén)6.2 定時(shí)器的工作方式及 應(yīng)用一、工作方式1的結(jié)構(gòu)圖共二十二頁(yè) THx/TLx賦初值:THx賦高8位,TLx賦低8位二、工作(gngzu)方式1 的編程要點(diǎn): TMOD選方式(fngsh): 寫(xiě)“M1,M0”=01 b 選方式1 若不用門(mén)控位,直接用軟件寫(xiě)TRx控制啟/停 若使用門(mén)控位,先置位TRx,然后

6、由INTx端 的高/低電平來(lái)控制其啟/停 若要允許中斷,還須先置位ETx、EA等中斷 允許控制位,并編寫(xiě)中斷服務(wù)程序 若不用中斷,可查詢“計(jì)數(shù)溢出標(biāo)志TFx” 的方式工作,但溢出標(biāo)志TFx須軟件清0共二十二頁(yè)分析:已知fosc = 6MHz 則: (振蕩周期)1Tc=1/6MHz (機(jī)器周期)1Tm=12Tc=12/6MHz=2S 粗略地說(shuō):Tmin 2S 16位定時(shí)器最大數(shù)值(shz)為:216=65536=0FFFFH+1 故選擇方式 1 工作可以得到: Tmax = 655362 = 131072S131.072mS若晶振頻率為6MHz,計(jì)算單片機(jī)的最小與最大定時(shí)(dn sh)時(shí)間:例1

7、共二十二頁(yè)分析:已知fosc = 6MHz 則: (機(jī)器周期)1Tm=12Tc=12/6MHz=2S 100mS2 S = 50000 16位定時(shí)器最大數(shù)值為: 216 = 65536 (=0FFFFH+1) 故選擇(xunz)方式1工作可以滿足要求。計(jì)算初值:6553650000=15536=3CB0H要求(yoqi)對(duì)T0產(chǎn)生100mS定時(shí)進(jìn)行初始化。(晶振=6MHz)例2共二十二頁(yè)GATE C / T M1 M0 GATE C / T M1 M0由分析得知(d zh):T0選擇方式1,初值=3CB0H X X X X 0 0 0 1初始化:MOV TMOD,#01H ;選 T0 方式 1

8、 MOV TH0, #3CH ;賦初值高8位 MOV TL0, #0B0H ;賦初值低8位 SETB TR0 ;啟動(dòng) T0定時(shí)若需要定時(shí)器0產(chǎn)生中斷還應(yīng)當(dāng)寫(xiě)如下語(yǔ)句: SETB ET0 ;開(kāi)T0中斷允許(ynx) SETB EA ;開(kāi)總中斷允許以及相應(yīng)的中斷服務(wù)程序。共二十二頁(yè)6.2.2工作(gngzu)方式2振蕩器12TLx (8位)TFx申請(qǐng)(shnqng)中斷Tx端TRx位GATE位INTx端1&C/T=0C/T=1控制 =1開(kāi)關(guān)接通或門(mén)與門(mén)THx (8位)溢出位門(mén)開(kāi)一、工作方式2的結(jié)構(gòu)圖共二十二頁(yè) THx/TLx賦相同初值 在TLx計(jì)數(shù)達(dá)到0FFH 再加“1”時(shí),TL0 將溢出,進(jìn)位位

9、直接進(jìn)入“TFx”去申請(qǐng) 中斷(zhngdun),同時(shí)打開(kāi)三態(tài)門(mén),使THx中的值 自動(dòng)重裝(Copy)進(jìn)TLx二、工作(gngzu)方式 2 的編程 TMOD寄存器選方式: 寫(xiě)“M1,M0” = 10 b 選中方式2 其他用法與各種方式1完全相同共二十二頁(yè)分析:fosc = 6MHz 1機(jī)器周期 = 2 S 1KHz方波周期 = 1 mS 半個(gè)方波周期 =500S 500uS2 uS = 250 若選擇方式2 工作,8位定時(shí)器最大數(shù)值為: 28 =256 =0FFH + 1 可以(ky)滿足要求。計(jì)算初值:256250=6從P1.0 腳輸出(shch)頻率=1KHz方波。設(shè):晶振=6MHz。利

10、用T1定時(shí)中斷。Th:半周期T:周期例3共二十二頁(yè) ORG 0000H AJMP MAIN ORG 001BH ;T1的中斷矢量 CPL P1.0 ;中斷服務(wù):P1.0取非 RETI ;中斷返回(fnhu)MAIN: MOV TMOD,#20H MOV TH0, #6 MOV TL0, #6 SETB ET1 SETB EA SETB TR1 HERE: AJMP HERE ;原地等待中斷 END初始化;選T1方式2;賦重裝(zhn zhun)值;賦初值;開(kāi)T1中斷;開(kāi)總中斷;啟動(dòng)T1共二十二頁(yè)T0: 組織成TL0和TH0兩個(gè)(lin )8位定時(shí)/計(jì)數(shù)器6.2.3 Timer工作(gngzu)

11、方式 3T1: 不再是定時(shí)/計(jì)數(shù)器了 T1 的TR1和TF1出借給TH0當(dāng)控制位使用, 剩下的TH1/TL1寄存器只能當(dāng)作普通寄存 器用。共二十二頁(yè)振蕩器12TL0 (8位)TF0申請(qǐng)(shnqng)中斷T0端TR0位GATE位INT0端1&C/T=0C/T=1控制 =1開(kāi)關(guān)(kigun)接通或門(mén)與門(mén)TH0 (8位)TF1申請(qǐng)中斷TR1位控制 =1一、Timer工作方式 3 結(jié)構(gòu):T0成為雙 8位Timer T1不再有Timer功能 TF1,TR1出借給TH0 共二十二頁(yè)例3長(zhǎng)定時(shí)(dn sh)舉例(設(shè)晶振=6MHz,要定時(shí)1秒): ORG 0000H ; AJMP MAIN ORG 001B

12、H AJMP TINT ;見(jiàn)下一頁(yè)MAIN: MOV TMOD,#10H ;選T1方式1 MOV TH1, #3CH ;賦初值3CB0H=15536(只能定100mS) MOV TL1,#0B0H MOV 30H,#10 ;軟件計(jì)數(shù)單元30H 初值=10 CLR F0 ;芯片復(fù)位時(shí)已經(jīng)是“0”,此句可有可無(wú)(k yu k w) SETB ET1 ;開(kāi)T1中斷 SETB EA ;開(kāi)總中斷 SETB TR1 ;啟動(dòng)T1 HERE: JBC F0,TIMEUP ;原地等待“1秒到”的標(biāo)志 F0 AJMP HERETIMEUP:(do something) ;定時(shí)1秒到了以后要做的事情 AJMP HE

13、RE中斷服務(wù)在主程序中6.3定時(shí)器/計(jì)數(shù)器的應(yīng)用共二十二頁(yè)長(zhǎng)定時(shí)(dn sh)舉例(續(xù)): ORG 0000H AJMP MAIN ORG 001BH AJMP TINTMAIN: TINT:DJNZ 30H,RTN ;若中斷不到10次就返回 SETB F0 ;已經(jīng)中斷夠10次了“置1”標(biāo)志位 MOV 30H,#10 ;為下一個(gè)(y )1秒定時(shí)做準(zhǔn)備RTN: MOV TH1,#3CH ;再賦定時(shí)100mS的初值3CB0HMOV TL1,#0B0H RETI ;中斷返回 END共二十二頁(yè)將此例的中斷服務(wù)(fw)改寫(xiě)在中斷服務(wù)(fw)程序中: ORG 0000H AJMP MAIN ORG 001

14、BH AJMP TINT ;見(jiàn)下一頁(yè)MAIN: MOV TMOD,#10H ;選T1方式1 MOV TH1,#3CH ;賦初值3CB0H=15536(只能定100mS) MOV TL1,#0B0H MOV 30H,#10 ;軟件計(jì)數(shù)單元30H 初值=10 CLR F0 ;芯片(xn pin)復(fù)位時(shí)已經(jīng)是“0”,此句可有可無(wú) SETB ET1 ;開(kāi)T1中斷 SETB EA ;開(kāi)總中斷 SETB TR1 ;啟動(dòng)T1 HERE: AJMP HERE ;原地等待中斷共二十二頁(yè)長(zhǎng)定時(shí)(dn sh)舉例(續(xù)): ORG 0000H AJMP MAIN ORG 001BH AJMP TINTMAIN: TINT:DJNZ 30H,RTN ;若中斷不到(b do)10次就返回 MOV 30H,#10 ;為下一個(gè)1秒定時(shí)做準(zhǔn)備(do something);定時(shí)1秒到了以后要做的事情)RTN: MOV TH1,#3CH ;再賦初值MOV TL1,#0B0H RETI ;中斷返回 END中斷服務(wù)共二十二頁(yè)內(nèi)容摘要06第六章 MCS-定時(shí)器/計(jì)數(shù)器。06第六章 MCS-定時(shí)器/計(jì)數(shù)器。6.1 51的定時(shí)/計(jì)數(shù)器。(52系列

溫馨提示

  • 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)論