定時(shí)器計(jì)數(shù)器_第1頁(yè)
定時(shí)器計(jì)數(shù)器_第2頁(yè)
定時(shí)器計(jì)數(shù)器_第3頁(yè)
定時(shí)器計(jì)數(shù)器_第4頁(yè)
定時(shí)器計(jì)數(shù)器_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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)介

6定時(shí)器/計(jì)數(shù)器本章主要內(nèi)容:6-1.實(shí)現(xiàn)定時(shí)的方法6-2.定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)和工作原理6-3.定時(shí)器/計(jì)數(shù)器的控制6-4.定時(shí)器/計(jì)數(shù)器的工作方式6-5.定時(shí)器/計(jì)數(shù)器應(yīng)用

2Communicationcollegeofshandongnormaluniversity6-1.實(shí)現(xiàn)定時(shí)的方法軟件定時(shí)軟件延時(shí)不占用硬件資源,但占用了CPU時(shí)間,降低了CPU的利用率。例如延時(shí)程序。采用時(shí)基電路定時(shí)例如采用555電路,外接必要的元器件(電阻和電容),即可構(gòu)成硬件定時(shí)電路。但在硬件連接好以后,定時(shí)值與定時(shí)范圍不能由軟件進(jìn)行控制和修改,即不可編程,且定時(shí)時(shí)間容易漂移??删幊潭〞r(shí)器定時(shí)最方便的辦法是利用單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器。結(jié)合了軟件定時(shí)精確和硬件定時(shí)電路獨(dú)立的特點(diǎn)。定時(shí)器/計(jì)數(shù)器如何使用呢?3Communicationcollegeofshandongnormaluniversity6-2.定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)和工作原理定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)

定時(shí)器/計(jì)數(shù)器的實(shí)質(zhì)是加1計(jì)數(shù)器(16位),由高8位和低8位兩個(gè)寄存器組成。TMOD是定時(shí)器/計(jì)數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動(dòng)和停止及設(shè)置溢出標(biāo)志。T1計(jì)數(shù)器T0計(jì)數(shù)器控制單元4Communicationcollegeofshandongnormaluniversity6-2.定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)和工作原理定時(shí)器/計(jì)數(shù)器的工作原理計(jì)數(shù)器輸入的計(jì)數(shù)脈沖源系統(tǒng)的時(shí)鐘振蕩器輸出脈沖經(jīng)12分頻后產(chǎn)生;T0或T1引腳輸入的外部脈沖源。計(jì)數(shù)過(guò)程每來(lái)一個(gè)脈沖計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器為全1(即FFFFH)時(shí),再輸入一個(gè)脈沖就使計(jì)數(shù)器回零,且計(jì)數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請(qǐng)求(定時(shí)器/計(jì)數(shù)器中斷允許時(shí))。如果定時(shí)器/計(jì)數(shù)器工作于定時(shí)模式,則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿。5Communicationcollegeofshandongnormaluniversity定時(shí)與計(jì)數(shù)都是利用計(jì)數(shù)實(shí)現(xiàn)??!6-2.定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)和工作原理定時(shí)應(yīng)用用作定時(shí)器:此時(shí)設(shè)置為定時(shí)器模式,加1計(jì)數(shù)器是對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)(1個(gè)機(jī)器周期等于12個(gè)振蕩周期,即計(jì)數(shù)頻率為晶振頻率的1/12)。計(jì)數(shù)值N乘以機(jī)器周期Tcy就是定時(shí)時(shí)間t。計(jì)數(shù)運(yùn)用用作計(jì)數(shù)器:此時(shí)設(shè)置為計(jì)數(shù)器模式,外部事件計(jì)數(shù)脈沖由T0或T1引腳輸入到計(jì)數(shù)器。每來(lái)一個(gè)外部脈沖,計(jì)數(shù)器加1。但單片機(jī)對(duì)外部脈沖有基本要求:脈沖的高低電平持續(xù)時(shí)間都必須大于1個(gè)機(jī)器周期。6Communicationcollegeofshandongnormaluniversity6-3.定時(shí)器/計(jì)數(shù)器的控制工作方式寄存器(TMOD)GATE:門控位。GATE=0時(shí),只要用軟件使TCON中的TR0或TR1為1,就可以啟動(dòng)定時(shí)器/計(jì)數(shù)器工作;(即需要一個(gè)啟動(dòng)條件)GATE=1時(shí),要用軟件使TR0或TR1為1,同時(shí)外部中斷引腳也為高電平時(shí),才能啟動(dòng)定時(shí)器/計(jì)數(shù)器工作,即需要兩個(gè)啟動(dòng)條件。C/T:定時(shí)/計(jì)數(shù)模式選擇位。C/T

