




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)一定時(shí)器實(shí)驗(yàn)—.實(shí)驗(yàn)?zāi)康耐ㄟ^實(shí)驗(yàn)熟悉LF2407A的定時(shí)器;掌握LF2407A定時(shí)器的控制方法;掌握LF2407A的中斷結(jié)構(gòu)和對中斷的處理流程:學(xué)會運(yùn)用中斷程序控制程序流程。實(shí)驗(yàn)設(shè)備計(jì)算機(jī),ICETEK-LF2407-EDU實(shí)驗(yàn)箱(或ICETEK仿真器+ICETEK-LF2407-A系統(tǒng)板+相關(guān)連線及電源)。實(shí)驗(yàn)原理通用定時(shí)器介紹及其控制方法(1) .事件管理器模塊(EV)TMS320LF2407ADSP片內(nèi)包括兩個(gè)事件管理模塊EVA和EVB,每個(gè)事件管理器模塊包括通用定時(shí)器(GP)、比較單元以及正交編碼脈沖電路。每個(gè)事件管理模塊都包含兩個(gè)通用定時(shí)器,用以完成計(jì)數(shù)、同步、定時(shí)啟動ADC、定時(shí)中斷等功能。(2) .通用定時(shí)器(GP)每個(gè)通用定時(shí)器包括:一個(gè)16位的定時(shí)器增/減計(jì)數(shù)的計(jì)數(shù)器TxCNT,可讀寫;一個(gè)16位的定時(shí)器比較寄存器(雙緩沖,帶影子寄存器)TxCMPR,可讀寫;一個(gè)16位的定時(shí)器周期寄存器(雙緩沖,帶影子寄存器)TxPR,可讀寫;一個(gè)16位的定時(shí)器控制寄存器TxCON,可讀寫;可選擇的內(nèi)部或外部輸入時(shí)鐘;?用于內(nèi)部或外部時(shí)鐘輸入的可編程的預(yù)定標(biāo)器(Prescaler);控制和中斷邏輯,用于4個(gè)可屏蔽中斷一下溢、溢出、定時(shí)器比較和周期中斷;?可選擇方向的輸入引腳TDIRx,用于雙向計(jì)數(shù)方式時(shí)選擇向上或向下計(jì)數(shù)。通用定時(shí)器之間可以彼此獨(dú)立工作或相互同步工作,完成復(fù)雜的任務(wù)。通用定時(shí)器在中斷標(biāo)志寄存器EVAIFRA,EVAIFRB,EVBIFRA和EVBIFRB中有12個(gè)中斷標(biāo)志位。每個(gè)通用定時(shí)器可根據(jù)以下爭件產(chǎn)生4個(gè)中斷:上溢—TxOFINF(x=l,2,3或4):下溢一TxUFINF(x=l,2,3或4);比較匹配-TxCINT(x=l,2,3或4):?周期匹配-TxPINT(x=l,2,3或4)。每個(gè)通用定時(shí)器有4種可選擇的操作模式:?停止/保持模式;?連續(xù)增計(jì)數(shù)模式;?:?定向増/減計(jì)數(shù)模式:?連續(xù)增/減計(jì)數(shù)模式。相應(yīng)的定時(shí)器控制寄存器TxCON中的位的形式?jīng)Q定了通用定時(shí)器的計(jì)數(shù)模式。TMS320LF240X中斷結(jié)構(gòu)利用CPU支持的6個(gè)可屏蔽中斷,采用集中化的中斷擴(kuò)展設(shè)計(jì)來滿足大量的外設(shè)中斷需求。LF240X內(nèi)核提供一個(gè)不可屏蔽的中斷NMI和6個(gè)按優(yōu)先級獲得服務(wù)的可屏蔽中斷INT1至INT6o而這6個(gè)中斷級的每一個(gè)都可被很多外設(shè)中斷請求共享。通過中斷請求系統(tǒng)中的一個(gè)兩級中斷來擴(kuò)展系統(tǒng)可響應(yīng)的中斷個(gè)數(shù)。為了讓CPU能區(qū)分引起中斷的事件,在每個(gè)外設(shè)中斷請求有效時(shí)都會產(chǎn)生一個(gè)唯一的外設(shè)中斷向量,保存于外設(shè)中斷向量寄存器(PIVR)中。實(shí)際上有兩個(gè)中斷向量表,CPU的向量表用于得到一級通用中斷服務(wù)子程序(GISR);外設(shè)向量表指定外設(shè)中斷子程序(SISR)oGISR程序根據(jù)PIVR中的外設(shè)中斷向量取值決定執(zhí)行哪個(gè)SISRo中斷響應(yīng)過程外設(shè)事件要引起CPU中斷,必須保證:外設(shè)事件的中斷使能為被使能,CPU內(nèi)核級的6個(gè)可屏蔽中斷中,相應(yīng)中斷也被使能。在外設(shè)事件發(fā)生時(shí),首先將其在外設(shè)中斷控制器中的標(biāo)志位置1,從而引起CPU內(nèi)核的INT1-INT6中的一個(gè)產(chǎn)生中斷。中斷服務(wù)過程中,其他可屏蔽中斷將會自動被屏蔽,直到中斷返回。在軟件中,當(dāng)設(shè)置好相應(yīng)中斷標(biāo)志后,開中斷,進(jìn)入等待中斷發(fā)生的狀態(tài);外設(shè)(如定時(shí)器)中斷發(fā)生時(shí),首先跳轉(zhuǎn)到相應(yīng)中斷高級的服務(wù)程序中(如:定時(shí)器1會引起INT2中斷),在相應(yīng)GISR子程序中,取出PIVR的值,根據(jù)其值再轉(zhuǎn)向相應(yīng)的SISR:SISR程序在進(jìn)行服務(wù)操作之后,應(yīng)將本外設(shè)的中斷標(biāo)志位清除以便能繼續(xù)中斷,然后返回。中斷程序設(shè)計(jì)用C語言設(shè)計(jì)中斷服務(wù)程序需要用intterupt關(guān)鍵字修飾定義的中斷服務(wù)函數(shù),例如:voidinterruptgptimel(void);中斷服務(wù)函數(shù)應(yīng)盡量短小,在中斷服務(wù)函數(shù)中要注意對中斷標(biāo)志寄存器、中斷屏蔽寄存器的設(shè)置,避免中斷嵌套或中斷丟失現(xiàn)彖的發(fā)生。實(shí)驗(yàn)程序本實(shí)驗(yàn)設(shè)計(jì)的程序是在上一個(gè)實(shí)驗(yàn)基礎(chǔ)上修改得來,由于上一實(shí)驗(yàn)控制指示燈閃爍的延時(shí)控制是用循壞計(jì)算方法得到的,延時(shí)不精確也不均勻,采用中斷方式可以實(shí)現(xiàn)指示燈的定時(shí)閃爍,時(shí)間更加準(zhǔn)確。對于定時(shí)器的周期寄存器為計(jì)數(shù)40000次產(chǎn)生1個(gè)中斷,由于DSP工作在40MHz主頻,正好是1ms中斷一次,所以在中斷服務(wù)程序中計(jì)算中斷500次時(shí)改變指示燈狀態(tài),實(shí)現(xiàn)指示燈亮0.5秒,再滅0.5秒,即每秒閃爍1次。實(shí)驗(yàn)程序的工程中包含了兩種源代碼,主程序采用C語言編制利于控制,中斷向量表在vector.asm匯編語言文件中,利于直觀地控制存儲區(qū)分配。在工程中只需將它們添加進(jìn)來即可,編譯系統(tǒng)會自動識別分別處理完成整合工作。實(shí)驗(yàn)程序的C語言主程序中包含了內(nèi)嵌匯編語句,提供一種在需要更直接控制DSP狀態(tài)的方法,同樣的方法也能提高C語言部分程序的計(jì)算效率。程序見附頁。本實(shí)驗(yàn)程序原本為中斷方式,根據(jù)要求需要改為查詢方式,修改之后的程序見附頁。實(shí)驗(yàn)步驟實(shí)驗(yàn)準(zhǔn)備(1) .連接設(shè)備?關(guān)閉計(jì)算機(jī)和實(shí)驗(yàn)箱電源;檢查ICETEK-LF2407-A板上JP6的位置,應(yīng)連接在1-2位置(靠近DSP芯片端),即設(shè)置DSP工作在MP方式;如使用PP型仿真器則用附帶的并II連線連接計(jì)算機(jī)并口和仿真器相應(yīng)接口;?關(guān)閉實(shí)驗(yàn)箱上的三個(gè)開關(guān)。(2) 開啟設(shè)備:?打開計(jì)算機(jī)電源?:?打開實(shí)驗(yàn)箱電源開關(guān),打開ICETEK-LF2407-A板上電源開關(guān),注意板上指示燈DS1滅、DS2和DS3亮;打開控制模塊的電源開關(guān);如使用USB型仿真器用附帶的USB電纜連接計(jì)算機(jī)和仿真器相應(yīng)接II,注意仿真器上兩個(gè)指示燈均亮。設(shè)置CodeComposerStudio為Emulator方式。(3) 啟動CodeComposerStudio雙擊桌面上"CCSC2000”圖標(biāo),啟動CodeComposerStudio2.20打開工程文件,瀏覽程序打開菜單“Project"的“Open"項(xiàng);選擇D:\2407EDULab\Lab3-Timer目錄中的"Timer.pjt”。在項(xiàng)目瀏覽器中,雙擊led.c,激活led.c文件,瀏覽該文件的內(nèi)容,理解各語句作用。打開led.cmd,瀏覽并理解各語句作用,對照C源程序?qū)W習(xí)中斷向量表的寫法。編譯工程單擊“Project”菜單,“Rebuildall”項(xiàng),編譯工程中的文件,生成Timer.out文件。下載程序單擊"File"菜單,"Loadprogram…”項(xiàng),選擇D:\2407EDULab\Lab3-Timer目錄中的Timer.out文件,通過仿真器將其下載到2407ADSP上。運(yùn)行程序觀察結(jié)果單擊“Debug”菜單,“Run”項(xiàng),運(yùn)行程序。?觀察實(shí)驗(yàn)箱控制模塊上指示燈J5閃爍情況。單擊"Debug”菜單,“Halt”項(xiàng),停止程序運(yùn)行。修改程序重新運(yùn)行適當(dāng)改變程序中"defineTIMSOx9c3f”語句中的延時(shí)參數(shù),重復(fù)步驟3-5,使指示燈約1秒閃爍兩次、三次、四次。實(shí)驗(yàn)結(jié)果指示燈在定時(shí)器的定時(shí)中斷中按照設(shè)計(jì)定時(shí)閃爍。使用定時(shí)器和中斷服務(wù)程序可以完成許多需要定時(shí)完成的任務(wù),比如DSP定時(shí)啟動A/D轉(zhuǎn)換,口常生活中的計(jì)時(shí)器計(jì)數(shù)、空調(diào)的定時(shí)啟動和關(guān)閉等。在調(diào)試程序時(shí),有時(shí)需要指示程序工作的狀態(tài),可以利用指示燈的閃爍來達(dá)到,指示燈靈活的閃爍方式可表達(dá)多種狀態(tài)信息。修改之前的程序(中斷方式):#includell2407c.h,1ioportunsignedintportOOOc;#defineTIMSOx9c3f /*9c3伯=40000-1*/voidinterruptgptimel(void);/*中斷服務(wù)程序,定時(shí)器計(jì)數(shù)TIMS次時(shí)中斷調(diào)用*/voidgp_init(void); /*定時(shí)器初始化*/unsignedintuWor^nCountuWorkl;int*pf;intj=0;main(){inti;nCount=0;asmCsetcINTM");/*關(guān)中斷,進(jìn)行關(guān)鍵設(shè)置時(shí)不允許發(fā)生中斷,以免干擾*/*WDCR=0x6f;*WDKEY=0x5555;*WDKEY=0xaaaa;/*關(guān)閉看門狗中斷?/*SCSRl=0x81fe;/*設(shè)置DSP運(yùn)行頻率40m?/(?MCRB)=0;uWork=(*MCRC);/*將PWM1”IOPE6設(shè)置成通用I/OII,以控制實(shí)驗(yàn)箱上指示燈7uWork&=OxOffbf;(*MCRC)=uWork;gp_init(); /*設(shè)置定時(shí)器*/*IMR=0x2; /*使能定時(shí)器中斷(INT2)?/*IFR=Oxffff; 廠清除中斷標(biāo)志*/asm("clrcINTM");/*開中斷*/while(l){}}voidinterruptgptimel(void)/*中斷服務(wù)程序定義,須使用interrupt聲*/{uWork=(*PIVR);/*讀外設(shè)中斷向量寄存器*/switch(uWork){case0x27 /*T1PINT,0x27為定時(shí)器1的周期中斷的向量值*/{(*EVAIFRA)=0x80;/*清除中斷標(biāo)志T1PINT?/nCount++;if(nCount>=100)/*計(jì)數(shù)100此100ms=0.1秒{uWork=(*PEDATDIR);/*設(shè)置指示燈狀態(tài)翻轉(zhuǎn)一次*/uWork1=0x4000;uWorkA=0x0040;(*PEDATDIR)=uWork;j=!j;(*PCDATDIR)=j+0x100;port000c=uWorkl++;uWorkl%=0xl00;nCount=O;}break;}}}voidgp」nit(void){*EVAIMRA=0x80;/*使能T1PINT即通用定時(shí)器1周期中斷*/*EVAIFRA=Oxffff;廠清除中斷標(biāo)志*/*GPTCONA=0x0000;*T1PR=T1MS;/*周期寄存器=40000?/?T1CNT=0; /*計(jì)數(shù)初值=0*/*T1CON=0x1040;/*啟動計(jì)數(shù)器*/}修改之后的程序(査詢方式):#include,,2407c.h,'ioportunsignedintportOOOc;#defineTIMSOxdc3f /*9c3伯=40000-1*/voidgp_init(void); /*定時(shí)器初始化*/unsignedintnCount,uWork,uWorkl;intj=0;main(){inti=0;nCount=0;asmC'setcINTM-);/*關(guān)中斷,進(jìn)行關(guān)鍵設(shè)置時(shí)不允許發(fā)生中斷,以免干擾*/*WDCR=0x6f;*WDKEY=0x5555;*WDKEY=0xaaaa;/*關(guān)閉看門狗中斷?/*SCSRl=0x81fe; /*設(shè)置DSP運(yùn)行頻率40m*/(*MCRB)=0;//setportBgpiouWork=(*MCRC);/*將PWM12/IOPE6設(shè)置成通用I/O丨I,以控制實(shí)驗(yàn)箱上指示燈uWork&=OxOffbf;(*MCRC)=uWork;gp_init(); 廠設(shè)置定時(shí)器*/*IMR=0x2; /*使能定時(shí)器中斷(INT2)*/*IFR=Oxffff; /*清除中斷標(biāo)志*/while(l){if((*EVAIFRA)!=0x0000){nCount++;if(nCount>=500){j=!j;(*PCDATDIR)=j+0x100;portOOOc=uWorkl++;uWorkl%=0xl00;nCount=0;}*EVAIFRA=Oxff
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)牧設(shè)備回收合同范本
- app軟件采購合同范本
- 勞動合同范本 簡約
- 佛山機(jī)械購銷合同范本
- 京東供貨方合同范本
- 加工協(xié)作合同范本
- 勞務(wù)合同范本保密協(xié)議
- 動漫公司產(chǎn)品合同范本
- 修理提成合同范例
- 全款買車正規(guī)合同范本
- 經(jīng)典文學(xué)作品中的女性形象研究外文文獻(xiàn)翻譯2016年
- 控股集團(tuán)公司組織架構(gòu)圖.docx
- 高爐煤氣安全知識的培訓(xùn)
- 2008 年全國高校俄語專業(yè)四級水平測試試卷
- 需求供給與均衡價(jià)格PPT課件
- 最常用2000個(gè)英語單詞_(全部標(biāo)有注釋)字母排序
- 人造革的幾種生產(chǎn)制造方法
- 在銀行大零售業(yè)務(wù)工作會議上的講話講解學(xué)習(xí)
- 古代傳說中的藝術(shù)形象-
- 水電站大壩土建安裝工程懸臂模板施工手冊
- 三體系內(nèi)審檢查表(共58頁).doc
評論
0/150
提交評論