




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
-.z.定時器工作原理通電延時型。只要在定時的時間段內(nèi)(即1分鐘)定時器一直得電,則常開觸電就會閉合,只要定時器不斷電常開觸電就會一直閉合。定時器斷電則常開觸電斷開1,定時器/計數(shù)器的結(jié)構(gòu)與功能主要介紹定時器0(T0)和定時器1(T1)的結(jié)構(gòu)與功能。圖6.1是定時器/計數(shù)器的結(jié)構(gòu)框圖。由圖可知,定時器/計數(shù)器由定時器0、定時器1、定時器方式寄存器TMOD和定時器控制寄存器TCON組成。定時器0,定時器1是16位加法計數(shù)器,分別由兩個8位專用寄存器組成:定時器0由TH0和TL0組成,定時器1由TH1和TL1組成。圖6.1
定時器/計數(shù)器結(jié)構(gòu)框圖TL0、TL1、TH0、TH1的訪問地址依次為8AH~8DH,每個寄存器均可單獨訪問。定時器0或定時器1用作計數(shù)器時,對芯片引腳T0(P3.4)或T1(P3.5)上輸入的脈沖計數(shù),每輸入一個脈沖,加法計數(shù)器加1;其用作定時器時,對內(nèi)部機器周期脈沖計數(shù),由于機器周期是定值,故計數(shù)值確定時,時間也隨之確定。TMOD、TCON與定時器0、定時器1間通過內(nèi)部總線及邏輯電路連接,TMOD用于設(shè)置定時器的工作方式,TCON用于控制定時器的啟動與停止。計數(shù)功能計數(shù)方式時,T的功能是計來自T0(P3.4)T1(P3.5)的外部脈沖信號的個數(shù)。輸入脈沖由1變0的下降沿時,計數(shù)器的值增加1直到回零產(chǎn)生溢出中斷,表示計數(shù)已達預(yù)期個數(shù)。外部輸入信號的下降沿將觸發(fā)計數(shù),識別一個從“1”到“0”的跳變需2個機器周期,所以,對外部輸入信號最高的計數(shù)速率是晶振頻率的1/24。若晶振頻率為6MHz,則計數(shù)脈沖頻率應(yīng)低于1/4MHz。當(dāng)計數(shù)器滿后,再來一個計數(shù)脈沖,計數(shù)器全部回0,這就是溢出。脈沖的計數(shù)長度與計數(shù)器預(yù)先裝入的初值有關(guān)。初值越大,計數(shù)長度越??;初值越小,計數(shù)長度越大。最大計數(shù)長度為65536(216)個脈沖(初值為0)。定時方式定時方式時,T記錄單片機內(nèi)部振蕩器輸出的脈沖(機器周期信號)個數(shù)。每一個機器周期使T0或T1的計數(shù)器增加1,直至計滿回零自動產(chǎn)生溢出中斷請求。定時器的定時時間不僅與定時器的初值有關(guān),而且還與系統(tǒng)的時鐘頻率有關(guān)。在機器周期一定的情況下,初值越大,定時時間越短;初值越小,定時時間越長。最長的定時時間為65536(216)個機器周期(初值為0)。6.2定時器/計數(shù)器控制寄存器與對定時器/計數(shù)器有關(guān)的控制寄存器共有4個:TMOD、TCON、IE、IP。IE、IP已在中斷一節(jié)中介紹,這里不再贅述。定時器/計數(shù)器控制寄存器TCON特殊功能寄存器TCON用于控制定時器的操作及對定時器中斷的控制。其各位定義格式如下。其中D0~D3位與外部中斷有關(guān),已在中斷系統(tǒng)一節(jié)中介紹。
TF0和TF1:定時器/計數(shù)器溢出標(biāo)志位。當(dāng)定時器/計數(shù)器0(或定時器/計數(shù)器1)溢出時,由硬件自動使TF0(或TF1)置1,并向CPU申請中斷。CPU響應(yīng)中斷后,自動對TF1清零。TF1也可以用軟件清零。TR0和TR1:定時器/計數(shù)起運行控制位。TR0(或TR1)=0,停止定時器/計數(shù)器0(或定時器/計數(shù)器1)工作。TR0(或TR1)=1,啟動定時器/計數(shù)器0(或定時器/計數(shù)器1)工作??捎绍浖?(或清0)來啟動(或關(guān)閉)定時器/計數(shù)器,使定時器/計數(shù)器開始計數(shù)。用指令SETB(或CLR)使運行控制位置1(或清0)。工作方式寄存器TMODTMOD用于控制定時器/計數(shù)器的工作方式。字節(jié)地址為89H,不可位尋址,只能用字節(jié)設(shè)置其內(nèi)容。其格式如下:
定時器/計數(shù)器1定時器/計數(shù)器0位序D7D6D5D4D3D2D1D0位標(biāo)志GATEC/M1M0GATEC/M1M0其中,低4位用于T0,高4位用于T1的。GATE:門控位。GATE=0,只要用軟件使TR0(或TR1)置1就能啟動定時器/計數(shù)器0(或定時器/計數(shù)器1);GATE=1,只有在(或)引腳為高電平的情況下,且由軟件使TR0(或TR1)置1時,才能啟動定時器/計數(shù)器0(或定時器/計數(shù)器1)工作。不管GATE處于什么狀態(tài),只要TR0(或TR1)=0定時器/計數(shù)器便停止工作。C/:定時器/計數(shù)器工作方式選擇位。C/=0,為定時工作方式;C/=1,為計數(shù)工作方式。M0、M1:工作方式選擇位,確定4種工作方式。如表6.1所示。表6.1定時器/計數(shù)器工作方式選擇M1M0工作方式功
能
說
明00113位計數(shù)器01216位計數(shù)器103自動再裝入8位計數(shù)器114定時器0:分成兩個8位計數(shù)器定時器1:停止計數(shù)【例6.1】設(shè)置定時器1工作于方式1,定時工作方式與外部中斷無關(guān),則M1=0,M0=1,GATE=0,因此,高4位應(yīng)為0001;定時器0未用,低4位可隨意置數(shù),但低兩位不可為11(因方式3時,定時器1停止計數(shù)),一般將其設(shè)為0000。因此,指令形式為:MOVTMOD,*10H定時器/計數(shù)器工作方式與程序設(shè)計通過對特殊功能寄存器TMOD中的設(shè)置M1、M0兩位的設(shè)置來選擇四種工作方式,定時器/計數(shù)器0、1和2的工作方式相同,方式3的設(shè)置差別較大。工作方式0工作方式寄存器TMOD中的M1M0為:00。定時器/計數(shù)器T0工作在方式0時,16位計數(shù)器只用了13位,即TH0的高8位和TL0的低5位,組成一個13位定時器/計數(shù)器。當(dāng)TL0的低5位計滿溢出時,向TH0進位,TH0溢出時,對中斷標(biāo)志位TF0置位,向CPU申請中斷。定時器/計數(shù)器0方式0的邏輯結(jié)構(gòu)如圖6.2所示。
1.工作在定時方式C/=0,定時器對機器周期計數(shù)。定時器在工作前,應(yīng)先對13位的計數(shù)器賦值,開始計數(shù)時,在初值的基礎(chǔ)上進行減1計數(shù)。定時時間的計算公式為:定時時間=(213
–計數(shù)初值)×晶振周期×12或定時時間=(213
–計數(shù)初值)×機器周期若晶振頻率為12MHz,則最短定時時間為[213-(213-1)]×(1/12)×10-6×12=1μs最長定時時間為(213-0)×(1/12)×10-6×12=8192μs2.工作在計數(shù)方式C/=1,13位計數(shù)器對外部輸入信號進行加1計數(shù)。利用由0變?yōu)?時,開始計數(shù),由1變?yōu)?時,停止計數(shù),可以測量在端出現(xiàn)的正脈沖的寬度。計數(shù)值的*圍是1~213=8192(個外部脈沖)。【例6.2】假設(shè)AT89S52單片機晶振頻率為12MHz,要求定時時間8ms,使用定時器T0,工作方式0,計算定時器初值*。解:∵t=(213
–*)×機器周期當(dāng)單片機晶振頻率為12MHz時,機器周期=1μs∴8×103=(213
–*)×1*=8192-8000=192轉(zhuǎn)換成二進制數(shù)為:11000000B【例6.3】假設(shè)AT89S52單片機晶振頻率為12MHz,所需定時時間為250μs,當(dāng)T0工作在方式0時T0計數(shù)器的初值是多少?解:∵t=(213
–*)×機器周期當(dāng)單片機晶振頻率為12MHz時,機器周期=1μs∴250=(213
–*0)×1*0=8192-250=7942轉(zhuǎn)換成二進制數(shù)為:10B【例6.4】利用T0方式0產(chǎn)生1ms的定時,在P1.2引腳上輸出周期為2ms的方波。設(shè)單片機晶振頻率fosc=12MHz。解:(1)解題思路要在P1.2引腳輸出周期為2ms的方波,只要使P1.2每隔1ms取反一次即可。執(zhí)行指令為CPLP1.2。(2)確定工作方式:方式0TMOD=00H
C/=0:T0為定時功能;(D2位)GATE=0,只要用軟件使TR0(或TR1)置1就能啟動定時器T0(或T1);M1M0=00,工作方式0∴TMOD的值為=00HTMOD.4~TMOD.7可取任意值,因T1不用,這里取0值。使用MOVTMOD,*00H即可設(shè)定T0的工作方式(3)計算1ms定時時T0的初值機器周期T=1/fosc×12=1μs計數(shù)個數(shù):*=1ms/lμs=1000設(shè)T0的計數(shù)初值為*0,則*0=(213一*)s=8192—1000=7192D轉(zhuǎn)換成二進制數(shù)為:高8位低5位將高8位11100000=0E0H裝入TH0將低5位11000=18H裝入TL0
11EA=1,CPU開放中斷;ET0=1,允許T0中斷;(4)編程可采用中斷和查詢兩種方式編寫程序。方法一:中斷方式ORG0000HAJMPMAIN;轉(zhuǎn)主程序MAINORG000BHAJMPIT0P;轉(zhuǎn)T0中斷服務(wù)程序IT0PORG1000HMAIN:MOVSP,*60H;設(shè)堆棧指針MOVTH0,*0E0H;給定時器T0送初值MOVTMOD,*00H;設(shè)置T0為方式0,定時MOVTL0,*18H;送定時初值MOVTH0,*0E0HSETBEA;CPU開中斷SETBET0;T0允許中斷SETBTR0;啟動T0定時HERE:SJMPHERE;等待中斷中斷服務(wù)程序:IT0P:ORG1200H;T0中斷入口MOVTL0,*18H;重新裝入計數(shù)初值MOVTH0,*0E0HCPLP1.2;輸出方波RETI;中斷返回END方法二:查詢方式MOVTMOD,*00H;設(shè)置T0為方式0,定時MOVTL0,*18H;送初值MOVTH0,*0E0HSETBTR0;啟動T0定時LOOP:CTF0,NE*T;查詢定時時間到否"SJMPLOOPNE*T:MOVTL0,*18H;重新裝入計數(shù)初值MOVTH0,*0E0HCPLP1.2;輸出方波SJMPLOOP;重復(fù)循環(huán)工作方式1工作方式寄存器TMOD中的M1M0為:01。定時器T0工作方式1與工作方式0類同,差別在于其中的計數(shù)器的位數(shù)。工作方式1以16位計數(shù)器參與計數(shù)。定時器/計數(shù)器0方式1的邏輯結(jié)構(gòu)如圖6.3所示。
1.工作在定時方式C/=0,定時器對機器周期計數(shù)。定時時間的計算公式為:定時時間=(213
–計數(shù)初值)×晶振周期×12或定時時間=(213
–計數(shù)初值)×機器周期若晶振頻率為12MHz,則最短定時時間為[216-(216-1)]×(1/12)×10-6×12=1μs最長定時時間為(216-0)×(1/12)×10-6×12=65536μs=65.5ms2.工作在計數(shù)方式C/=1,16位計數(shù)器對外部輸入信號進行加1計數(shù)。計數(shù)值的*圍是1~216=65536(個外部脈沖)。【例6.5】假設(shè)AT89S52單片機晶振頻率為12MHz,所需定時時間為10ms,當(dāng)T0工作在方式1時T0計數(shù)器的初值是多少?解:∵t=(216
–*0)×機器周期當(dāng)單片機晶振頻率為12MHz時,機器周期=1μs∴10×103=(213
–*0)×1*=65536-10000=55536轉(zhuǎn)換成二進制數(shù)為:10000B=0D8F0H【例6.6】假設(shè)AT89S52單片機晶振頻率為12MHz,定時器T0的定時初值為9800,計算T0工作在方式1時的定時時間。解:∵t=(216
–*0)×機器周期當(dāng)單片機晶振頻率為12MHz時,機器周期=1μs∴t=(216
–9800)×1t=65536-9800=55736μs【例6.7】用定時器T0產(chǎn)生50HZ的方波。由P1.0輸出此方波(設(shè)時鐘頻率為12MHZ)。采用中斷方式。解:50HZ的方波周期T為T=1/50=20ms
可以用定時器產(chǎn)生10ms的定時,每隔10ms改變一次P1.0的電平,即可得到50HZ的方波。定時器T0應(yīng)工作在方式1。(1)工作在方式1時的T0初值,根據(jù)下式計算:t=(216
–*)×機器周期時鐘頻率為12MHz,則機器周期=1μs10×103=(216
–*)×1*=65536–10000=55536轉(zhuǎn)換為二進制數(shù):高8位低8位高8位=0D8H裝入TH0,低8位=0CCH裝入TL0。(2)程序ORG0000HAJMPMAINORG000BH;T0的中斷入口地址AJMPT0INTORG0100HMAIN:MOVTMOD,*01H;設(shè)置T0為工作方式1MOVTH0,*0D8H;裝入定時器初值MOVTL0,*0CCHSETBET0;設(shè)置T0允許中斷SETBEA;CPU開中斷SETBTR0;啟動T0SJMP$;等待中斷中斷服務(wù)程序;ORG0300HT0INT:CPLP1.0;P1.0取反MOVTH0,*0D8H;重新裝入定時初值MOVTL0,*0CCHRETI注:SETBET0;設(shè)置T0允許中斷SETBEA;CPU開中斷這兩條指令可以等效為MOVIE,*82H。工作方式2定時器/計數(shù)器0方式2的邏輯結(jié)構(gòu)如圖6.4所示。工作方式寄存器TMOD中的M1M0為:10定時器/計數(shù)器在工作方式2時,16位的計數(shù)器分成了兩個獨立的8位計數(shù)器TH和TL。此時,定時器/計數(shù)器構(gòu)成了一個能重復(fù)置初值的8位計數(shù)器。其中,TL用作8位計數(shù)器,TH用來保存計數(shù)的初值。每當(dāng)TL計滿溢出時,自動將TH的初值再次裝入TL。1.工作在定時方式C/=0,定時器對機器周期計數(shù)。定時時間的計算公式為:定時時間=(28
–計數(shù)初值)×晶振周期×12或定時時間=(28
–計數(shù)初值)×機器周期若晶振頻率為12MHz,則最短定時時間為[28-(28-1)]×(1/12)×10-6×12=1μs最長定時時間為(28-0)×(1/12)×10-6×12=256μs
2.工作在計數(shù)方式C/=1,8位計數(shù)器對外部輸入信號進行加1計數(shù)。計數(shù)值的*圍是1~28=256(個外部脈沖)?!纠?.8】利用T0方式2實現(xiàn)以下功能:當(dāng)T0(P3.4)引腳每輸入一個負(fù)脈沖時,使P1.0輸出一個500μs的同步脈沖。設(shè)晶振頻率為6MHz,請編程實現(xiàn)該功能。其波形如圖6.5所示。圖6.5例6.6波形圖(1)確定工作方式首先選T0為方式2,外部事件計數(shù)方式。當(dāng)P3.4引腳上的電平發(fā)生負(fù)跳變時,T0計數(shù)器加1,溢出標(biāo)志TF0置1;然后改變T0為500μs定時工作方式,并使P1.0輸出由1變?yōu)?。T0定時到產(chǎn)生溢出,使P1.0引腳恢復(fù)輸出高電平。T0先計數(shù),后定時,分時操作。根據(jù)題目要求方式控制字TMOD是:計數(shù)時:(TMOD)=00000110B=06H定時時:(TMOD)=00000010B=02H(2)計算初值機器周期T=12/fosc=12/6MHZ=2μs計數(shù)時:計數(shù)個數(shù)*=1計數(shù)初值=(256﹣*)=(256﹣1)=255=0FFH,(TH0)=(TL0)=0FFH定時時:計數(shù)個數(shù)*=Т/Tm=500μs/2μs=250定時初值=256﹣*=256﹣250=6,(TH0)=(TL0)=06H(3)編程方法采用查詢方法START:MOVTMOD,*06H;T0方式2,外部計數(shù)方式MOVTH0,*0FFH;T0計數(shù)初值MOVTL0,*0FFHSETBTR0;啟動T0計數(shù)LOOPl:CTF0,PTF01;查詢T0溢出標(biāo)志,TF0=1時轉(zhuǎn)移,且TF0=0(查P3.4負(fù)跳變)SJMPLOOPlPTF01:CLRTR0;停止計數(shù)MOVTMOD,*02H;T0方式2,定時MOVTH0,*06H;T0定時500μs初值MOVTL0,*06HCLRP1.0;P1.0清0SETBTR0;啟動定時500μsLOOP2:CTF0,PTF02;查詢溢出標(biāo)志,定時到TF0=l轉(zhuǎn)移,且TF0=0(第一個500μs到否")SJMPLOOP2PTF02:SETBP1;P1.0置1(到了第一個500μs)CLRTR0;停止計數(shù)SJMPSTART工作方式3工作方式寄存器TMOD中的M1M0為:11。工作方式3僅對定時器/計數(shù)器0有效,此時,將16位的計數(shù)器分為兩個獨立的8位計數(shù)器TH0和TL0。當(dāng)定時器/計數(shù)器0工作在方式3時,定時器/計數(shù)器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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 道路垃圾處理及綜合利用企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 可降解縫合線技術(shù)創(chuàng)新行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 鈮礦企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 二零二五年度歷史文化街區(qū)拆遷保護協(xié)議全文
- 二零二五年度土地流轉(zhuǎn)與農(nóng)村文化傳承保護協(xié)議
- 二零二五年度私人房產(chǎn)全款買賣合同(限共有產(chǎn)權(quán)變更)
- 二零二五年度無人機植保作業(yè)與無人機技術(shù)創(chuàng)新服務(wù)合同
- 二零二五年度黨支部聯(lián)建共建創(chuàng)新創(chuàng)業(yè)合作協(xié)議
- 二零二五年度專業(yè)瑜伽私教定制合同范本
- 二零二五年度頂管施工安全協(xié)議與安全風(fēng)險評估執(zhí)行合同
- 2025年黑龍江農(nóng)墾職業(yè)學(xué)院單招職業(yè)傾向性測試題庫完整
- 2025年黑龍江旅游職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫附答案
- 《多彩的節(jié)日民俗》(教學(xué)設(shè)計)浙教版四年級下冊綜合實踐活動
- 2025年黃河水利職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫新版
- 2025年健康咨詢管理服務(wù)合同范文
- 光學(xué)鏡片透光率測量基準(zhǔn)
- 歷史-貴州省貴陽市2025年高三年級適應(yīng)性考試(一)(貴陽一模)試題和答案
- 2025年01月2025全國婦聯(lián)所屬在京事業(yè)單位公開招聘93人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 輻射安全管理測試題含答案
- 2025年北京社會管理職業(yè)學(xué)院高職單招高職單招英語2016-2024年參考題庫含答案解析
- 信息系統(tǒng)項目計劃書
評論
0/150
提交評論