




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機原理與應(yīng)用單片機原理與應(yīng)用第第 5 章章 定時定時/計數(shù)器及其應(yīng)計數(shù)器及其應(yīng)用用wyx主要內(nèi)容: 第第5 5章章 定時定時/ /計數(shù)器及其應(yīng)用計數(shù)器及其應(yīng)用wyx第第5 5章章 MCS-51MCS-51定時定時/ /計數(shù)器及其應(yīng)用計數(shù)器及其應(yīng)用 將計算機應(yīng)用于測控系統(tǒng)時,常常需要有實時時鐘以將計算機應(yīng)用于測控系統(tǒng)時,常常需要有實時時鐘以實現(xiàn)定時或延時采樣和控制,有時需要對外部事件進行實現(xiàn)定時或延時采樣和控制,有時需要對外部事件進行計數(shù)等。雖然定時的實現(xiàn)可由計數(shù)等。雖然定時的實現(xiàn)可由CPUCPU利用軟件編程來完成,利用軟件編程來完成,但這樣就會降低但這樣就會降低CPUCPU的效率,這時可使
2、用硬件定時計數(shù)器。的效率,這時可使用硬件定時計數(shù)器。 MCS-51 MCS-51子系列單片機內(nèi)有兩個可編程的定時計數(shù)器子系列單片機內(nèi)有兩個可編程的定時計數(shù)器T0T0和和T1T1;MCS-52MCS-52子系列中除這兩個定時器外,還有一個子系列中除這兩個定時器外,還有一個定時計數(shù)器定時計數(shù)器T2T2。 可編程可編程:可由用戶程序選擇其工作方式可由用戶程序選擇其工作方式 設(shè)定其工作參數(shù)和條件。設(shè)定其工作參數(shù)和條件。第5章 MCS-51定時/計數(shù)器及其應(yīng)用wyxMCS-51MCS-51子系列單片機內(nèi)的兩個定時器計數(shù)器子系列單片機內(nèi)的兩個定時器計數(shù)器T0T0和和T1T1邏輯結(jié)構(gòu)如圖所示:邏輯結(jié)構(gòu)如圖所
3、示:第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.1 5.1 定時定時/ /計數(shù)器的結(jié)構(gòu)與工作原理計數(shù)器的結(jié)構(gòu)與工作原理TH1TL1TH0TL0TCONTMOD內(nèi)部總線溢出啟動啟動工作方式工作方式44T1T0CUPTM中斷請求 16 16位的定時器計數(shù)器分別由兩個位的定時器計數(shù)器分別由兩個8 8位專用寄存器位專用寄存器TH0TH0、TL0TL0(或(或THlTHl和和TL1TL1)構(gòu)成。其內(nèi)部還有)構(gòu)成。其內(nèi)部還有2 2個個8 8位的專用寄存器位的專用寄存器TMODTMOD和和TCONTCON。其中。其中TMODTMOD是定時器的工作方式寄存器,是定時器的工作方式寄存器,TCONTCON是控制
4、寄存器,主要用于定時是控制寄存器,主要用于定時/ /計數(shù)計數(shù)器管理與控制。器管理與控制。5.1.1 5.1.1 定時定時/ /計數(shù)器的邏輯結(jié)構(gòu)計數(shù)器的邏輯結(jié)構(gòu)wyx 5.1 5.1 定時定時/ /計數(shù)器的結(jié)構(gòu)與工作原理計數(shù)器的結(jié)構(gòu)與工作原理 它的核心部件是加它的核心部件是加1 1計數(shù)器,其輸入的計數(shù)脈沖有兩個來源。當(dāng)加到計計數(shù)器,其輸入的計數(shù)脈沖有兩個來源。當(dāng)加到計數(shù)器為全數(shù)器為全“1 1”時,再輸入一個脈沖,就使計數(shù)器回零,同時產(chǎn)生溢出脈沖時,再輸入一個脈沖,就使計數(shù)器回零,同時產(chǎn)生溢出脈沖使使TCONTCON中溢出中斷標(biāo)志中溢出中斷標(biāo)志TF0TF0或或TF1TF1置置1 1,并可向,并可向
5、CPUCPU申請中斷申請中斷。1 1. .當(dāng)設(shè)置為定時工作方式時,當(dāng)設(shè)置為定時工作方式時,對機器周期對機器周期T TM M計數(shù)。這是計數(shù)器的計數(shù)脈沖計數(shù)。這是計數(shù)器的計數(shù)脈沖由振蕩器的由振蕩器的1212分頻信號產(chǎn)生,即每經(jīng)過一個機器周期,計數(shù)值加分頻信號產(chǎn)生,即每經(jīng)過一個機器周期,計數(shù)值加1 1,直至,直至計滿溢出。在機器周期固定的情況下,定時時間的長短與計數(shù)器事先裝入計滿溢出。在機器周期固定的情況下,定時時間的長短與計數(shù)器事先裝入的初值有關(guān),的初值有關(guān),裝入的初值越大,定時越短裝入的初值越大,定時越短。 2.2.當(dāng)設(shè)置為計數(shù)工作方式時當(dāng)設(shè)置為計數(shù)工作方式時,通過引腳通過引腳T0(P3.4)T
6、0(P3.4)和和T1(P3.5)T1(P3.5)對外部脈沖信號計數(shù)。當(dāng)對外部脈沖信號計數(shù)。當(dāng)T0T0或或T1T1腳上輸人的脈沖信號出現(xiàn)由腳上輸人的脈沖信號出現(xiàn)由1 1到到0 0的負(fù)跳變時,計數(shù)器值加的負(fù)跳變時,計數(shù)器值加1 1。外部輸入的計數(shù)脈沖的最。外部輸入的計數(shù)脈沖的最高頻率為系統(tǒng)頻率的高頻率為系統(tǒng)頻率的1/241/24。5.1.2 5.1.2 定時定時/ /計數(shù)器的工作原理計數(shù)器的工作原理第5章 MCS-51定時/計數(shù)器及其應(yīng)用wyx 定時定時/ /計數(shù)器的控制計數(shù)器的控制n5.1.3 5.1.3 控制寄存器控制寄存器TCONTCON 例:啟動例:啟動T0工作,用指令工作,用指令 SE
7、TB TR0注意注意: 復(fù)位后復(fù)位后TMOD、TCON各位均清零各位均清零第5章 MCS-51定時/計數(shù)器及其應(yīng)用(1) TF1 1) TF1 定時器定時器1 1溢出標(biāo)志溢出標(biāo)志(2) TR1 2) TR1 定時器定時器1 1運行控制位運行控制位(3) TF0 3) TF0 定時器定時器0 0溢出標(biāo)志溢出標(biāo)志(4) TR0 4) TR0 定時器定時器0 0運行控制位運行控制位(5) IE1 5) IE1 外部中斷外部中斷1 1請求標(biāo)志請求標(biāo)志(6) IT1 6) IT1 外中斷外中斷1 1觸發(fā)方式選擇位觸發(fā)方式選擇位(7) IE0 7) IE0 外部中斷外部中斷0 0請求標(biāo)志請求標(biāo)志(8) I
8、T0 8) IT0 外部斷外部斷0 0觸發(fā)方式選擇位觸發(fā)方式選擇位wyx 定時定時/ /計數(shù)器的控制計數(shù)器的控制 5.1.4 5.1.4 工作方式控制寄存器工作方式控制寄存器TMODTMOD D7D6D5D4D3D2D1D0TMODGATEC/TM1M0GATEC/TM1M0字節(jié)地址:字節(jié)地址:89H用于選定定時用于選定定時/ /計數(shù)器的工作方式、啟動方式等。計數(shù)器的工作方式、啟動方式等。其中低四其中低四 位用于定義定時器位用于定義定時器T0T0,高四位用于定義定時器,高四位用于定義定時器T1T1。 控控 制制 T1T1控控 制制 T0T0第5章 MCS-51定時/計數(shù)器及其應(yīng)用問題問題 1.
9、 定時定時/計數(shù)方式如何設(shè)定?計數(shù)方式如何設(shè)定? 2、定時、定時/計數(shù)器如何啟動?計數(shù)器如何啟動? 3、定時、定時/計數(shù)的初值如何計算?計數(shù)的初值如何計算?wyx 定時定時/ /計數(shù)器的控制計數(shù)器的控制(1 1)M1 M0M1 M0:用于設(shè)置定時:用于設(shè)置定時/ /計數(shù)器的計數(shù)器的工作方式工作方式0 03 3 ; (2 2) C CT T:選擇定時:選擇定時/ /計數(shù)計數(shù); C/T=0-C/T=0-定時,定時,C/T=1-C/T=1-計數(shù)計數(shù)(3 3)GATEGATE:啟動控制方式選擇啟動控制方式選擇 GATE GATE0 0:允許軟件位:允許軟件位TR0TR0或或TR1TR1啟動;啟動; G
10、ATE GATE1 1:允許外部引腳信號:允許外部引腳信號 INT0/INT1INT0/INT1啟動。啟動。第5章 MCS-51定時/計數(shù)器及其應(yīng)用M1M1M0M0工作方式工作方式方式說明方式說明0 00 00 01313位定時位定時/ /計數(shù)器計數(shù)器0 01 11 11616位定時位定時/ /計數(shù)器計數(shù)器1 10 02 28 8位自動重置定時位自動重置定時/ /計數(shù)器計數(shù)器1 11 13 3兩個兩個8 8位定時位定時/ /計數(shù)器(只有計數(shù)器(只有T0T0有)有)wyx 5.2 5.2 定時定時/ /計數(shù)器的工作方式計數(shù)器的工作方式1.1.方式方式0(0(T0/T1T0/T1) )(1)加加1
11、 1計數(shù)器為計數(shù)器為1313位位TL0=5TL0=5位,位,TH0=8TH0=8位位(2)(GATE+INT0)TR0為真為真,啟動定時器啟動定時器 (3)C/T=1為計數(shù)工作方式,計數(shù)脈沖由為計數(shù)工作方式,計數(shù)脈沖由T1引腳輸入。引腳輸入。計數(shù)個數(shù)計數(shù)個數(shù) N=( 2 21313初初值)值)(4 4)C/T=0為定時工作方式為定時工作方式 時鐘頻率時鐘頻率 fosc/12。N=t/Tcy定時時間定時時間t t= =(2 21313初值)初值)* *機器周期機器周期(5 5)計數(shù)器溢出,計數(shù)器溢出,TF1TF1置置1 1。由硬件申請中斷。由硬件申請中斷。能否被能否被CPUCPU響應(yīng)?響應(yīng)? 由
12、于在應(yīng)用方式由于在應(yīng)用方式0 0時計數(shù)初值的寫入要注意時計數(shù)初值的寫入要注意“低低5 5高高8 8”,初學(xué),初學(xué)者容易出錯,一般情況下很少用方式者容易出錯,一般情況下很少用方式0 0,而選用方式,而選用方式1 1。第5章 MCS-51定時/計數(shù)器及其應(yīng)用wyx例:若系統(tǒng)晶振頻率為例:若系統(tǒng)晶振頻率為foscfosc=12MHz=12MHz,要求定時器,要求定時器0 0工工作自方式作自方式0 0下實現(xiàn)下實現(xiàn)2ms2ms的定時,試問送入的定時,試問送入TH0TH0和和TL0TL0的值的值分別為多少?分別為多少?wyx 5.2 5.2 定時定時/ /計數(shù)器的控制與工作方式計數(shù)器的控制與工作方式2.2
13、.方式方式1 1(T0/T1)T0/T1) 定時定時/ /計數(shù)器工作于方式計數(shù)器工作于方式1 1時為一個時為一個1616位的計數(shù)器。其邏輯位的計數(shù)器。其邏輯結(jié)構(gòu)、操作及運行控制幾乎與方式結(jié)構(gòu)、操作及運行控制幾乎與方式0 0完全完全樣,差別僅在于計樣,差別僅在于計數(shù)器的位數(shù)不同。在方式數(shù)器的位數(shù)不同。在方式1 1中中TL0TL0和和TH0TH0均為均為8 8位,位,TL0TL0和和TH0TH0一一起構(gòu)成了起構(gòu)成了l6l6位計數(shù)據(jù)。位計數(shù)據(jù)。工作方式工作方式1 1時,定時時間為時,定時時間為: : t t(2(21616計數(shù)初值計數(shù)初值) )機器周期機器周期第5章 MCS-51定時/計數(shù)器及其應(yīng)用
14、用于計數(shù)器工作方式時用于計數(shù)器工作方式時 最大計數(shù)值為最大計數(shù)值為 21665536。wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用3. 3. 方式方式2 2(T0/T1T0/T1) ) 定時定時/ /計數(shù)器工作計數(shù)器工作于方式于方式2 2時,將兩個時,將兩個8 8位計數(shù)器位計數(shù)器THxTHx、TLxTLx分成獨立的兩部分,分成獨立的兩部分,組成一個組成一個可自動重可自動重裝載裝載的的8 8位定時位定時/ /計計數(shù)器。數(shù)器。 方式方式2 2的控制運行與方式的控制運行與方式0 0、方式、方式1 1相同。相同。 定時工作方式時,定時時間定時工作方式時,定時時間t t(2(28 8計數(shù)初值計數(shù)初值X
15、)X)機器周期機器周期 計數(shù)工作方式時,最大計數(shù)值計數(shù)工作方式時,最大計數(shù)值( (初值初值0 0時時) )是是2 28 8。 方式方式2 2特別適合于用作較精確的定時和脈沖信號發(fā)生器特別適合于用作較精確的定時和脈沖信號發(fā)生器, , 常用作串行口波特率發(fā)生器常用作串行口波特率發(fā)生器 。 5.2 5.2 定時定時/ /計數(shù)器的控制與工作方式計數(shù)器的控制與工作方式wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.2 5.2 定時定時/ /計數(shù)器的控制與工作方式計數(shù)器的控制與工作方式4.4.方式方式3 3 方式方式3 3只適用于定時器只適用于定時器T0T0。在方式。在方式3 3下,下,T0T0被分成
16、兩個相互被分成兩個相互獨立的獨立的8 8位計數(shù)器位計數(shù)器TL0TL0和和TH0TH0,如圖所示,如圖所示 。 1)TH0和和TL0變成變成2個分開的個分開的計數(shù)器。計數(shù)器。 TL0進行進行8位定時位定時/計計數(shù)數(shù),TH0進行進行8位定時位定時n2)TL0占用了全部的定時器占用了全部的定時器控制位(控制位(C/T,GATE,TR0,TF0)n3)TH0只能用于定時方式,只能用于定時方式,運行控制位和溢出標(biāo)志位則借運行控制位和溢出標(biāo)志位則借TR1和和TF1。 常用作串行口常用作串行口波特率發(fā)生器。波特率發(fā)生器。n在在T0T0設(shè)置為方式設(shè)置為方式3 3時,時,一般是將定時器一般是將定時器T1T1作為
17、串作為串行口波特率發(fā)生器行口波特率發(fā)生器。振蕩器振蕩器 1212TL0TL0(8 8位)位)TF0TF0與與或或T0T0TR0TR0GATEGATEINT0INT0S2S2S1S1C/TC/TTcyTcy中斷請中斷請求求TH0TH0(8 8位)位)TF1TF1S2S2中斷中斷請求請求T1T1TR1TR1wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.2 5.2 定時定時/ /計數(shù)器的控制與工作方式計數(shù)器的控制與工作方式小結(jié):小結(jié):wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用5.3.15.3.1定時定時/ /計數(shù)器計數(shù)初始化計數(shù)器計數(shù)初
18、始化1. 1. 定時計數(shù)器的初始化方法定時計數(shù)器的初始化方法 初始化的主要內(nèi)容是對初始化的主要內(nèi)容是對TCONTCON和和TMODTMOD編程編程,計算和裝載,計算和裝載T0T0和和T1T1的計數(shù)初值。的計數(shù)初值。(1 1)初始化步驟)初始化步驟1 1)分析定時器計數(shù)器的工作方式,將方式字寫入)分析定時器計數(shù)器的工作方式,將方式字寫入TMODTMOD寄存器;寄存器; ( 定定/計、內(nèi)計、內(nèi)/外啟動、工作方式)外啟動、工作方式)2)2)計算計算T0T0或或T1T1中的計數(shù)初值,并將其寫入中的計數(shù)初值,并將其寫入TH0TH0、TL0TL0或或TH1TH1、TL1TL1;3)3)根據(jù)需要開放根據(jù)需要
19、開放CPUCPU和定時計數(shù)器的中斷,即對和定時計數(shù)器的中斷,即對IEIE和和IPIP寄存器編程;寄存器編程;4)4)啟動定時器計數(shù)器工作:啟動定時器計數(shù)器工作: 若要求用軟件啟動,編程時對若要求用軟件啟動,編程時對TCONTCON中的中的TR0TR0或或TR1TR1置位即可啟動;置位即可啟動; 若由外部中斷引腳電平啟動,則對若由外部中斷引腳電平啟動,則對TCONTCON中的中的TR0TR0或或TR1TR1置位后,置位后,還需給還需給外引腳加啟動電平。外引腳加啟動電平。wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用(2 2)計數(shù)器初值的計算
20、)計數(shù)器初值的計算1 1)計數(shù)器模式時的計數(shù)初值)計數(shù)器模式時的計數(shù)初值 X2MN (M M為計數(shù)器位數(shù),為計數(shù)器位數(shù),N N為要求的計數(shù)值)為要求的計數(shù)值) 方式方式0:M13,計數(shù)器的最大計數(shù)值,計數(shù)器的最大計數(shù)值2138192。方式方式1:M16,計數(shù)器的最大計數(shù)值,計數(shù)器的最大計數(shù)值21665536;方式方式2:M8,計數(shù)器的最大計數(shù)值,計數(shù)器的最大計數(shù)值28256;方式方式3同方式同方式2例如:例如:設(shè)設(shè)T0T0工作在計數(shù)器方式工作在計數(shù)器方式2 2,求計數(shù),求計數(shù)1010個脈沖的計數(shù)初值個脈沖的計數(shù)初值 X0 X02 28 8 1010246246(11110101)B(11110
21、101)B0F5H0F5Hwyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用2 2)定時器模式時的計數(shù)初值)定時器模式時的計數(shù)初值 在定時器方式下,定時器對機器周期進行計數(shù)在定時器方式下,定時器對機器周期進行計數(shù), ,定時時間為:定時時間為: t t(2(2M M計數(shù)初值計數(shù)初值X)X)機器周期機器周期 則計數(shù)初值則計數(shù)初值 X XMosc212ft例如,若例如,若foscfosc6MHz6MHz,定時,定時10ms10ms,使用定時器,使用定時器T0T0工作于方式工作于方式1 1wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3
22、 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用2. 2. 定時定時/ /計數(shù)器初始化舉例計數(shù)器初始化舉例編寫編寫初始化程序的步驟;初始化程序的步驟; 1)方式控制字送)方式控制字送TMOD MOV TMOD,#2)計數(shù)器的初值送)計數(shù)器的初值送TH、TL(0/1) MOV TH0,# MOV TL0,#3)根據(jù)需要開放中斷和設(shè)定優(yōu)先級根據(jù)需要開放中斷和設(shè)定優(yōu)先級 即對即對IEIE和和IPIP賦初值。賦初值。 4) 啟動啟動T0/T1開始工作開始工作-置位置位TR0/1 SETB TR0/15)等待溢出信號的出現(xiàn)(如何進入處理程序?)等待溢出信號的出現(xiàn)(如何進入處理程序?) (查詢法或中斷法)(查詢法
23、或中斷法)wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用例例5-15-1: :要求定時器要求定時器T1T1于方式于方式1 1,定時,定時50ms50ms,由軟件啟動,允許中斷。設(shè),由軟件啟動,允許中斷。設(shè)系統(tǒng)時鐘頻率系統(tǒng)時鐘頻率f fOSCOSC12MHz12MHz,編寫初始化程序段。,編寫初始化程序段。解:解:1 1)方式控制字為)方式控制字為 0001 0001 00000000B=10HB=10H 2 2)計數(shù)初值為)計數(shù)初值為 X1X1T1T1初始化程序段如下:初始化程序段如下: MOVMOVTMODTMOD,#10H#10H;寫
24、入工作方式字;寫入工作方式字 MOVMOVTH1TH1,#3CH#3CH;寫入計數(shù)初值;寫入計數(shù)初值 MOVMOVTL1TL1,#0B0H#0B0H SETB SETBET1ET1;開放;開放T1T1中斷中斷 SETBSETBEAEA;開放;開放CPUCPU中斷中斷 SETBSETBTR1TR1;啟動;啟動T1T1工作工作 631612 1050 102155363CB0H12wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用例例5-25-2: : 要求利用定時要求利用定時/ /計數(shù)器計數(shù)器T0T0對對T0T0引腳(引腳(P3.4P3.4)出
25、現(xiàn)的脈沖計數(shù),每)出現(xiàn)的脈沖計數(shù),每計數(shù)計數(shù)100100個脈沖向個脈沖向CPUCPU申請中斷,設(shè)由由軟件啟動。編寫初始化程序段。申請中斷,設(shè)由由軟件啟動。編寫初始化程序段。解:解:1 1)經(jīng)分析,可設(shè)定時器)經(jīng)分析,可設(shè)定時器T0T0工作于方式工作于方式2 2計數(shù)計數(shù) 方式控制字為方式控制字為 0000 0000 01100110 B B=06H=06H 2 2)要求的計數(shù)值)要求的計數(shù)值N=100N=100,則計數(shù)初值為,則計數(shù)初值為 2 28 8-100=156-100=156初始化程序段如下:初始化程序段如下: MOVMOVTMODTMOD,#06H#06H;寫入工作方式字;寫入工作方式
26、字 MOVMOVTH0TH0,# #156156;寫入計數(shù)初值;寫入計數(shù)初值 MOVMOVTL0TL0,# #156156 MOV MOVIEIE,#10000010B#10000010B;開放;開放T0T0、 CPUCPU中斷中斷 SETBSETBTR0TR0;啟動;啟動T0T0工作工作wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用5.3.2 5.3.2 定時定時/ /計數(shù)器計數(shù)應(yīng)用舉例計數(shù)器計數(shù)應(yīng)用舉例 在應(yīng)用定時計數(shù)器時,溢出標(biāo)志在應(yīng)用定時計數(shù)器時,溢出標(biāo)志TFxTFx置位后既可由硬件向置位后既可由硬件向CPUCPU申請申請中斷,也
27、可通過用戶程序查詢中斷,也可通過用戶程序查詢TFxTFx的狀態(tài),因此對計數(shù)溢出信息的處理有的狀態(tài),因此對計數(shù)溢出信息的處理有以下兩種方法。以下兩種方法。中斷法:中斷法:在定時器初始化時要開放對應(yīng)的源允許(在定時器初始化時要開放對應(yīng)的源允許(ET0ET0或或ET1ET1)和總允許,)和總允許,在啟動后等待中斷。當(dāng)計數(shù)器溢出中斷,在啟動后等待中斷。當(dāng)計數(shù)器溢出中斷,CPUCPU將程序轉(zhuǎn)到中斷服務(wù)程序入將程序轉(zhuǎn)到中斷服務(wù)程序入口,因此應(yīng)在中斷服務(wù)程序中安排相應(yīng)的處理程序??冢虼藨?yīng)在中斷服務(wù)程序中安排相應(yīng)的處理程序。查詢法:查詢法:既在定時器初始化并啟動后,在程序中安排指令查詢既在定時器初始化并啟動
28、后,在程序中安排指令查詢TFxTFx的狀態(tài)。的狀態(tài)。 LP:JBC TF0,NEXT;TF0為為1,轉(zhuǎn)后面的處理程序,并將,轉(zhuǎn)后面的處理程序,并將TF0復(fù)位復(fù)位 SJMPLP ;TF0為為0,繼續(xù)查詢,繼續(xù)查詢NEXT: wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用采用查詢方式時的一般編程模式:采用查詢方式時的一般編程模式: ORG 0030HMAIN: MOV TMOD,# MOV TH0,# MOV TL0,# - SETB TR0WAIT: JBC TF0,NEXT; SJMP WAIT;NEXT:MOV TH0,#;重裝;重裝
29、MOV TL0,# ;初值;初值 - - ;處理程序;處理程序 SLMP WAIT采用中斷方式時的一般編程模式:采用中斷方式時的一般編程模式: ORG 0000H SJMP MAIN ORG 000BH (001BH) LJMP T0S ORG 0030HMAIN: MOV TMOD,# MOV TH0,# MOV TL0,# SETB ET0; SETB EA; -;置其他初值;置其他初值 SETB TR0; SJMP $T0S: - ; 重裝初值重裝初值 - ;處理程序;處理程序 RETIwyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用
30、 1.1.定時計數(shù)器定時模式的應(yīng)用定時計數(shù)器定時模式的應(yīng)用例例5-35-3: : 利用利用定時定時/ /計數(shù)器定時產(chǎn)生周期信號。要求用定時器計數(shù)器定時產(chǎn)生周期信號。要求用定時器T0T0定時,在定時,在P1.7P1.7引腳上輸出頻率為引腳上輸出頻率為50Hz50Hz的方波。設(shè)晶振頻率的方波。設(shè)晶振頻率為為12MHz12MHz。解:解:1)按題意分析:方波周期)按題意分析:方波周期T=1/50=20ms,可用,可用T0方式方式1定時定時10ms,使,使P1.7每隔每隔10ms取反一次,即可得到周期為取反一次,即可得到周期為20ms的方波。的方波。 設(shè)設(shè)T0工作在方式工作在方式1,由軟件啟動。,由軟
31、件啟動。2 2)TMODTMOD控制字為控制字為 0000 0000 00010001 B B3 3)初值計算:)初值計算:fosc=12MHz,fosc=12MHz,則機器周期為則機器周期為1s1s。 X0X02 21616-10-1010103 3/ /1 1(s(s)=65536-10000=55536=0D8F0H=65536-10000=55536=0D8F0H, 即有即有TH0=D8HTH0=D8H,TL0=F0HTL0=F0Hwyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用若采用查詢法,編程如下:若采用查詢法,編程如下: OR
32、G 0030HSTAR:MOV TMOD,#01H;方式字;方式字 MOV TH0,#0D8H ;寫入計數(shù)初值寫入計數(shù)初值 MOV TL0,#0F0H SETB TR0 ;啟動;啟動T0LP: JBC TF0,NEXT;TF0為為1轉(zhuǎn)轉(zhuǎn)NXET SJMP LP ;TF0為為0,繼續(xù)查詢,繼續(xù)查詢NEXT:MOV TH0,#0D8H ;重裝初值;重裝初值 MOV TL0,#0F0H CPL P1.7 ;P1.7取反輸出方波取反輸出方波 AJMP LP ;反復(fù)循環(huán);反復(fù)循環(huán) wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用若采用采用中斷法,編程
33、如下:若采用采用中斷法,編程如下: ORG 0000H SJMP STAR ORG 000BH ;定義;定義T0T0服務(wù)程序入口服務(wù)程序入口 AJMP DVT0 ORG 0030HSTAR:MOV TMOD,#01H;寫入工作方式字寫入工作方式字 MOV TH0,#0D8H ;寫入計數(shù)初值寫入計數(shù)初值 MOV TL0,#0F9H SETB ET0 ; SETB EA ;開放開放T0T0和和CPUCPU中斷中斷 SETB TR0 ;啟動;啟動T0T0 SJMP $ ;等待中斷等待中斷 中斷服務(wù)中斷服務(wù) 程序:程序:DVT0:MOV TH0,#0D8H ; MOV TL0,#0F0H CPL P1
34、.7 ; RETI wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用2. 2. 定時計數(shù)器計數(shù)模式的應(yīng)用定時計數(shù)器計數(shù)模式的應(yīng)用 例例5-4:5-4: 某系統(tǒng)某系統(tǒng)(如如包裝流水線包裝流水線)要求用定時器要求用定時器T1對由對由P3.5(T1)引腳)引腳輸入的脈沖計數(shù),每計滿輸入的脈沖計數(shù),每計滿100個脈沖,在個脈沖,在P1.0引腳輸出一個正脈沖。引腳輸出一個正脈沖。T1T1解:解:1)據(jù)題意分析,可將定時器據(jù)題意分析,可將定時器T1設(shè)置設(shè)置為方式為方式2計數(shù),由軟件啟動。計數(shù),由軟件啟動。 2)方式控制)方式控制 TMOD0110 00
35、00B 3)XI281001569CH, 即有即有 TH1TL19CHwyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用主程序:主程序: ORG 0000H SJMP MAIN ORG 001BH ;定義;定義T1服務(wù)程序入口服務(wù)程序入口 AJMP DVT1 ORG 0030HMAIN:MOV TMOD,#60H ;寫入工作方式字寫入工作方式字 MOV TH1,#9CH ;寫入計數(shù)初值;寫入計數(shù)初值 MOV TL1,#9CH SETB ET1 ;開放開放T1中斷中斷 SETB EA ;開放開放CPU中斷中斷 CLR P1.0 SETB TR1
36、 ;啟動;啟動T1 SJMP $ ;等待中斷;等待中斷 DVT1DVT1:SETB P1.0 NOP NOP CLR P1.0; RETI wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用3. 3. 定時時間的擴展定時時間的擴展 為什么要擴展?為什么要擴展? 例如晶振頻率為例如晶振頻率為12MHz12MHz時,一個定時器最長的定時時間為時,一個定時器最長的定時時間為: 1661t21265.536ms6 10例如,例如,若用若用T0T0定時定時50ms50ms,每次溢出后就計數(shù)一次,則計,每次溢出后就計數(shù)一次,則計數(shù)數(shù)2020次就得次就得1
37、 1秒的定時。較常用的是軟件計數(shù)擴展法。秒的定時。較常用的是軟件計數(shù)擴展法。 軟件擴展是利用內(nèi)存單元作溢出次數(shù)的計數(shù)器。如果軟件擴展是利用內(nèi)存單元作溢出次數(shù)的計數(shù)器。如果定時時間長,定時時間長,8 8位計數(shù)器不夠,還可采用位計數(shù)器不夠,還可采用1616位計數(shù)器或用位計數(shù)器或用更多字節(jié)單元計數(shù)。更多字節(jié)單元計數(shù)。如何擴展?如何擴展?wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用例例5-55-5:要求利用軟件擴展方法實現(xiàn)要求利用軟件擴展方法實現(xiàn)1 1秒定時,使得由秒定時,使得由P1P1口控口控制的制的8 8個個LEDLED指示燈每隔一秒輪流閃
38、亮(輸出為低電平亮),指示燈每隔一秒輪流閃亮(輸出為低電平亮), 設(shè)設(shè)f fOSCOSC6MHz6MHz。解:解:1 1)分析:設(shè)利用定時器)分析:設(shè)利用定時器T0T0工作于方式工作于方式1 1,定時,定時50ms50ms,并用,并用R2R2作軟件計數(shù)器,取作軟件計數(shù)器,取R2R2的初值為的初值為2020,作減法計數(shù),每次,作減法計數(shù),每次T0T0溢出溢出時,時,R2R2減減1 1,當(dāng),當(dāng)R2R2減到減到0 0,則定時,則定時1 1秒完成。秒完成。2 2) 即有即有TMOD=0000TMOD=000000010001B=01H B=01H 631661050102405369E58H12TH0
39、=9EH,TL0=58Hwyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用 主程序:主程序: ORG 0000H SJMP MAIN ORG 000BH ;T0服務(wù)程序入口服務(wù)程序入口 AJMP DVT0 ORG 0030HMAIN:MOV TMOD,#01H;方式字方式字 MOV TH0,#9EH ;計數(shù)初值;計數(shù)初值 MOV TL0,#58H SETB ET0 SETB EA; ;開放中斷;開放中斷 MOV R2,#20 ;軟件計數(shù)初值;軟件計數(shù)初值 MOV A,#0FEH ; MOV P1,A SETB TR0 ; SJMP $ ;等待
40、中斷;等待中斷中斷服務(wù)程序:中斷服務(wù)程序:DVT0DVT0:MOV TH0MOV TH0,#9EH#9EH MOV TL0 MOV TL0,#58H#58H DJNZ R2DJNZ R2,RTNRTN RL A RL A ;左移一位;左移一位 MOV P1,AMOV P1,A MOV R2 MOV R2,#20#20 RTNRTN: RETI RETI 定時時間的擴展定時時間的擴展wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用 4.4.利用定時利用定時/ /計數(shù)器擴展外部中斷源計數(shù)器擴展外部中斷源 利用定時利用定時/ /計數(shù)器來擴展外部中
41、斷源。方法是將定時計數(shù)器來擴展外部中斷源。方法是將定時/ /計數(shù)器設(shè)置成計數(shù)計數(shù)器設(shè)置成計數(shù)器方式器方式2 2計數(shù),計數(shù)初值設(shè)定為計數(shù),計數(shù)初值設(shè)定為THxTHx、TLxTLx均為均為0FFH0FFH,并將待擴展的外部中,并將待擴展的外部中斷源接到定時斷源接到定時/ /計數(shù)器的外部脈沖計數(shù)引腳計數(shù)器的外部脈沖計數(shù)引腳. .例如,利用定時例如,利用定時/計數(shù)器計數(shù)器T0擴展一個外部中斷源。將擴展一個外部中斷源。將T0設(shè)置為設(shè)置為計數(shù)方式,按方式計數(shù)方式,按方式2工作,工作,TH0、TL0的初值均為的初值均為0FFH,T0允許中斷,允許中斷,CPU開放中斷。其初始化開放中斷。其初始化程序段如下:程
42、序段如下: MOV TMOD,#06H ;置;置T0為計數(shù)器方式為計數(shù)器方式2 MOV TL0,#0FFH;置計數(shù)初值;置計數(shù)初值 MOV TH0,#0FFH SETB TR0 ;啟動;啟動T0工作工作 SETB EA;CPU開中斷開中斷 SETB ET0;允許;允許T0中斷中斷wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用5.5.門控位門控位GATEGATE的應(yīng)用的應(yīng)用例例5-65-6: :利用定時利用定時/ /計數(shù)器計數(shù)器T0T0的門控位的門控位GATEGATE,測量引腳上出現(xiàn)的脈沖寬度,測量引腳上出現(xiàn)的脈沖寬度, 并將結(jié)果并將結(jié)果(
43、 (機器周期數(shù)機器周期數(shù)) )存入內(nèi)部存入內(nèi)部RAM 30HRAM 30H和和31H31H單元中。單元中。解:解:1 1)分析)分析: :外部脈沖由引腳外部脈沖由引腳P3.2P3.2輸入,設(shè)輸入,設(shè)T0T0工作于定時器方式工作于定時器方式1 1,計數(shù),計數(shù)初值為初值為0 0,在一個完整的外部脈沖寬度內(nèi)對機器周期計數(shù)(定時方式),在一個完整的外部脈沖寬度內(nèi)對機器周期計數(shù)(定時方式),計數(shù)值乘上機器周期就是脈沖寬度。計數(shù)值乘上機器周期就是脈沖寬度。 2)過程:)過程: a) GATEGATE1 1,在,在P3.2P3.2為為0 0時,使時,使TR0=1TR0=1時,準(zhǔn)備計數(shù);時,準(zhǔn)備計數(shù); b)b
44、)由外部脈沖(由外部脈沖(P3.2)P3.2)上升沿啟動上升沿啟動T0T0開始工作,加開始工作,加1 1計數(shù)器開始對機器計數(shù)器開始對機器周期計數(shù);周期計數(shù); c)c)引腳變?yōu)榈碗娖綍r,停止計數(shù)引腳變?yōu)榈碗娖綍r,停止計數(shù); ; d) d)讀出讀出TH0TH0、TL0TL0的值的值P3.2T0初 始 化GAET=1TR0=1開始計數(shù)停止計數(shù)讀 計 數(shù) 值P3.2T0初 始 化GAET=1TR0=1開始計數(shù)停止計數(shù)讀 計 數(shù) 值3)工作方式字)工作方式字TMOD=00001001BTMOD=00001001B 計數(shù)初值計數(shù)初值TH0=00HTH0=00H,TL0=00HTL0=00Hwyx第5章 M
45、CS-51定時/計數(shù)器及其應(yīng)用 5.3 5.3 定時定時/ /計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用 ORG 0000H LJMP MAIN ORG 0030HMAIN:MOV TMOD,#09H ;GATE1 MOV TH0,#00H ;置計數(shù)初值;置計數(shù)初值 MOV TL0,#00H MOV R0,#30H WAIT1:JBP3.2,WAIT1 ;等待變低;等待變低 SETB TR0 ;預(yù)啟動;預(yù)啟動T0WAIT2:JNB P3.2,WAIT2 ;等待;等待 INT0變高、啟動計數(shù)變高、啟動計數(shù) WAIT3:JB P3.2,WAIT3 ; INT0=1,啟動定時等待,啟動定時等待 INT0再變低再變低
46、CLR TR0 ;停止計數(shù);停止計數(shù) MOV R0,TL0 ;讀取計數(shù)值,存入指定單元;讀取計數(shù)值,存入指定單元 INC R0, MOV R0,TH0 AJMP DATA ;轉(zhuǎn)數(shù)據(jù)處理程序;轉(zhuǎn)數(shù)據(jù)處理程序wyx 課間休息wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用5.4 525.4 52系列單片機的定時系列單片機的定時/ /計數(shù)器計數(shù)器T2T2及其應(yīng)用及其應(yīng)用 52 52系列單片機中的系列單片機中的T2T2定時定時/ /計數(shù)器,解決了計數(shù)器,解決了5151系列單片機定系列單片機定時器資源緊張的問題。時器資源緊張的問題。 定時定時/ /計數(shù)器計數(shù)器T2T2是一個是一個1616位的計數(shù)器,位的計
47、數(shù)器, T2T2也是個可編程器件。也是個可編程器件。在定時器在定時器/ /計數(shù)器計數(shù)器T2T2的內(nèi)部,有兩個的內(nèi)部,有兩個8 8位計數(shù)器位計數(shù)器TL2TL2、TH2TH2和控制和控制寄存器寄存器T2CONT2CON、T2MODT2MOD,還有捕獲寄存器,還有捕獲寄存器RCAP2LRCAP2L( (低字節(jié)低字節(jié)) )和和RCAP2HRCAP2H( (高字節(jié)高字節(jié)) )。 通過對特殊功能寄存器通過對通過對特殊功能寄存器通過對T2MOD T2MOD 和和T2CONT2CON編程編程,來選擇來選擇定時或計數(shù)器方式;設(shè)置定時或計數(shù)器方式;設(shè)置T2T2的工作模式和控制的工作模式和控制T2T2的運行。的運行
48、。 定時定時/ /計數(shù)器計數(shù)器T2T2有有3 3種模式:分別為種模式:分別為自動重載自動重載(遞增或遞減)、(遞增或遞減)、捕獲和波特率發(fā)生器捕獲和波特率發(fā)生器。 MCS-52MCS-52單片機中還定義了單片機中還定義了P1.0P1.0和和P1.1P1.1第二替代功能:第二替代功能: T2(P1.0)T2(P1.0)是外部計數(shù)脈沖輸入端或定時是外部計數(shù)脈沖輸入端或定時/ /計數(shù)器計數(shù)器T2T2時鐘信號輸時鐘信號輸出端出端 T2EX(P1.1)T2EX(P1.1)是外部控制信號輸入端。是外部控制信號輸入端。wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用5.4.1 5.4.1 定時定時/ /計數(shù)器
49、計數(shù)器T2T2的管理與控制的管理與控制1. 1. 模式控制寄存器模式控制寄存器T2MODT2MOD T2MOD T2MOD的地址是的地址是0C9H0C9H,不可進行位尋址,復(fù)位后的內(nèi)容為,不可進行位尋址,復(fù)位后的內(nèi)容為XXXXXXXXXXXX0000B B。當(dāng)。當(dāng)T2T2工作在自動重載方式時,可通過對工作在自動重載方式時,可通過對T2MODT2MOD中的中的DCENDCEN位編程來實現(xiàn)向上計數(shù)或向下計數(shù)。位編程來實現(xiàn)向上計數(shù)或向下計數(shù)。T2MODD7D7D7D6D6D6D5D5D5D4D4D4D3D3D3D2D2D2D1D0T2OEDCEN(1)(1)T2OET2OE(T2MOD.1)(T2M
50、OD.1):T2T2輸出允許位。當(dāng)輸出允許位。當(dāng)T2OE=1T2OE=1時,允許時鐘時,允許時鐘 輸出到輸出到P1.0P1.0引腳。引腳。(2)(2)DCENDCEN(T2MOD.0)(T2MOD.0):向下計數(shù)允許位。:向下計數(shù)允許位。 DCEN=0 DCEN=0時,時,T2T2只能為加計數(shù)器;只能為加計數(shù)器; DCEN=1 DCEN=1時,時,T2T2可通過可通過T2EXT2EX引腳上的值確定為引腳上的值確定為遞增遞增或或遞減遞減計計數(shù)。數(shù)。 上電復(fù)位時,上電復(fù)位時,DCEN=0DCEN=0時,時,T2T2默認(rèn)為加計數(shù)。默認(rèn)為加計數(shù)。wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用2. 2.
51、 控制寄存器控制寄存器T2CONT2CON T2CON T2CON的地址是的地址是0C8H0C8H,可進行位尋址,復(fù)位后內(nèi)容為,可進行位尋址,復(fù)位后內(nèi)容為00H00H。T2CONT2CON用于設(shè)置定時用于設(shè)置定時/ /計數(shù)器計數(shù)器T2T2的工作模式和控制的工作模式和控制T2T2的運行,的運行, 格式如下:格式如下:5.4.1 5.4.1 定時定時/ /計數(shù)器計數(shù)器T2T2的管理與控制的管理與控制T2RL2CP/C/TR2EXEN2TCLKRCLKEXF2TF2D0 D1 D2D3 D4 D5 D6 D7T2CON(1) TF2(1) TF2:T2T2溢出中斷標(biāo)志位。在自動重載和捕獲方式下,溢出
52、中斷標(biāo)志位。在自動重載和捕獲方式下,T2T2計數(shù)產(chǎn)生溢出計數(shù)產(chǎn)生溢出后,由硬件自動使后,由硬件自動使TF2TF2置置1 1,并請求中斷。該,并請求中斷。該位必須由軟件清位必須由軟件清0 0;在波特率發(fā);在波特率發(fā)生器方式下,生器方式下,T2T2產(chǎn)生溢出后不對產(chǎn)生溢出后不對TF2TF2置位。置位。(2) (2) EXF2EXF2:T2T2外部中斷標(biāo)志位。當(dāng)外部中斷標(biāo)志位。當(dāng)EXEN2=1,EXEN2=1,且且T2EXT2EX(P1.1P1.1)的負(fù)跳變產(chǎn)生)的負(fù)跳變產(chǎn)生捕獲或重裝時,捕獲或重裝時,EXF2EXF2被置位。被置位。T2T2中斷使能時,中斷使能時,EXF2=1EXF2=1將使將使CP
53、UCPU進入定時進入定時/ /計計數(shù)器數(shù)器T2T2的中斷服務(wù)程序。的中斷服務(wù)程序。EXF2EXF2位必須用軟件清位必須用軟件清0 0,在遞增,在遞增/ /遞減計數(shù)器模式遞減計數(shù)器模式(DCEN=1DCEN=1)中,)中,EXF2EXF2不會引起中斷。不會引起中斷。(3) (3) RCLKRCLK:接收時鐘標(biāo)志位。:接收時鐘標(biāo)志位。 RCLK=1 RCLK=1時,將時,將T2T2的溢出脈沖作為串口模式的溢出脈沖作為串口模式1 1或模式或模式3 3的接收時鐘;的接收時鐘; RCLK=0 RCLK=0時,將時,將T1T1的溢出脈沖作為串口模式的溢出脈沖作為串口模式1 1或模式或模式3 3的接收時鐘。
54、的接收時鐘。wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用5.4.1 5.4.1 定時定時/ /計數(shù)器計數(shù)器T2T2的管理與控制的管理與控制( (4)TCLK4)TCLK:發(fā)送時鐘標(biāo)志位。:發(fā)送時鐘標(biāo)志位。 TCLK=1 TCLK=1時,將時,將T2T2的溢出脈沖作為串口模式的溢出脈沖作為串口模式1 1或模式或模式3 3的發(fā)送時鐘;的發(fā)送時鐘; TCLK=0 TCLK=0時,時,T1T1的溢出脈沖作為串口模式的溢出脈沖作為串口模式1 1或模式或模式3 3的發(fā)送時鐘。的發(fā)送時鐘。(5)EXEN2(5)EXEN2:定時:定時/ /計數(shù)器計數(shù)器T2T2外部允許標(biāo)志位。允許或禁止用外部信號來觸外部允許
55、標(biāo)志位。允許或禁止用外部信號來觸發(fā)捕獲或重載操作。發(fā)捕獲或重載操作。 當(dāng)當(dāng)EXEN2=1EXEN2=1,允許,允許T2EXT2EX的負(fù)跳變產(chǎn)生捕獲或自動重載;的負(fù)跳變產(chǎn)生捕獲或自動重載; 當(dāng)當(dāng)EXEN2=0EXEN2=0時,時,T2EXT2EX的跳變對定時的跳變對定時/ /計數(shù)器計數(shù)器T2T2無效。無效。(6)TR2 (6)TR2 :定時:定時/ /計數(shù)器計數(shù)器T2T2的啟動的啟動/ /停止控制位。停止控制位。 (7)C/T2(7)C/T2 :定時:定時/ /計數(shù)器計數(shù)器T2T2的定時的定時/ /計數(shù)工作方式選擇位。計數(shù)工作方式選擇位。 C/T2=1 C/T2=1,選擇計數(shù)方式,為外部事件計數(shù)
56、器(下降沿觸發(fā)),選擇計數(shù)方式,為外部事件計數(shù)器(下降沿觸發(fā)); ; C/T2=0 C/T2=0,選擇定時器工作方式,選擇定時器工作方式. .(8)CP/RL2(8)CP/RL2:捕獲:捕獲/ /重載標(biāo)志位。重載標(biāo)志位。 CP/RL2=1 CP/RL2=1,選擇捕獲方式,若,選擇捕獲方式,若EXEN2=1EXEN2=1且且T2EXT2EX引腳的信號負(fù)跳變時,產(chǎn)引腳的信號負(fù)跳變時,產(chǎn)生捕獲;生捕獲; CP/=0 CP/=0,選擇自動重載方式,若,選擇自動重載方式,若T2T2溢出或在溢出或在EXEN2=1EXEN2=1條件下條件下T2EX(P1.1)T2EX(P1.1)引腳的信號負(fù)跳變,都可以使引
57、腳的信號負(fù)跳變,都可以使T2T2自動重載。當(dāng)自動重載。當(dāng)RCLK=1RCLK=1或或TCLK=1TCLK=1時,該位時,該位無效且定時無效且定時/ /計數(shù)器計數(shù)器T2T2強制為溢出時自動重裝。強制為溢出時自動重裝。T2RL2CP/C/TR2EXEN2TCLKRCLKEXF2TF2D0 D1 D2D3 D4 D5 D6 D7T2CONwyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用5.4.1 5.4.1 定時定時/ /計數(shù)器計數(shù)器T2T2的管理與控制的管理與控制3. 3. 數(shù)據(jù)寄存器數(shù)據(jù)寄存器TH2TH2、TL2TL2 與與T0/T1T0/T1相仿,定時相仿,定時/ /計數(shù)器計數(shù)器T2T2有一個有
58、一個1616位的數(shù)據(jù)寄存器,位的數(shù)據(jù)寄存器,由高由高8 8位寄存器(位寄存器(TH2TH2)和低)和低8 8位寄存器(位寄存器(TL2TL2)組成。它們的)組成。它們的地址分別為地址分別為0CDH0CDH和和0CCH0CCH,復(fù)位后內(nèi)容都為,復(fù)位后內(nèi)容都為0 0。4. 4. 捕獲寄存器捕獲寄存器RCAP2HRCAP2H、RCAP2LRCAP2L捕獲寄存器是一個捕獲寄存器是一個1616位的數(shù)據(jù)寄存器,由高位的數(shù)據(jù)寄存器,由高8 8位寄存器位寄存器(RCAP2HRCAP2H)和低)和低8 8位寄存器(位寄存器(RCAP2LRCAP2L)組成。地址分別是)組成。地址分別是0CBH0CBH和和0CAH
59、0CAH,復(fù)位后內(nèi)容都為,復(fù)位后內(nèi)容都為0 0。 捕獲寄存器捕獲寄存器RCAP2HRCAP2H和和RCAP2LRCAP2L用來預(yù)置計數(shù)初值或用于捕獲用來預(yù)置計數(shù)初值或用于捕獲寄存器寄存器TH2TH2、TL2TL2的計數(shù)狀態(tài)。的計數(shù)狀態(tài)。 TH2 TH2、TL2TL2與與RCAP2HRCAP2H、RCAP2LRCAP2L之間接有雙向緩沖器。之間接有雙向緩沖器。wyx第5章 MCS-51定時/計數(shù)器及其應(yīng)用5.4.2 5.4.2 定時定時/ /計數(shù)器計數(shù)器T2T2的的3 3種工作模式種工作模式 定時定時/ /計數(shù)器計數(shù)器T2T2有有3 3種工作方式:自動重載、捕獲和波特率種工作方式:自動重載、捕獲
60、和波特率發(fā)生器,由控制位發(fā)生器,由控制位CP/RL2CP/RL2和和RCLK+TCLKRCLK+TCLK來決定。來決定。關(guān)閉關(guān)閉0XX波特率發(fā)生器波特率發(fā)生器1X116位捕獲位捕獲11 0 16位自動重載位自動重載10 0工作方式工作方式TR2 CP/RCLK+TCLKRL21. 自動重載模式自動重載模式 在在1616位自動重載模式下,定時位自動重載模式下,定時/ /計數(shù)器計數(shù)器T2T2可以編程控制遞增可以編程控制遞增/ /遞減計數(shù)。遞減計數(shù)。當(dāng)當(dāng)DCEN=0DCEN=0時,定時時,定時/ /計數(shù)器計數(shù)器T2T2只能為加計數(shù)器。只能為加計數(shù)器。 當(dāng)當(dāng)EXEN2=0EXEN2=0,T2T2計數(shù)到
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文具銷售合同協(xié)議
- 購物材料協(xié)議合同
- 作廢合同協(xié)議范本下載
- 食堂合同轉(zhuǎn)讓協(xié)議
- vi制作合同協(xié)議
- 合同和聘用協(xié)議
- 長期搬運合同協(xié)議
- 單方解除合同協(xié)議書
- 小學(xué)綠化養(yǎng)護合同協(xié)議書
- 付完首付怎么寫合同協(xié)議
- 2024年中國男式印花T-恤衫市場調(diào)查研究報告
- 2025年中考道德與法治專題復(fù)習(xí)-專題三 堅定文化自信 弘揚中國精神
- 《光明乳業(yè)公司企業(yè)應(yīng)收賬款管理現(xiàn)狀及優(yōu)化建議(10000字論文)》
- 剪映專業(yè)版教學(xué)課件
- 邀請招標(biāo)文件模板
- 加工模具保密協(xié)議(2024版)
- 金融投資項目立項管理制度
- 大學(xué)生職業(yè)規(guī)劃學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 四大名著文學(xué)常識單選題100道及答案解析
- 四川省達州市2024年中考化學(xué)真題(含答案)
- 投資并購法律實務(wù)(第二版)
評論
0/150
提交評論