Mes-51單片機定時計數(shù)器課件_第1頁
Mes-51單片機定時計數(shù)器課件_第2頁
Mes-51單片機定時計數(shù)器課件_第3頁
Mes-51單片機定時計數(shù)器課件_第4頁
Mes-51單片機定時計數(shù)器課件_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第6章 MCS 51定時/計數(shù)器 6.1 定時器的結(jié)構(gòu)及工作原理 6.2定時器的控制6.3定時器的工作模式及其應(yīng)用 第6章 MCS 51定時/計數(shù)器 6.1 定時器的結(jié)構(gòu)及工作原理一、定時/計數(shù)器的結(jié)構(gòu)圖中斷工作方式工作方式 6.1 定時器的結(jié)構(gòu)及工二、定時/計數(shù)器的原理 1、計數(shù)脈沖 (1)定時 計數(shù)脈沖為時鐘脈沖的12分頻,每來一個脈沖,定時計數(shù)器加1。 (2)計數(shù) 外部脈沖由引腳P3.4和P3.5加入,每來一個脈沖計數(shù)器加1 2、定時器溢出 當(dāng)定時器為最大值時,再來一個脈沖,定時器復(fù)位,即發(fā)生溢出,此時要向CPU提出中斷申請.三、定時/計數(shù)器 T0 :16位定時/計數(shù)器 由TL0,TH0

2、兩個八位計數(shù)器組成 T1: 16位定時/計數(shù)器 由TL1,TH1兩個八位計數(shù)器組成二、定時/計數(shù)器的原理 6.2 定時器的控制一、工作方式寄存器TMOD TMOD用于控制T0和T1的工作方式,其各位的定義如圖所示。1. M1M0工作方式控制位 6.2 定時器的控制2. C/T 定時器方式或計數(shù)器方式選擇位 若C/T=1時, 為計數(shù)器方式; C/T = 0時, 為定時器方式。 3. GATE 定時器/計數(shù)器運行門控標(biāo)志位 當(dāng)GATE=1時,只有INT0(或INT1)引腳為高電平且TR0(或TR1 )置1時, 相應(yīng)的定時器/計數(shù)器才被選通工作, 這時可用于測量在INTx端出現(xiàn)的正脈沖的寬度。若GA

3、TE=0,則只要TR0(或TR1)置1,定時器/計數(shù)器就被選通,而不管INT0(或INT1)的電平是高還是低。 二、 定時器/計數(shù)器控制寄存器TCON TF0、TF1分別是定時器/計數(shù)器T0、 T1 的溢出標(biāo)志位, 加法計數(shù)器計滿溢出時置 1, 申請中斷, 在中斷響應(yīng)后自動復(fù) 0。TF產(chǎn)生的中斷申請是否被接受, 還需要由中斷是否開放來決定。 TR1、TR0 分別是定時器 /計數(shù)器T1、 T0 的運行控制位, 通過軟件置 1 后, 定時器 /計數(shù)器才開始工作, 在系統(tǒng)復(fù)位時被清 0。 2. C/T 定時器方式或計數(shù)器方式選擇位 6.3 定時器的工作模式及其應(yīng)用一、模式0及其應(yīng)用 模式0選擇定時器

4、的高8位和低5位組成一個13位的定時/計數(shù)器,如下圖所示:P3.4 6.3 定時器的工作模式及其應(yīng) 定時器工作在方式0時,為13位的定時器,TH0的8位,TL0的低5位,當(dāng)TL0溢出時,向TH0進位,當(dāng)TH0溢出時,向CPU申請中斷. 定時初值的計算: T=(213-X)*振蕩周期*12 T為定時時間,X為定時初值 定時/計數(shù)器的初始化過程: (1)確定工作模式,設(shè)置TMOD (2)設(shè)置定時/計數(shù)器的初值 (3)設(shè)置中斷 (4)啟動定時/計數(shù)器 定時器工作在方式0時,為13位的定時器,TH0的例6.2 利用定時/計數(shù)器的方式產(chǎn)生1ms定時,在P1.0輸出周期2ms方波,設(shè)單片機晶振頻率fosc

