增強(qiáng)型定時(shí)器ECT模塊課件_第1頁(yè)
增強(qiáng)型定時(shí)器ECT模塊課件_第2頁(yè)
增強(qiáng)型定時(shí)器ECT模塊課件_第3頁(yè)
增強(qiáng)型定時(shí)器ECT模塊課件_第4頁(yè)
增強(qiáng)型定時(shí)器ECT模塊課件_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、*aH |J 日寸才 MC9S12系列單片機(jī)增強(qiáng)型定時(shí)器模塊是在標(biāo)準(zhǔn)定時(shí) 器模塊的基礎(chǔ)上添加了新的功能。定時(shí)器的核心是一個(gè)16位的可編程計(jì)數(shù)器,計(jì)數(shù)的 頻率可以通過(guò)分頻來(lái)調(diào)整。用途彳艮多普通定時(shí)器的工作,例如脈沖計(jì)數(shù)、定時(shí)等可以用來(lái)測(cè)量輸入的脈沖寬度產(chǎn)生我們需要的脈沖波形。*aH |J 日寸才 ECT模塊的組成: 1個(gè)預(yù)分頻器1個(gè)16位自由運(yùn)行數(shù)器 8個(gè) 16位IC/OC通;2個(gè)16位(4個(gè)8位 脈沖累加器 1個(gè)16位模數(shù)遞減 數(shù)器 ECT模塊的組成: 1個(gè)預(yù)分頻器1個(gè)16位自由運(yùn)行數(shù)增強(qiáng)型定時(shí)器ECT模塊課件輸入捕捉功能是用來(lái)監(jiān)測(cè)外部的事件和輸入信號(hào)。當(dāng)外部事件發(fā)生或信號(hào)發(fā)生變化時(shí),在指定的

2、 輸入捕捉引腳上發(fā)生一個(gè)指定的沿跳變(可以; 指定該跳變是上升沿還是下降沿)。定時(shí)器捕 捉到特定的沿跳變后,把計(jì)數(shù)寄存器當(dāng)前的值4 I計(jì)數(shù)器時(shí)鐘 /鎖存到通道寄存器。如果輸入捕捉控制寄存器甲夜許輸入捕捉16位計(jì)數(shù)器16在捕捉碩存嘉I, 利用中中斷,系睚基沿選擇N斷處理程序航晶序叔*g或信號(hào)發(fā)輸入捕捉功能是用來(lái)監(jiān)測(cè)外部的事件和輸入信號(hào)。當(dāng)外部事件發(fā)生在特定的時(shí)刻在管腳上輸出特定電平,用來(lái)控 制外電路工作。原理是:輸出比較寄存器的值和計(jì)數(shù)器的值每 隔4個(gè)總線周期比較一次,當(dāng)兩個(gè)值相等的時(shí)候, 會(huì)在該通道的引腳上輸出預(yù)先規(guī)定的電平。如果輸出比較中斷允許,還會(huì)產(chǎn)生一個(gè)硬件的定時(shí)中斷。計(jì)數(shù)器時(shí)鐘E,輸出

3、比較最簡(jiǎn)單和最常16位計(jì)數(shù)器間隔的脈沖。 n一16位椅出比較寄存器比較器在特定的時(shí)刻在管腳上輸出特定電平,用來(lái)控 制外電路工作。原輸入捕捉/輸出比較通道有8個(gè)輸入捕捉輸出比較通道。共有8個(gè)外部引 腳,分別為IOCOI0C7,與PORTT復(fù)用。通過(guò)選擇TIOS寄存器的lOSx位可以選擇是輸出 比較還是輸入捕捉。對(duì)于輸入捕捉:帶緩沖的輸入捕捉通道不帶緩沖的輸入捕捉通道輸入捕捉/輸出比較通道不帶緩沖的輸入捕捉通道 8個(gè)輸入捕捉,其中4個(gè)(PT4PT7)帶有* 一個(gè)捕捉寄存器用來(lái)記錄管腳上電平變化| 時(shí)自由計(jì)數(shù)器的鎖存值。 j捕捉寄存器TCx (當(dāng)輸入覆蓋控制寄存器(ICOVW)的 INOVWx位清0

4、時(shí),每發(fā)生一次輸入捕捉,( 新的計(jì)數(shù)器的值就會(huì)覆蓋原來(lái)的輸入捕捉1 寄存器的內(nèi)容;、億云Me四4 n-PP/k -I k -kn 去 t=2 口.口 .XU *不帶緩沖的輸入捕捉通道、億云Me四4 n-PP/k -I帶緩沖的輸入捕捉通道PT0PT3是帶緩沖的輸入捕捉通道。捕捉寄存器TCx保持寄存器TCxH。,可以在不產(chǎn)生中斷的情況下,連續(xù)記錄兩次自由 計(jì)數(shù)器的值。入口設(shè)置了延遲計(jì)數(shù)器/用來(lái)提高抗干擾能力帶緩沖的輸入捕捉通道鎖存方式:每個(gè)有效的引腳事件只將自由定時(shí)器的值放入捕 捉寄存器TCx,而TCx到保持寄存器TCxH的傳 送必須依賴強(qiáng)制鎖存命令才能實(shí)現(xiàn)/當(dāng)模數(shù)計(jì)數(shù)器減為“0”/ 向模數(shù)計(jì)數(shù)器

5、寫(xiě)入“$0000”, 寫(xiě)強(qiáng)制鎖存位ICLAT (輸入控制系統(tǒng)控制寄存器ICSYS) 輸入捕捉寄存器的值將鎖存到相應(yīng)通道的保持寄 存器中,并將輸入捕捉寄存器的值清零。鎖存方式:隊(duì)列方式TCx與TCxH形成了 一個(gè)類(lèi)似先進(jìn)先出的 隊(duì)列,每個(gè)捕捉結(jié)果從TCx進(jìn)入,然后隨 著下一個(gè)捕捉結(jié)果的到來(lái)移入TCxH o程序可以從TCxH取得結(jié)果,也可以直接 從TCx取得捕捉結(jié)果。隊(duì)列方式 4個(gè)8位的通道PAC0-PAC3組成可以通過(guò)級(jí)聯(lián)形成兩個(gè)16位通道PACA、PACB通過(guò)檢測(cè)相應(yīng)管腳上的有效邊緣來(lái)記錄脈沖的個(gè)數(shù)。各通道的8位累加器與4個(gè)緩沖IC通道相關(guān)聯(lián)的, 它們共享邊沿檢測(cè)與延遲電路。 4個(gè)8位的通道P

6、AC0-PAC3組成兩種工作模式椅鎖存方式::通過(guò)鎖存命令,將脈沖累加計(jì)數(shù)器的值鎖 存到相應(yīng)通道的保持寄存器中5隊(duì)列方式:當(dāng)讀取某通道保持寄存器的值時(shí),相應(yīng)脈 沖累加器的值將被寫(xiě)入保持寄存器。兩種工作模式 16位遞減模數(shù)計(jì)數(shù)器(MDC)可以用作 時(shí)鐘基準(zhǔn),產(chǎn)生周期性的中斷請(qǐng)求。也可用于將IC寄存器和脈沖累加器的 值鎖存到各自的保持寄存器中。 16位遞減模數(shù)計(jì)數(shù)器(MDC)可以用作 時(shí)鐘基準(zhǔn),產(chǎn)生周模數(shù)遞減計(jì)數(shù)器(MCCNT)模數(shù)遞減標(biāo)志寄存器(MCFLG)模數(shù)遞減控制寄存器(MCCTL) I模數(shù)計(jì)數(shù)器由初值遞減,遞減到0時(shí),會(huì)產(chǎn)生相應(yīng)I的中斷。 I遞減頻率由總線時(shí)鐘經(jīng)分頻得到。 j初值可以由用

7、戶寫(xiě)入模數(shù)遞減計(jì)數(shù)器(MCCNT)在模數(shù)模式允許后(MODMCF),向模數(shù)遞 減計(jì)數(shù)器的寫(xiě)操作會(huì)更新預(yù)置數(shù)的值,模數(shù)計(jì) 數(shù)器遞減到0時(shí),就會(huì)裝載最新的預(yù)置數(shù),裝載的操作也可以由置MCCTL寄存器的FLMC 位為1來(lái)強(qiáng)制執(zhí)行??偠〞r(shí)時(shí)間=預(yù)置數(shù)X總線周期X中斷次數(shù)在模數(shù)模式允許后(MODMCF),向模數(shù)遞 減計(jì)數(shù)器的寫(xiě)操等待中斷等待中斷在中斷程序中,需 要清除相應(yīng)的中斷 標(biāo)志位(MCFLG), 并將中斷次數(shù)減1, 當(dāng)中斷次數(shù)減為。時(shí), 一次延時(shí)就完成了。在中斷程序中,需 要清除相應(yīng)的中斷 標(biāo)志位(MCFLG),P。引腳邏野延詛il數(shù) 器心比較器MOH保打寄存群復(fù)位SP1 *引應(yīng)邏輒延遲計(jì)散 器E

8、DGA行?!頑砌pactTCI H保抻寄存驛PA1H保持寄存器R2O引腳遂折延退訃故 器,腥比較器,復(fù)位引腳邏輯延遲訃故 器PA2H保持寄存器|復(fù)位_理箜_TC3li&tot較韶藍(lán)PAQ5TC5H榛h井在盟PA3H別沽存器P。引腳邏野延詛il數(shù) 器心比較器MOH保打寄存A、:舉三個(gè)例子講述本節(jié)內(nèi)容心流水燈顯示椅使用輸入捕捉功能,對(duì)外來(lái)脈沖進(jìn)行計(jì)數(shù)心使用輸出比較功能,輸出一個(gè)具有一定寬 度的高電平脈沖A、:舉三個(gè)例子講述本節(jié)內(nèi)容BIT 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0T15tl4tl3T12tiltlOt9t8t7t6t5t4t3t2tltO000000

9、0000000000WRESETTCNT為自由計(jì)數(shù)器的計(jì)數(shù)值,本例通過(guò)讀取它的j值實(shí)現(xiàn)延時(shí)。 1這是一個(gè)16位的加法計(jì)數(shù)器,最大值為65535o任意時(shí)刻可讀,正常模式下寫(xiě)操作無(wú)效。BIT 15 14 13 12 11 BIT7 6 5 4 3 2 1 BITOTENTSWAITSFRZTFFCAU020RESET: 00000000必須設(shè)置TSCR1才可以使主定時(shí)器工作,需要在ECT模塊初始化 時(shí)就設(shè)置好。TEN = 1:主定時(shí)器使能。0 =主定時(shí)器禁止,進(jìn)入低功耗狀2TSWAI = 0:等待模式時(shí)主定時(shí)器繼續(xù)工作,方便調(diào)試。0 = 停止工作。TSFRZ=O:凍結(jié)模式時(shí)主定時(shí)器繼續(xù)工作。0=停

10、止工作。TFFCA=O:自動(dòng)清除標(biāo)志位。1=手動(dòng)清除。本例設(shè)置TSCRl = 0 x80。BIT7 6 5 TOI020TOREPR2PR1PRO00000000禁止定時(shí)器溢出中斷。1=允許。BIT7 6 5 4 3 2 1 BITORWRESET:TOI:TCRE:定時(shí)計(jì)數(shù)器復(fù)位允許。0=禁止復(fù)位,計(jì)數(shù)器自由計(jì)數(shù)。1=允許復(fù)位。 J進(jìn)行完一次輸出比較時(shí),可以使定時(shí)計(jì)數(shù)器復(fù)位IPR2、PR1、PRO:預(yù)分頻因子選擇主定時(shí)器的計(jì)數(shù)器頻率=總線時(shí)鐘頻率于2頊分熊子TOI020TOREPR2PR1PRO00000000禁止定void TimerOverflow(void)unsigned char

11、i=l,j=0 x80;while(i!=0)&(j!=0)PORTA=(i|j);i = l;while(TCNT! =0 x0000); /延時(shí) while(TCNT=0 x0000); void main(void)E n a b I e n t e rru pTSCRl=0 x80; 77南盤(pán)使能TSCR2 = 0 x07; /74頻系冬也 DDRA=0 xff;PORTA=Oxff;for(;)TimerOverflow();void TimerOverflow(void)增強(qiáng)型定時(shí)器ECT模塊課件 while(TCNT!=OxOOOO); |: while(TCNT=OxOOOO)

12、; |:這兩句的含義是:TCNT開(kāi)始計(jì)數(shù)后值不為0等待直到TCNT溢出返回0,然后再等到 |TCNT不為0。為什么要弄兩個(gè)while? / while(TCNT!=OxOOOO); 利用輸入捕捉。通道對(duì)外來(lái)的方波信號(hào)進(jìn)行捕I 捉,采用中斷的形式。中斷發(fā)生后,讀取捕) 捉后的計(jì)數(shù)值,并通過(guò)PORTB口使LED燈點(diǎn) 亮以指示中斷成功。 1通道。設(shè)置為輸入捕捉,采用雙沿觸發(fā)(上下j 沿均觸發(fā)),ICO開(kāi)中斷,可以進(jìn)入中斷服務(wù) 程序。方波信號(hào)由PORTA_BIT6產(chǎn)生, PORTA_B IT6和IOCO硬件連接。利用輸入捕捉。通道對(duì)外來(lái)的方波信號(hào)進(jìn)行捕I 捉,采用中斷的BIT RW7554321。SH

13、37SH26SH1.5SH04mioDPACbfXBUFEXLAIQRESET00000000SHxy=O:正常操作。l=x通道和y通道將產(chǎn)生一樣的輸 入動(dòng)作,x通道的設(shè)置同樣適用于y。TFMOD = 0:當(dāng)出現(xiàn)有效的輸入捕獲事件,TFLG1中的 對(duì)應(yīng)中斷標(biāo)志位CxF就置1。1 =隊(duì)列模式時(shí)才使用。 PACMX=O: 8位脈沖累加器溢出后自動(dòng)回0。1 =不自動(dòng) 回0,停留在OxFFo脈沖累加器對(duì)IC通道捕獲的有效邊沿 數(shù)量進(jìn)行計(jì)數(shù)。BIT R7554321。SH37SH26SH1.5SH04BnRW7554321。SH37SH26SH1.5SH04mioDPACbfXBUFEXLAIQRESE

14、T00000000 BUFEN = 1:使用輸入捕獲緩沖區(qū)。0 =不使用。(輸入捕捉和脈沖累加器的保持寄存器) LATQ=O:輸入捕獲隊(duì)列模式使能。產(chǎn)生一次成 功的輸入捕獲時(shí),IC通道寄存器中保留的計(jì)數(shù)值會(huì) 被送到保持器中,然后IC寄存器會(huì)接收新的計(jì)數(shù)值。1 =鎖存模式使能。IC SYS=0 x02; /IC 緩沖使能Bn7554321。SH37SH26SH1.5SH04mioBIT76543210RWC7FC6FC5FC4FC3FC2FC1FCOFRESET00000000TFLG1指示了中斷發(fā)生在哪個(gè)通道,需要對(duì)相應(yīng)位 清零時(shí),可以對(duì)它進(jìn)行置1操作。C7F-C0F: IC/OC的 中斷標(biāo)志

15、。當(dāng)TSCR寄存器中的TFFCA位被置位時(shí),對(duì)于輸入捕 捉和輸出比較通道的讀寫(xiě)操作,將清除對(duì)應(yīng)通道的 CxF 位。BIT76543210RC7FC6FC5FC4FC3FC2FTCO-TC 7寄存器:用來(lái)鎖存自由計(jì)數(shù)器的值,當(dāng)?shù)玫接行У倪呇赜| 發(fā)時(shí),我們可以通過(guò)讀這些寄存器來(lái)獲得輸入捕 捉計(jì)數(shù)值;A通過(guò)寫(xiě)這些寄存器來(lái)設(shè)置輸出比較的計(jì)數(shù)值。任意時(shí)刻可讀。A在輸出比較模式任何時(shí)刻可寫(xiě)。A在輸入捕捉模式對(duì)寄存器的寫(xiě)操作沒(méi)有意義。當(dāng)寄存器復(fù)位后,寄存器值等于$0000oTCO-TC 7寄存器:BIT7S543210RWIOS7IOS6IOS5IOS4IOS3IOS2IOS1IOSORESETQ0000Q

16、00IOSx: 1 =通道x為輸出比較;0=通道x為輸入捕獲。BIT7S543210RIOS7IOS6IOS5IOS4IOTCTL3 7 6 5 4 3 2 10RWEDG7BEDG7AFDG6BEDG6AEDG5BEDG5AEDG4BEDG4ARESET00000000rCTL476543710RWEDG3BEDG3AEDG2BEDG2AEDG1BEDG1AEDG:BEDGOARESET 00000000EDGnA/B:輸入捕捉邊沿控制。本例設(shè)置0 x03(EDG0A=l, EDG0B=l)o即ICO通道采用上 升,下降沿都觸發(fā)。EDMEDGuAftt0001僅在上升傾10僅茁Fl軸11上升

17、下降醐堿n代表通道序號(hào)。TCTL3 7 6 5 4 Cxi:1=第乂個(gè)通道中斷允許;0 =第乂個(gè)通道中斷禁止。Cxi:ICO的初始化:void icjnit(void) TSCR1= 0 x90; 11主定時(shí)器使能,對(duì)TCNT訪問(wèn)即可清除標(biāo)志TSCR2 = 0 x07; /分頻因子= 128ICSYS = 0 x02; /IC緩沖使能(保持寄存器)TIOS = 0; /通道設(shè)置為輸入捕獲TCTL4= Oxff; 采用上升、下降沿觸發(fā)TIE=0b00000001; 通道0開(kāi)中斷ICO的初始化:初始化好后,需要在main函數(shù)中調(diào)用初始化函數(shù)ic_init()。以下是在main函數(shù)中,如何使用PO

18、RTA_BIT6來(lái)產(chǎn)生一個(gè)方波信號(hào)。DDRA=Oxff;PORTA=OxOO;DDRB=Oxff;PORTB=OxOO;for(;)設(shè)置PORTA的方向寄存器,為輸出/PORTA的輸出初始化為低電平/PORTB設(shè)置為L(zhǎng)ED燈的控制信號(hào)/LED全滅 for(i = 0;i6000;i+ + )PORTA_BIT6=1;循環(huán)中設(shè)置信號(hào)為高電平fo(i = 0;iv6000;i+ + )PORTA_BIT6=0; 循環(huán)中設(shè)置信號(hào)為低電平,產(chǎn)生方波初始化好后,需要在main函數(shù)中調(diào)用初始化函數(shù)ic_init方波信號(hào)已經(jīng)成功得產(chǎn)生了,下面是中斷服務(wù)程序:#pragma CODE_SEG NON_BANK

19、ED必須有這句void interrupt 8 icOJnt(void) TFLG1_COF= 1 ; 中斷標(biāo)志清除jc4=TC0B通過(guò)讀TC0寄君器來(lái)響應(yīng)中斷,ic4、ic40為用戶定義的變量 dic4=ic4-ic40;ic40 = ic4;PQDTD = nYCC -用LEW 來(lái)指宗已經(jīng)進(jìn)入了中斷/*以下放置其他代碼*/方波信號(hào)已經(jīng)成功得產(chǎn)生了,下面是中斷服務(wù)程序:BTT 76543210R000FOC7FOC6FOC5FOC4FOC3FOC2FOCIFOCORESET 00000000FOCxx通道強(qiáng)制輸出比較 )在相應(yīng)的寄存器位寫(xiě)入強(qiáng)制輸出比較命令,會(huì)立即使 相應(yīng)的通道處于輸出比較狀態(tài)。 )BTT 76543210R000FOC7FOC6FOC5FOTCTL17654J210R WOLf70L70M60L60M50L50M4OL4RESET。000。0。0TCIL2?654321QR WONf30L3CM20L20M10L1OMOOLORE

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論