=0為定時(shí)模式;C/T=1為計(jì)數(shù)模式。M1M0:工作方式設(shè)置位。M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7定時(shí)器T1定時(shí)器T07Communicationcollegeofshandongnormaluniversity在精確定時(shí)采用該工作方式!建議不采用該工作方式!6-3.定時(shí)器/計(jì)數(shù)器的控制計(jì)數(shù)器工作方式選擇M1 M0工作方式功能說(shuō)明00方式013位計(jì)數(shù)器01方式116位計(jì)數(shù)器10方式2自動(dòng)重裝8位計(jì)數(shù)器11方式3定時(shí)器0:分成兩個(gè)8位定時(shí)器1:停止計(jì)數(shù)8Communicationcollegeofshandongnormaluniversity6-3.定時(shí)器/計(jì)數(shù)器的控制控制寄存器TCON

TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時(shí)器/計(jì)數(shù)器的啟動(dòng)和中斷申請(qǐng)。其格式如下:TF1(TCON.7):T1溢出中斷請(qǐng)求標(biāo)志位。T1計(jì)數(shù)溢出時(shí)由硬件自動(dòng)置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動(dòng)清0。TR1(TCON.6):T1起/??刂莆弧?:?jiǎn)?dòng)0:停止TF0(TCON.5):T0溢出中斷請(qǐng)求標(biāo)志位,其功能與TF1類同。TR0(TCON.4):T0起/??刂莆?。1:?jiǎn)?dòng)0:停止9Communicationcollegeofshandongnormaluniversity6-4.定時(shí)器/計(jì)數(shù)器的工作方式方式0

方式0為13位計(jì)數(shù),由TL0的低5位(高3位未用)和TH0的8位組成TL0的低5位溢出時(shí)向TH0進(jìn)位,TH0溢出時(shí),置位TCON中的TF0標(biāo)志,向CPU發(fā)出中斷請(qǐng)求。13位計(jì)數(shù)器計(jì)數(shù)/定時(shí)選擇中斷請(qǐng)求該方式計(jì)算不方便,建議不采用!10CommunicationcollegeofshandongnormaluniversityTF1TR1TF0TR0GATEC/TM1M0GATEC/TM1M01&≥110T0引腳INT0引腳10機(jī)器周期TH0TL08位8位溢出TCONTMODD0D7D7D0申請(qǐng)中斷TF1TR1TF0TR0GATEC/TM1M0GATEC/TM1M01&≥110T0引腳INT0引腳10機(jī)器周期TH0TL08位8位溢出TCONTMODD0D7D7D0申請(qǐng)中斷6-4.定時(shí)器/計(jì)數(shù)器的工作方式方式1

方式1的計(jì)數(shù)位數(shù)是16位,由TL0(TL1)作為低8位、TH0(TH1)作為高8位,組成了16位加1計(jì)數(shù)器。

16位計(jì)數(shù)器11Communicationcollegeofshandongnormaluniversity6-4.定時(shí)器/計(jì)數(shù)器的工作方式方式2

方式2為自動(dòng)重裝初值的8位計(jì)數(shù)方式。

在方式2下,當(dāng)計(jì)數(shù)器計(jì)滿255(FFH)溢出時(shí),CPU自動(dòng)把TH的值裝入TL中,不需用戶干預(yù)。因此特別適合于用作較精確的脈沖信號(hào)發(fā)生器。

8位計(jì)數(shù)器TH1重裝單元12Communicationcollegeofshandongnormaluniversity6-4.定時(shí)器/計(jì)數(shù)器的工作方式

方式3

方式3只適用于定時(shí)器/計(jì)數(shù)器T0,定時(shí)器T1方式3時(shí)相當(dāng)于TR1=0,停止計(jì)數(shù)。

工作方式3將T0分成為兩個(gè)獨(dú)立的8位計(jì)數(shù)器TL0和TH0。

