單片機(jī) 第六章_第1頁
單片機(jī) 第六章_第2頁
單片機(jī) 第六章_第3頁
單片機(jī) 第六章_第4頁
單片機(jī) 第六章_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

單片機(jī)第六章第1頁,共32頁,2023年,2月20日,星期一6.1定時(shí)器/計(jì)數(shù)器6.1.1定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)第2頁,共32頁,2023年,2月20日,星期一一、定時(shí)/計(jì)數(shù)器的定時(shí)和計(jì)數(shù)功能在TMOD中,各有一個(gè)控制位(C/T),分別用于控制定時(shí)/計(jì)數(shù)器T0和T1是工作在定時(shí)器方式還是計(jì)數(shù)器方式。1.定時(shí)功能----計(jì)數(shù)輸入信號(hào)是內(nèi)部時(shí)鐘脈沖,每個(gè)機(jī)器周期使寄存器的值加1。所以,計(jì)數(shù)頻率是振蕩頻率的1/12。2.計(jì)數(shù)功能----計(jì)數(shù)脈沖來自相應(yīng)的外部輸入引腳,T0為P3.4,T1為P3.5。定時(shí)/計(jì)數(shù)器的核心部件是二進(jìn)制加1計(jì)數(shù)器(TH0、TL0或TH1、TL1)。第3頁,共32頁,2023年,2月20日,星期一6.1.2定時(shí)器/計(jì)數(shù)器的控制寄存器與定時(shí)器/計(jì)數(shù)器有關(guān)的控制寄存器有:1.定時(shí)器控制寄存器TCOND7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0中斷請求標(biāo)志觸發(fā)方式選擇啟動(dòng)定時(shí)/計(jì)數(shù)器0

低電平1下降沿0停止1啟動(dòng)第4頁,共32頁,2023年,2月20日,星期一2.工作方式控制寄存器TMODT1控制T0控制M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7GATE—門控位C/T—計(jì)數(shù)/定時(shí)選擇M1M0—工作方式選擇第5頁,共32頁,2023年,2月20日,星期一計(jì)數(shù)脈沖輸入6.1.3定時(shí)器/計(jì)數(shù)器的工作方式定時(shí)器/計(jì)數(shù)器共有四種工作方式1.方式0—13位方式

TF0T0TR0GATEINT01≥1&C/T=1振蕩器1/12C/T=0TL0TH08位低5位13位計(jì)數(shù)器定時(shí)器計(jì)數(shù)器第6頁,共32頁,2023年,2月20日,星期一定時(shí)時(shí)間為:t=(213-T0初值)×機(jī)器周期第7頁,共32頁,2023年,2月20日,星期一2.方式1—16位方式定時(shí)時(shí)間為:

t=(216-T0初值)×機(jī)器周期振蕩器1/12TL0TH0TF01≥1&T0TR0GATEINT0C/T=0C/T=18位8位16位計(jì)數(shù)器第8頁,共32頁,2023年,2月20日,星期一3.方式2—8位自動(dòng)裝入時(shí)間常數(shù)方式定時(shí)時(shí)間為:

t=(28-T0初值)×機(jī)器周期TF0振蕩器1/121≥1&T0TR0GATEINT0C/T=0C/T=1TL0TH0第9頁,共32頁,2023年,2月20日,星期一4.方式3—2個(gè)8位方式

僅T0可以工作在方式3—此時(shí)T0分成2個(gè)獨(dú)立的計(jì)數(shù)器—TL0和TH0,前者用原來T0的控制信號(hào)(TR0、TF0),后者用原來T1的控制信號(hào)(TR1、TF1)。第10頁,共32頁,2023年,2月20日,星期一6.2定時(shí)器/計(jì)數(shù)器的應(yīng)用

可編程器件在使用前需要進(jìn)行初始化:①確定TMOD控制字:編程時(shí)將控制字送TMOD;②計(jì)算計(jì)數(shù)器的計(jì)數(shù)初值:

編程時(shí)將計(jì)數(shù)初值送THi、TLi;第11頁,共32頁,2023年,2月20日,星期一③開中斷(如果使用中斷方式):

編程實(shí)置位EA、ETi④

TRi位置位控制定時(shí)器的啟動(dòng)和停止。第12頁,共32頁,2023年,2月20日,星期一6.2.1定時(shí)器方式0的應(yīng)用

