




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
定時器模 第一節(jié)定時器模塊說明 XS128定時器模塊內(nèi)部結(jié)構(gòu) 第二節(jié)輸入捕捉和輸出比較相關(guān)寄存 IC/OC選擇寄存器 輸出比較通道7寄存器 輸出比較通道7數(shù)據(jù)寄存器 定時器寄存器 計時器系統(tǒng)控制寄存器 計時器溢出綁定寄存器 計時器系統(tǒng)控制寄存器 1、 IC/OC寄存器(TC0- 第三節(jié)脈沖累加相關(guān)寄存 脈沖累加器A控制寄存器 脈沖累加器A標(biāo)志寄存器 第四節(jié)定時器模塊實(shí) TIM輸入捕 TIM輸出比 TIM定時器溢出中 TIM脈沖累 (TCNTTIM816位的捕捉/比較(IC/OC)通道。模塊運(yùn)行時,16位的自由定時器按照設(shè)定的時鐘頻率在$0000~$FFFF之間循環(huán)計時。(IC(TCNT)16IC/OC寄存器中,幵設(shè)置中斷請求標(biāo)志,隨后軟件可以響(OC(AITIOSICOC方式。當(dāng)IOSn=0時,對應(yīng)的通道n為輸入捕捉(1C)通道,IOSn=1n為輸出比較(OC)OCTIOS1OC腳具有降功率驅(qū)動功能,設(shè)置成IC的通有內(nèi)部上拉功能,但上電后均處于關(guān)閉狀態(tài),可以根據(jù)需要啟用。TIOS寄存器用于指定各個通道的功能,即工作于ICOC輸出比較通道7寄存器OC77個輸出引腳的狀態(tài),并覆蓋各個引OC7M決定哪些通道將處于OC7的管理之下。OC7M中的各位與PORTTTIOS將某個通道設(shè)定為輸出比較時,OC7M1,對應(yīng)的引腳就是輸出狀態(tài),與DDR中的對應(yīng)位的狀態(tài)無關(guān)。但OC7MnDDROC7MTCTL1和TCTL2寄存器中的OMn和OLn設(shè)定的引腳動作,若OC7M中某個位置1,就會阻止相應(yīng)引腳上由OM和OL設(shè)定的動作。7數(shù)據(jù)寄存器OC7MOCOC7DPORTT7中1OC7DPORTTOC7M176-0的動作發(fā)生在同一個周期,前者將覆蓋后者。因此各個通道的動作將依賴于OC7D中各個位的設(shè)置。定時器寄存器止寫入。TCNT應(yīng)按字,分別高、低字節(jié)可能得到錯誤的結(jié)果。在特殊模式下,TCNT可寫,但因?yàn)閷懖僮髋c預(yù)分頻器時鐘不同步,TCNT寄存器寫入后,TSCR1寄存器是定時器模塊的總開關(guān),它決定模塊是否啟動以及在中斷等待、BDM方式要使用定時器模塊的IC/OC功能,必須將TEN置位。如果因?yàn)槟撤N原因定時器沒有使能,脈沖累加器也將得不到ECLK/64時鐘,因?yàn)镋CLK/64是由定時器的分頻器產(chǎn)生0:主計時器、包括計數(shù)器均被,有利于降低功耗MCU0MCU1:當(dāng)MCU進(jìn)入中斷等待模式時,計時器1:在凍結(jié)模式下計時器和計數(shù)器,用于仿真調(diào)試。注意:TSFRZ不能停止脈沖累加。1:對于T 標(biāo)志位CnF。對于 2($0F)中的各位,任何對TCNT寄存器($04、$05)的均會除TOF標(biāo)志;任何 3 2寄存器($22,$23)的都會清楚清 寄存器($21)中的PAOVF和PAIF位。任何 1 0寄存($24,$25)的都會清除PB寄存器($21)中的PBOVF位。這種方式的好0:TSCR2PR2,PR1,PR01:PTPSR寄存器決定。TOVx在輸出比較時,如果發(fā)現(xiàn)溢出,則綁定該管腳。這能僅在輸出比較模式下有效,它的優(yōu)先級高出強(qiáng)制輸出比較,而低于通道7的輸出比較。TCTLl-TCTL4ICOC16個二進(jìn)制位,每兩個二進(jìn)制位管理一個通道。其中TCTLl、TCTL2設(shè)定各個OC通道匹配時的動作,包括切斷OC與輸出引腳的聯(lián)系,而TCTL3、TCTL4設(shè)定IC響應(yīng)引腳的何種動作,包括ICOMnOLn8對控制位(OM7OL7-OMO、OL0)編DDRT0時,OC與輸出引腳斷 輸入捕捉邊沿控制位,這8對控制位(EDG7B、EDG7A—EDGOBEDGOA)對輸入捕捉的邊沿檢測電路進(jìn)行設(shè)置。當(dāng)二者同時為0時,ICOMn、OLn指定的引腳動作有效,OC7M016ABIC/OC7IC/OC0,必須設(shè)置對應(yīng)的IOSn:1、OMn=0、OLn=0,同時寄存器OC7MC7M7、OC7M0位必須清0。TIE寄存器中的位與狀態(tài)寄存器T 1中的標(biāo)志位相對應(yīng)。如果將TIE中的某位清0,相應(yīng)的標(biāo)志位就不能引起硬件中斷。如果被置1,相應(yīng)的標(biāo)志位就可以引起中斷。0:中斷被。1TOF70:計數(shù)器復(fù)位,計數(shù)器自由計數(shù)17如果TC7=$0000并 T將繼續(xù)保持$0000如果TC7=#FFFF并且TCRE=1,當(dāng)TCNT從$FFFF到$0000之間被復(fù)位后TOF將不 所示的T 2為中斷標(biāo)志寄存器,其中T 1對應(yīng)8個IC/OC通道,當(dāng)某CnF=1時說明對應(yīng)的IC/OC通道有動作。T2只有一個標(biāo)志位TOF,作為計數(shù)1,向某位寫0不影響該位的狀態(tài)。當(dāng)TSCR中的TFFCA位置位時,讀IC通道或?qū)慜C通道($10-$1F)將自動清除該通道標(biāo)志CnF,對TCNT的任何將自動清除T2。CnF:IC/OC通道中斷請求標(biāo)志。0:上次清除標(biāo)志以來,IC/OC1:IC/OC通道已經(jīng)出現(xiàn)動作。將寄存器ICSYS($2B)TFMODTOF16位自由定時器從$FFFF回滾到$0000時,該位置位。將$80入到 2將自動清除該位。詳見前面關(guān)于TSCR2中TCRE控制位的解釋每個IC或OC通道都設(shè)置有一個16位的寄存器,對于IC(輸入捕捉)通道,當(dāng)通道的邊EDGnAEDGnBTCn,隨后程序可以和處理;對于OC(輸出比較)通道,程序?qū)㈩A(yù)定的時刻寫入到TCn,當(dāng)自O(shè)Mn、OLn所指定的輸出動作。定時器模塊共有816IC/OCIC的通道,相應(yīng)通道寫操作無意義。上述所PACTLPAIPAI的啟動、確定定時器系統(tǒng)的PAEN:TEN相互獨(dú)立。PAEN=1時,PAl的輸入部分才進(jìn)行引腳信號檢測,同時8位脈沖累加器PAC3、PAC2被。0:PAI系統(tǒng)1:PAI它只能工作在計數(shù)方式。0:計數(shù)模式1TEN1PEDGEPAMOD (計數(shù)模式)時)) 0:當(dāng)脈沖輸入引腳(PT7/PAIECLK/64時鐘脈沖計入脈沖累加器,并在隨后的輸入引腳下降沿置位PAIF標(biāo)志。1:當(dāng)脈沖輸入引腳(PT7/PAIECLK/64時鐘脈沖計入脈沖累加器,并在隨后的輸入引腳上升沿置位PAIF標(biāo)志。CLKI、CLK0:定時器模塊時鐘選擇位,如果脈沖累加器被(PAEN:0),1PAOVF PAI子系統(tǒng)可能產(chǎn)生兩種中斷累加器溢出和中斷當(dāng) T溢出時先置位PAOVF,當(dāng)PAOVI=1時將發(fā)出中斷請求。而PAIF則在PAI檢測到有效時置位,當(dāng)PAI=1時還將發(fā)出中斷請求。當(dāng)TSCR寄存器中的TFFCA=1時, T將清除PA中的所有標(biāo)志位。PAOVF、PAIF位于寄存器 中,其意義如下 T沒有回滾到$0000。 T從$FFFF回滾到$0000。將$02寫入到 將自動清除該位0:上次清除以來,PAI1:在輸入引腳檢測到有效邊沿。在計數(shù)模式下,選定的有效邊沿在數(shù)的同時觸發(fā)該位置1;在門控時間累加模式下,輸入引腳門控信號的后沿觸發(fā)該位置1,將$01寫入到PA 88位,則讀操作不受限制,但PRNT1:預(yù)分頻比TIMTIOS---TCTLx---設(shè)置對應(yīng)位輸入捕捉的方式(x=3、4,是3,低位是4TSCRx---控制寄存器設(shè)置,包括工作使能、確定工作方式(x=1TIE---中斷函數(shù)1,清除標(biāo)志位---T1;2,處理函#include<hidef.h> #include"derivative.h" //單片機(jī)硬件型#defineLED //LED,寫'0'亮,寫'1' PLL初始化函 void{//clksel.7(PLLSEL選擇位) //SYNRREFDV寄存器//計算: 048CSYNR=0xc0|//計算 0 4 8 CREFDV=0x80|//后分配寄存器PLLCLK=FVCO/(2*POSTDIV) while(CRG_LOCK==0); 根據(jù)CRG寄存器的LOCK位,確定PLL是否穩(wěn)//LOCK==1穩(wěn)定,==0 //PLL} void{TSCR1_TFFCA //TSCR1_TEN //定時器使能位1=正常工作0= IC/OC選擇寄存器,810//0TCTL4 EDG0B、//0 = //0TSCR2 PR2,PR1,PR0=111 1 //IC/OC1 2 //清除定時器中斷標(biāo)志位1} //中斷函數(shù),PT0口高低電平會觸發(fā)PB0口LED狀態(tài)改變,用戶可以自己定義LED#pragmaCODE_SEGNEAR_SEGNON_BANKED //中斷函數(shù)置于頁區(qū)內(nèi)voidinterrupt8inputcapture_ISR(void){LED= //led 1_C0F //1}#pragmaCODE_SEG // 主函 void{//PLL//DDRB= //LED=0; for(;;){}}TIMTIOS---TCx---x的OCNTCTLx---設(shè)置對應(yīng)位輸入捕捉的方式(x=12,高四位是12TSCRx---控制寄存器設(shè)置,包括工作使能、確定工作方式(x=1)TIE---中斷函數(shù)1清除標(biāo)志位--- 12重新賦初值#include<hidef.h> #include"derivative.h" //單片機(jī)硬件型#defineLED //LED,寫'0'亮,寫'1'#defineLED_dir //為LED_dir,寫'0'做輸,寫'1'做輸出 voidINIT_PLL(void){//clksel.7(PLLSEL選擇位)決定內(nèi)部總線時鐘來源 //SYNRREFDV寄存器//計算: 048CSYNR=0xc0|//計算 0 4 8 CREFDV=0x80|//后分配寄存器PLLCLK=FVCO/(2*POSTDIV) while(CRG_LOCK==0); 根據(jù)CRG寄存器的LOCK位,確定PLL是否穩(wěn)//LOCK==1穩(wěn)定,==0 //PLL} 初始化ECT模 voidinitialize_ect(void){TSCR1_TFFCA //TSCR1_TEN //定時器使能位1=允許定時器正常工作0= IC/OC選擇寄存器,810TCTL1=0x00; //后四個通道設(shè)置為定時器與輸出引腳斷開TCTL20x00;//前四個通道設(shè)置為定時器與輸出引腳斷開TIE=0x00;//所有通道定時中斷TSCR2=0x07; //預(yù)分頻系數(shù)pr2-pr0:111,分頻因子128,時鐘周期為4us, 1=0xff; //清除各IC/OC中斷標(biāo)志位T20xff;//} 初始化 voidINIT_LED(void){LED_dir= //PB0LED= //LED} 主函 voidmain(void){ //PLL //初始化LED // //{T1_C0F= //清除標(biāo)志TC0=TCNT+31250; //設(shè)置輸出比較時間為0.125s 1_C0F==0); //等待,直到發(fā)生輸出比較 1_C0F //TC0=TCNT+31250; //設(shè)置輸出比較時間為0.125s 1_C0F==0); //等待,直到發(fā)生輸出比較 1_C0F=1; TC0=TCNT+31250; //設(shè)置輸出比較時間為0.125s 1_C0F==0); //等待,直到發(fā)生輸出比較 1_C0F=1; TC0=TCNT+31250; //設(shè)置輸出比較時間為0.125s 1_C0F==0); //等待,直到發(fā)生輸出比較LED=~LED; }}TIM#include<hidef.h> #include"derivative.h" //單片機(jī)硬件型#defineLED //PORTK_PB0//LED,寫'0'亮,寫'1'#defineLED_dir //PORTK_PB0//為LED_dir,寫'0'做輸,寫'1'做輸出unsignedint // voidINIT_PLL(void){//clksel.7(PLLSEL選擇位)決定內(nèi)部總線時鐘來 //SYNRREFDV寄存器//計算: SYNR=0xc0|0x09;//計算 REFDV=0x80|0x01;//后分配寄存器PLLCLK=FVCO/(2*POSTDIV) _LOCK==0); 寄存器的LOCK位,確定PLL是否穩(wěn)LOCK==1穩(wěn)定,==0 //PLL} 初始化ECT模 voidinitialize_ect(void){TSCR1_TFFCA //TSCR1_TEN //定時器使能位1=允許定時器正常工作0= IC/OC選擇寄存器,810TCTL1=0x00; //后四個通道設(shè)置為定時器與輸出引腳斷開TCTL20x00;//前四個通道設(shè)置為定時器與輸出引腳斷開TIE=0x00;//所有通道定時中斷TSCR2 //pr2-pr0:111,128,4us,//T1= //清除各IC/OC中斷標(biāo)志T2= //清除自由定時器中斷標(biāo)志} #pragmaCODE_SEGNEAR_SEG //中斷函數(shù)置于頁區(qū)interruptvoid{if(T2_TOF{ T寄存器,清除TOF標(biāo)LED //LED}}#pragmaCODE_SEG // 主函 voidmain(void){ //所有中斷打 //初始化PLL模塊,設(shè)置busclock=32MHz LED_dir //LEDLED=0; //初始化LED為亮 for(;;){}}TIM#include<hidef.h> #include"derivative.h" //單片機(jī)硬件型#defineLED //PORTK_PB0//LED,寫'0'亮,寫'1'#defineLED_dir //PORTK_PB0//為LED_dir,寫'0'做輸,寫'1'做輸出unsignedintdata1,data2; //定義中間變量data1和data2用于計算1秒鐘的上升沿的unsignedint //定義1秒鐘的上升沿的數(shù)量變unsignedint // voidINIT_PLL(void){//clksel.7(PLLSEL選擇位)決定內(nèi)部總線時鐘來源 //SYNRREFDV寄存器//計算: 048CSYNR=0xc0|//計算 0 4 8 CREFDV=0x80|//后分配寄存器PLLCLK=FVCO/(2*POSTDIV) while(CRG_LOCK==0); 根據(jù)CRG寄存器的LOCK位,確定PLL是否穩(wěn)L
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通信工程光纖傳輸系統(tǒng)試題集
- 辦公室接待來賓登記表
- 攝影工作室拍攝風(fēng)格更改免責(zé)協(xié)議
- 體育場館運(yùn)營與維護(hù)服務(wù)合同
- 治療協(xié)議服務(wù)合同
- 黑龍江省佳木斯市富錦市2024-2025學(xué)年九年級上學(xué)期期末生物學(xué)試題(含答案)
- 財務(wù)會計準(zhǔn)則下的財務(wù)報表編制試題
- 滑雪培訓(xùn)服務(wù)合同
- 幼兒園小班故事表演活動解讀
- 公司新年?duì)I銷策略規(guī)劃與執(zhí)行方案設(shè)計
- 2024.8.1十七個崗位安全操作規(guī)程手冊(值得借鑒)
- 電影《白日夢想家》課件
- 深度學(xué)習(xí)及自動駕駛應(yīng)用 課件 第1章 汽車自動駕駛技術(shù)概述
- 汽車4S點(diǎn)隱患排查治理體系(清單及排查表)
- UV數(shù)碼噴印墨水市場分析
- 記憶有方 過目不忘 課件
- 無人機(jī)應(yīng)用與基礎(chǔ)操控入門課件
- 2024年全國職業(yè)院校技能大賽中職組(短視頻制作賽項(xiàng))考試題庫-下(多選、判斷題)
- 口腔病歷管理制度內(nèi)容
- 三一燈塔工廠解決方案
- 四川省會計師事務(wù)所服務(wù)收費(fèi)標(biāo)準(zhǔn)
評論
0/150
提交評論