由TIMER1地比較模塊輸出一個(gè)PWM波形,.doc

由TIMER1地比較模塊輸出一個(gè)PWM波形,.doc

ID:52546039

大?。?2.00 KB

頁數(shù):5頁

時(shí)間:2020-03-28

由TIMER1地比較模塊輸出一個(gè)PWM波形,.doc_第1頁
由TIMER1地比較模塊輸出一個(gè)PWM波形,.doc_第2頁
由TIMER1地比較模塊輸出一個(gè)PWM波形,.doc_第3頁
由TIMER1地比較模塊輸出一個(gè)PWM波形,.doc_第4頁
由TIMER1地比較模塊輸出一個(gè)PWM波形,.doc_第5頁
資源描述:

《由TIMER1地比較模塊輸出一個(gè)PWM波形,.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、//該程序用于測試DSP的CAPTURE模塊,由TIMER1的比較模塊輸出一個(gè)PWM波形,//此波形輸入CAP4引腳,待CAP4捕捉該P(yáng)WM的10次上升沿后,停止捕捉,并把10//次捕捉值存于數(shù)組result[10]中#include"register.h"http://初始化子程序intresult[10];//定義一個(gè)存儲(chǔ)結(jié)果的數(shù)組intk=0;//定義的中斷次數(shù)值//系統(tǒng)初始化子程序intinitial(){asm("setcINTM");//禁止所有中斷asm("setcSXM");//抑制符號(hào)位擴(kuò)展asm("clrcOVM");//累加器中結(jié)

2、果正常溢出asm("clrcCNF");//B0被配置為數(shù)據(jù)存儲(chǔ)空間*SCSR1=0x81FE;//CLKIN=6M,CLKOUT=4*CLKIN=24M*WDCR=0x0E8;//不使能看門狗,因?yàn)镾CSR2中的WDOVERRIDE//即WD保護(hù)位復(fù)位后的缺省值為1,故可以用//軟件禁止看門狗*IMR=0x0000;//禁止所有中斷*IFR=0x0FFFF;//清除全部中斷標(biāo)志,"寫1清0"}//捕獲單元4初始化子程序intCAP4INT(){*T3PER=0X0FFFF;//通用定時(shí)器3的周期寄存器為0XFFFF*T3CON=0X1400

3、;//通用定時(shí)器3為連續(xù)增計(jì)數(shù)模式*T3CNT=0X00;//計(jì)數(shù)器清0WSGR=0x0000;//禁止所有等待狀態(tài)*CAPCONB=0X0A440;//設(shè)置捕獲單元4為檢測上升沿,且選擇TIMER3為時(shí)鐘asm("clrcINTM");//開總中斷*IMR=0X08;//允許中斷優(yōu)先級(jí)4的中斷*EVBIMRC=*EVBIMRC

4、0X0001;//允許CAPTURE4中斷*EVBIFRC=*EVBIFRC

5、0X0FFFF;}//定時(shí)器1初始化子程序,使其比較單元輸出一個(gè)PWM波形inttimer1int(){*MCRA=*MCRA

6、0X100

7、0;//配置IOPB4口為定時(shí)器1的比較輸出*MCRC=*MCRC

8、0X0080;//配置IOPE7口為捕捉功能*GPTCONA=*GPTCONA

9、0X0042;*T1PER=0X1FE;//給定時(shí)器1的周期寄存器賦值*T1CON=0X1442;//允許TIMER1比較輸出,并且TIMER1為連續(xù)增計(jì)數(shù)//模式,立即啟動(dòng)*T1CNT=0X00;//定時(shí)器1的計(jì)數(shù)器清0*T1CMP=0X0FF;//給定時(shí)器1的比較寄存器賦值}//主程序main(){initial();//系統(tǒng)初始化timer1int();//定時(shí)器1初始化,使其輸出一個(gè)PWM

10、波形供捕捉CAP4INT();//捕獲單元4初始化*T3CON=*T3CON

11、0X0040;//啟動(dòng)定時(shí)器3while(1){if(k==10)break;//k保存中斷次數(shù)值,是全局變量}asm("setcINTM");//捕捉10次后,禁止再中斷}//若是由于干擾引起其它中斷,則執(zhí)行此子程序voidinterruptnothing(){asm("clrcINTM");//返回前開中斷return;}//捕捉中斷服務(wù)程序voidinterruptcapint(){intflag;flag=*EVBIFRC&0X01;//判斷是否是CAP4中

12、斷if(flag!=0x01){asm("clrcINTM");//返回前開中斷return;//如果不是CAP4中斷,則直接返回}load();//如果是CAP4中斷,則裝載捕捉值*EVBIFRC=*EVBIFRC

13、0x01;//寫"1"清除CAP4中斷標(biāo)志asm("clrcINTM");//返回前開中斷return;//中斷返回}//裝載捕捉值子程序intload(){result[k]=*CAP4FIFO;//讀取捕捉值,存于相應(yīng)的數(shù)組k++;}問題補(bǔ)充:請(qǐng)問CAP4FIFO里面裝的是什么東西呢?是捕獲脈沖的時(shí)間嗎?那要是我要計(jì)算兩個(gè)脈

14、沖之間的時(shí)間改如何修改呢?#includeintresult[10];//存儲(chǔ)結(jié)果的數(shù)組intk=0;//中斷次數(shù)voidinlinedisable(){?asm("setcINTM");//屏蔽中斷程序}intinitial(){?asm("setcINTM");//禁止所有中斷?asm("setcSXM");//符號(hào)位擴(kuò)展有效?asm("clrcOVM");//累加器中結(jié)果正常溢出?asm("clrcCNF");//B0被配置為數(shù)據(jù)存儲(chǔ)空間??*SCSR1=0x81FE;//CLKIN=6M,CLKOUT=4*CL

15、KIN=24M系統(tǒng)控制和狀態(tài)寄存器SCSR1???*WDCR=0x0E8;//禁止看門狗??*IMR=0x0000;//禁止所有中斷????????IMR中斷屏蔽寄

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。