版權(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 1硬件法:硬件法:定時(shí)功能完全由硬件電路完成,不占定時(shí)功能完全由硬件電路完成,不占用用CPUCPU時(shí)間。時(shí)間。2 2軟件法:軟件定時(shí)是執(zhí)行一段循環(huán)程序來(lái)進(jìn)行時(shí)間軟件法:軟件定時(shí)是執(zhí)行一段循環(huán)程序來(lái)進(jìn)行時(shí)間延時(shí)。延時(shí)。3 3可編程定時(shí)器計(jì)數(shù)器:通過軟件編
3、程來(lái)實(shí)現(xiàn)定時(shí)可編程定時(shí)器計(jì)數(shù)器:通過軟件編程來(lái)實(shí)現(xiàn)定時(shí)時(shí)間的改變,通過中斷或查詢方法來(lái)完成定時(shí)功能或時(shí)間的改變,通過中斷或查詢方法來(lái)完成定時(shí)功能或計(jì)數(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ù)器的核心是一個(gè)加定時(shí)器計(jì)數(shù)器的核心是一個(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 61 定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T0T0、T1T1的內(nèi)部結(jié)構(gòu)框圖的內(nèi)
5、部結(jié)構(gòu)框圖 T0、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位
6、計(jì)數(shù)器位計(jì)數(shù)器 1 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ā)方式方式 T
7、0、T1 的數(shù)據(jù)寄存器的數(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-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+INT
8、x) 方式方式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中存放初值中存放初值;缺陷:計(jì)數(shù)范圍小,最大計(jì)數(shù)值為缺陷:計(jì)數(shù)范圍小,最大計(jì)數(shù)值為28= 256適用于需要重復(fù)定時(shí),而定時(shí)范圍不大的應(yīng)用場(chǎng)合,適用于需要重復(fù)定時(shí),而定時(shí)范圍不大的應(yīng)用場(chǎng)合,比如:作為串行口波特率發(fā)生器使用比如:作為串行口波特率發(fā)生器使用 方式方式3-僅僅T0有此方式,有
9、此方式,T1無(wú)方式無(wú)方式3中斷矢量中斷矢量000BH中斷矢量中斷矢量001BHT0T0方式方式3 3下的下的T0T0 在方式在方式3 3情況下情況下,T0,T0被拆成二個(gè)獨(dú)立的被拆成二個(gè)獨(dú)立的8 8位計(jì)位計(jì)數(shù)器數(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)行控制開關(guān)運(yùn)行控制開關(guān)T
10、R1,TR1,中斷矢量中斷矢量001BH001BH,只,只能對(duì)片內(nèi)機(jī)器周期脈沖計(jì)數(shù)能對(duì)片內(nèi)機(jī)器周期脈沖計(jì)數(shù) T0 T0方式方式3 3情況下的情況下的T1T1 T1 T1由于其由于其TF1TF1、TR1TR1被被T0T0的的TH0TH0占用,計(jì)占用,計(jì)數(shù)器溢出時(shí),只能將輸出信號(hào)送至串行口,數(shù)器溢出時(shí),只能將輸出信號(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ù)器T
11、L2、TH2, 控制寄存器控制寄存器T2CON, 模式寄存器模式寄存器T2MOD,捕獲寄存器捕獲寄存器RCAP2L低字節(jié)和低字節(jié)和RCAP2H高字節(jié))。高字節(jié))。計(jì)數(shù)脈沖源:兩個(gè)計(jì)數(shù)脈沖源:兩個(gè)-內(nèi)部機(jī)器周期及內(nèi)部機(jī)器周期及 T2P10端輸入的外部計(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位地址位地址 CFHCEHC
12、DHCCHCBHCAHC9HC8H位功能位功能 TF2EXF2RCLKTCLK EXEN2TR2C/T2CP/RL26.3.1 T26.3.1 T2中的特殊功能寄存器中的特殊功能寄存器TF2T2 溢出標(biāo)志,溢出標(biāo)志, T2溢出時(shí)置位并申請(qǐng)中斷,軟件清除。溢出時(shí)置位并申請(qǐng)中斷,軟件清除。在波特率發(fā)生器方式下,即在波特率發(fā)生器方式下,即RCLK1或或TCLK1時(shí),定時(shí)器溢時(shí),定時(shí)器溢出不對(duì)出不對(duì)TF2置位。置位。EXF2T2外部標(biāo)志,外部標(biāo)志,EXF2要靠軟件來(lái)清除要靠軟件來(lái)清除當(dāng)當(dāng)EXEN21,且,且T2EX引腳上出現(xiàn)負(fù)跳變而造成捕獲或重裝載引腳上出現(xiàn)負(fù)跳變而造成捕獲或重裝載時(shí)時(shí)EXF2置位,申
13、請(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ā)生器。TCLKl時(shí),用時(shí),用
14、T2溢出脈沖作為串行口的發(fā)送時(shí)鐘;溢出脈沖作為串行口的發(fā)送時(shí)鐘;TCLK0時(shí),用時(shí),用T1的溢出脈沖作發(fā)送時(shí)鐘。的溢出脈沖作發(fā)送時(shí)鐘。 EXEN2:T2外部允許標(biāo)志,軟件設(shè)置或清除外部允許標(biāo)志,軟件設(shè)置或清除允許或禁止用外部信號(hào)來(lái)觸發(fā)捕獲或重裝載操作。允許或禁止用外部信號(hào)來(lái)觸發(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)不起作用端的外部信號(hào)
15、不起作用TR2:T2運(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端的信端的信號(hào)負(fù)跳變時(shí),發(fā)生捕獲
16、操作。號(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í),常用來(lái)作波特率溢出時(shí),常用來(lái)作波特率發(fā)生器。發(fā)生器。 方式控制寄存器方式控制寄存器T2MODD7D6D5D4D3D2D1D0-T2OE DCEN T2OE:T2輸出允許位。輸出允許位。當(dāng)當(dāng)T2OE1時(shí),允許時(shí)
17、鐘輸出至?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é)尋址,所組成。它們都只能字節(jié)尋址,相應(yīng)的字節(jié)地址為相應(yīng)的字節(jié)地址為CDH和和CCH。 復(fù)位后,這兩個(gè)寄存器全部清零。復(fù)位后,這兩個(gè)寄存器全部清零。 捕獲寄存器:捕獲寄存器:RCAP2HRCAP2H、R
18、CAP2LRCAP2L T2 T2中的捕獲寄存器是一個(gè)中的捕獲寄存器是一個(gè)1616位的數(shù)據(jù)寄存器,由高位的數(shù)據(jù)寄存器,由高8 8位寄位寄存器存器RCAP2HRCAP2H和低和低8 8 位寄存器位寄存器RCAP2LRCAP2L所組成,相應(yīng)的字節(jié)地址為所組成,相應(yīng)的字節(jié)地址為CBHCBH和和CAHCAH。捕獲寄存器捕獲寄存器RCAP2HRCAP2H和和RCAP2LRCAP2L,用于捕獲計(jì)數(shù)器,用于捕獲計(jì)數(shù)器TL2TL2、TH2TH2的計(jì)數(shù)狀態(tài),或用來(lái)預(yù)置計(jì)數(shù)初值的。的計(jì)數(shù)狀態(tài),或用來(lái)預(yù)置計(jì)數(shù)初值的。TH2TH2、TL2TL2和和 RCAP2HRCAP2H、RCAP2LRCAP2L之間接有雙向緩沖器
19、三態(tài)門)。之間接有雙向緩沖器三態(tài)門)。復(fù)位后,兩個(gè)寄存器全部清零。復(fù)位后,兩個(gè)寄存器全部清零。T2的工作方式用控制位的工作方式用控制位CPRL2T2CON0和和RCLKTCLK來(lái)選擇。來(lái)選擇。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和和RCAP2
20、L來(lái)實(shí)現(xiàn)的。其工作原理可參見圖來(lái)實(shí)現(xiàn)的。其工作原理可參見圖67。當(dāng)當(dāng)CPRL2l時(shí),選擇捕獲方式。時(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且且 T2EXP11端的信號(hào)有負(fù)跳變時(shí),將發(fā)端的信號(hào)有負(fù)跳變時(shí)
21、,將發(fā)生捕獲操作。同時(shí)標(biāo)志生捕獲操作。同時(shí)標(biāo)志EXF2置置1,申請(qǐng)中斷。,申請(qǐng)中斷。若若T2的中斷是被允許的,則無(wú)論發(fā)生的中斷是被允許的,則無(wú)論發(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)地將捕獲寄存器RCAP2H和RCAP2L的數(shù)據(jù)裝入計(jì)數(shù)器TH2和TL2中。捕獲寄存器RCAP2H和RCAP2L在這里起預(yù)置計(jì)數(shù)初值的功能。對(duì)8XC52,其工作原理可參見圖68。當(dāng)CPRL20時(shí),選擇自動(dòng)重裝載方式。若T2的中斷是被允許的,則無(wú)論發(fā)生TF21還是EXF21,CPU都會(huì)響應(yīng)中
22、斷,此中斷向量的地址為002BH。響應(yīng)中斷后,應(yīng)用軟件撤除中斷申請(qǐng)。TF2 和EXF2都是直接可尋址位,可采用CLR TF2和CLR EXF2指令實(shí)現(xiàn)撤除中斷申請(qǐng)的功能。 波特率發(fā)生器方式波特率發(fā)生器方式 當(dāng)當(dāng) T2CON中中 RCLK十十TCLK 1,其溢出脈沖用做串,其溢出脈沖用做串行口的時(shí)鐘。行口的時(shí)鐘。T2的波特率發(fā)生器方式下的結(jié)構(gòu)圖示于圖的波特率發(fā)生器方式下的結(jié)構(gòu)圖示于圖69中。中。RCLK選擇串行通信接收波特率發(fā)生器,選擇串行通信接收波特率發(fā)生器,TCLK選擇發(fā)送波特率發(fā)生器,發(fā)送和接收的波特率可以不同。選擇發(fā)送波特率發(fā)生器,發(fā)送和接收的波特率可以不同。 T2的輸入時(shí)鐘可由內(nèi)部時(shí)鐘
23、決定,也可由外部脈的輸入時(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/T21,選用外部脈沖,該脈沖由,選用外部脈沖,該脈沖由T2端輸入,每當(dāng)端輸入,每當(dāng)外部脈沖負(fù)跳變時(shí),計(jì)數(shù)器值增外部脈沖負(fù)跳變時(shí),計(jì)數(shù)器值增l。外部脈沖頻率不超。外部脈沖頻率不超過振蕩器頻率的過振蕩器頻率的l24。 由于脈沖溢出時(shí),RCAP2H和RCAP2L的內(nèi)容會(huì)自動(dòng)裝載到TH2和TL2中,故波特率的值還決定于RCAP2H和RCAP2L裝載初值。 RCLKTCLK還用于選擇T1
24、還是T2作串行通信的波特率發(fā)生器。由圖69可看出,這兩位的值用來(lái)控制兩個(gè)電子開關(guān)的位置。值為0時(shí),選用T1做波特率發(fā)生器;值為1時(shí),選用T2做波特率發(fā)生器。 當(dāng)T2用做波特率發(fā)生器時(shí),TH2的溢出不使TF2置位,不產(chǎn)生中斷。因此,當(dāng)T2用做波特率發(fā)生器時(shí),沒有必要禁止中斷。 當(dāng)T2用做波特率發(fā)生器時(shí),若EXEN2置1,則T2EX端的信號(hào)產(chǎn)生負(fù)跳變時(shí),EXF2將置1,但不會(huì)發(fā)生重裝載或捕獲操作。這時(shí),T2EX可以作為一個(gè)附加的外部中斷源。 T3俗稱看門狗watchdog),它的作用是強(qiáng)迫單片微機(jī)進(jìn)入復(fù)位狀態(tài),使之從硬件或軟件故障中解脫出來(lái)。在實(shí)際應(yīng)用中,由于現(xiàn)場(chǎng)的各種干擾或者程序設(shè)計(jì)錯(cuò)誤,可能使
25、單片微機(jī)的程序進(jìn)入了“ 死循環(huán)” 或“ 非程序區(qū)”(如表格數(shù)據(jù)區(qū)) 之后,在一個(gè)設(shè)定的時(shí)間內(nèi),假如用戶程序沒有重裝T3,監(jiān)視電路將產(chǎn)生一個(gè)系統(tǒng)復(fù)位信號(hào),強(qiáng)迫單片微機(jī)退出“ 死循環(huán)” 或“ 非程序區(qū)” ,重新進(jìn)行“ 冷啟動(dòng)” 或“ 熱啟動(dòng)” 。 在飛利浦80C552中,T3由一個(gè)11位的分頻器和8位定時(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)
26、晶振為12MHz時(shí),時(shí),t為為2.048ms。若若8位定時(shí)器溢出,則產(chǎn)生一個(gè)尖脈沖,它將復(fù)位位定時(shí)器溢出,則產(chǎn)生一個(gè)尖脈沖,它將復(fù)位8C552,同時(shí),同時(shí)在在RST引腳上也將產(chǎn)生引腳上也將產(chǎn)生1個(gè)正的復(fù)位尖脈沖。個(gè)正的復(fù)位尖脈沖。T3由外部引腳由外部引腳EW和和電源控制寄存器中的電源控制寄存器中的PCON4WLE和和PCONlPD控制??刂啤?EW:看門狗定時(shí)器允許,低電平有效。:看門狗定時(shí)器允許,低電平有效。 EW0時(shí),允許看門狗定時(shí)器,禁止掉電方式;時(shí),允許看門狗定時(shí)器,禁止掉電方式; EW1時(shí)禁止看門狗定時(shí)器,允許掉電方式。時(shí)禁止看門狗定時(shí)器,允許掉電方式。 WLE :看門狗定時(shí)器允許重
27、裝標(biāo)志。 若WLE置位,定時(shí)器T3只能被軟件裝入,裝入后WLE自動(dòng)清除。T3的重裝和溢出,產(chǎn)生復(fù)位的時(shí)間間隔,由裝入T3的值決定,對(duì)于8C552,其監(jiān)視間隔可編程為2.048ms2.048255ms。 T3的工作過程:在T3溢出時(shí),復(fù)位8XC552,并產(chǎn)生復(fù)位脈沖輸出至復(fù)位引腳RST。為防止系統(tǒng)復(fù)位,必須在定時(shí)器T3溢出前,通過軟件對(duì)其進(jìn)行重裝。如果發(fā)生軟件或硬件故障,將使軟件對(duì)定時(shí)器T3重裝失敗,從而T3溢出導(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í)間。
28、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 ;看門狗的時(shí)間間隔;看門狗的時(shí)間間隔(2.048100ms) 插在用戶程序中對(duì)看門狗需要重新裝入的地方:插在用戶程序中對(duì)看門狗需要重新裝入的地方: LCALLWATCHDOG;調(diào)用看門狗服務(wù)子程序;調(diào)用看門狗
29、服務(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.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=
30、12MHZ時(shí),時(shí),1機(jī)周機(jī)周=1S;fosc=6MHZ 時(shí),時(shí), 1機(jī)周機(jī)周=2S解:解:工作方式工作方式0 0: 213500213500S/2S/2S=8192-250=7942S=8192-250=7942 =1F06H =1F06H =1111100000110B =1111100000110B TL0=00110B=06H TL0=00110B=06H TH0=11111000B=F8H TH0=11111000B=F8H【例】【例】 已知晶振已知晶振6MHz6MHz,要求定時(shí),要求定時(shí)0.5ms0.5ms,試分別求,試分別求出出T0T0工作于方式工作于方式0 0、方式、方式1 1、
31、方式、方式2 2時(shí)的定時(shí)初值。時(shí)的定時(shí)初值。 工作方式工作方式1 1: T0T0初值初值 =216-=216-500500s/2s/2s=65536250=65286=FF06Hs=65536250=65286=FF06H TH0=FFH TH0=FFH;TL0=06HTL0=06H。 工作方式工作方式2 2: T0T0初值初值 =28-500=28-500s/2s/2s=256-250=6s=256-250=6 TH0=06H TH0=06H;TL0=06HTL0=06H。 從上例中看到,方式從上例中看到,方式0 0計(jì)算定時(shí)初值比較麻煩,根據(jù)公計(jì)算定時(shí)初值比較麻煩,根據(jù)公式計(jì)算出數(shù)值后,還要
32、變換一下,容易出錯(cuò),不如直接用方式計(jì)算出數(shù)值后,還要變換一下,容易出錯(cuò),不如直接用方式式1 1,且方式,且方式0 0計(jì)數(shù)范圍比方式計(jì)數(shù)范圍比方式1 1小,方式小,方式0 0完全可以用方式完全可以用方式1 1代替,方式代替,方式0 0與方式與方式1 1相比,無(wú)任何優(yōu)點(diǎn)。相比,無(wú)任何優(yōu)點(diǎn)。解:分析解:分析 采用方式采用方式0定時(shí)時(shí)間定時(shí)時(shí)間 t1ms=1000S定時(shí)常數(shù):定時(shí)常數(shù):TC=213-1000/2=8192-500=7692 = 11110000 01100B用定時(shí)器用定時(shí)器T0:TMOD=00H,TH0=F0H,TL0=0CH【例】【例】 要求在要求在 P10引腳上產(chǎn)生周期為引腳上產(chǎn)生
33、周期為2 ms的方波輸出的方波輸出fosc=6MHz 查詢方式查詢方式ORG 0000HAJMP STORG 0030HST:MOV SP,#60HMOV TMOD,#00H;方式;方式0L1:MOV TH0,#0F0H;初值;初值MOV TL0,#0CHCPL P1.0SETB TR0L2:JBC TF0,L1SJMP L2END中斷方式:中斷方式:ORG0000HAJMPMAINORG000BH;T0中斷矢量中斷矢量AJMP INQPORG0030HMAIN: MOV TMOD,00H ;設(shè);設(shè)T0為定時(shí)器方式為定時(shí)器方式0 MOV TH0,0F0H ;寫定時(shí)常數(shù);寫定時(shí)常數(shù)(定時(shí)定時(shí)1m
34、s) MOV TL0,0CH SETB TR0 ;啟動(dòng);啟動(dòng) T0 SETB ET0 ;允許;允許T0中斷中斷 SETB EA ;開放;開放CPU中斷中斷 AJMP $ ;定時(shí)中斷等待;定時(shí)中斷等待ORG2000 H ;T0中斷服務(wù)程序中斷服務(wù)程序 INQP: MOV TH0,0F0H ;重寫定時(shí)常數(shù);重寫定時(shí)常數(shù) MOV TL0,0CHCPL P10 ;P10變反輸出變反輸出 RETI 采用方式采用方式1 1定時(shí)時(shí)間定時(shí)時(shí)間 t1ms=1000S定時(shí)常數(shù):定時(shí)常數(shù):TC=216-1000/2=65535-500=65035 = 11111110 00001011B=FE0BH用定時(shí)器用定時(shí)器
35、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ì)數(shù)器作為波特率發(fā)生器計(jì)數(shù)器作為波特率發(fā)生器,波特率為波特率為2400, fOCS9.216 MHz 。分析:這時(shí)分析:這時(shí)T0采用方式采用方式3工作,其中,工作,其中,TL0產(chǎn)生產(chǎn)生100s定時(shí),由定時(shí),由 P1.0輸出方波輸出方波1TH0產(chǎn)生產(chǎn)生200s定時(shí),由定時(shí),由Pl.1輸出方波輸出方波2 ;T1設(shè)置為方
36、式設(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的中斷入口的中斷入口AJMP ITH0ORG 0100HMAIN:MOV SP, 60H;設(shè)棧指針;設(shè)棧指針MOV TMOD, 23H ;設(shè)
37、;設(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 ;允許;允許TH0中斷中斷 SETB EA ;CPU中斷開放中斷開放 AJMP ORG 0200HITL0:MOV TL0, 0B3H ;重裝定時(shí)常數(shù);
38、重裝定時(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è)5kHz的方波,并的方波,并要求采用定時(shí)器要求采用定時(shí)器/計(jì)數(shù)器作為串行口的波特率發(fā)生器,另外還需計(jì)數(shù)器作為串行口的波特率發(fā)生器,另外還需要再
39、增加一個(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ā)生器和一個(gè)計(jì)數(shù)器擴(kuò)展外中斷)和波特率發(fā)生器和一個(gè)計(jì)數(shù)器擴(kuò)展外中斷)把把T0設(shè)置為方式設(shè)置為方式3: TL0設(shè)置為計(jì)數(shù)器,設(shè)置為計(jì)數(shù)器, TH0只能做只能做8位定時(shí)器位定時(shí)器產(chǎn)生產(chǎn)生5KHz方波),方波),T1就作為波特率發(fā)生器,設(shè)為方式就作為波特率發(fā)生器,設(shè)為方式2。頻率頻率5kHz即周期為即周期為200s,則定時(shí)時(shí)間,則定時(shí)時(shí)間100s,若采用,若采用12MHz的的晶體振蕩器,則機(jī)器周期為晶
40、體振蕩器,則機(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ù)方式, TH0為 ;定時(shí);T1作波特率發(fā)生器,方式2MOV TH0,#156 ;TH0定時(shí)常數(shù)MOV TL0, #0FFH ;TL0計(jì)數(shù)常數(shù)MOV TL1,#BAUD ;BAUD根據(jù)波特率算出MOV TH1,#BAUDMOV TCON,#55H ;TR0
41、和TR1為1,啟動(dòng)TL0和TH0MOV IE,#8AH SJMP $ORG0100HTL0INT:MOV TL0,#0FFH ;重置計(jì)數(shù)長(zhǎng)度(中斷處理)RETITH0INT:MOV TH0,#156;重置定時(shí)常數(shù)CPLP1.0;P1.0引腳輸出方波RETI TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0GATE C/T M1 M0 GATE C/T M1 M0GATE C/T M1 M0 GATE C/T M1 M0 門控位門控位GATE可用作對(duì)可用作對(duì)INTx引腳上的高電平持續(xù)時(shí)間進(jìn)行計(jì)量。引腳上的高電平持續(xù)時(shí)間進(jìn)
42、行計(jì)量。通過反相器,則可測(cè)得相應(yīng)通過反相器,則可測(cè)得相應(yīng)INTx引腳上低電平的持續(xù)時(shí)間。兩引腳上低電平的持續(xù)時(shí)間。兩個(gè)時(shí)間的和即為個(gè)時(shí)間的和即為INTx引腳上輸入波形的周期,其倒數(shù)即為引腳上輸入波形的周期,其倒數(shù)即為INTx引腳上輸入波形的頻率。還可算出占空比等參數(shù)。引腳上輸入波形的頻率。還可算出占空比等參數(shù)。6.5.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í)器。電平
43、時(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;當(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í),高電為低電
44、平時(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) ,則通,則通過編程同時(shí)可以測(cè)得波形的高電平寬過編程同時(shí)可以測(cè)得波形的高電平寬度和低電平寬度。度和低電平寬度。中斷法:中斷法:【分析】對(duì)于脈沖寬度大于【分析】對(duì)于脈沖寬度大于65.536ms的脈沖,可以采用對(duì)定時(shí)溢的脈沖,可以采用對(duì)定時(shí)溢出次數(shù)進(jìn)行計(jì)數(shù)的方法。這樣,脈寬為出次數(shù)進(jìn)
45、行計(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為方式為方式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。
46、 計(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 R0,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
47、 ;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定時(shí)未溢出,等待定時(shí)未溢出,等待 JB 20H,LOOP ;判;判T1若未溢出則循環(huán)若未溢出則循環(huán)SJMP $ ORG 0100HTIME0:MOV TL0,0B0H;重置;重置T0定時(shí)器初值定時(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書館工作計(jì)劃集錦
- 幼兒園安全教育活動(dòng)計(jì)劃幼兒園教育活動(dòng)周計(jì)劃
- 2025新學(xué)期初三班主任工作計(jì)劃范文
- 度林業(yè)法治宣傳教育實(shí)施計(jì)劃
- 《蝸輪蝸桿傳動(dòng)設(shè)計(jì)》課件
- 工商服務(wù)合同
- 《高壓氧治療中》課件
- 2025年齊齊哈爾道路運(yùn)輸從業(yè)資格證考哪些項(xiàng)目
- 2025年昆明貨運(yùn)從業(yè)資格證模擬考試試題題庫(kù)答案
- 2025年合肥考取貨運(yùn)從業(yè)資格證
- 水庫(kù)蓄水安全鑒定報(bào)告
- 5000立方油罐基礎(chǔ)專項(xiàng)施工方案
- 勞務(wù)中介介紹費(fèi)合同范本
- 2022年10月2022四川涼山州木里藏族自治縣衛(wèi)生健康局考調(diào)專業(yè)技術(shù)人員13人筆試參考題庫(kù)含答案解析
- 小咖啡大世界知到章節(jié)答案智慧樹2023年上海商學(xué)院
- 新版深度學(xué)習(xí)完整整套教學(xué)課件
- 2023學(xué)年四川省成都市九年級(jí)(上)期末化學(xué)試卷
- 高等數(shù)理統(tǒng)計(jì)知到章節(jié)答案智慧樹2023年浙江大學(xué)
- 機(jī)組空冷塔冷卻三角組裝指導(dǎo)書
- 大學(xué)英語(yǔ)I知到章節(jié)答案智慧樹2023年桂林電子科技大學(xué)
- 兒童腦性癱瘓
評(píng)論
0/150
提交評(píng)論