![片微機(jī)的定時(shí)器計(jì)數(shù)器原理及應(yīng)用鄧課件_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/bc55e46c-23fc-475d-ba0b-ad3420c86cf9/bc55e46c-23fc-475d-ba0b-ad3420c86cf91.gif)
![片微機(jī)的定時(shí)器計(jì)數(shù)器原理及應(yīng)用鄧課件_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/bc55e46c-23fc-475d-ba0b-ad3420c86cf9/bc55e46c-23fc-475d-ba0b-ad3420c86cf92.gif)
![片微機(jī)的定時(shí)器計(jì)數(shù)器原理及應(yīng)用鄧課件_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/bc55e46c-23fc-475d-ba0b-ad3420c86cf9/bc55e46c-23fc-475d-ba0b-ad3420c86cf93.gif)
![片微機(jī)的定時(shí)器計(jì)數(shù)器原理及應(yīng)用鄧課件_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/bc55e46c-23fc-475d-ba0b-ad3420c86cf9/bc55e46c-23fc-475d-ba0b-ad3420c86cf94.gif)
![片微機(jī)的定時(shí)器計(jì)數(shù)器原理及應(yīng)用鄧課件_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/bc55e46c-23fc-475d-ba0b-ad3420c86cf9/bc55e46c-23fc-475d-ba0b-ad3420c86cf95.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第六章第六章 單片微機(jī)的定時(shí)器單片微機(jī)的定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器原理及應(yīng)用原理及應(yīng)用 實(shí)驗(yàn)五實(shí)驗(yàn)五 定時(shí)器定時(shí)器 P1.0、P1.1分別接兩個(gè)發(fā)光二極管,分別接兩個(gè)發(fā)光二極管,INT0腳接一按鍵做開關(guān),按一次開關(guān),腳接一按鍵做開關(guān),按一次開關(guān),則啟動(dòng),兩個(gè)發(fā)光管一亮一滅,亮滅則啟動(dòng),兩個(gè)發(fā)光管一亮一滅,亮滅時(shí)間均為時(shí)間均為1秒;再按一次開關(guān),則關(guān)閉,秒;再按一次開關(guān),則關(guān)閉,即兩個(gè)發(fā)光管都滅。即兩個(gè)發(fā)光管都滅。 實(shí)驗(yàn)六實(shí)驗(yàn)六 定時(shí)器、計(jì)數(shù)器定時(shí)器、計(jì)數(shù)器 P3.2口輸出周期為口輸出周期為2S的方波,的方波,T1口為脈沖口為脈沖輸入端,記錄輸入的脈沖個(gè)數(shù),脈沖個(gè)數(shù)輸入端,記錄輸入的脈沖個(gè)數(shù),脈沖個(gè)數(shù)
2、由由P1口所接的口所接的8個(gè)數(shù)碼管顯示,設(shè)一按鍵作個(gè)數(shù)碼管顯示,設(shè)一按鍵作為開關(guān)控制系統(tǒng)運(yùn)行。為開關(guān)控制系統(tǒng)運(yùn)行。6.1 概述概述6.2 定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器T0、T16.3 定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器T26.4 監(jiān)視定時(shí)器(看門狗)監(jiān)視定時(shí)器(看門狗)T36.5 定時(shí)器定時(shí)器/計(jì)數(shù)器的應(yīng)用編程計(jì)數(shù)器的應(yīng)用編程定時(shí)或計(jì)數(shù)方法:定時(shí)或計(jì)數(shù)方法: 1硬件法:硬件法: 定時(shí)功能完全由硬件電路完成,不占用定時(shí)功能完全由硬件電路完成,不占用CPU時(shí)間。時(shí)間。2軟件法:軟件法:軟件定時(shí)是執(zhí)行一段循環(huán)程序來進(jìn)行時(shí)間延時(shí)。軟件定時(shí)是執(zhí)行一段循環(huán)程序來進(jìn)行時(shí)間延時(shí)。3可編程定時(shí)器計(jì)數(shù)器:可編程定時(shí)器計(jì)數(shù)器
3、:通過軟件編程來實(shí)現(xiàn)定時(shí)時(shí)間的改通過軟件編程來實(shí)現(xiàn)定時(shí)時(shí)間的改變,通過中斷或查詢方法來完成定時(shí)功能或計(jì)數(shù)功能。變,通過中斷或查詢方法來完成定時(shí)功能或計(jì)數(shù)功能。6-1 概述概述定時(shí)器資源:定時(shí)器資源:80C51包含有包含有兩個(gè)兩個(gè)16位的定時(shí)器計(jì)數(shù)器:位的定時(shí)器計(jì)數(shù)器:T0和和T1;80C52包含有包含有三個(gè)三個(gè)16位的定時(shí)器計(jì)數(shù)器:位的定時(shí)器計(jì)數(shù)器:T0、T1、T2在在80C51系列的部分產(chǎn)品(如系列的部分產(chǎn)品(如Philips公司的公司的80C552)中,還)中,還包含有作看門狗的包含有作看門狗的8位位定時(shí)器定時(shí)器T3。定時(shí)器計(jì)數(shù)器的定時(shí)器計(jì)數(shù)器的核心核心是一個(gè)加是一個(gè)加1計(jì)數(shù)器其計(jì)數(shù)器其基
4、本功能是計(jì)數(shù)加基本功能是計(jì)數(shù)加1。計(jì)數(shù)計(jì)數(shù) 是對(duì)單片微機(jī)的是對(duì)單片微機(jī)的T0、T1 (或(或T2)引腳)引腳上輸入的一個(gè)上輸入的一個(gè)1到到0的跳變進(jìn)行計(jì)數(shù)增的跳變進(jìn)行計(jì)數(shù)增l。 定時(shí)定時(shí) 是對(duì)單片微機(jī)內(nèi)部的機(jī)器周期進(jìn)行計(jì)是對(duì)單片微機(jī)內(nèi)部的機(jī)器周期進(jìn)行計(jì)數(shù),從而得到定時(shí)。數(shù),從而得到定時(shí)。 波特率發(fā)生器波特率發(fā)生器 80C51的定時(shí)器的定時(shí)器/計(jì)數(shù)器還可計(jì)數(shù)器還可用作串行接口的波特率發(fā)生器。用作串行接口的波特率發(fā)生器。T0、T1 的內(nèi)部結(jié)構(gòu)簡(jiǎn)圖:的內(nèi)部結(jié)構(gòu)簡(jiǎn)圖:6.2 6.2 定時(shí)器計(jì)數(shù)器定時(shí)器計(jì)數(shù)器T0T0、T1T1圖圖61 定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器T0、T1的內(nèi)部結(jié)構(gòu)框圖的內(nèi)部結(jié)構(gòu)框圖 T
5、0、T1 的方式寄存器的方式寄存器TMOD6.2.1 與定時(shí)器計(jì)數(shù)器與定時(shí)器計(jì)數(shù)器T0、T1有關(guān)的特殊功能有關(guān)的特殊功能寄存器寄存器-TMOD、TCON、TH、TL、IE、IPD7 D6 D5 D4 D3 D2 D1 D0GATE C/TM1M0GATE C/TM1M0T1T0 GATE門控位門控位 圖圖62CT:功能選擇位功能選擇位定時(shí)時(shí)鐘脈沖:定時(shí)時(shí)鐘脈沖:1/12fosc最高計(jì)數(shù)頻率:最高計(jì)數(shù)頻率:1/24foscM1、M0:工作方式選擇位。工作方式選擇位。M1 M0工作方式工作方式 計(jì)數(shù)器配置計(jì)數(shù)器配置 0 0方式方式0 13位計(jì)數(shù)器位計(jì)數(shù)器 0 1方式方式1 16位計(jì)數(shù)器位計(jì)數(shù)器 1
6、 0方式方式2 自動(dòng)重裝載的自動(dòng)重裝載的8位計(jì)數(shù)器位計(jì)數(shù)器 1 1方式方式3 T0分為兩個(gè)分為兩個(gè)8位計(jì)數(shù)器,位計(jì)數(shù)器,T1停止計(jì)數(shù)停止計(jì)數(shù) 定時(shí)器計(jì)數(shù)器定時(shí)器計(jì)數(shù)器T0、T1 的控制寄存器的控制寄存器TCON 位地址位地址8FH8FH8EH8EH8DH8DH8CH8CH8BH8BH8AH8AH89H89H88H88H位名稱位名稱TF1TF1TR1TR1TF0TF0TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0功能功能 T1T1 中斷中斷標(biāo)志標(biāo)志啟動(dòng)啟動(dòng)T1T0T0中斷中斷標(biāo)志標(biāo)志啟動(dòng)啟動(dòng)T2中斷中斷標(biāo)志標(biāo)志觸發(fā)觸發(fā)方式方式中斷中斷標(biāo)志標(biāo)志 觸發(fā)觸發(fā)方式方式 T0、T1 的數(shù)據(jù)寄
7、存器的數(shù)據(jù)寄存器TH1、TL1,TH0、TL0 定時(shí)器定時(shí)器/計(jì)數(shù)器中斷計(jì)數(shù)器中斷 中斷允許寄存器中斷允許寄存器IE 中斷矢量中斷矢量 中斷優(yōu)先級(jí)寄存器中斷優(yōu)先級(jí)寄存器IPT0:有有4種種工作方式可選(方式工作方式可選(方式0,1,2,3)T1:有有3種種工作方式可選(方式工作方式可選(方式0,1,2) 方式方式0-130-13位定時(shí)器位定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器( (M10、M00) ) 最大計(jì)數(shù)值最大計(jì)數(shù)值213 = 8192,當(dāng)當(dāng)fosc=12MHZ時(shí)時(shí),Tmax=8192S6.2.2 6.2.2 定時(shí)器計(jì)數(shù)器定時(shí)器計(jì)數(shù)器T0T0、T1 T1 的工作方式的工作方式B=TRx(GATE+IN
8、Tx) 方式方式1-16位定時(shí)器位定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器(M10、M01) 最大計(jì)數(shù)值最大計(jì)數(shù)值216 = 65535,當(dāng)當(dāng)fosc=12MHZ時(shí),時(shí),Tmax=65535S 方式方式2- 8位定時(shí)器位定時(shí)器/計(jì)數(shù)器自動(dòng)重裝載計(jì)數(shù)器自動(dòng)重裝載(M11、M00) 優(yōu)點(diǎn):定時(shí)初值可自動(dòng)恢復(fù)優(yōu)點(diǎn):定時(shí)初值可自動(dòng)恢復(fù),TH中存放初值中存放初值;缺點(diǎn):計(jì)數(shù)范圍小,缺點(diǎn):計(jì)數(shù)范圍小,最大計(jì)數(shù)值為最大計(jì)數(shù)值為28= 256適用于需要重復(fù)定時(shí)適用于需要重復(fù)定時(shí),而定時(shí)范圍不大的應(yīng)用場(chǎng)合,而定時(shí)范圍不大的應(yīng)用場(chǎng)合,比如:作為串行口比如:作為串行口波特率發(fā)生器波特率發(fā)生器使用使用 方式方式3-僅僅T0有此方式,有此
9、方式,T1無方式無方式3中斷矢量中斷矢量000BH中斷矢量中斷矢量001BHT0T0方式方式3 3下的下的T0T0 在方式在方式3 3情況下情況下, ,T0T0被拆成二個(gè)獨(dú)立的被拆成二個(gè)獨(dú)立的8 8位計(jì)數(shù)器位計(jì)數(shù)器TH0TH0、TL0TL0。 TL0 TL0:8 8位定時(shí)位定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器,使用,使用T0T0原有的控制寄存器資原有的控制寄存器資源源:TF0,TR0,GATE,C/T,INT0:TF0,TR0,GATE,C/T,INT0,中斷矢量等;,中斷矢量等; TH0 TH0:8 8位定時(shí)器位定時(shí)器,占用,占用T1T1的中斷溢出標(biāo)志的中斷溢出標(biāo)志TF1,TF1,運(yùn)行控運(yùn)行控制開關(guān)制開關(guān)
10、TR1,TR1,中斷矢量中斷矢量001BH,只能對(duì)片內(nèi)機(jī)器周期脈沖計(jì)數(shù)只能對(duì)片內(nèi)機(jī)器周期脈沖計(jì)數(shù) T0 T0方式方式3 3情況下的情況下的T1T1 T1 T1由于其由于其TF1TF1、TR1TR1被被T0T0的的TH0TH0占用,計(jì)數(shù)器溢出時(shí),只占用,計(jì)數(shù)器溢出時(shí),只能將輸出信號(hào)送至串行口,即能將輸出信號(hào)送至串行口,即用作串行口波特率發(fā)生器用作串行口波特率發(fā)生器。定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T0T0方式方式3 3時(shí),時(shí),T1T1的邏輯結(jié)構(gòu)圖的邏輯結(jié)構(gòu)圖80C52中的中的T2: 16位位功能:功能:自動(dòng)重裝載和捕獲能力自動(dòng)重裝載和捕獲能力相關(guān)寄存器相關(guān)寄存器:8位計(jì)數(shù)器位計(jì)數(shù)器TL2、TH2,
11、 控制寄存器控制寄存器T2CON, 模式寄存器模式寄存器T2MOD,捕獲寄存器捕獲寄存器RCAP2L(低字節(jié))和(低字節(jié))和RCAP2H(高字節(jié))。(高字節(jié))。計(jì)數(shù)脈沖源計(jì)數(shù)脈沖源:兩個(gè):兩個(gè)-內(nèi)部機(jī)器周期及內(nèi)部機(jī)器周期及 T2(P10)端輸入的外部計(jì)數(shù)脈沖。)端輸入的外部計(jì)數(shù)脈沖。工作方式工作方式: 3種種-自動(dòng)重裝載、捕獲和波特率發(fā)生器方式自動(dòng)重裝載、捕獲和波特率發(fā)生器方式引腳引腳T2是外部計(jì)數(shù)脈沖輸入端是外部計(jì)數(shù)脈沖輸入端引腳引腳T2EX是外部控制信號(hào)輸入端。是外部控制信號(hào)輸入端。6.3 6.3 定時(shí)器計(jì)數(shù)器定時(shí)器計(jì)數(shù)器T2T2 控制寄存器控制寄存器 T2CON位地址位地址 CFHCEH
12、CDHCCHCBHCAHC9HC8H位功能位功能 TF2EXF2RCLKTCLK EXEN2TR2C/T2CP/RL26.3.1 T26.3.1 T2中的特殊功能寄存器中的特殊功能寄存器TF2T2 T2 溢出標(biāo)志,溢出標(biāo)志, T2T2溢出時(shí)置位并申請(qǐng)中斷,軟件清除。溢出時(shí)置位并申請(qǐng)中斷,軟件清除。在波特率發(fā)生器方式下,即在波特率發(fā)生器方式下,即RCLK1或或TCLK1時(shí),定時(shí)器溢時(shí),定時(shí)器溢出不對(duì)出不對(duì)TF2TF2置位。置位。EXF2T2外部標(biāo)志,外部標(biāo)志,EXF2要靠軟件來清除要靠軟件來清除當(dāng)當(dāng)EXEN21,且,且T2EX引腳上出現(xiàn)負(fù)跳變而造成捕獲或重裝載引腳上出現(xiàn)負(fù)跳變而造成捕獲或重裝載時(shí)
13、時(shí)EXF2置位,申請(qǐng)中斷。若已允許置位,申請(qǐng)中斷。若已允許T2中斷,中斷,CPU將響應(yīng)中斷,將響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序。轉(zhuǎn)向中斷服務(wù)程序。 RCLK:接收時(shí)鐘標(biāo)志,軟件置位或清除:接收時(shí)鐘標(biāo)志,軟件置位或清除用以選擇用以選擇T2或或T1作串行口接收波特率發(fā)生器。作串行口接收波特率發(fā)生器。RCLK1時(shí),用時(shí),用T2溢出脈沖作為串行口的接收時(shí)鐘;溢出脈沖作為串行口的接收時(shí)鐘;RCLK0時(shí),用時(shí),用T1的溢出脈沖作接收時(shí)鐘。的溢出脈沖作接收時(shí)鐘。 TCLK:發(fā)送時(shí)鐘標(biāo)志,軟件置位或清除發(fā)送時(shí)鐘標(biāo)志,軟件置位或清除用以選擇用以選擇T2或或T1作串行口發(fā)送波特率發(fā)生器。作串行口發(fā)送波特率發(fā)生器。TCL
14、Kl時(shí),用時(shí),用T2溢出脈沖作為串行口的發(fā)送時(shí)鐘;溢出脈沖作為串行口的發(fā)送時(shí)鐘;TCLK0時(shí),用時(shí),用T1的溢出脈沖作發(fā)送時(shí)鐘。的溢出脈沖作發(fā)送時(shí)鐘。 EXEN2:T2T2外部允許標(biāo)志,外部允許標(biāo)志,軟件設(shè)置或清除軟件設(shè)置或清除允許或禁止用外部信號(hào)來觸發(fā)捕獲或重裝載操作。允許或禁止用外部信號(hào)來觸發(fā)捕獲或重裝載操作。EXEN2l時(shí),若時(shí),若T2未用作串行口的波特率發(fā)生器,則在未用作串行口的波特率發(fā)生器,則在T2EX端出現(xiàn)的信號(hào)負(fù)跳變時(shí),將造成端出現(xiàn)的信號(hào)負(fù)跳變時(shí),將造成T2捕獲或重裝載,并捕獲或重裝載,并置置EXF2標(biāo)志為標(biāo)志為 1,請(qǐng)求中斷。,請(qǐng)求中斷。EXEN20時(shí),時(shí),T2EX端的外部信號(hào)
15、不起作用端的外部信號(hào)不起作用TR2:T2T2運(yùn)行控制位。軟件設(shè)置或清除運(yùn)行控制位。軟件設(shè)置或清除C/T2:T2的定時(shí)器方式或計(jì)數(shù)器方式選擇位。的定時(shí)器方式或計(jì)數(shù)器方式選擇位。 C/T20時(shí),定時(shí)器工作方式。計(jì)數(shù)脈沖的頻率為時(shí),定時(shí)器工作方式。計(jì)數(shù)脈沖的頻率為1/12fosc C/T21時(shí),計(jì)數(shù)器工作方式,下降沿觸發(fā)。計(jì)數(shù)脈沖自時(shí),計(jì)數(shù)器工作方式,下降沿觸發(fā)。計(jì)數(shù)脈沖自T2引引腳輸入,每當(dāng)外部脈沖負(fù)跳變時(shí),計(jì)數(shù)器值增腳輸入,每當(dāng)外部脈沖負(fù)跳變時(shí),計(jì)數(shù)器值增1。 CPRL2:捕獲重裝載標(biāo)志。:捕獲重裝載標(biāo)志。 CPRL2l選擇捕獲功能,這時(shí)若選擇捕獲功能,這時(shí)若EXEN21,且,且T2EX端的信端
16、的信號(hào)負(fù)跳變時(shí),發(fā)生捕獲操作。號(hào)負(fù)跳變時(shí),發(fā)生捕獲操作。 CPRL20,選擇重裝載功能,這時(shí)若,選擇重裝載功能,這時(shí)若T2溢出或在溢出或在EXEN21條件下條件下 T2EX端信號(hào)負(fù)跳變,都會(huì)造成自動(dòng)重裝載操作。端信號(hào)負(fù)跳變,都會(huì)造成自動(dòng)重裝載操作。當(dāng)當(dāng)RCLKl或或TCLKl時(shí),時(shí),CPRL2控制位不起作用,控制位不起作用,T2 被強(qiáng)被強(qiáng)制工作于重裝載方式。重裝載發(fā)生于制工作于重裝載方式。重裝載發(fā)生于T2溢出時(shí),常用來作波特率溢出時(shí),常用來作波特率發(fā)生器。發(fā)生器。 方式控制寄存器方式控制寄存器T2MODD7D6D5D4D3D2D1D0-T2OE DCEN T2OE:T2輸出允許位。輸出允許位。
17、當(dāng)當(dāng)T2OE1時(shí),允許時(shí)鐘輸出至?xí)r,允許時(shí)鐘輸出至T2引腳。引腳。僅對(duì)僅對(duì)80C5480C58有定義。有定義。DCEN:向下計(jì)數(shù)允許位:向下計(jì)數(shù)允許位DCEN=1, T2向下向下(減減)計(jì)數(shù)計(jì)數(shù) DCEN=0, T2向上向上(加加)計(jì)數(shù)計(jì)數(shù) 數(shù)據(jù)寄存器數(shù)據(jù)寄存器:TH2、TL2 T2有一個(gè)有一個(gè)16位的數(shù)據(jù)寄存器,是由高位的數(shù)據(jù)寄存器,是由高8位寄存器位寄存器TH2和低和低8位寄存器位寄存器TL2所組成。它們都只能字節(jié)尋址,相應(yīng)的字節(jié)地址所組成。它們都只能字節(jié)尋址,相應(yīng)的字節(jié)地址為為CDH和和CCH。 復(fù)位后,這兩個(gè)寄存器全部清零。復(fù)位后,這兩個(gè)寄存器全部清零。 捕獲寄存器:捕獲寄存器:RCA
18、P2HRCAP2H、RCAP2LRCAP2L T2中的捕獲寄存器是一個(gè)中的捕獲寄存器是一個(gè)16位的數(shù)據(jù)寄存器,由高位的數(shù)據(jù)寄存器,由高8位寄存位寄存器器RCAP2H和低和低8 位寄存器位寄存器RCAP2L所組成,相應(yīng)的字節(jié)地址為所組成,相應(yīng)的字節(jié)地址為CBH和和CAH。捕獲寄存器捕獲寄存器RCAP2H和和RCAP2L,用于捕獲計(jì)數(shù)器,用于捕獲計(jì)數(shù)器TL2、TH2的計(jì)數(shù)狀態(tài),或用來預(yù)置計(jì)數(shù)初值的。的計(jì)數(shù)狀態(tài),或用來預(yù)置計(jì)數(shù)初值的。TH2、TL2和和 RCAP2H、RCAP2L之間接有雙向緩沖器(三態(tài)門)。之間接有雙向緩沖器(三態(tài)門)。復(fù)位后,兩個(gè)寄存器全部清零。復(fù)位后,兩個(gè)寄存器全部清零。T2的
19、工作方式用控制位的工作方式用控制位CPRL2(T2CON0)和)和RCLKTCLK來選擇。來選擇。T2有有3種工作方式,如表種工作方式,如表62所示:捕獲方式、所示:捕獲方式、自動(dòng)重裝載方式和波特率發(fā)生器方式。自動(dòng)重裝載方式和波特率發(fā)生器方式。 捕獲方式捕獲方式 在一定條件下,自動(dòng)將計(jì)數(shù)器在一定條件下,自動(dòng)將計(jì)數(shù)器TH2和和TL2的數(shù)據(jù)讀入捕獲寄存器的數(shù)據(jù)讀入捕獲寄存器RCAP2H和和RCAP2L,亦即,亦即TH2和和TL2內(nèi)容的捕獲是通過捕獲寄內(nèi)容的捕獲是通過捕獲寄存器存器RCAP2H和和RCAP2L來實(shí)現(xiàn)的。其工作原理可參見圖來實(shí)現(xiàn)的。其工作原理可參見圖67。當(dāng)當(dāng)CPRL2l時(shí),選擇捕獲方
20、式。時(shí),選擇捕獲方式。6.3.2 6.3.2 定時(shí)器計(jì)數(shù)器定時(shí)器計(jì)數(shù)器T2T2的工作方式的工作方式捕獲操作發(fā)生于下述兩種情況下:捕獲操作發(fā)生于下述兩種情況下:(1)寄存器寄存器TH2和和TL2溢出時(shí),打開重裝載三態(tài)緩沖器,把溢出時(shí),打開重裝載三態(tài)緩沖器,把TH2和和TL2的內(nèi)容自動(dòng)讀入到捕獲寄存器的內(nèi)容自動(dòng)讀入到捕獲寄存器RCAP2H和和RCAP2L中。同時(shí),中。同時(shí),溢出標(biāo)志溢出標(biāo)志TF2置置1,申請(qǐng)中斷。,申請(qǐng)中斷。 當(dāng)當(dāng) EXEN2l且且 T2EX(P11)端的信號(hào)有負(fù)跳變時(shí),將發(fā))端的信號(hào)有負(fù)跳變時(shí),將發(fā)生捕獲操作。同時(shí)標(biāo)志生捕獲操作。同時(shí)標(biāo)志EXF2置置1,申請(qǐng)中斷。,申請(qǐng)中斷。若若
21、T2的中斷是被允許的,則無論發(fā)生的中斷是被允許的,則無論發(fā)生TF2l還是還是EXF2l,CPU都會(huì)響應(yīng)中斷。響應(yīng)中斷后,應(yīng)用軟件清除中斷申請(qǐng)。都會(huì)響應(yīng)中斷。響應(yīng)中斷后,應(yīng)用軟件清除中斷申請(qǐng)。 自動(dòng)重裝載方式自動(dòng)重裝載方式在一定條件下,自動(dòng)地將捕獲寄存器在一定條件下,自動(dòng)地將捕獲寄存器RCAP2H和和RCAP2L的數(shù)據(jù)裝入計(jì)數(shù)器的數(shù)據(jù)裝入計(jì)數(shù)器TH2和和TL2中。中。捕獲寄存器捕獲寄存器RCAP2H和和RCAP2L在這里起預(yù)置計(jì)數(shù)初值在這里起預(yù)置計(jì)數(shù)初值的功能。對(duì)的功能。對(duì)8XC52,其工作原理可參見圖,其工作原理可參見圖68。當(dāng)當(dāng)CPRL20時(shí),選擇自動(dòng)重裝載方式。時(shí),選擇自動(dòng)重裝載方式。若若
22、T2的中斷是被允許的,則無論發(fā)生的中斷是被允許的,則無論發(fā)生TF21還是還是EXF21,CPU都會(huì)響應(yīng)中斷,此中斷向量的地址為都會(huì)響應(yīng)中斷,此中斷向量的地址為002BH。響應(yīng)。響應(yīng)中斷后,應(yīng)用軟件撤除中斷申請(qǐng)。中斷后,應(yīng)用軟件撤除中斷申請(qǐng)。TF2 和和EXF2都是直接可尋都是直接可尋址位,可采用址位,可采用CLR TF2和和CLR EXF2指令實(shí)現(xiàn)撤除中斷申請(qǐng)的指令實(shí)現(xiàn)撤除中斷申請(qǐng)的功能。功能。 波特率發(fā)生器方式波特率發(fā)生器方式 當(dāng)當(dāng) T2CON中中 RCLK十十TCLK 1,其溢出脈沖用做串行口的時(shí),其溢出脈沖用做串行口的時(shí)鐘。鐘。T2的波特率發(fā)生器方式下的結(jié)構(gòu)圖示于圖的波特率發(fā)生器方式下的
23、結(jié)構(gòu)圖示于圖69中。中。RCLK選擇串行通信接收波特率發(fā)生器,選擇串行通信接收波特率發(fā)生器,TCLK選擇發(fā)送選擇發(fā)送波特率發(fā)生器,發(fā)送和接收的波特率可以不同。波特率發(fā)生器,發(fā)送和接收的波特率可以不同。 T2的輸入時(shí)鐘可由內(nèi)部時(shí)鐘決定,也可由外部脈沖決定。的輸入時(shí)鐘可由內(nèi)部時(shí)鐘決定,也可由外部脈沖決定。若若CT20,選用內(nèi)部時(shí)鐘,對(duì)機(jī)器周期計(jì)數(shù),計(jì)數(shù)脈沖的頻,選用內(nèi)部時(shí)鐘,對(duì)機(jī)器周期計(jì)數(shù),計(jì)數(shù)脈沖的頻率為率為112振蕩器頻率振蕩器頻率. 若若C/T2C/T21,選用外部,選用外部脈沖脈沖,該,該脈沖脈沖由由T2端輸入,每當(dāng)外部脈沖端輸入,每當(dāng)外部脈沖負(fù)跳變時(shí),計(jì)負(fù)跳變時(shí),計(jì)數(shù)器值增數(shù)器值增l。外
24、部脈沖頻率不超過振蕩器頻率的。外部脈沖頻率不超過振蕩器頻率的l24。 由于脈沖溢出時(shí),由于脈沖溢出時(shí),RCAP2H和和RCAP2L的內(nèi)容會(huì)自動(dòng)裝載的內(nèi)容會(huì)自動(dòng)裝載到到TH2和和TL2中,故波特率的值還決定于中,故波特率的值還決定于RCAP2H和和RCAP2L裝裝載初值。載初值。 RCLKTCLK還用于選擇還用于選擇T1還是還是T2作串行通信的波特率作串行通信的波特率發(fā)生器。由圖發(fā)生器。由圖69可看出,這兩位的值用來控制兩個(gè)電子開關(guān)的可看出,這兩位的值用來控制兩個(gè)電子開關(guān)的位置。值為位置。值為0時(shí),選用時(shí),選用T1做波特率發(fā)生器;值為做波特率發(fā)生器;值為1時(shí),選用時(shí),選用T2做波做波特率發(fā)生器。
25、特率發(fā)生器。 當(dāng)當(dāng)T2用做波特率發(fā)生器時(shí),用做波特率發(fā)生器時(shí),TH2的溢出不使的溢出不使TF2置位,不產(chǎn)生置位,不產(chǎn)生中斷。因而,當(dāng)中斷。因而,當(dāng)T2用做波特率發(fā)生器時(shí),沒有必要禁止中斷。用做波特率發(fā)生器時(shí),沒有必要禁止中斷。 當(dāng)當(dāng)T2用做波特率發(fā)生器時(shí),若用做波特率發(fā)生器時(shí),若EXEN2置置1,則,則T2EX端的信號(hào)產(chǎn)端的信號(hào)產(chǎn)生負(fù)跳變時(shí),生負(fù)跳變時(shí),EXF2將置將置1,但不會(huì)發(fā)生重裝載或捕獲操作。這時(shí),但不會(huì)發(fā)生重裝載或捕獲操作。這時(shí),T2EX可以作為一個(gè)附加的外部中斷源。可以作為一個(gè)附加的外部中斷源。 T3俗稱看門狗(俗稱看門狗(watchdog),它的作用是強(qiáng)迫單片),它的作用是強(qiáng)迫單
26、片微機(jī)進(jìn)入復(fù)位狀態(tài),使之從硬件或軟件故障中解脫出來。微機(jī)進(jìn)入復(fù)位狀態(tài),使之從硬件或軟件故障中解脫出來。在實(shí)際應(yīng)用中,由于現(xiàn)場(chǎng)的各種干擾或者程序設(shè)計(jì)錯(cuò)誤,在實(shí)際應(yīng)用中,由于現(xiàn)場(chǎng)的各種干擾或者程序設(shè)計(jì)錯(cuò)誤,可能使單片微機(jī)的程序進(jìn)入了可能使單片微機(jī)的程序進(jìn)入了“ 死循環(huán)死循環(huán)” 或或“ 非程序非程序區(qū)區(qū)”(如表格數(shù)據(jù)區(qū)如表格數(shù)據(jù)區(qū)) 之后,在一個(gè)設(shè)定的時(shí)間內(nèi),假如用之后,在一個(gè)設(shè)定的時(shí)間內(nèi),假如用戶程序沒有重裝戶程序沒有重裝T3,監(jiān)視電路將產(chǎn)生一個(gè)系統(tǒng)復(fù)位信號(hào),監(jiān)視電路將產(chǎn)生一個(gè)系統(tǒng)復(fù)位信號(hào),強(qiáng)迫單片微機(jī)退出強(qiáng)迫單片微機(jī)退出“ 死循環(huán)死循環(huán)” 或或“ 非程序區(qū)非程序區(qū)” ,重新進(jìn),重新進(jìn)行行“ 冷啟
27、動(dòng)冷啟動(dòng)” 或或“ 熱啟動(dòng)熱啟動(dòng)” 。 在飛利浦在飛利浦80C552中,中,T3由一個(gè)由一個(gè)11位的分頻器和位的分頻器和8位位定時(shí)器定時(shí)器T3組成,如圖組成,如圖6一一10所示。所示。6.4 6.4 監(jiān)視定時(shí)器監(jiān)視定時(shí)器( (看門狗看門狗)T3)T3預(yù)分頻器輸入為晶振預(yù)分頻器輸入為晶振1/12的信號(hào),晶振為的信號(hào),晶振為12MHz時(shí),輸入為時(shí),輸入為1MHz,而,而8位定時(shí)器位定時(shí)器T3每隔時(shí)間每隔時(shí)間t加加1:t122048/fosc 當(dāng)晶振為當(dāng)晶振為12MHz時(shí),時(shí),t為為2.048ms。若若8位定時(shí)器溢出,則產(chǎn)生一個(gè)尖脈沖,它將復(fù)位位定時(shí)器溢出,則產(chǎn)生一個(gè)尖脈沖,它將復(fù)位8C552,同時(shí)
28、,同時(shí)在在RST引腳上也將產(chǎn)生引腳上也將產(chǎn)生1個(gè)正的復(fù)位尖脈沖。個(gè)正的復(fù)位尖脈沖。T3由外部引腳由外部引腳EW和和電源控制寄存器中的電源控制寄存器中的PCON4(WLE)和)和PCONl(PD)控制。)控制。 EW:看門狗定時(shí)器允許,低電平有效。:看門狗定時(shí)器允許,低電平有效。 EW0時(shí),允許看門狗定時(shí)器,禁止掉電方式;時(shí),允許看門狗定時(shí)器,禁止掉電方式; EW1時(shí)禁止看門狗定時(shí)器,允許掉電方式。時(shí)禁止看門狗定時(shí)器,允許掉電方式。 WLE :看門狗定時(shí)器允許重裝標(biāo)志。:看門狗定時(shí)器允許重裝標(biāo)志。 若若WLE置位,定時(shí)器置位,定時(shí)器T3只能被軟件裝入,裝入后只能被軟件裝入,裝入后WLE自動(dòng)清自動(dòng)
29、清除。除。T3的重裝和溢出,產(chǎn)生復(fù)位的時(shí)間間隔,由裝入的重裝和溢出,產(chǎn)生復(fù)位的時(shí)間間隔,由裝入T3的值決的值決定,對(duì)于定,對(duì)于8C552,其監(jiān)視間隔可編程為,其監(jiān)視間隔可編程為2.048ms2.048255ms。 T3的工作過程:在的工作過程:在T3溢出時(shí),復(fù)位溢出時(shí),復(fù)位8XC552,并產(chǎn)生復(fù)位,并產(chǎn)生復(fù)位脈沖輸出至復(fù)位引腳脈沖輸出至復(fù)位引腳RST。為防止系統(tǒng)復(fù)位,必須在定時(shí)器。為防止系統(tǒng)復(fù)位,必須在定時(shí)器T3溢溢出前,通過軟件對(duì)其進(jìn)行重裝。如果發(fā)生軟件或硬件故障,將使出前,通過軟件對(duì)其進(jìn)行重裝。如果發(fā)生軟件或硬件故障,將使軟件對(duì)定時(shí)器軟件對(duì)定時(shí)器T3重裝失敗,從而重裝失敗,從而T3溢出導(dǎo)致
30、復(fù)位信號(hào)的產(chǎn)生。溢出導(dǎo)致復(fù)位信號(hào)的產(chǎn)生。首先要確定系統(tǒng)能在不正常狀態(tài)下維持多久,這段時(shí)間就設(shè)定首先要確定系統(tǒng)能在不正常狀態(tài)下維持多久,這段時(shí)間就設(shè)定為監(jiān)視定時(shí)器的最大間隔時(shí)間。為監(jiān)視定時(shí)器的最大間隔時(shí)間。 T3是加是加1計(jì)數(shù)器,計(jì)數(shù)器,T3中裝入中裝入0,則監(jiān)視時(shí)間間隔最長(zhǎng),裝,則監(jiān)視時(shí)間間隔最長(zhǎng),裝入值為入值為FFH時(shí),監(jiān)視時(shí)間間隔最短時(shí),監(jiān)視時(shí)間間隔最短例:例:watchdog使用的一段程序如下:使用的一段程序如下:T3 EQU 0FFH ;定時(shí)器;定時(shí)器T3的地址的地址 PCON EQU 87H ;電源控制寄存器;電源控制寄存器PCON的地址的地址WATCH_INTV EQU 156 ;
31、看門狗的時(shí)間間隔;看門狗的時(shí)間間隔(2.048100ms) 插在用戶程序中對(duì)看門狗需要重新裝入的地方:插在用戶程序中對(duì)看門狗需要重新裝入的地方: LCALLWATCHDOG;調(diào)用看門狗服務(wù)子程序;調(diào)用看門狗服務(wù)子程序WATCHDOG:ORL PCON,10H ;允許定時(shí)器;允許定時(shí)器T3重裝重裝 MOV T3,WATCHINTV ;裝載定時(shí)器;裝載定時(shí)器T3 RET 定時(shí)器初值的計(jì)算定時(shí)器初值的計(jì)算 定時(shí)時(shí)間定時(shí)時(shí)間=脈沖數(shù)脈沖數(shù)脈沖周期(機(jī)器周期)脈沖周期(機(jī)器周期)定時(shí)時(shí)間定時(shí)時(shí)間t=(2L-初值初值TC) 6.5 6.5 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的應(yīng)用編程計(jì)數(shù)器的應(yīng)用編程 6.5.1 6
32、.5.1 定時(shí)器的應(yīng)用定時(shí)器的應(yīng)用機(jī)器周期時(shí)間定時(shí)時(shí)間初值LOSCLftTC2122oscf12L與工作方式有與工作方式有關(guān),關(guān),13、16、8定時(shí)器定時(shí)器溢出率溢出率為定時(shí)時(shí)間的倒數(shù)為定時(shí)時(shí)間的倒數(shù)fosc=12MHZ時(shí)時(shí),1機(jī)周機(jī)周=1 S;fosc=6MHZ 時(shí)時(shí), 1機(jī)周機(jī)周=2 S解:解:工作方式工作方式0 0: 2 21313500500 S/2S/2 S=8192-250=7942S=8192-250=7942 =1F06H =1F06H =1111100000110B =1111100000110B TL0= TL0=0011000110B=06HB=06H TH0=B=F8H
33、 TH0=B=F8H【例】【例】 已知晶振已知晶振6MHz6MHz,要求定時(shí),要求定時(shí)0.5ms0.5ms,試分別求,試分別求出出T0T0工作于方式工作于方式0 0、方式、方式1 1、方式、方式2 2時(shí)的定時(shí)初值。時(shí)的定時(shí)初值。 工作方式工作方式1 1: T0T0初值初值 =2=21616-500-500 s s/2/2 s s=65536250=65286=FF06H=65536250=65286=FF06H TH0=FFH TH0=FFH;TL0=06HTL0=06H。 工作方式工作方式2 2: T0T0初值初值 =2=28 8-500-500 s s/2/2 s s=256-250=6=
34、256-250=6 TH0=06H TH0=06H;TL0=06HTL0=06H。 從上例中看到,從上例中看到,方式方式0 0計(jì)算定時(shí)計(jì)算定時(shí)初值比較麻煩初值比較麻煩,根據(jù)公,根據(jù)公式計(jì)算出數(shù)值后,還要變換一下,容易出錯(cuò),不如直接用方式計(jì)算出數(shù)值后,還要變換一下,容易出錯(cuò),不如直接用方式式1 1,且方式,且方式0 0計(jì)數(shù)范圍比方式計(jì)數(shù)范圍比方式1 1小,小,方式方式0 0完全可以用方式完全可以用方式1 1代替,方式代替,方式0 0與方式與方式1 1相比,無任何優(yōu)點(diǎn)相比,無任何優(yōu)點(diǎn)。解:分析解:分析 采用方式采用方式0定時(shí)時(shí)間定時(shí)時(shí)間 t1ms=1000S定時(shí)常數(shù):定時(shí)常數(shù):TC=213-100
35、0/2=8192-500=7692 = 01100B用定時(shí)器用定時(shí)器T0:TMOD=00H,TH0=F0H,TL0=0CH【例】【例】 要求在要求在 P10引腳上產(chǎn)生周期為引腳上產(chǎn)生周期為2 ms的方波輸出的方波輸出fosc=6MHz 查詢方式查詢方式ORG0000HAJMPSTORG0030HST:MOVSP,#60HMOVTMOD,#00H;方式0L1:MOVTH0,#0F0H;初值MOVTL0,#0CHCPLP1.0SETBTR0L2:JBCTF0,L1SJMPL2END中斷方式:中斷方式: ORG 0000HAJMP MAINORG 000BH;T0中斷矢量中斷矢量AJMP INQPO
36、RG 0030HMAIN:MOV TMOD,00H ;設(shè)設(shè)T0為定時(shí)器方式為定時(shí)器方式0 0 MOV TH0,0F0H ;寫定時(shí)常數(shù);寫定時(shí)常數(shù)( (定時(shí)定時(shí)1ms)1ms) MOV TL0,0CH SETB TR0 ;啟動(dòng);啟動(dòng) T0 SETB ET0 ;允許;允許T0中斷中斷 SETB EA ;開放;開放CPU中斷中斷 AJMP $ ;定時(shí)中斷等待;定時(shí)中斷等待ORG 2000 H ;T0中斷服務(wù)程序中斷服務(wù)程序 INQP:MOV TH0,0F0H ;重寫定時(shí)常數(shù);重寫定時(shí)常數(shù) MOV TL0,0CHCPL P10 ;P10變反輸出變反輸出 RETI 采用方式采用方式1 1定時(shí)時(shí)間定時(shí)時(shí)間
37、 t1ms=1000S定時(shí)常數(shù):定時(shí)常數(shù):TC=216-1000/2=65535-500=65035 = B=FE0BH用定時(shí)器用定時(shí)器T0:TMOD=01H,TH0=FEH,TL0=0BH編程與前相同編程與前相同【例】【例】欲用欲用80C51產(chǎn)生兩個(gè)方波,一個(gè)方波周期為產(chǎn)生兩個(gè)方波,一個(gè)方波周期為200s,另一,另一個(gè)方波周期為個(gè)方波周期為400s,該,該80C51同時(shí)使用串行口,用定時(shí)器同時(shí)使用串行口,用定時(shí)器/計(jì)計(jì)數(shù)器作為波特率發(fā)生器數(shù)器作為波特率發(fā)生器,波特率為波特率為2400, fOCS9.216 MHz 。分析:分析:這時(shí)這時(shí)T0采用方式采用方式3工作,其中,工作,其中,TL0產(chǎn)生
38、產(chǎn)生100s定時(shí),由定時(shí),由 P1.0輸出方波輸出方波1TH0產(chǎn)生產(chǎn)生200s定時(shí),由定時(shí),由Pl.1輸出方波輸出方波2 ;T1設(shè)置為方式設(shè)置為方式2,作波特率發(fā)生器用。,作波特率發(fā)生器用。計(jì)算:計(jì)算:TL0初值:初值:HBftTCLOSC3101100112 .1798 .762561210216.91010025612206618TH0初值:初值:HTCH664 .1021210216.910200256066TH1、TL1初值為:初值為:F6H編程:編程:ORG 0000H AJMP MAINORG 000BH ;TL0的中斷入口的中斷入口AJMP ITL0ORG 00lBH;TH0的中
39、斷入口的中斷入口AJMP ITH0ORG 0100HMAIN:MOV SP, 60H;設(shè)棧指針;設(shè)棧指針MOV TMOD, 23H ;設(shè);設(shè)T0為方式為方式3,TI為為2 MOV TL0,0B3H ;設(shè);設(shè)TL0初值初值(100s定時(shí)定時(shí)) MOV TH0,66H ;設(shè);設(shè)TH0初值初值(200s定時(shí)定時(shí)) MOV TL1,0F6H ;設(shè);設(shè)TL1初值初值(波特率為波特率為2400) MOV TH1, 0F6H ;設(shè);設(shè) TH1初值初值 SETB TR0 ;啟動(dòng);啟動(dòng) TL0 SETB TR1 ;啟動(dòng);啟動(dòng)TH0 SETB ET0 ;允許;允許TL0中斷中斷 SETB ET1 ;允許;允許TH
40、0中斷中斷 SETB EA ;CPU中斷開放中斷開放 AJMP ORG 0200HITL0:MOV TL0, 0B3H ;重裝定時(shí)常數(shù);重裝定時(shí)常數(shù) CPL P10 ;輸出方波;輸出方波1(200s) RETIITH0:MOV TH0,66H ;重裝定時(shí)常數(shù);重裝定時(shí)常數(shù)CPL P11 ;輸出方波;輸出方波2(400s) RETI不用方式不用方式3 3,能,能否只用否只用T0T0產(chǎn)生產(chǎn)生兩個(gè)時(shí)間??jī)蓚€(gè)時(shí)間?【例】【例】假如一個(gè)用戶系統(tǒng)已使用了兩個(gè)外部中斷源,假如一個(gè)用戶系統(tǒng)已使用了兩個(gè)外部中斷源,即即INT0和和INT1,用戶系統(tǒng)要求從,用戶系統(tǒng)要求從P1.0引腳上引腳上輸出輸出一個(gè)一個(gè)5kH
41、z的方波的方波,并要求采用定時(shí)器,并要求采用定時(shí)器/計(jì)數(shù)器作為串行口計(jì)數(shù)器作為串行口的的波特率發(fā)生器波特率發(fā)生器,另外還需要再增加一個(gè),另外還需要再增加一個(gè)外部中斷源外部中斷源。6.5.2 6.5.2 計(jì)數(shù)器的應(yīng)用計(jì)數(shù)器的應(yīng)用分析分析:除兩個(gè)外中斷除兩個(gè)外中斷(INT0、INT1)外,還需要)外,還需要兩個(gè)定時(shí)器兩個(gè)定時(shí)器(5KHZ和波特率發(fā)生器)和和波特率發(fā)生器)和一個(gè)計(jì)數(shù)器一個(gè)計(jì)數(shù)器(擴(kuò)展外中斷)(擴(kuò)展外中斷)把把T0設(shè)置為方式設(shè)置為方式3: TL0設(shè)置為計(jì)數(shù)器,設(shè)置為計(jì)數(shù)器, TH0只能做只能做8位定時(shí)器位定時(shí)器(產(chǎn)生(產(chǎn)生5KHz方波),方波),T1就作為波特率發(fā)生器,設(shè)為方式就作為波
42、特率發(fā)生器,設(shè)為方式2。頻率頻率5kHz即周期為即周期為200s,則定時(shí)時(shí)間,則定時(shí)時(shí)間100s,若采用,若采用12MHz的晶體振蕩器,則機(jī)器周期為的晶體振蕩器,則機(jī)器周期為1s。 計(jì)算時(shí)間常數(shù):計(jì)算時(shí)間常數(shù):TC28100/1156編程:編程:ORG 0000HSJMP MAINORG 000BHAJMP TL0INT;TL0中斷入口中斷入口 ORG 001BHAJMP TH0INT;TH0中斷入口中斷入口ORG 0030HMAIN: MOV TMOD,#27H ;T0為方式為方式3,TL0為計(jì)數(shù)方式為計(jì)數(shù)方式, TH0為為 ;定時(shí)定時(shí);T1作波特率發(fā)生器,方式作波特率發(fā)生器,方式2MOV
43、TH0,#156 ;TH0定時(shí)常數(shù)定時(shí)常數(shù)MOV TL0, #0FFH ;TL0計(jì)數(shù)常數(shù)計(jì)數(shù)常數(shù)MOV TL1,#BAUD ;BAUD根據(jù)波特率算出根據(jù)波特率算出MOV TH1,#BAUDMOV TCON,#55H ;TR0和和TR1為為1,啟動(dòng)啟動(dòng)TL0和和TH0MOV IE,#8AH SJMP$ORG 0100HTL0INT:MOV TL0,#0FFH;重置計(jì)數(shù)長(zhǎng)度;重置計(jì)數(shù)長(zhǎng)度(中斷處理中斷處理)RETITH0INT:MOV TH0,#156;重置定時(shí)常數(shù);重置定時(shí)常數(shù)CPLP1.0;P1.0引腳輸出方波引腳輸出方波RETI TF1 TF1 TR1 TR1 TF0 TF0 TR0 TR0
44、 IE1 IT1 IE0 IT0IE1 IT1 IE0 IT0GATE C/T M1 M0 GATE C/T M1 M0 GATE C/T M1 M0GATE C/T M1 M0 門控位門控位GATE可用作對(duì)可用作對(duì)INTx引腳上的高電平持續(xù)時(shí)間進(jìn)行計(jì)量。引腳上的高電平持續(xù)時(shí)間進(jìn)行計(jì)量。通過反相器,則可測(cè)得相應(yīng)通過反相器,則可測(cè)得相應(yīng)INTx引腳上低電平的持續(xù)時(shí)間。兩引腳上低電平的持續(xù)時(shí)間。兩個(gè)時(shí)間的和即為個(gè)時(shí)間的和即為INTx引腳上輸入波形的周期,其倒數(shù)即為引腳上輸入波形的周期,其倒數(shù)即為INTx引腳上輸入波形的頻率。還可算出占空比等參數(shù)。引腳上輸入波形的頻率。還可算出占空比等參數(shù)。6.5.
45、3 6.5.3 門控位門控位GATEGATE的應(yīng)用的應(yīng)用 【例】【例】利用定時(shí)器計(jì)數(shù)器測(cè)定圖示波形的一個(gè)周期長(zhǎng)度。利用定時(shí)器計(jì)數(shù)器測(cè)定圖示波形的一個(gè)周期長(zhǎng)度。分析:分析:若若GATE=1,則則T1為定時(shí)器時(shí),當(dāng)為定時(shí)器時(shí),當(dāng)TR1=1且且INT1為高為高電平時(shí),才啟動(dòng)定時(shí)器。電平時(shí),才啟動(dòng)定時(shí)器。 INT1(P3.3)TR1 置置1T1開始計(jì)時(shí)開始計(jì)時(shí)TR1清零清零查詢法查詢法ORG 0000HSTART:MOV TMOD,#90HMOV TL1,#00H;置為最大定時(shí)值;置為最大定時(shí)值MOV TH1,#00HLP1:JBP3.3,LP1;P3.3為高電平,等待為高電平,等待 SETB TR1
46、;當(dāng);當(dāng)P3.3為低時(shí)為低時(shí),置置TR1為為1LP2: JNBP3.3,LP2;當(dāng);當(dāng)P3.3為低電平時(shí),再等待為低電平時(shí),再等待LP3:JBP3.3,LP3;當(dāng);當(dāng)P3.3為高電平時(shí),為高電平時(shí),T1開開; 始定時(shí)計(jì)數(shù)始定時(shí)計(jì)數(shù)CLRTR1;當(dāng);當(dāng)P3.3為低電平時(shí),高電為低電平時(shí),高電;平脈寬定時(shí)計(jì)數(shù)結(jié)束;平脈寬定時(shí)計(jì)數(shù)結(jié)束SJMP $當(dāng)當(dāng)fosc12MHz時(shí),最大被測(cè)脈寬為時(shí),最大被測(cè)脈寬為65536s。此編程實(shí)際只測(cè)量了高電平的寬度,此編程實(shí)際只測(cè)量了高電平的寬度,若被測(cè)波形除了接至若被測(cè)波形除了接至P3.3,另外同時(shí)通,另外同時(shí)通過一個(gè)反相器接至過一個(gè)反相器接至P3.2 (INT0)
47、 ,則通,則通過編程同時(shí)可以測(cè)得波形的高電平寬過編程同時(shí)可以測(cè)得波形的高電平寬度和低電平寬度。度和低電平寬度。中斷法:中斷法:【分析】對(duì)于脈沖寬度大于對(duì)于脈沖寬度大于65.536ms的脈沖,可以采用對(duì)定時(shí)溢的脈沖,可以采用對(duì)定時(shí)溢出次數(shù)進(jìn)行計(jì)數(shù)的方法。這樣,脈寬為出次數(shù)進(jìn)行計(jì)數(shù)的方法。這樣,脈寬為 (定時(shí)溢出時(shí)間定時(shí)溢出時(shí)間溢出次溢出次數(shù)數(shù))定時(shí)時(shí)間。測(cè)定脈沖周期可用圖示方法。定時(shí)時(shí)間。測(cè)定脈沖周期可用圖示方法。 T1腳上對(duì)下降沿計(jì)數(shù)二次,即為外部脈沖的一個(gè)周期時(shí)間?,F(xiàn)設(shè)腳上對(duì)下降沿計(jì)數(shù)二次,即為外部脈沖的一個(gè)周期時(shí)間?,F(xiàn)設(shè)T1為計(jì)數(shù)器。計(jì)數(shù)值為為計(jì)數(shù)器。計(jì)數(shù)值為2。設(shè)設(shè)6MHz晶振晶振,T0
48、為方式為方式1,定時(shí)溢出時(shí)間為,定時(shí)溢出時(shí)間為 100 ms當(dāng)計(jì)數(shù)值為當(dāng)計(jì)數(shù)值為1時(shí),啟動(dòng)定時(shí)器;當(dāng)計(jì)數(shù)值為時(shí),啟動(dòng)定時(shí)器;當(dāng)計(jì)數(shù)值為2時(shí),中斷計(jì)數(shù)器時(shí),中斷計(jì)數(shù)器T1,并停止定時(shí)器并停止定時(shí)器T0的定時(shí)。的定時(shí)。T1中斷優(yōu)先級(jí)設(shè)為高于定時(shí)器中斷優(yōu)先級(jí)設(shè)為高于定時(shí)器T0。 計(jì)數(shù)初值為計(jì)數(shù)初值為 FFFEH:(:(TH1)FFH,(,(TL1)FEH。 編程編程: ORG0000HSJMP MAINORG 000BH ;定時(shí)器;定時(shí)器T0中斷入口中斷入口 AJMP TIME0 ORG 00IBH ;定時(shí)器;定時(shí)器 T1中斷入口中斷入口 AJMP TIME1 ORG 0030HMAIN:MOV R
49、0,0;清除;清除T0定時(shí)中斷次數(shù)計(jì)數(shù)器定時(shí)中斷次數(shù)計(jì)數(shù)器MOV TMOD,59H;T0為定時(shí)器為定時(shí)器,方式方式1, GATE1 ;T1為計(jì)數(shù)器、方式為計(jì)數(shù)器、方式1 MOV TH0,3CH ;T0定時(shí)器初值定時(shí)器初值 MOV TL0,0B0H MOV TH1,0FFH ;T1計(jì)數(shù)器初值計(jì)數(shù)器初值 MOV TL1,0FEH SETB TR0;啟動(dòng);啟動(dòng)T0定時(shí)器定時(shí)器 SETB TR1;啟動(dòng);啟動(dòng)T1計(jì)數(shù)器計(jì)數(shù)器 MOV IP,08H ;T1中斷優(yōu)先級(jí)高于中斷優(yōu)先級(jí)高于T0SETB ET1 ;允許;允許T1中斷中斷 SETB ET0;允許;允許T0中斷中斷 SETB EA ;CPU開中斷開中斷SETB 20H ;設(shè);設(shè)20H為為T1計(jì)數(shù)中斷標(biāo)志計(jì)數(shù)中斷標(biāo)志LOOP:SETB F0;設(shè);設(shè)F0為為T0定時(shí)中斷標(biāo)志定時(shí)中斷標(biāo)志 JB F0,$;T0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加工項(xiàng)目分包合同范本
- 市區(qū)精裝修房長(zhǎng)期出租合同范本
- 冷庫(kù)建設(shè)合同范本合集
- 2025年度二零二五新型智能公產(chǎn)房買賣合同示范文本
- 城市綜合辦公樓單層長(zhǎng)期出租合同范本
- 公交運(yùn)輸合同范例
- 個(gè)人租給公司房屋租賃合同范本
- 會(huì)所庭院出租合同范本
- 債權(quán)讓與合同范例
- 加盟購(gòu)車合作合同范本
- VDA6.3 2023過程審核教材
- 高職應(yīng)用語文教程(第二版)教案 3管晏列傳
- 高中物理《光電效應(yīng)》
- 烹飪實(shí)訓(xùn)室安全隱患分析報(bào)告
- 《金屬加工的基礎(chǔ)》課件
- 運(yùn)輸行業(yè)春節(jié)安全生產(chǎn)培訓(xùn) 文明駕駛保平安
- 體驗(yàn)式沙盤-收獲季節(jié)
- 找人辦事協(xié)議
- 老年護(hù)理陪護(hù)培訓(xùn)課件
- 醬香型白酒工廠設(shè)計(jì)
- 第3章 環(huán)境感知技術(shù)
評(píng)論
0/150
提交評(píng)論