13Communicationcollegeofshandongnormaluniversity6-5.定時(shí)器/計(jì)數(shù)器應(yīng)用例1:編寫一段程序,讓51MCU的P1.7輸出1ms的方波(用定時(shí)器T1完成),fosc=12MHz。定時(shí)器初值計(jì)算(TCY=1us)此時(shí)定時(shí)時(shí)間采用0.5ms1、采用方式0:N=8192-500/1=7692=1E0CH數(shù)據(jù)格式為:1111000000001100B=0F00CH所以(TH1)=0F0H,(TL1)=0CH2、采用方式1:N=65536-500/1=65036=0FE0C所以(TH1)=0FEH,(TL1)=0CH注意定時(shí)器的初值計(jì)算方法!14Communicationcollegeofshandongnormaluniversity6-5.定時(shí)器/計(jì)數(shù)器應(yīng)用程序流程:開(kāi)始P1.7置1T1模式設(shè)置T1初值設(shè)置(0.5ms)中斷設(shè)置開(kāi)中斷循環(huán)等待中斷啟動(dòng)定時(shí)器T1中斷入口T1初值設(shè)置(0.5ms)中斷返回P1.7取反主程序流程中斷服務(wù)子程序流程15Communicationcollegeofshandongnormaluniversity6-5.定時(shí)器/計(jì)數(shù)器應(yīng)用

ORG 0000H ;主程序

AJMP MAIN ORG 001BH ;定時(shí)中斷1入口

AJMP SERT1MAIN:SETB P1.7 MOV TMOD,#10H ;設(shè)T1為方式1 MOV TH1,#0FEH ;給T1賦初值

MOV TL1,#0CH SETB ET1 ;開(kāi)定時(shí)器T1中斷

SETB EA SETB TR1 ;啟動(dòng)定時(shí)器T1 SJMP $SERT1:MOV TH1,#0FEH ;定時(shí)器回賦初值

MOV TL1,#0CH CPL P1.7 RETI END中斷程序基本結(jié)構(gòu)定時(shí)器初始化、開(kāi)中斷中斷服務(wù)程序16Communicationcollegeofshandongnormaluniversity6-5.定時(shí)器/計(jì)數(shù)器應(yīng)用例2:編寫一段程序,讓51MCU的P1.7輸出占空比為70%,頻率為100HZ的矩形波(用定時(shí)器完成),fosc=6MHz。思路:此題中,高電平時(shí)間為10ms×70%=7ms,低電平為3ms。對(duì)于這種高、低電平時(shí)間不一致的波形,通常取出兩個(gè)時(shí)間的相同單位時(shí)間作為定時(shí)器的定時(shí)時(shí)間,對(duì)于不同的電平采用不同的定時(shí)次數(shù)。此例中,可用1ms作為定時(shí)器的定時(shí)時(shí)間。高電平段定時(shí)7次,低電平段定時(shí)3次,即可實(shí)現(xiàn)矩形波輸出。定時(shí)器初值=65536-1000/2=65036=FE0CH17Communicationcollegeofshandongnormaluniversity6-5.定時(shí)器/計(jì)數(shù)器應(yīng)用程序流程:主程序流程中斷服務(wù)子程序流程開(kāi)始P1.7置1T0模式設(shè)置T0初值設(shè)置(1ms)中斷設(shè)置循環(huán)計(jì)數(shù)器R0←7循環(huán)等待中斷開(kāi)中斷中斷入口P1.7取反P1.7=1?R0賦值為7中斷返回NYR0賦值為3T0回賦初值(1ms)R0-1=0?YN18Communicationcollegeofshandongnormaluniversity6-5.定時(shí)器/計(jì)數(shù)器應(yīng)用程序清單:

ORG 0000H ;主程序

AJMP MAIN ORG 000BH ;定時(shí)中斷T0入口

AJMP SERT0MAIN:SETB P1.7 MOV TMOD,#01H ;設(shè)T0為方式1 MOV TH0,#0FEH ;給T0賦初值

MOV TL0,#0CH MOV R0,#7 SETB ET0 ;開(kāi)定時(shí)器T0中斷

SETB EA SETB TR0 ;啟動(dòng)定時(shí)器T0 SJMP $中斷基本程序結(jié)構(gòu)方式設(shè)定、初值設(shè)定1mS開(kāi)中斷啟動(dòng)定時(shí)器、等待中斷19Communicationcollegeofshandongnormaluniversity6-5.定時(shí)器/計(jì)數(shù)器應(yīng)用程序清單(續(xù)):S

溫馨提示

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