增強型定時器ECT模塊課件_第1頁
增強型定時器ECT模塊課件_第2頁
增強型定時器ECT模塊課件_第3頁
增強型定時器ECT模塊課件_第4頁
增強型定時器ECT模塊課件_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

10、止工作。TFFCA=O:自動清除標志位。1=手動清除。本例設置TSCRl = 0 x80。BIT7 6 5 TOI020TOREPR2PR1PRO00000000禁止定時器溢出中斷。1=允許。BIT7 6 5 4 3 2 1 BITORWRESET:TOI:TCRE:定時計數器復位允許。0=禁止復位,計數器自由計數。1=允許復位。 J進行完一次輸出比較時,可以使定時計數器復位IPR2、PR1、PRO:預分頻因子選擇主定時器的計數器頻率=總線時鐘頻率于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); /延時 while(TCNT=0 x0000); void main(void)E n a b I e n t e rru pTSCRl=0 x80; 77南盤使能TSCR2 = 0 x07; /74頻系冬也 DDRA=0 xff;PORTA=Oxff;for(;)TimerOverflow();void TimerOverflow(void)增強型定時器ECT模塊課件 while(TCNT!=OxOOOO); |: while(TCNT=OxOOOO)

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

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

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

15、。當TSCR寄存器中的TFFCA位被置位時,對于輸入捕 捉和輸出比較通道的讀寫操作,將清除對應通道的 CxF 位。BIT76543210RC7FC6FC5FC4FC3FC2FTCO-TC 7寄存器:用來鎖存自由計數器的值,當得到有效的邊沿觸 發(fā)時,我們可以通過讀這些寄存器來獲得輸入捕 捉計數值;A通過寫這些寄存器來設置輸出比較的計數值。任意時刻可讀。A在輸出比較模式任何時刻可寫。A在輸入捕捉模式對寄存器的寫操作沒有意義。當寄存器復位后,寄存器值等于$0000oTCO-TC 7寄存器:BIT7S543210RWIOS7IOS6IOS5IOS4IOS3IOS2IOS1IOSORESETQ0000Q

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論