5、=12MHz. 查詢方式: MOV TMOD #00H MOV TH0,#18H MOV TL0,#0E0H SETB TR0 LOOP: JBC TF0 ,NEXT SJMP LOOP NEXT: MOV TL0,#18H MOV TH0,#0E0H CPL P1.0 SJMP LOOP 例6.2 利用定時/計數(shù)器的方式產(chǎn)生1ms定時,在P1.0輸 ORG 0000H AJMP START; 復(fù)位入口 ORG 000BH AJMP TOINT ; T0中斷入口 ORG 0030HSTART:MOV SP, 60H; 初始化程序 MOV TH0, 18H ; T0賦初值 MOV TL0, 0E

6、cH MOV TMOD, 00H SETB TR0 ; 啟動T0 SETB ET0 ; 開T0中斷 SETB EA ; 開總允許中斷 MAIN:AJMP MAIN ; 主程序TOINT:CPL P1.0 MOV TL0, 18H MOV TH0, 0E0H RET I END中斷方式 ORG 0000H 中斷方式二、方式1 方式1為16位的定時/計數(shù)器,TH0為高8位,TL0為低8位,一起組成16位的定時/計數(shù)器.結(jié)構(gòu)圖如下圖所示:二、方式1定時/計數(shù)器工作在方式一時,定時初值的計算公式如下: T=(216-T0的初值) 振蕩周期12若晶振的頻率fosc=12MHZ,則最長定時時間為: TMA

7、X=(216-T0初值) 1/12 12 us=65.536ms例6.4:用定時器T1產(chǎn)生一個100Hz的方波,由P1.0輸出,設(shè)fosc=12MHZ,采用查詢方式. 解:方波周期: T=1/100Hz=0.01S=10MS, 用T1定時5MS計數(shù)器初值: X=216-12 5 103 /12=60536=EC78H定時/計數(shù)器工作在方式一時,定時初值的計算公式如下:三、方式2 定時/計數(shù)器工作在方式2時為8位的自動重裝的定時定數(shù)器,TL0作為計數(shù)器,THO用來保存定時初值,當(dāng)TL0溢出,TH0將計數(shù)初值送入TL0,重新開始計時.三、方式2定時/計數(shù)器工作在方式2時,定時初值的計算公式如下:

8、T=(28-T0的初值) 振蕩周期12若晶振的頻率fosc=12MHZ,則最長定時時間為: TMAX=(28-T0初值) 1/12 12 us=256us例6.5 當(dāng)外部引腳P3.4(T0)上電平發(fā)生負跳變時,從P1.0輸出500us的同步脈沖,請編程實現(xiàn)功能. 解:(1)模式選擇: 首先選T0為模式2,外部事件計數(shù)方式,當(dāng)P3.4引腳上的電平發(fā)生負跳變時,T0計數(shù)器加1,舉出標(biāo)志TF0置1;然后改變T0為500us定時工作方式,并使P1.0輸出由1變?yōu)?.定時器到產(chǎn)生溢出,使P1.0引腳恢復(fù)輸出高電平,T0又恢復(fù)外部事件計數(shù)方式.定時/計數(shù)器工作在方式2時,定時初值的計算公式如下:(2)計算

9、初值 T0工作在外部事件計數(shù)方式,當(dāng)計數(shù)到28時,再加1計數(shù)器就會溢出,設(shè)計數(shù)初值為X,當(dāng)出現(xiàn)一次外部事件時,計數(shù)器溢出,則: X+1= 28 X=28-1=11111111B=0FFH T0工作在定時方式時,設(shè)晶振頻率為6MHZ,500us相當(dāng)于250個機器周期,因此,初值X為: (28-X) 2 us=500us X=28-250=06H(3) 程序清單 (2)計算初值START: MOV TMOD,#06H MOV TH0,#0FFH MOV TL0,#0FFH SETB TR0 LOOP: JBC TF0,PTF01 SJMP LOOP01PTF0: CLR TR0 MOV TMOD,

10、#02H MOV TH0,#06H MOV TL0,#06H CLR P1.0 SETB TR0LOOP2: JBC TF0,PTF02 SJMP LOOP2 PTF02: SETB P1.1 CLR TR0 SJMP STARTSTART: MOV TMOD,#06H 例6.6 :利用定時器T1方式2對外部事件,要求每計滿200個脈沖將P1.0端取反 解: 外部事件由T1(P3.5)引腳輸入,每發(fā)生一次負跳變,計數(shù)器加1,每輸入200個脈沖,計數(shù)器發(fā)生溢出中斷,將P1.0取反一次. T1設(shè)置為方式2計數(shù)器狀態(tài),方式字為TMOD=60H 初值計算:X=28-200=56D=38H 因此TL1的