1.定時(shí)時(shí)間常數(shù)的計(jì)算定時(shí)時(shí)間t=(M-X)×Tosc其中M可取值為213、216、28,Tosc為機(jī)器周期。計(jì)數(shù)器初值X=M-t/Tosc例如:單片機(jī)采用12M晶振,定時(shí)器工作在方式0,定時(shí)時(shí)間為5ms,那么TH0及TL0的設(shè)置如下:X=8192-5000/1=3192=C78H=110001111000其中:TL0取低5位,其余位為TH0,那么TH0=63H;TL0=18H。第13頁,共32頁,2023年,2月20日,星期一2.TMOD寄存器初始化為了把定時(shí)器/計(jì)數(shù)器0設(shè)定為方式0,則M1M0=00;為實(shí)現(xiàn)定時(shí)功能,應(yīng)使=0;為實(shí)現(xiàn)定時(shí)器/計(jì)數(shù)器0的運(yùn)行控制,則GATE=0,定時(shí)器/計(jì)數(shù)器1不用,有關(guān)位設(shè)定為0,因此TMOD寄存器應(yīng)初始化為00H。由定時(shí)器控制寄存器TCON中的TR0位控制定時(shí)的啟動(dòng)和停止,TR0=1啟動(dòng),TR0=0停止。第14頁,共32頁,2023年,2月20日,星期一【例6-1】利用單片機(jī)的定時(shí)器實(shí)現(xiàn)5ms的定時(shí),軟件延時(shí)1s,使圖6-6所示的電路圖中的發(fā)光二極管實(shí)現(xiàn)1s鐘的閃爍。

第15頁,共32頁,2023年,2月20日,星期一軟件如下:

ORG 0000HAJMP MAINORG 000BH;定時(shí)器T0中斷服務(wù)程序入口地址

AJMP IT0ORG 0030HMAIN: MOV SP,#70H MOV TMOD,#00H ;設(shè)置定時(shí)器方式0 MOV IE,#82H ;設(shè)置中斷控制寄存器

MOV R2,#0C8H ;軟件延時(shí)時(shí)間 ;1s=200×5ms SETB P1.0 ;使發(fā)光二極管滅

MOV TH0,#63H ;置定時(shí)器時(shí)間常數(shù)

MOV TL0,#18H SETB TR0 ;啟動(dòng)定時(shí)器T0LOOP: AJMP LOOP第16頁,共32頁,2023年,2月20日,星期一IT0: CLR TR0 ;中斷服務(wù)程序開始,關(guān)閉定時(shí)器

DJNZ R2,YAS1 ;判斷1s到嗎?

MOV R2,#0C8H ;1s到,重新置軟件延時(shí)常數(shù)

CPL P1.0 ;P1.0取反,實(shí)現(xiàn)閃爍YAS1: MOV TH0,#63H ;重新啟動(dòng)定時(shí)器

MOV TL0,#18H SETB TR0 RETI ;中斷服務(wù)程序返回

END第17頁,共32頁,2023年,2月20日,星期一6.2.2定時(shí)器方式1的應(yīng)用例題:設(shè)晶振頻率fOSC=6MHz,使用定時(shí)器1以方式1產(chǎn)生周期為500μs的方波脈沖,并由P1.0

輸出。試以中斷方式實(shí)現(xiàn)。8051P1.0500μs第18頁,共32頁,2023年,2月20日,星期一1.TMOD確定T1控制T0控制XXXX1000M0M1C/TGATEM0M1C/TGATE控制字10H

要產(chǎn)生500μs

的方波脈沖,只需在P1.0端以250μs為間隔,交替輸出高低電平即可實(shí)現(xiàn)。為此,定時(shí)間應(yīng)為250μs。使用6MHz晶振,則一個(gè)機(jī)器周期為2μs,設(shè)待求計(jì)數(shù)初值為X,則:2.計(jì)算計(jì)數(shù)器的計(jì)數(shù)初值第19頁,共32頁,2023年,2月20日,星期一(216–X)×2×10-6=250×10-6

即216–X=125X=216-125=65536-125=65411=(10000H-7DH)=1111111110000011

=0FF83HTH1=0FFH,TL1=83H3.采用中斷方式:編程時(shí)打開全局和局部中斷。4.由定時(shí)器控制寄存器TCON中的TR1位控制定時(shí)器的啟動(dòng)和停止。

TR1=1,啟動(dòng);

