MCS51定時(shí)計(jì)數(shù)器.ppt_第1頁(yè)
MCS51定時(shí)計(jì)數(shù)器.ppt_第2頁(yè)
MCS51定時(shí)計(jì)數(shù)器.ppt_第3頁(yè)
MCS51定時(shí)計(jì)數(shù)器.ppt_第4頁(yè)
MCS51定時(shí)計(jì)數(shù)器.ppt_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余17頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、5-1 定時(shí)/ 計(jì)數(shù)器專用寄存器,涉及到的共六個(gè): 符號(hào) 名稱 字節(jié)地址 TCON 定時(shí)器控制寄存器 88H TMOD 定時(shí)器方式控制寄存器 89H TL0 定時(shí)器T0低八位 8AH TL1 定時(shí)器T1低八位 8BH TH0 定時(shí)器T0高八位 8CH TH1 定時(shí)器T1低八位 8DH,一、T0 與 T1 16位寄存器,用于存放定時(shí)或者計(jì)數(shù)初值。 注意點(diǎn): 由于工作原理是加 1 計(jì)數(shù),所以存放的是計(jì)數(shù)值的補(bǔ)碼。 二、TMOD : 確定T0與T1的功能與工作方式,TMOD的高4位用于T1,低4位用于T0,符號(hào)的定義如下: (1) GATE:門(mén)控位。GATE和軟件控制位TR、外引腳( )的狀態(tài),共用

2、控制定時(shí)器/計(jì)數(shù)器的啟動(dòng)和停止。 (2) C/T:定時(shí)/計(jì)數(shù)器方式選擇位。 C/T 1為計(jì)數(shù)方式; C/T 0為定時(shí)方式。 (3) M1 M0:工作方式選擇位。 M1 M000;方式0 16位 M1 M001;方式1 13位 M1 M010;方式2 8位自動(dòng)置初值 M1 M011;方式3。 只適用T0,分成兩個(gè)8位,三、TCON 定時(shí)器控制寄存器特殊功能寄存器TCON用于控制定時(shí)器的操作及對(duì)定時(shí)器中斷的控制,字節(jié)地址為88H,位地址是88H8FH(TCON.0TCON.7)。TCON寄存器中與定時(shí)、計(jì)數(shù)有關(guān)的位如下所示:,5 2 定時(shí)/ 計(jì)數(shù)器的工作方式,一、定時(shí)與計(jì)數(shù)的區(qū)別 定時(shí)與計(jì)數(shù)的實(shí)質(zhì)

3、都是計(jì)數(shù),只不過(guò)定時(shí)是對(duì)內(nèi)部脈沖計(jì)數(shù),計(jì)數(shù)是對(duì)外接脈沖(P3.4、P3.5引腳)計(jì)數(shù)。 二、方式0 (以T1為例討論) 13位計(jì)數(shù)方式。在方式0中,時(shí)間寄存器配置為13位寄存器,是為與MCS-48兼容而設(shè)置,由TH1的全部8位和TL1的低5位構(gòu)成,TL1的高三位棄之不用,當(dāng)寄存器中所有13位中的全“1”翻轉(zhuǎn)為“0”時(shí),設(shè)置定時(shí)器中斷標(biāo)志TF1。圖4.5是定時(shí)器/ 計(jì)數(shù)器1在工作方式0的邏輯結(jié)構(gòu)圖。,C/T:定時(shí)/計(jì)數(shù)選擇,由定時(shí)器工作方式特殊功能寄存器TMOD的位設(shè)置選擇 C/T=0,T1為定時(shí)器,計(jì)數(shù)器對(duì)機(jī)器周期進(jìn)行計(jì)數(shù)實(shí)現(xiàn)定時(shí) C/T =1,T1為計(jì)數(shù)器,計(jì)數(shù)來(lái)自引腳T1的外部脈沖數(shù) 定時(shí)

4、器/計(jì)數(shù)器是否啟動(dòng)受TR1、GATE和 /INT1 引腳的控制,GATE和TR1由定時(shí)器工作方式控制寄存器TMOD和控制寄存TCON中相應(yīng)的位狀態(tài)確定。由圖中的邏輯電路可知:要啟動(dòng)定時(shí)/計(jì)數(shù)器,必須TR1=1,同時(shí)GATE=0或 /INT1 引腳=1。 通常設(shè)置GATE=0,用TR1的狀態(tài)控制T1的工作。 定時(shí)器啟動(dòng)后,定時(shí)或計(jì)數(shù)脈沖加到TL1的低5位,從預(yù)先設(shè)置的初值(時(shí)間常數(shù))開(kāi)始計(jì)數(shù),TL1計(jì)滿后,向TH1進(jìn)位,當(dāng)TL1、TH1的13位都為1變?yōu)槿?,即計(jì)數(shù)器溢出時(shí),中斷標(biāo)志位TF1置“1”,表明定時(shí)時(shí)間或計(jì)數(shù)次數(shù)已到。在中斷系統(tǒng)允許時(shí),向CPU請(qǐng)求中斷。 方式0沒(méi)有時(shí)間常數(shù)自動(dòng)重裝功能