11、初值為38H,重裝初值TH1=38H程序清單: 例6.6 :利用定時器T1方式2對外部事件,要求每計 MAIN: MOV TMOD,#60H MOV TL1,#38H MOV TH1,#38H MOV IE,#88H SETB TR1 HERE:SJMP HERE ORG 001BH CPL P1.0 RETI MAIN: MOV TMOD,#60H三、模式3: 模式3只適用于定時器T0,若將T1置為模式3,它將停止計數(shù),其效果類同將TR1=0;即關(guān)閉定時器T1.T1只做為波特率發(fā)生器。 當(dāng)T0工作在模式3下,TL0,TH0被分成兩個相互獨立的8位計數(shù)器。其中,TL0使用原T0的各位控制位,引

12、腳,中斷源,即使用C/T,GATE,TR0,TF0和INT0引腳,其功能和操作與模式0和模式1相同,只是TL0只能使用8位寄存器,既可以工作在定時器方式也可以工作在計數(shù)方式。TH0只可作簡單的內(nèi)部定時器,定占用T1的控制位TR1,和T1的中斷標(biāo)志位TF1,同時也占用了T1的中斷源,由TR1來負責(zé)啟動和關(guān)閉。三、模式3:四、綜合應(yīng)用舉例例6.7:設(shè)時鐘頻率為12MHz, 編寫程序利用T1產(chǎn)生1S定時程序.解:(1)T1的工作模式的確定 因為定時器事件較長,采用哪一種工作方式適合? fosc=12MHz時,模式0最長可定時2131us=8.192ms 模式1最長可定時2161us=65.536ms

13、 模式2最長可定時281us=256us經(jīng)分析,可選方模式1,定時事件為50ms,另設(shè)計一個軟件計數(shù)器,初始值為20,每隔50ms中斷一次,中斷20次為1S.四、綜合應(yīng)用舉例(2)求初值 (216-X)-1/(12106) 12=5013-3 X=65536-50000=15536=3CB0H 因此 (TH1)=3CH (TL1)=B0H(3)程序如下: ORG 0000H MAIN: MOV SP,#60H LJMP MAIN MOV R2,#20 ORG 001BH MOV TMOD,#10H AJMP SERVE MOV TL1,#0B0H ORG 2000H MOV TH1,#3CH

14、(2)求初值 SETB TR1 SETB ET1 SETB EA SJMP $ SERVE:MOV TL1,#0B0H MOV TH1,#3CH DJNZ R2,LOOP CLR TR1 LOOP: RETI END 例6.8 利用定時器T0方式2對外部事件計數(shù),要求每次滿200次后,從P1.0輸出寬度為5ms的高電平,如此循環(huán)下去(設(shè) fosc=12MHz) 解:根據(jù)題意,T0交替工作于計數(shù)方式和定時方式,先計數(shù)滿200次后改為定時方式,1 ms后又回到計數(shù)方式,計數(shù)方式為方式2,定時器為方式1. T1的方式控制字:計數(shù)方式為TMOD=06H 定時方式為TMOD=01H T1的初值:計數(shù)初值

15、為:X=28-200=56D=38H 定時初值為EC78H例6.8 利用定時器T0方式2對外部事件計數(shù),要求每次滿2 ORG 0030H MAIN: CLR TR0 MOV TMOD,#60H MOV TH0,#38H MOV TL0,#38H SETB TR0 CLR P1.0 WAIT: JBC TF0, TIME SJMP START TIME: CLR TR0 SETB P1.0 MOV TMOD,#01H MOV TH0,#0ECH MOV TL0,#78H SETB TR0 WAIT1: JBC TF0,MAIN SJMP WAIT1 END ORG 0030H例6.9 利用T0確定INT0引腳上出現(xiàn)的正脈沖的寬度,將測到的機器周期的個數(shù)存入30H,31H中。 解: 設(shè)T0為定時器方式1,門控位GATE置1,初值為0 當(dāng)INT0引腳變?yōu)楦唠娖綍r,采用外觸發(fā)方式啟動T0定時,當(dāng)外部INT0引腳變?yōu)榈碗娖?/p>

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論