




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1單片機(jī)原理與接口技術(shù)韋必忠桂林電子科技大學(xué)建筑與交通工程學(xué)院Email:wbz@MCS-51單片機(jī)定時(shí)器/計(jì)數(shù)器35.1定時(shí)器/計(jì)數(shù)器概述軟件定時(shí):執(zhí)行一個(gè)循環(huán)程序進(jìn)行時(shí)間延遲。定時(shí)準(zhǔn)確,不需要外加硬件電路,但增加CPU開銷。硬件定時(shí):通過硬件電路實(shí)現(xiàn)定時(shí),不占用CPU時(shí)間,但使用不夠方便。可編程定時(shí)器定時(shí):通過對(duì)系統(tǒng)時(shí)鐘脈沖的計(jì)數(shù)實(shí)現(xiàn)定時(shí)。計(jì)數(shù)值通過程序設(shè)定,定時(shí)準(zhǔn)確,使用方便靈活。計(jì)數(shù)與定時(shí):定時(shí)器/計(jì)數(shù)器實(shí)際上是加1計(jì)數(shù)器。當(dāng)它對(duì)外部事件進(jìn)行計(jì)數(shù)時(shí),由于頻率不固定,此時(shí)稱之為計(jì)數(shù)器。當(dāng)它對(duì)內(nèi)部固定頻率的機(jī)器周期進(jìn)行計(jì)數(shù)時(shí),稱之為定時(shí)器。計(jì)數(shù)器容量:8051單片機(jī)有兩個(gè)計(jì)數(shù)器,分別稱之為T0和T1,這兩個(gè)計(jì)數(shù)器分別是由兩個(gè)8位的RAM單元組成,即每個(gè)計(jì)數(shù)器都是16位的計(jì)數(shù)器,最大計(jì)數(shù)量是65536.定時(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)志。
(二)、定時(shí)/計(jì)數(shù)器的工作原理計(jì)數(shù)次數(shù)和時(shí)間之間的確十分相關(guān);只要計(jì)數(shù)脈沖的間隔相等,則計(jì)數(shù)值就代表了時(shí)間的流逝;單片機(jī)的晶振經(jīng)過12分頻后獲得一個(gè)脈沖源,如果晶振頻率12MHZ,則每秒產(chǎn)生1M脈沖,一個(gè)脈沖就是1微秒,所以計(jì)數(shù)脈沖的間隔與晶振頻率有關(guān)。
(二)、定時(shí)/計(jì)數(shù)器的工作原理
加1計(jì)數(shù)器輸入的計(jì)數(shù)脈沖有兩個(gè)來源:(1)由系統(tǒng)的時(shí)鐘振蕩器輸出脈沖經(jīng)12分頻后送來;(2)另一個(gè)是T0或T1引腳輸入的外部脈沖源。
每來一個(gè)脈沖計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器為全1時(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ù)值已滿。
可見,由溢出時(shí)計(jì)數(shù)器的值減去計(jì)數(shù)初值才是加1計(jì)數(shù)器的計(jì)數(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è)置為計(jì)數(shù)器模式時(shí):外部事件計(jì)數(shù)脈沖由T0或T1引腳輸入到計(jì)數(shù)器。在每個(gè)機(jī)器周期的S5P2期間采樣T0、T1引腳電平。當(dāng)某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時(shí),則計(jì)數(shù)器加1,更新的計(jì)數(shù)值在下一個(gè)機(jī)器周期的S3P1期間裝入計(jì)數(shù)器。由于檢測(cè)一個(gè)從1到0的下降沿需要2個(gè)機(jī)器周期,因此要求被采樣的電平至少要維持一個(gè)機(jī)器周期。最高計(jì)數(shù)頻率是晶振頻率的1/24。當(dāng)晶振頻率為12MHz時(shí),最高計(jì)數(shù)頻率不超過1/2MHz,即計(jì)數(shù)脈沖的周期要大于2s。
11定時(shí)器/計(jì)數(shù)器的定時(shí)和計(jì)數(shù)功能MCS-51系列單片機(jī)有兩個(gè)可編程定時(shí)器/計(jì)數(shù)器:T0、T1,16位寄存器,加法計(jì)數(shù)結(jié)構(gòu),地址為:T0(TH0,TL0):8CH,8AHT1(TH1,TL1):8DH,8BH特殊功能寄存器每個(gè)寄存器(T0,T1)都具有定時(shí)和計(jì)數(shù)功能12MCS-51定時(shí)/計(jì)數(shù)器核心是一個(gè)16位計(jì)數(shù)器(寄存器)。加1信號(hào)來源:外部計(jì)數(shù)脈沖、內(nèi)部時(shí)鐘脈沖。信號(hào)來源方式:由特殊功能寄存器TMOD設(shè)置位
確定。,計(jì)數(shù)方式(外部);,定時(shí)方式(內(nèi)部)。
80C51單片機(jī)定時(shí)/計(jì)數(shù)器的工作由兩個(gè)特殊功能寄存器控制。TMOD:用于設(shè)置其工作方式;TCON:用于控制其啟動(dòng)和中斷申請(qǐng)。5.2MCS-51定時(shí)/計(jì)數(shù)器控制與狀態(tài)寄存器14工作方式控制寄存器TMOD(狀態(tài)寄存器)字節(jié)地址89H(不可以位尋址)15M1M0為操作方式選擇位
:選擇定時(shí)/計(jì)數(shù)器模式,計(jì)數(shù)模式;,定時(shí)模式GATE:選通控制GATE=0,選通,通過TRX啟動(dòng)定時(shí)器。GATE=1,端口高電平,通過TRX啟動(dòng)定時(shí)器。16啟停與中斷控制寄存器TCON(控制寄存器)字節(jié)地址88HTCON由定時(shí)/計(jì)數(shù)器和中斷系統(tǒng)合用。TR0:定時(shí)/計(jì)數(shù)器0啟停控制位由軟件控制定時(shí)/計(jì)數(shù)器0的啟動(dòng)/停止。TR1:定時(shí)/計(jì)數(shù)器1啟停控制位由軟件控制定時(shí)/計(jì)數(shù)器1的啟動(dòng)/停止。17TF0:定時(shí)/計(jì)數(shù)器0中斷請(qǐng)求標(biāo)志位當(dāng)定時(shí)/計(jì)數(shù)器0計(jì)數(shù)回0時(shí),由內(nèi)部硬件置位TF0(TF0=1),請(qǐng)求中斷。中斷服務(wù)程序一旦執(zhí)行,硬件自動(dòng)清0(TF0=0)。TF1:定時(shí)/計(jì)數(shù)器1中斷請(qǐng)求標(biāo)志位當(dāng)定時(shí)/計(jì)數(shù)器1計(jì)數(shù)回0時(shí),由內(nèi)部硬件置位TF1(TF1=1),請(qǐng)求中斷。中斷服務(wù)程序一旦執(zhí)行,硬件自動(dòng)清0(TF1=0)。18IE0:外部中斷0中斷請(qǐng)求標(biāo)志IT0=1,負(fù)跳變觸發(fā)中斷,硬件置IE0=1,當(dāng)轉(zhuǎn)向中斷服務(wù)程序后,硬件自動(dòng)清IE0=0。IT0=0,低電平觸發(fā)中斷。硬件置IE0=1,當(dāng)轉(zhuǎn)向中斷服務(wù)程序后,硬件自動(dòng)清IE0=0。IE1:外部中斷1中斷請(qǐng)求標(biāo)志IT1=1,負(fù)跳變觸發(fā)中斷,硬件置IE1=1,當(dāng)轉(zhuǎn)向中斷服務(wù)程序后,硬件自動(dòng)清IE1=0。IT1=0,低電平觸發(fā)中斷。硬件置IE1=1,當(dāng)轉(zhuǎn)向中斷服務(wù)程序后,硬件自動(dòng)清IE1=0。19IT0:外部中斷0觸發(fā)方式控制位軟件設(shè)置。IT0=1,外部中斷,發(fā)生10跳變,產(chǎn)生中斷請(qǐng)求,向主機(jī)申請(qǐng)中斷。IT0=0,則端口低電平觸發(fā)中斷。IT1:外部中斷1觸發(fā)方式控制位軟件設(shè)置。IT1=1,外部中斷,發(fā)生10跳變,產(chǎn)生中斷請(qǐng)求,向主機(jī)申請(qǐng)中斷。IT1=0,則端口低電平觸發(fā)中斷。以上后四項(xiàng)用于中斷系統(tǒng)。TCON可位尋址,其位地址為88H—8FH。205.3定時(shí)/計(jì)數(shù)器的工作方式(工作模式)設(shè)置(TMOD寄存器)選擇定時(shí)模式還是計(jì)數(shù)模式;對(duì)M1M0的設(shè)置,用于選擇T0、T1的四種操作(工作)方式。四種工作模式:即模式0、模式1、模式2、模式3。TL0、TH0,TL1、TH1兩對(duì)定時(shí)/計(jì)數(shù)器21(1)定時(shí)/計(jì)數(shù)方式0
(13位計(jì)數(shù)器)以定時(shí)/計(jì)數(shù)器0(T0)為例TH0全部8位,TL0低5位構(gòu)成13位定時(shí)/計(jì)數(shù)器。當(dāng)時(shí)(定時(shí)方式),開關(guān)接至振蕩12分頻輸出;當(dāng)時(shí)(計(jì)數(shù)方式),開關(guān)接通T0(P3.4)當(dāng)計(jì)數(shù)脈沖發(fā)生負(fù)跳變計(jì)數(shù)器加1。22GATE:看圖,選擇了定時(shí)或計(jì)數(shù)工作方式后,定時(shí)/計(jì)數(shù)脈沖不一定能到達(dá)計(jì)數(shù)器端,中間還有一個(gè)開關(guān),如果這個(gè)開關(guān)不合上,計(jì)數(shù)脈沖就沒法過去。那開關(guān)什么時(shí)候合上呢?有兩種情況:GATE=0時(shí),GATE非后是1,進(jìn)入或門,或門總是輸出1(與或門的另一個(gè)輸入端INT0無關(guān)),在這種情況下,開關(guān)打開或者合上只取決于TR0,只要TR0=1,開關(guān)就合上,計(jì)數(shù)脈沖就得以暢通無阻,如TR0=0則開關(guān)打開,計(jì)數(shù)脈沖無法通過。因此,定時(shí)/計(jì)數(shù)器是否工作,只取決于TR0。GATE=1時(shí),計(jì)數(shù)脈沖通路上的開關(guān)不僅要由TR0來控制,而且還要受到INT0引腳的控制,只有TR0=1,且INT0引腳也是高電平,開關(guān)才合上,計(jì)數(shù)脈沖才能通過。2324定時(shí)/計(jì)數(shù)方式1
(16位計(jì)數(shù)器)邏輯結(jié)構(gòu)和方式0完全一樣,只是TL是8位計(jì)數(shù)器。計(jì)數(shù)范圍1—65536如晶振6MHz,最小定時(shí)時(shí)間為:2s(機(jī)器周期)最大定時(shí)時(shí)間為:131ms(大約)。該模式對(duì)應(yīng)的是一個(gè)16位的定時(shí)器/計(jì)數(shù)器,如圖5-5所示。其結(jié)構(gòu)與操作幾乎與模式0完全相同,惟一的差別是:在模式1中,寄存器TH0和TL0是以全部16位參與操作。用于定時(shí)工作方式時(shí),定時(shí)時(shí)間為t=(216-T0初值)×振蕩周期×12用于計(jì)數(shù)工作方式時(shí),計(jì)數(shù)最大長(zhǎng)度為216=65536個(gè)外部脈沖。圖5-5定時(shí)器/計(jì)數(shù)器T0工作模式1邏輯結(jié)構(gòu)框圖26定時(shí)/計(jì)數(shù)方式2
(自動(dòng)再裝入8位計(jì)數(shù)器)THx,TLx相互獨(dú)立(x=0,1)。TLx作為8位計(jì)數(shù)器,THx是初值寄存器。TLx溢出后,置TFx申請(qǐng)中斷。THx初值重新裝入TLx。只需通過軟件設(shè)置一次,啟動(dòng)后無限次定時(shí)/計(jì)數(shù)運(yùn)行。(自動(dòng)進(jìn)行下一次)模式2把TL0(或TL1)設(shè)置成一個(gè)可以自動(dòng)重裝載的8位定時(shí)器/計(jì)數(shù)器,如圖5-6所示。TL0計(jì)數(shù)溢出時(shí),不僅使溢出中斷標(biāo)志位TF0置1,而且還自動(dòng)把TH0中的內(nèi)容重新裝載到TL0中。這時(shí),16位計(jì)數(shù)器被拆成兩個(gè),TL0用作8位計(jì)數(shù)器,TH0用以保存初值。用于定時(shí)工作方式時(shí),其定時(shí)時(shí)間(TF0溢出周期)為t=(28-TH0初值)×振蕩周期×12用于計(jì)數(shù)工作方式時(shí),最大計(jì)數(shù)長(zhǎng)度為28=256個(gè)外部脈沖。圖5-6定時(shí)器/計(jì)數(shù)器T0工作模式2邏輯結(jié)構(gòu)框圖28定時(shí)/計(jì)數(shù)方式3
(T0分成兩個(gè)8位計(jì)數(shù)器,T1無效)將T0分成兩個(gè)獨(dú)立的8位計(jì)數(shù)器。TL0組成完整的8位定時(shí)/計(jì)數(shù)器;既能定時(shí),又能計(jì)數(shù)。TH0只能組成8位定時(shí)器(內(nèi)部脈沖)。只能定時(shí)。TL0占用T0全部控制信號(hào)及中斷請(qǐng)求標(biāo)志位(TR0、TF0等)TH0只能借用TR1和TF1。P3.5口(T1外部計(jì)數(shù)脈沖輸入口)不能占用。工作模式3對(duì)T0和T1大不相同。若將T0設(shè)置為模式3,TL0和TH0被分成為兩個(gè)相互獨(dú)立的8位計(jì)數(shù)器,如圖5-7所示。圖5-7定時(shí)器/計(jì)數(shù)器T0工作模式3邏輯結(jié)構(gòu)框圖305.4定時(shí)/計(jì)數(shù)器應(yīng)用基本步驟:工作方式控制字(TMOD)的設(shè)置;計(jì)數(shù)初值的計(jì)算并裝入THx、TLx;中斷允許位ETx、EA的設(shè)置,使主機(jī)開放中斷;啟/停位TRx的設(shè)置。31計(jì)數(shù)初值的確定在方式0下,當(dāng)為計(jì)數(shù)方式時(shí),計(jì)數(shù)值范圍1—8192(213
)在方式1下,當(dāng)為計(jì)數(shù)方式時(shí),計(jì)數(shù)值范圍1—65536(216
)在方式2下,當(dāng)為計(jì)數(shù)方式時(shí),計(jì)數(shù)值范圍1—256(28
)32當(dāng)計(jì)數(shù)時(shí),采用預(yù)置數(shù)的方法,比如我們需要計(jì)數(shù)100次,那就先放入65436,再來100個(gè)脈沖,就到65536了。定時(shí)時(shí)間:(2n–計(jì)數(shù)初值)*機(jī)器周期33在方式0下最小定時(shí)時(shí)間為:2s最大定時(shí)時(shí)間為:16384s(8192*2)在方式1下最小定時(shí)時(shí)間為:2s最大定時(shí)時(shí)間為:131ms(65536*2)如晶振周期6MHz,機(jī)器周期為2s。思路:需要采用軟件計(jì)數(shù)器的概念,先用定時(shí)/計(jì)數(shù)器做一個(gè)(比如50毫秒)的定時(shí)器,定時(shí)時(shí)間到了以后不要立即執(zhí)行相關(guān)操作(比如輸出),而是將軟件計(jì)數(shù)器中的值加1,如果軟件計(jì)數(shù)器計(jì)到了20,那定時(shí)時(shí)間就是20*50=1000毫秒了。34如何實(shí)現(xiàn)定時(shí)1S或者其它定時(shí)時(shí)間?35例題:生成周期為500s的等寬正方波。機(jī)器晶振6MHz。使用T1以方式0工作,由P1.0輸出500s機(jī)器周期:2s。定時(shí)時(shí)間250s。以250s為周期在P1.0端交替輸出高低電平。368067-4096=397113971-2048=1923
11923-1024=8991899-512=387
1387-256=1311131-128=3164
032016
08040二進(jìn)制表示:111111000001137程序設(shè)計(jì)(查詢方式):
MOVTMOD,#00H ;設(shè)置T1 MOVTH1,#0FCH ;計(jì)數(shù)初值
MOVTL1,#03H ;
MOVIE,#00H ;禁止中斷
SETBTR1 ;啟動(dòng)定時(shí)LOOP:JBCTF1,LOOP1 ;查詢計(jì)數(shù)溢出
AJMPLOOPLOOP1:MOVTH1,#FCH ;重新設(shè)置計(jì)數(shù)初值
MOVTL1,#03H ;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 7519:2025 EN Technical product documentation (TPD) - Construction documentation - General principles of presentation for general arrangement and assembly drawings
- 聘用項(xiàng)目總工合同
- 個(gè)體診所聘用合同
- 預(yù)定租房合同協(xié)議
- 攝像攝影服務(wù)合同
- 工地門衛(wèi)勞動(dòng)合同
- 勞務(wù)派遣人員勞動(dòng)合同書
- 13足球運(yùn)球繞桿 教學(xué)設(shè)計(jì) -九年級(jí)體育與健康
- 天津音樂學(xué)院《寫作與溝通》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇科技大學(xué)《大數(shù)據(jù)處理框架》2023-2024學(xué)年第二學(xué)期期末試卷
- 2023-2024年人教版八年級(jí)上冊(cè)數(shù)學(xué)期末模擬試卷(含答案)
- 數(shù)據(jù)采集管理制度范文
- 幼兒園小班開學(xué)家長(zhǎng)會(huì)課件
- 中藥抗骨質(zhì)疏松作用
- 中建綜合支吊架施工方案
- 建筑施工規(guī)范大全
- 幼兒園開學(xué)家長(zhǎng)會(huì)PPT模板(含完整內(nèi)容)
- 表冷器更換施工方案
- 瀝青集料篩分反算計(jì)算表格(自動(dòng)計(jì)算)
- 哲學(xué)與人生(中職)PPT完整全套教學(xué)課件
- 惡性高熱課件
評(píng)論
0/150
提交評(píng)論