5、,如果需進(jìn)一步定時(shí)/計(jì)數(shù),需用指令重裝時(shí)間常數(shù)。,三、工作方式1 方式1和方式0的工作相同,唯一的差別是TH1和TL1組成一個(gè)16位計(jì)數(shù)器。工作結(jié)構(gòu)圖可以參考下圖。,四、工作方式2 : 8位自動(dòng)重裝初值功能,啟動(dòng)時(shí),TL1和TH1均裝入相同的時(shí)間常數(shù),當(dāng)TL1計(jì)數(shù)器溢出時(shí),中斷標(biāo)志TF1置“1”,同時(shí),控制將TH1中的時(shí)間常數(shù)重新裝入TL1中。與方式0和方式1相比,方式2采用的硬件重裝時(shí)間常數(shù),提高了定時(shí)精度,操作簡(jiǎn)便。缺點(diǎn)是定時(shí)/計(jì)數(shù)范圍較小 。,五、工作方式3 (只適用于T0) 當(dāng)T0為工作方式3時(shí),TL0和TH0分別作為兩個(gè)獨(dú)立的8位計(jì)數(shù)器,其硬件邏輯框圖如下圖。TL0既可作定時(shí)器也可作

6、計(jì)數(shù)器,并使用定時(shí)器0的控制位:C/T、GATE、TR0和TF0。TH0鎖定為定時(shí)器功能,并使用定時(shí)器1的控制位TR1和TH1,這時(shí),TH0控制了“定時(shí)器1”的中斷。,5 3 定時(shí)/計(jì)數(shù)器的使用,一、定時(shí)器/計(jì)數(shù)器的初始化 初始化步驟 MCS-51內(nèi)部定時(shí)器/計(jì)數(shù)器是可編程的,其工作方式和工作過(guò)程均可由MCS-51通過(guò)程序?qū)λM(jìn)行設(shè)定和控制。因此,MCS-51在定時(shí)器/計(jì)數(shù)器工作前必須先對(duì)它進(jìn)行初始化。初始化步驟為: (1) 根據(jù)題目要求先給定時(shí)器方式寄存器TMOD送一個(gè)方式控制字,以設(shè)定定時(shí)器/計(jì)數(shù)器的相應(yīng)工作方式。 (2) 根據(jù)實(shí)際需要給定時(shí)器/計(jì)數(shù)器選送定時(shí)器初值或計(jì)數(shù)器初值,以確定需要

7、定時(shí)的時(shí)間和需要計(jì)數(shù)的初值。 (3) 根據(jù)需要給中斷允許寄存器IE選送中斷控制字和給中斷優(yōu)先級(jí)寄存器IP選送中斷優(yōu)先級(jí)字,以開(kāi)放相應(yīng)中斷和設(shè)定中斷優(yōu)先級(jí)。 (4) 給定時(shí)器控制寄存器TCON送命令字,以啟動(dòng)或禁止定時(shí)器/計(jì)數(shù)器的運(yùn)行。,二、 定時(shí)/計(jì)數(shù)器初值的求取 51系列單片機(jī)定時(shí)器/計(jì)數(shù)器采用增量式計(jì)數(shù),在不同的工作方式下,定時(shí)器/計(jì)數(shù)器初值的計(jì)算方法基本相同,只是采用了不同長(zhǎng)度的計(jì)數(shù)器,設(shè)置時(shí)間常數(shù)時(shí)略有不同。 方式0,計(jì)數(shù)范圍:18192(213) 定時(shí)工作方式時(shí),定時(shí)時(shí)間=(213-計(jì)數(shù)初值)晶振周期12 或 定時(shí)時(shí)間=(213-計(jì)數(shù)初值)機(jī)器周期 例設(shè)單片機(jī)晶振頻率fosc= 6M

8、Hz,用定時(shí)器1以方式0、查詢方式產(chǎn)生周期為500s的等寬方波脈沖,由P1.0輸出。,解: (1) 確定計(jì)數(shù)初值X 本題可在P1.0以250s交替輸出高、低電平實(shí)現(xiàn)所需的脈沖,定時(shí)時(shí)間為250s。晶振頻率6MHz對(duì)應(yīng)的機(jī)器周期為2s。則: (213-X)210-6 = 25010-6 求得X=8067 對(duì)應(yīng)二進(jìn)制X=0001111110000011。高8位放入TH1,即TH1=11111100=FCH; 低5位放入TL1,即TL1=00011=03H。 (2) 寄存器初始化 包括定時(shí)器初始化和中斷系統(tǒng)初始化,主要對(duì)IP、IE、TCON、TMOD的相應(yīng)位進(jìn)行正確的設(shè)置,并將時(shí)間常數(shù)送入定時(shí)器。本

