版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第4章MCS-51單片機(jī)的定時/計(jì)數(shù)器原理及應(yīng)用4.1MCS-51的定時/計(jì)數(shù)器概述4.2定時/計(jì)數(shù)器的四種工作模式4.3MCS-51對定時/計(jì)數(shù)器的控制4.4定時計(jì)數(shù)器的初始化4.5定時器應(yīng)用舉例(方式1)4.6定時器門控位GATE的應(yīng)用編輯ppt8031/8051內(nèi)部帶有兩個16位的定時/計(jì)數(shù)器
8032/8052內(nèi)部帶有三個16位的定時/計(jì)數(shù)器(1)是一個二進(jìn)制的加法計(jì)數(shù)器,當(dāng)計(jì)數(shù)器計(jì)滿回零時刻自動產(chǎn)生溢出中斷請求;(2)既可以用作定時器,也可用作計(jì)數(shù)器;(3)有四種工作模式:模式0、模式1、模式2和模式3;(4)定時時間和計(jì)數(shù)值均可通過程序設(shè)定,最大值與工作模式和單片機(jī)的時鐘頻率有關(guān);(5)它是硬件延時邏輯電路,與軟件延時相比,可以提高CPU的工作效率。4.1MCS-51的定時/計(jì)數(shù)器概述4.1.1定時/計(jì)數(shù)器的特點(diǎn)編輯ppt 1、定時——產(chǎn)生一個標(biāo)準(zhǔn)的時間間隔例如單片機(jī)使用這種方式可以產(chǎn)生一個符合某一要求的脈沖方波(如下圖)。50mS100mSMCS-51Px.y輸出波形4.1.2定時/計(jì)數(shù)器的應(yīng)用4.1MCS-51的定時/計(jì)數(shù)器概述編輯ppt
2、計(jì)數(shù)——對外部的事件(脈沖)進(jìn)行統(tǒng)計(jì) 外部事件的發(fā)生是隨機(jī)的,單片機(jī)不可能預(yù)知外部事件何時發(fā)生,但可以進(jìn)行統(tǒng)計(jì)(計(jì)數(shù))。當(dāng)達(dá)到所要求的計(jì)數(shù)值時,單片機(jī)進(jìn)行相應(yīng)的操作。MCS-51T0(T1)端口外部脈沖外部設(shè)備4.1MCS-51的定時/計(jì)數(shù)器概述編輯ppt單片機(jī)檢測產(chǎn)品數(shù)量示意圖P0口
MCS-51T0紅外線掃描發(fā)射器紅外線接收電路產(chǎn)品包裝控制器產(chǎn)品生產(chǎn)線產(chǎn)品傳送帶4.1MCS-51的定時/計(jì)數(shù)器概述編輯ppt4.2定時/計(jì)數(shù)器的四種工作模式4.2.1模式0——13位計(jì)數(shù)器模式在某一個初值的基礎(chǔ)上加1計(jì)數(shù),當(dāng)計(jì)數(shù)器計(jì)滿為全“1”,再來一個計(jì)數(shù)脈沖時,就產(chǎn)生一個“溢出中斷信號”TFi=1。高三位棄用圖1T1方式0控制邏輯問題:(1)如何控制是定時還是計(jì)數(shù)?(2)如何控制定時/計(jì)數(shù)的長短?(3)如何啟動定時/計(jì)數(shù)器工作?P3口第2功能振蕩器1/12(低5位)TF1中斷啟動控制T1引腳TR1GATEINT1引腳C/T=0C/T=113位加1計(jì)數(shù)器TH1(高8位)溢出中斷信號TL1編輯ppt(1)C/T:計(jì)數(shù)器輸入脈沖選擇開關(guān)(2)寄存器初值:該參數(shù)決定著定時或計(jì)數(shù)的周期。(3)TR、GATE、INT1控制定時/計(jì)數(shù)器的啟動:
GATE=0時,
TR1=1開始工作;TR1=0:計(jì)數(shù)器T1停止計(jì)數(shù);
GATE=1時(門控方式),TR=1且/INT1=1時開始工作。此種方式主要用于測量加在INT1腳上一個正脈沖的脈寬。(4)TF=1:計(jì)數(shù)或定時時間到,可采用查詢或中斷方式處理4.2定時/計(jì)數(shù)器的四種工作模式振蕩器1/12(低5位)TF1中斷啟動控制T1引腳TR1GATEINT1引腳C/T=0C/T=113位加1計(jì)數(shù)器TH1(高8位)溢出中斷信號TL1編輯ppt計(jì)數(shù)值C=213-初值定時時間T=(213-初值)×Tosc×124.2定時/計(jì)數(shù)器的四種工作模式振蕩器1/12(低5位)TF1中斷啟動控制T1引腳TR1GATEINT1引腳C/T=0C/T=113位加1計(jì)數(shù)器TH1(高8位)溢出中斷信號TL1【注】
C/T、TR、GATE均可通過定時器控制寄存器設(shè)置4.2.1模式0——13位計(jì)數(shù)器模式返回編輯ppt4.2.2模式1——16位計(jì)數(shù)器模式(以T1為例)定時時間=(216-初值)×Tosc×124.2定時/計(jì)數(shù)器的四種工作模式返回振蕩器1/12(低8位)TF1中斷啟動控制T1引腳TR1GATEINT1引腳C/T=0C/T=116位加1計(jì)數(shù)器TH1(高8位)溢出中斷信號TL1編輯ppt由TL1做計(jì)數(shù)器,TH1做初值寄存器,工作前TL1、TH1分別預(yù)置相同的初值。TL1計(jì)數(shù)時,當(dāng)產(chǎn)生溢出的同時,將TH1中的初值自動重裝TL1。TL1繼續(xù)計(jì)數(shù)……。4.2.3模式2——8位自動重裝初值模式定時時間=(28-TH1初值)×Tosc×124.2定時/計(jì)數(shù)器的四種工作模式振蕩器1/12TF1中斷啟動控制T1引腳TR1GATEINT1引腳C/T=0C/T=18位加1計(jì)數(shù)器TH1(8位)溢出中斷信號TL1(8位)用作串行口波特率發(fā)生器編輯ppt在這種模式中,單片機(jī)將T0和T1重新進(jìn)行“拆分、組合”,將T0變?yōu)橛蒚H0和TL0組成的兩個獨(dú)立的8位定時/計(jì)數(shù)器。4.2.4模式3——組合擴(kuò)展模式(僅適用于T0)4.2定時/計(jì)數(shù)器的四種工作模式振蕩器1/12TF0中斷啟動控制T0引腳TR0GATEINT0引腳C/T=0C/T=18位加1計(jì)數(shù)器溢出中斷信號TL0(8位)TR1振蕩器1/12啟動控制TF1中斷8位加1計(jì)數(shù)器溢出中斷信號TH0(8位)模式3時定時器T0的結(jié)構(gòu)圖編輯ppt(1)TH0計(jì)數(shù)脈沖來自內(nèi)部fosc,所以只能處于“定時”方式;(2)TH0分別借用了定時器T1的TR1和TF1為自己服務(wù),使TH0能象TL0那樣用TR1啟動定時,并用TF1來作為TH0的溢出中斷的標(biāo)志;(3)此時,T1缺少了啟動控制信號TR1和溢出標(biāo)志TF1,那么在模式3時,T1是如何啟動和工作?①沒有溢出標(biāo)志TF1,則T1就不去查詢;
②沒有啟動控制信號TR1,可以讓它在模式3之前就啟動工作,并將設(shè)定為自動重裝模式(模式2),作串行口的波特率發(fā)生器。(4)模式3就是將單片機(jī)原有的T0、T1兩個計(jì)數(shù)器變成三個獨(dú)立的計(jì)數(shù)器。其中T1要事先設(shè)定為模式2(串行口的波特率發(fā)生器)并啟動起來。結(jié)構(gòu)圖4.2定時/計(jì)數(shù)器的四種工作模式模式3時T0(TH1、TH2)及T1的特點(diǎn)編輯ppt定時/計(jì)數(shù)器4種模式比較模式計(jì)數(shù)模M最大定時時間Tmax(fosc=12M)模式013位Tmax=8192*1μs
=8.192ms模式116位Tmax=65536*1μs=65.536ms模式2,38位Tmax=256*1μs=0.256ms模式計(jì)數(shù)模M最大計(jì)數(shù)值模式013位Cmax=8192模式116位Cmax=65536模式2,38位Cmax=256
T=(M-TC)×Tosc×12
其中,T:定時時間,Tosc:時鐘周期。C=M-TC其中,C:計(jì)數(shù)值,M:計(jì)數(shù)器的模,TC:計(jì)數(shù)初值
4.2定時/計(jì)數(shù)器的四種工作模式返回編輯pptGATE選通門:
GATE=0時,只要TR=1,計(jì)數(shù)器就開始工作;GATE=1時,只有INT=TR=“1”時,計(jì)數(shù)器工作(用來測量INT腳高電平脈沖的寬度)。C/T計(jì)數(shù)、定時方式選擇位:
C/T=1時,計(jì)數(shù)方式。C/T=0時:定時方式。M1、M0模式選擇:確定四種工作模式.GATEC/TM1M0GATEC/TM1M0T1T01、模式控制寄存器TMOD(SFR的地址:89H)結(jié)構(gòu)圖4.3MCS-51對定時/計(jì)數(shù)器的控制MCS51通過控制寄存器TMOD和TCON實(shí)現(xiàn)對T0、T1的控制返回編輯pptM1M0工作模式00模式0:13位計(jì)數(shù)器模式01模式1:16位計(jì)數(shù)器模式10模式2:8位自動重裝模式11模式3:TH0、TL0和T1各自獨(dú)立(3T)模式0、模式1:區(qū)別僅在于長度為13位和16位;模式2:常用于單片機(jī)串行通訊時作“波特率”發(fā)生器。模式3:僅T0可以工作于該模式4.3MCS-51對定時/計(jì)數(shù)器的控制GATEC/TM1M0GATEC/TM1M0T1T04.3.1模式控制寄存器TMOD(SFR的地址:89H)編輯pptTF0定時器T0的溢出標(biāo)志:計(jì)數(shù)器溢出時硬件自動置位,即TF0=1。進(jìn)入中斷后硬件自動清除(TF0=0),若是查詢方式則可由軟件清除;TR0計(jì)數(shù)器T0的控制位:由軟件設(shè)定:TR0=1計(jì)數(shù)器開始工作;TR0=0計(jì)數(shù)器停止計(jì)數(shù)。TF1、TR1同上。T0、T1的啟動和溢出標(biāo)志
外部中斷標(biāo)志和觸發(fā)方式選擇4.3MCS-51對定時/計(jì)數(shù)器的控制返回TF1TR1TF0TR0IE1IT1IE0IT04.3.2控制寄存器TCON
(SFR地址:88H)編輯ppt4.4定時/計(jì)數(shù)器的初始化(1)根據(jù)需要,設(shè)定工作方式(C/T位)計(jì)數(shù)或定時以及工作模式(M1、M0);(2)確定初值TC;(3)若用中斷方式,則要設(shè)置相應(yīng)的中斷參數(shù)、優(yōu)先級別;(4)送命令字,啟動計(jì)數(shù)器。 TC為計(jì)數(shù)初值M為計(jì)數(shù)器的模C為計(jì)數(shù)值其中 4.4.1定時器初始化的步驟4.4.2計(jì)數(shù)、定時初值的計(jì)算(1)計(jì)數(shù)初值計(jì)算公式:TC=M-C編輯ppt計(jì)數(shù)器初值計(jì)算應(yīng)用舉例【例】在模式0或模式1時,每接收100個外部事件,要求產(chǎn)生一個中斷,確定計(jì)數(shù)初值。(1)模式1:TC=65536-100=65436=FF9CH(2)模式0:TC=8192-100=8092=1F9CH(注意TH、TL)1111111110011100FFH9CHTHi=FFHTLi=9CH模式111111100XXX11100計(jì)算結(jié)果:1FH9CH
實(shí)際初值:THi=FCHTLi=1CH模式0THiTLi模式0電路4.4定時/計(jì)數(shù)器的初始化編輯ppt(2)定時器初值計(jì)算公式:TC=M–T/T計(jì)數(shù)
其中:M
為計(jì)數(shù)模;
T為定時時間;
T計(jì)數(shù)為系統(tǒng)時鐘周期的12倍,即12Tosc設(shè)系統(tǒng)時鐘為6MHz,則T計(jì)數(shù)=2μs。定時器4種模式的最大定時時間與M有關(guān)。模式計(jì)數(shù)模M最大定時時間Tmax模式013位Tmax=8192×2μs=16.384ms模式116位Tmax=65536×2μs=131.072ms模式2,38位Tmax=256×2μs=0.512ms
4.4定時/計(jì)數(shù)器的初始化4.4.2計(jì)數(shù)、定時初值的計(jì)算編輯ppt
(1)確定模式:選擇模式1,且C/T=0(定時方式)。(2)計(jì)算定時初值:
TC=M–T/T計(jì)數(shù)
TC=65536-50ms/2μs
=65536-25000 =40536 =9E58H 即THi=9EH;TLi=58H【思考題】編寫出使用T1時的初始化并啟動定時的指令?!纠空堄?jì)算定時50ms所需要的定時初值。(設(shè)fosc=6MHz)定時器初值計(jì)算應(yīng)用舉例4.4定時/計(jì)數(shù)器的初始化編輯ppt MOVTMOD,#00010000B;T1為模式1定時方式 MOVTH1,#9EH MOVTL1,#58H ;送T1的50ms的定時初值 SETBTR1 ;啟動T1定時器模式寄存器TMOD4.4定時/計(jì)數(shù)器的初始化GATEC/TM1M0GATEC/TM1M0T1T0【例】請計(jì)算定時50ms所需要的定時初值。(設(shè)fosc=6MHz)定時器初值計(jì)算應(yīng)用舉例(3)定時器初始化程序編輯ppt4.5定時器應(yīng)用舉例(方式1)20ms10ms10ms【例1】利用單片機(jī)的P1.0產(chǎn)生一個頻率為50Hz的對稱方波(設(shè)fosc=6MHz)。MCS-51P1.0用單片機(jī)設(shè)計(jì)一個方波發(fā)生器示意圖編輯pptGATEC/TM1M0GATEC/TM1M0TF1TR1TF0TR0IE1IT1IE0IT000000001TCON【解】選擇定時器并確定工作方式、工作模式和定時初值。(1)選用T0的定時方式(C/T=0);(2)模式1(M2M1=01),(3)計(jì)算TC:TC=65536-10ms/2μs
=60536=EC78H即TH0=ECH,TL0=78H(4)編程實(shí)現(xiàn)可使用查詢和中斷兩種方法,在此介紹查詢法TMOD4.5定時器應(yīng)用舉例(方式1)編輯ppt
ORG1000HSTRAT:
MOVTMOD,#01H ;設(shè)定時器0為定時,模式1
SETBTR0 ;啟動定時器T0LOOP:
MOVTH0,#0ECH;設(shè)定時初值
MOVTL0,#78H
JNBTF0,$ ;定時時間到?
CLRTF0 ;清T0標(biāo)志
CPLP1.0 ;P1.0取反
SJMP
LOOP ;循環(huán)繼續(xù)
END 程序清單(查詢法)4.5定時器應(yīng)用舉例(方式1)編輯ppt程序流程圖(查詢法)設(shè)定T0的模式啟動T0設(shè)定定時初值TF0=1清標(biāo)志CPLP1.0NY4.5定時器應(yīng)用舉例(方式1)編輯ppt【解】(1)選擇T0且設(shè)定為定時方式、模式1。(2)TC=65536-50ms/2μs=9E58H(3)TMOD控制字為:00000001B=01H(4)T0采用中斷方式:即每50ms產(chǎn)生一次中斷,中斷20次便是1S。2S1S1SP1.0【例2】利用P1.0口線輸出周期為2S的方波。(要求用中斷方式實(shí)現(xiàn))【分析】如何產(chǎn)生1S的定時?——1000ms的定時由50ms累計(jì)20次4.5定時器應(yīng)用舉例(方式1)編輯ppt軟件重裝初值R0=0?NYCPLP1.020→R0R0-1→R0RETIBRT0中斷服務(wù)程序程序流程圖主程序初始化(T0設(shè)置)(開中斷)(中斷次數(shù)設(shè)置)等待中斷START4.5定時器應(yīng)用舉例(方式1)編輯ppt
ORG0000H
LJMPSTART ORG000BH
LJMPBRT0
ORG1000HSTART:MOVTMOD,#01H ;設(shè)T0為定時方式,模式1 MOVTH0,#9EH ;50mS定時初值 MOVTL0,#58H MOVIE,#82H ;開中斷(T0) SETBTR0 ;啟動定時器T0開始定時 MOVR0,#14H ;計(jì)數(shù)器R0賦初值20SJMP$
;等待T0中斷(TF0=1時引發(fā)中斷)
ORG0080HBRT0: DJNZR0,
NEXT ;T0中斷服務(wù)程序 CPLP1.0 ;P1.0輸出取反 MOVR0,#14H ;計(jì)數(shù)器R0重賦初值20NEXT:
MOVTH0,#9EH
;軟件重裝初值
MOVTL0,#58H
RETI
;中斷返回
ENDIE寄存器程序清單軟件重裝初值R0=0?NYCPLP1.020→R0R0-1→R0RETIBRT04.5定時器應(yīng)用舉例(方式1)編輯ppt4.6定時器門控位GATE的應(yīng)用如果GATE=1,TR=1時電路是否計(jì)數(shù)取決于/INT0:
/INT0=1時開始計(jì)數(shù);/INT0=0時電路停止計(jì)數(shù)。利用這一特點(diǎn),可以實(shí)現(xiàn)測量外部脈沖的寬度。MCS-51INT0振蕩器1/12TF0中斷啟動控制T0引腳TR0GATEINT0引腳C/T=0C/T=1溢出中斷信號計(jì)數(shù)器)編輯ppt(1)將外部脈沖接到P3.2(/INT0)上,使用T0且C/T=0,且令GATE=1;(2)計(jì)數(shù)器TH0、TL0原始初值為00H,且設(shè)為模式1;(3)在/INT0=0時設(shè)定TR0=1(T0準(zhǔn)備計(jì)數(shù));(4)當(dāng)/INT0=1時,定時器T0自動開始計(jì)數(shù);(5)當(dāng)/INT0=0時計(jì)數(shù)自動停止計(jì)數(shù),此時TH0、TL0中的計(jì)數(shù)值就是與脈沖寬度相對應(yīng)的數(shù)據(jù)。
SETBTR0(TR0=1)準(zhǔn)備階段
MCS-51INT0外部脈沖脈寬測量的實(shí)現(xiàn)(以T0為例)4.6定時器門控位GATE的應(yīng)用T0開始計(jì)數(shù)(/INT0=1)計(jì)數(shù)階段計(jì)數(shù)停止(/INT0=0)完成計(jì)數(shù)編輯ppt程序流程圖設(shè)定T0模式模式1,GATE=1TH0、TL0原始清零數(shù)據(jù)指針R0賦初值INT0=0?SETBTR0INT0=0?INT0=1?CLRTR0取TH、TL值NNN等待低電平Y(jié)準(zhǔn)備計(jì)數(shù)等待高電平(高電平時自動計(jì)數(shù))等待低電平(低電平時完成計(jì)數(shù))YY保存計(jì)數(shù)值4.6定時器門控位GATE的應(yīng)用編輯pptINT0EQUP3.2
MOVTMOD,#09H;設(shè)定T0為模式1且GATE0=1
MOVTH0,#00H
MOVTL0,#00H;計(jì)數(shù)器原始清零
MOVR0,#20H;設(shè)置數(shù)據(jù)區(qū)指針并原始賦初值
JBINT0,$ ;等待P3.2引腳上的脈沖變低,尋找準(zhǔn)備階段
SETBTR0 ;INT0變低后,TR0置1(但不計(jì)數(shù))
JNBINT0,$;若INT0低電平則等待,(準(zhǔn)備階段)
JBINT0,$ ;若INT0高電平則等待(計(jì)數(shù)階段)
CLRTR0 ;INT0變低后,關(guān)閉T0(完成計(jì)數(shù))
MOV@R0,TL0 INCR0 MOV@R0,TH0 ;保存計(jì)數(shù)器T0的計(jì)數(shù)值4.6定時器門控位GATE的應(yīng)用準(zhǔn)備階段計(jì)數(shù)階段
完成計(jì)數(shù)
MCS-51INT0外部脈沖【說明】若系統(tǒng)時鐘為12MHz,則T=(THL、TL0)×1
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 八十大壽賀詞
- 人教版小學(xué)語文教學(xué)隨筆
- 石蠟切片的制作過程
- 深圳科技業(yè)務(wù)管理系統(tǒng)
- 科室工作總結(jié)
- 秋季大班教師個人計(jì)劃表
- 2024-2025學(xué)年八年級地理上冊 1.1 位置和疆域教學(xué)實(shí)錄 (新版)粵教版
- 2024年校園教育培訓(xùn)機(jī)構(gòu)合作合同3篇
- 我的家鄉(xiāng)小學(xué)作文
- 三年級英語上冊 Unit 4 Family Lesson 22 How Old Are You教學(xué)實(shí)錄 冀教版(三起)
- 《哈利波特》研究綜述
- 2024電動助力車用閥控式鉛酸蓄電池第1部分:技術(shù)條件
- 2024年人教版七年級下冊體育第二單元課后練習(xí)3(含答案和概念)
- 汽車用冷卻風(fēng)扇等注塑產(chǎn)品項(xiàng)目環(huán)評報(bào)告表
- DL∕T 435-2018 電站鍋爐爐膛防爆規(guī)程
- 2024年(糧油)倉儲管理員理論知識競賽理論考試題庫500題(含答案)
- 醫(yī)療耗材供應(yīng)項(xiàng)目實(shí)施方案
- AQ/T 1023-2006 煤礦井下低壓供電系統(tǒng)及裝備通 用安全技術(shù)要求(正式版)
- 餐館食材訂購合同
- 小學(xué)高學(xué)段學(xué)生課堂消極沉默現(xiàn)象及應(yīng)對的研究
- 康復(fù)科發(fā)展規(guī)劃方案(2篇)
評論
0/150
提交評論