TR1=0,停止。第20頁,共32頁,2023年,2月20日,星期一程序設(shè)計(jì)

ORG0000HLJMPMAIN;主程序入口

ORG001BHLJMPINTT1;T1中斷入口第21頁,共32頁,2023年,2月20日,星期一INTT1:MOVTH1,#0FFH;重新設(shè)置初值

MOVTL1,#83HCPLP1.0

;輸出取反

RETI

ORG1000HMAIN:MOVTMOD,#10H;T1為方式1MOVTH1,#0FFHMOVTL1,#83H;初值

SETBEA;允許中斷

SETBET1SETBTR1;啟動(dòng)定時(shí)

SJMP$;等待中斷主程序中斷處理程序第22頁,共32頁,2023年,2月20日,星期一例題2:設(shè)晶振頻率fOSC=6MHz,分別討論各種工作方式下最長定時(shí)時(shí)間。解:1.由fOSC=6MHz可知,MC=2us;2.由于是加1計(jì)數(shù),所以最長定時(shí)應(yīng)是計(jì)數(shù)初值最小時(shí)(即為0時(shí))的定時(shí)時(shí)間。所以此時(shí)有:方式0:(213–0)×2us=214us=16384us=16.384ms第23頁,共32頁,2023年,2月20日,星期一方式1:(216–0)×2us=217us=131.072ms方式2、3

(28–0)×2us=29us=0.512ms注意:以上是當(dāng)fOSC=6MHz,即MC=2us時(shí)各種方式下的定時(shí)時(shí)間,若fOSC=12MHz,則最長定時(shí)時(shí)間將縮短一半。第24頁,共32頁,2023年,2月20日,星期一6.2.3外部脈沖寬度的測量寄存器TMOD的GATE位為1時(shí),定時(shí)/計(jì)數(shù)的啟動(dòng)和關(guān)閉受外部中斷信號(hào)的控制。當(dāng)外部信號(hào)上出現(xiàn)高電平時(shí),啟動(dòng)定時(shí)器,T0開始對機(jī)器周期進(jìn)行計(jì)數(shù),直到上出現(xiàn)低電平時(shí),T0停止計(jì)數(shù),讀出T0的計(jì)數(shù)值,即可算出時(shí)間(脈沖的寬度)

第25頁,共32頁,2023年,2月20日,星期一【例6-3】電路如圖6-7所示,在引腳輸入一個(gè)脈沖,采用查詢方式,測量這個(gè)脈沖的高電平的寬度。振蕩器1/12TL0TH0TF01≥1&T0TR0GATEINT0C/T=0C/T=18位8位16位計(jì)數(shù)器第26頁,共32頁,2023年,2月20日,星期一程序如下:

ORG 0000HAJMP MAINORG 0030HMAIN: MOV SP,#70H MOV TMOD,#09H;設(shè)置定時(shí)器0為方式1, ;GATE置1 MOV TH0,#00H ;定時(shí)器時(shí)間常數(shù)清0 MOV TL0,#00HLOOP1: JB P3.2,LOOP1;起始準(zhǔn)備

SETB TR0 ;啟動(dòng)T0,但并未計(jì)數(shù)LOOP2: JNB P3.2,LOOP2;正脈沖到,開始計(jì)數(shù)LOOP3: JB P3.2,LOOP3;負(fù)脈沖到?

CLR TR0 ;停止計(jì)數(shù)

MOV A,TL0 ;計(jì)數(shù)器低8位送R2保存

MOV R2,A MOV A,TH0 MOV R3,A ;計(jì)數(shù)器高8位送R3保存

LJMP MAIN END第27頁,共32頁,2023年,2月20日,星期一6.2.4單片機(jī)內(nèi)部軟件看門狗的應(yīng)用用一個(gè)定時(shí)器來做軟件看門狗(WATCHDOG),將它的溢出中斷設(shè)定為最高優(yōu)先級(jí)中斷,系統(tǒng)的其它中斷均設(shè)為低優(yōu)先級(jí)中斷,軟件看門狗啟動(dòng)后,系統(tǒng)工作程序必須經(jīng)常重新設(shè)置定時(shí)器的時(shí)間常數(shù),且每兩次設(shè)置之間的間隔不得大于定時(shí)器的定時(shí)時(shí)間。第28頁,共32頁,2023年,2月20日,星期一【例6-4】當(dāng)程序陷

溫馨提示

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

評論

0/150

提交評論