8XC552 系列單片機的定時器 T2 和捕捉比較邏輯是什么
定時器T2和連接到這個寄存器上的4個16位捕捉寄存器及1個比較器組成定時器T2與捕捉比較邏輯。當(dāng)在相應(yīng)引腳上電平發(fā)生變化時,捕捉寄存器將捕捉定時器T2的內(nèi)容,比較邏輯是以固定的時間去設(shè)置、復(fù)位和觸發(fā)P4口的輸出。
定時器T2和捕捉比較邏輯如圖10.22所示。
圖10.22定時器T2和捕捉比較邏輯
1.定時器T2
8XC552單片機的定時器T2是一個16位的計數(shù)器,它由特殊功能寄存器TMH2(高字節(jié))和TML2(低字節(jié))所組成。它的輸入可由軟件編程為:fOSC/12、T2引腳輸入的外部脈沖或停止計數(shù)。當(dāng)T2用作計數(shù)器時,T2引腳上的外部輸入信號經(jīng)過預(yù)分頻器進入T2,預(yù)分頻器的分頻系數(shù)可編程為1、2、4、8四種,T2引腳上的輸入脈沖頻率可達每個機器周期的一次方波。特殊功能寄存器TMH2和TML2是只讀寄存器,由復(fù)位信號或RT2引腳上的上跳變清“0”(若允許),預(yù)分頻器也同時清“0”,RT2是由置位T2ER(TM2CON.5)位使能的。當(dāng)T2發(fā)生低字節(jié)溢出或16位溢出時產(chǎn)生中斷請求,這兩個中斷的向量是相同的,兩者能同時編程為中斷允許或禁止。
定時器T2由特殊功能寄存器TM2CON控制,TM2CON的地址為EAH,其格式如圖10.23所示。
TM2CON各位的功能如下:
T2IS1:16位溢出中斷選擇位。
T2IS0:字節(jié)溢出中斷選擇位。
T2ER:外部復(fù)位允許。T2ER=1時,T2可被RT2(P1.5)引腳上的上升沿復(fù)位。T2B0:T2字節(jié)溢出中斷標(biāo)志位。
T2P1、T2P0:預(yù)分頻器系數(shù)選擇。
4種系數(shù)選擇方式如下:
T2MS1、T2MS0:工作方式選擇。
選擇方式如下:
在使用12 MHz晶振時,定時器T2的16位溢出每隔65.5 ms、131 ms、262 ms或
524ms發(fā)生一次(具體間隔時間由分頻系數(shù)決定),即最大的定時時間間隔為0.5s。如果要求定時時間大于0.5s,就需要擴展定時器T2。
2.捕捉邏輯
定時器T2連接4個16位捕捉寄存器:CT0~CT3,這些輸入信號與P1口復(fù)用,當(dāng)引腳CT0I~CT3I上電平發(fā)生變化時,定時器T2的值裝入這些捕捉寄存器并產(chǎn)生中斷請求,中斷標(biāo)志存放在特殊功能寄存器TM2IR中。如果不需要捕捉功能,這些中斷可作為外部中斷輸入。利用捕捉控制寄存器CTCON,可以捕捉輸入信號的上跳變、下跳變或上下跳變。在每個機器周期的S1P1,采樣輸入信號,當(dāng)檢測到一個所選擇的跳變時,在該機器周期的末尾將定時器T2的內(nèi)容捕捉到寄存器中。
捕捉控制寄存器CTCON的地址為EBH,格式如圖10.24所示。
CTCON各位的功能如下:
CTN3~CTN0:CT3~CT0分別由CT3I~CT0I的下降沿捕捉;
CTP3~CTP0:CT3~CT0分別由CT3I~CT0I的上升沿捕捉。
利用CT3~CT0捕捉T2的功能,可方便地測量時間間隔,若一個周期變化的事件以上升或下降沿的形式加在一個捕捉引腳上,則兩個事件之間的間隔可用捕捉寄存器捕捉T2中的時間值來測量,并在中斷服務(wù)程序中計算出這兩個事件之間的時間間隔。如采用12 MHz的晶振,定時器T2最多可編程為524 ms溢出一次,當(dāng)事件的時間間隔大于524ms時,則應(yīng)采用T2擴展程序?qū)2的溢出計數(shù)。
3.比較邏輯
每當(dāng)定時器T2加1時,3個16位比較寄存器CM0~CM2的內(nèi)容與T2新的計數(shù)值進行比較,發(fā)現(xiàn)相等時,在同一個機器周期的末尾置位定時器T2中斷標(biāo)志寄存器TM2IR中相應(yīng)的中斷標(biāo)志。當(dāng)T2與CM0相等時,置位P4口低6位中的某些位(由置位允許寄存器STE的低6位確定);當(dāng)T2與CM1相等時,復(fù)位P4口低6位中的某些位(由復(fù)位/觸發(fā)允許寄存器RTE的低6位確定);當(dāng)T2與CM2相等時,觸發(fā)翻轉(zhuǎn)P4口高兩位中的某一位觸發(fā)器(由復(fù)位/觸發(fā)允許寄存器RTE的高兩位確定)。兩個附加的觸發(fā)器TG47和TG48存儲上次的結(jié)果,而被觸發(fā)的是P4口高兩位中的某一位觸發(fā)器。這樣,如果當(dāng)前的操作是復(fù)位,即使在下次操作之前,此口被軟件復(fù)位也是這樣。P4口的每一位在任意時候還可以由軟件來置位或復(fù)位,但是比較結(jié)果相等時所引起的硬件修改優(yōu)于軟件修改。當(dāng)比較結(jié)果同時需要置位或復(fù)位時,端口寄存器將被復(fù)位。
置位允許寄存器STE的地址為0EEH,格式如圖10.25所示。
STE各位的功能如下:
SP40~SP45:當(dāng)某位為1時,T2與CM0匹配,則對應(yīng)設(shè)置P4.0~P4.5,當(dāng)某位為0時,無影響。
TG46:觸發(fā)器輸出(只讀)。
TG47:觸發(fā)器輸出(只讀)。
復(fù)位/觸發(fā)寄存器RTE的地址為0EFH,格式如圖10.26所示。
RTE各位的功能如下:
RP40~RP45:當(dāng)某位為1時,T2與CM1匹配復(fù)位輸出P4.0~P4.5,當(dāng)某位為1時,對輸出無影響。
TP46、TP47:當(dāng)某位為1時,T2與CM2匹配時觸發(fā)輸出P4.6、P4.7,否則無影響。定時器T2中斷標(biāo)志寄存器TM2IR的地址為0C8H,格式如圖10.27所示。
TM2IR各位的功能如下:
CTI0~CTI3:CT0~CT3捕捉到T2內(nèi)容時中斷標(biāo)志。
CMI0~CMI2:CM0~CM2與T2比較匹配時中斷標(biāo)志。
T2OV:定時器T2的16位溢出標(biāo)志。
定時器T2中斷允許寄存器IEN1的地址為0E8H,格式如圖10.28所示。
IEN1各位的功能如下:
ET2:T2字節(jié)溢出或16位溢出中斷允許位;
ECM0~ECM2:比較寄存器CM0~CM2中斷允許位;
ECT0~ECT3:捕捉寄存器CT0~CT3中斷允許位。
其中各位為“1”時允許中斷,為“0”時禁止中斷。
定時器T2中斷優(yōu)先級寄存器IP1的地址為0F8H,其格式如圖10.29所示。
IP1各位的功能如下:
PT2:定時器T2溢出中斷優(yōu)先級;
PCM0~PCM2:比較器CM0~CM2中斷優(yōu)先級;
PCT0~PCT3:捕捉寄存器CT0~CT3中斷優(yōu)先級。
其中各位為“1”時定義為高優(yōu)先級,為“0”時定義為低優(yōu)先級。