9、例中,IE、TCON、TMOD均應(yīng)初始化為00H。,(3) 程序設(shè)計(jì) MOV TMOD , # 00H。 MOVTH1, #0FCH;T1置初值 MOVTL1, #03H SETBTR1;啟動(dòng)T1 LOOP:JBCTF1, LOOP1;T1溢出轉(zhuǎn)LOOP1 SJMPLOOP;T1未溢出,繼續(xù)查詢 LOOP1:MOVTH1, #0FCH;T1重新置初值 MOVTL1, #03H CLRTF1 ;清T1溢出標(biāo)志位 CPLP1.0;輸出取反 SJMPLOOP;繼續(xù)查詢,例:?jiǎn)纹瑱C(jī)系統(tǒng)P1.7控制一發(fā)光管閃爍,亮一秒滅一秒,循環(huán)。要求延時(shí)功能通過(guò)定時(shí)與計(jì)數(shù)功能實(shí)現(xiàn), 試編寫(xiě)程序。 解:當(dāng)晶振為6M時(shí),

10、定時(shí)器本身最長(zhǎng)定時(shí)時(shí)間為: 216 * 2微秒 = 131. 072 毫秒 , 所以 長(zhǎng)時(shí)間定時(shí)采用 “定時(shí) + 計(jì)數(shù)的方式。 本例可以采用 T0 定時(shí) 100 毫秒加T1 硬件計(jì)數(shù)實(shí)現(xiàn), 如圖示:計(jì)數(shù)脈沖由P1.0 產(chǎn)生,P1.0 每100毫秒求 反一次。 T0定時(shí),16位方式,T1計(jì)數(shù),8位自動(dòng)置初值方式, 所以 TMOD 命令字為 61H.,初值計(jì)算: 定時(shí):由 Y = ( 216 X ) * 2 * 10-6 求出: X = 15536 = 3CB0H 計(jì)數(shù):T1計(jì)數(shù)次數(shù) 5次 ,初值 0FBH; 定時(shí)、計(jì)數(shù)到之后的處理方法: T0定時(shí)到,TF0=1,用查詢方法判別,控制P1.0求反;

11、 T1計(jì)數(shù)到,TF1=1,用查詢方法判別,控制P1.7求反。 由上分析,編程如下: ORG 0000H AJMP MAIN ORG 0100H MAIN: CLR P1.7 SETB P1.0 MOV TMOD , # 61H,MOV TH1,#0FBH MOV TL1,#0FBH SETB TR1 LOOP1: CPL P1.7 LOOP2: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 LOOP3: JBC TF0,LOOP4 SJMP LOOP3 LOOP4: CPL P1.0 JBC TF1,LOOP2 AJMP LOOP1 END,采用軟件計(jì)數(shù)的編程方法:

12、ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV TMOD , # 00H LOOP1:CPL P1.7 MOV R7,#0AH ACALL LOOP2 AJMP LOOP1 LOOP2:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 LOOP3:JBC TF0,LOOP4 SJMP LOOP3 LOOP4:DJNZ R7,LOOP2 RET,綜合例子:中斷、定時(shí)器應(yīng)用。 用單片機(jī)控制”航標(biāo)燈“,具有如下功能: 1、航標(biāo)燈定時(shí)放光,亮2秒、滅兩秒,循環(huán); 2、航標(biāo)燈晚上工作,白天滅燈,不工作。 解:方案設(shè)計(jì): 1、硬件:用光敏管電路區(qū)分白天

13、與黑夜,產(chǎn)生電平 中斷信號(hào),用P1.7口控制航標(biāo)燈,2秒求反一次; 2、軟件:2秒定時(shí)采用T1定時(shí)100毫秒,軟件計(jì)數(shù)200次 工作過(guò)程: 白天INT0高電平,系統(tǒng)不工作,滅燈,晚INT0低電平, 申請(qǐng)中斷,執(zhí)行中斷程序,啟動(dòng)定時(shí)器,定時(shí)到中斷, 執(zhí)行程序,計(jì)數(shù),判斷2秒到后控制燈求反,所有有兩 級(jí)中斷,INT0與T1,由于T1工作在INT0中斷程序中, 所以 T1要設(shè)置成高優(yōu)先級(jí),綜上,程序如下:,ORG 0000H AJMP MAIN ORG 0003H AJMP WBINT ORG 001BH AJMP TINT ORG 0100H MAIN: MOV SP, #30H CLR P1.7 CLR IT0 CLR PX0 SETB PT1 SETB EX0 SETB EA HERE: AJMP HERE,ORG 0150H WBINT: MOV TMOD ,#

溫馨提示

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