DSP實(shí)驗(yàn)報(bào)告完美版_第1頁(yè)
DSP實(shí)驗(yàn)報(bào)告完美版_第2頁(yè)
DSP實(shí)驗(yàn)報(bào)告完美版_第3頁(yè)
DSP實(shí)驗(yàn)報(bào)告完美版_第4頁(yè)
DSP實(shí)驗(yàn)報(bào)告完美版_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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、 DSP實(shí)驗(yàn)報(bào)告 班 級(jí):11050641 學(xué) 號(hào): 姓 名: 指導(dǎo)教師: 實(shí)驗(yàn)一 、二 DSP芯片的開(kāi)發(fā)工具及應(yīng)用實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康?(1)熟悉CCS集成開(kāi)發(fā)環(huán)境,掌握工程的生成方法; (2)熟悉SEED-DTK DAD實(shí)驗(yàn)環(huán)境; (3)掌握CCS集成開(kāi)發(fā)環(huán)境的調(diào)試方法。 2.實(shí)驗(yàn)設(shè)備 DSP實(shí)驗(yàn)箱,計(jì)算機(jī),CCS軟件。 3.實(shí)驗(yàn)內(nèi)容及步驟 (1) CCS軟件的安裝; (2) 了解SEED-DTK5416實(shí)驗(yàn)環(huán)境; (3) 打開(kāi)CCS集成開(kāi)發(fā)環(huán)境,進(jìn)入CCS的操作環(huán)境; (4) 新建一個(gè)工程文件 1 volume1(如果CCS安裝在其他在c:timyprojects中建立文件夾d:ti ,則

2、在d:timyprojects中); 2將c:titutorialtargetvolume1拷貝到c:timyprojects volume1; 3從在CCS 中的Project 菜單,選擇 New; 4在Project Name域中,鍵入volume1; 5在Location區(qū)域中,瀏覽步驟1所建立的工作文件夾; 6在Project Type 域中,選擇Executable(.out); 7在Target域中,選擇CCS配置的目標(biāo),并單擊完成。 (5) 向工程中添加文件 1從Project/Add Files to Project,選擇 volume.c,單擊 Open(或右擊Project

3、 View圖標(biāo),選擇Add Files to Project ); 2選擇Project/Add Files to Project,在Files of type對(duì)話框中,選擇Asm Source Files (*.a*, *.s*)。選擇vectors.asm 和 load.asm, 單擊Open; 3選擇 Project/Add Files to Project, 在Files of type 對(duì)話框中選擇 Linker Command File (*.cmd),選擇volume.cmd,單擊Open。(這個(gè)文件將片段映射到存儲(chǔ)器中); 4選擇Project/Add Files to Pro

4、ject, 到編輯器庫(kù)文件夾(C:tic5400cgtoolslib),在Files of type對(duì)話框中選擇Object and Library Files (*.o*, *.lib)。選擇rts.lib文件,單擊Open。這個(gè)庫(kù)提供目標(biāo)DSP 運(yùn)行時(shí)間支持(runtime-support); 5,Scan All Dependencies,選擇volume1.pjt窗口,右擊Project Viewvolume.h將出現(xiàn)在Project View窗中的Libraries文件夾; 頭文件不要手動(dòng)添加,自動(dòng)到:當(dāng)前目錄(源文件所在)或預(yù)編譯器的“include Search Path (-i

5、)”option所指定的位置。顯示頭文件:Projectshow Dependencies。 6單擊 volume1.pjt上的+號(hào),展開(kāi)工程列表。這個(gè)列表稱為Project View。 (6) 查看源程序代碼 雙擊Project View中 volume.c文件,CCS窗口的右半窗中出現(xiàn)C源代碼。 (7) 編譯與運(yùn)行程序 1選擇Project/Rebuild All或單擊(Rebuild All)菜單條按鈕,CCS重新進(jìn)行編輯、匯編、連接工程里的所有文件。這個(gè)處理的有關(guān)信息在窗口低部一個(gè)小框里顯示; 2默認(rèn)時(shí),.out文件編譯到位于當(dāng)前工程文件夾中的調(diào)試(debug),目錄中也可以通過(guò)CCS

6、工具條選擇一個(gè)存儲(chǔ)目錄; 3選擇File/Load Program。選中volume1.out,并按Open。( c:timyprojectsvolume1Debug 文件夾中。)CCS將程序裝載到目標(biāo)DSP上,打開(kāi)顯示程序反匯編指令的Disassembly窗口; 4選擇View/Mixed Source/ASM.,這樣可以同時(shí)查看C源程序和產(chǎn)生的匯編代碼; 5在混合窗口單擊匯編指令(單擊有效指令,而不是指令的地址或指令所傳遞的區(qū)域),單擊F1,CCS可以尋找此指令的幫助。這是學(xué)習(xí)指令的很好的方法; 6選擇Debug/Go Main,從主程序開(kāi)始執(zhí)行; 7選擇Debug/Run或單擊 (Run

7、)按鈕; 8選擇Debug/ Halt,退出程序運(yùn)行。 (8) 更改程序的選擇、定位語(yǔ)法錯(cuò)誤 1選擇Project/Build Options; 2在Build Options窗口的Compiler上,選擇Category列表的Preprocessor,在Define Symbols區(qū)域鍵入FILEIO,按Tab鍵; 3單擊OK,保存新的選擇設(shè)置; 4選擇Project/Rebuild All或單擊 (Rebuild All)按鈕。只要工程選擇更改,則必須重新編譯所有的文件; 5編譯信息顯示,程序包含編輯錯(cuò)誤。單擊Build,你可以看見(jiàn)語(yǔ)法錯(cuò)誤信息; 6雙擊描述語(yǔ)法錯(cuò)誤位置的紅色文字(第68行

8、)。注意volume.c源程序已打開(kāi),且光標(biāo)位于下面的行上: processing(input, output); ; 7puts(egin 如:,(丟了個(gè)分號(hào))行的上一位置光標(biāo)位于錯(cuò)誤語(yǔ)法processing); ; 8注意:Edit窗口標(biāo)題欄中的文件名附近出現(xiàn)星號(hào)(*),指示源程序已經(jīng)被修改,文件保存后,星號(hào)消失; 9選擇File/Save,或按Ctrl+S,將更改保存到volume.c; 10選擇Project/Build,或(Incremental Build)單擊工具條,CCS重新編譯已經(jīng)修改的文件; 11選擇File/Load Program,選中volume1.out; 12選擇

9、Debug/Go Main,從主函數(shù)開(kāi)始執(zhí)行。由執(zhí)行可以暫停; 13選擇Debug/Run或(Run)單擊菜單條; 14選擇Debug/Halt,退出程序運(yùn)行。 (9) 使用斷點(diǎn)(Breakpoints)和觀察窗口(Watch Window) 程序執(zhí)行時(shí)常常需要檢查變量的值。 1File/Reload Program; 2雙擊Project View 窗中的volume.c??梢詫⒋翱谧兇?,看到更多的源代碼; 3將光標(biāo)放在dataIO( ); 4單擊(Toggle Breakpoint)工具條,或按F9。選擇空白區(qū)指示斷點(diǎn)已經(jīng)設(shè)置(紅色圖標(biāo)); 5選擇View/Watch Window,在CC

10、S窗口的右下角出現(xiàn)單個(gè)區(qū)域,同時(shí),這個(gè)區(qū)域顯示觀察變量的值; 6如果不在主程序,選擇Debug/Go Main; 7選擇Debug/Run,或按F5; 8選擇Watch1; 9單擊Name欄中表達(dá)式圖標(biāo),鍵入要觀察的變量名dataIO; 10單擊觀察窗口中的白色區(qū)域,保存更改。這個(gè)值將立即出現(xiàn)在下面的例子中; 11單擊 (Step Over)或按F10,跨過(guò)對(duì)dataIO()的調(diào)用; 12完成后,單擊(Remove All Breakpoints)。 (10)使用帶結(jié)構(gòu)的Watch Window 除了觀察簡(jiǎn)單變量的值,也可以觀察一個(gè)結(jié)構(gòu)的元素的值。 1選擇Watch1; 2單擊Name欄中的表

11、達(dá)式圖標(biāo),鍵入要觀察表達(dá)式名稱str; 3單擊觀察窗口中的白色空間,保存更改。數(shù)值將立即出現(xiàn)在下面的例子中; 4從Reviewing the Source Code調(diào)出 volume.c中全局申明、并初始化的類型為PARMS的結(jié)構(gòu)。volume.h定義了PARMS的結(jié)構(gòu)類型; 5單擊str上的+號(hào),CCS將結(jié)構(gòu)中所有元素和元素值。雙擊結(jié)構(gòu)中元素的 ,編輯元素的值;Value6在Watch window 中Value欄,更改變量的值。注意:Watch Window中數(shù)值的更改,數(shù)值也變?yōu)榧t色,表示已經(jīng)手動(dòng)修改; 7選擇Watch Window中str變量,按Delete 鍵。其他變量同理; 8選

12、擇Debug/Breakpoints,在Breakpoints中,單擊Delete All,然后單擊OK。 (11)添加探針Probe Point(為了文件I/O) 可以添加探針(Probe Point),從PC機(jī)中的文件讀數(shù)據(jù)。 按照下面的步驟使用探針: 從主PC中傳遞輸入數(shù)據(jù),到算法所使用的目標(biāo)的緩沖器中; 從目標(biāo)的緩沖器中傳遞輸出數(shù)據(jù),到主PC中; 用數(shù)據(jù)修改窗口。 下面將學(xué)習(xí)如何使用Probe Point ,將PC文件中的內(nèi)容,作為測(cè)試數(shù)據(jù),傳遞到目標(biāo)DSP中。另外,也可以使用斷點(diǎn)修改所有打開(kāi)的窗口。 1選擇File/Load Program,選中volume1.out,單擊Open;

13、 2雙擊Project View中的volume.c; 3將光標(biāo)放到主程序中dataIO(); 4單擊(Toggle Probe Point)。選擇空白區(qū)域指示探針已經(jīng)設(shè)置(蘭色圖標(biāo)),如果廢止 選擇區(qū),此行為蘭色顯亮; 5從File菜單,選擇File I/O。出現(xiàn)File I/O對(duì)話框,因此可以選擇輸入輸出文件; 6在File Input,單擊Add File; 7瀏覽volume1工程文件夾,選中sine.dat,單擊Open。sine.dat文件是正弦波的十六進(jìn)制數(shù)值,出現(xiàn)sine.dat文件的控制窗口。再后,當(dāng)運(yùn)行程序時(shí),可以在數(shù)據(jù)文件中使用此窗口啟動(dòng)、停止、返回、或快進(jìn); 8在Fil

14、e I/O對(duì)話框,更改Address 為inp_buffer,Length為100,在Wrap Around中可以添加選中符號(hào); 9單擊Add Probe Point。出現(xiàn) Break/Probe Points對(duì)話框中的 Probe Points; 10在 Probe Point列表中,顯亮行為:VOLUME.C line 61 - No Connection; 11在Connect To區(qū)域中,單擊下箭頭,從列表中選中sine.dat; 12單擊 Replace。Probe Point列表改向顯示這個(gè)Probe Point連接到sine.dat文件; 13單擊OK。File I/O對(duì)話框顯示

15、文件現(xiàn)在連接到Probe Point; 14單擊OK,關(guān)閉File I/O對(duì)話框。 (12)顯示圖形 在這個(gè)例子中,可以查看關(guān)于時(shí)間的信號(hào)圖形。1選擇View/Graph/Time/Frequency; 2在 Graph Property Dialog對(duì)話框,更改Graph Title,Start Address,Acquisition Buffer Size, Display Data Size,DSP Data Type,Autoscale,和Maximum Y-value屬性,下拉或重新拉大對(duì)話框,查看所有屬性; 3單擊OK。出現(xiàn)Input Buffer的Input圖形窗口; 4右擊In

16、put graph窗口,從下拉菜單中選擇Clear Display; 5再次選擇View/Graph/Time/Frequency; 6這次更改Graph Title為Output,Start Address 為out_buffer,所有其他設(shè)置都正確; 7單擊OK,顯示輸出圖形Output graph窗口,右擊Output graph 窗口,從下拉菜單中選擇Clear Display。 (13)激活程序和圖形 至此,已經(jīng)放置斷點(diǎn),傳遞主 PC中的數(shù)據(jù),到目標(biāo)DSP,可暫停目標(biāo)DSP,或繼續(xù)目標(biāo)DSP 應(yīng)用程序。但是,Probe Point不修改圖形。本節(jié)建立斷點(diǎn) (breakpoint),修

17、改圖形,使用Animate命令,遇到斷點(diǎn)后繼續(xù)自動(dòng)執(zhí)行。 1在volume.c窗口,將光標(biāo)放在調(diào)用dataIO的行上; 2單擊(Toggle Breakpoint),或按F9,選中空白區(qū)域放置紅色圖標(biāo),代表斷點(diǎn); 將斷點(diǎn)breakpoin和探測(cè)點(diǎn)Probe Point放在同一行,這樣傳遞數(shù)據(jù)和修改圖形時(shí)目標(biāo)只須暫停一次。 3調(diào)整窗口,使得兩個(gè)窗口都可以看見(jiàn); 4單擊(Animate),或按F12運(yùn)行程序。Animate=Runhalt continue; 5每遇到探測(cè)點(diǎn)Probe Point一次,CCS就從sine.dat文件獲得100個(gè)數(shù)值,并將它們寫(xiě)入inp_buffer地址; 6選擇De

18、bug/Halt,退出程序運(yùn)行。 注意:DSP 在探測(cè)點(diǎn)暫停。CCS遇到探測(cè)點(diǎn)時(shí),暫停目標(biāo)。因此,如果使用探測(cè)點(diǎn),不能保證實(shí)時(shí)性。 這一階段開(kāi)發(fā),你可以檢測(cè)算法,然后可以使用RTDX和DSP/BIOS分析實(shí)時(shí)特性。 (14)調(diào)整增益Gain 處理函數(shù)將輸入緩沖器中的每個(gè)值乘以增益,并將結(jié)果放在輸出緩沖器。在while循環(huán)中執(zhí)行下面的語(yǔ)句。 1.*output+ = *input+ * gain; 這個(gè)語(yǔ)句將inp_buffer中的數(shù)值乘以增益,并結(jié)果放在out_buffer中相中。如volume.h定義在頭文件,上MINGAIN映的位置。增益初始化設(shè)置在果修改輸出,則需要修改增益。辦法之一是,

19、使用觀察變量: 1選擇View/Watch Window,選中Watch1; 2單擊Name欄中的表達(dá)式圖標(biāo),鍵入gain,作為觀察的變量; 3單擊觀察窗口中的白色空間,保存更改。在下面的例子中將立即出現(xiàn)這個(gè)數(shù)值; 4如果程序已經(jīng)暫停,單擊(Animate),重新啟動(dòng)程序,觀察前面建立的輸入輸出圖形; 5從Debug菜單,選中Halt; 6在觀察窗口,選中增益值(1),將其改為10; 7從Debug菜單,選中 Animate 。注意更改 Output graph 中信號(hào)幅度,反映在下面的例子中的增益。 4.實(shí)驗(yàn)結(jié)果及分析 5.實(shí)驗(yàn)體會(huì) 通過(guò)本次實(shí)驗(yàn),我熟悉了CCS集成開(kāi)發(fā)環(huán)境,掌握了工程的生成

20、方法,熟悉了SEED-DTK DAD實(shí)驗(yàn)環(huán)境,掌握了CCS集成開(kāi)發(fā)環(huán)境的調(diào)試方法,為后續(xù)的實(shí)驗(yàn)打下了堅(jiān)實(shí)的基礎(chǔ)。 實(shí)驗(yàn)三 常用的指令實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康?(1)了解DSP開(kāi)發(fā)系統(tǒng)的組成和結(jié)構(gòu); (2)熟悉DSP開(kāi)發(fā)系統(tǒng)的連接; (3)熟悉DSP的開(kāi)發(fā)界面; (4)了解C54x常用的尋址方式; (5)了解C54x常用的指令的用法。 2.實(shí)驗(yàn)設(shè)備 計(jì)算機(jī),CCS軟件,DSP仿真器,實(shí)驗(yàn)箱。 3.實(shí)驗(yàn)內(nèi)容及步驟 (1)系統(tǒng)連接 進(jìn)行DSP實(shí)驗(yàn)之前,先必須連接好仿真器、實(shí)驗(yàn)箱及計(jì)算機(jī),連接方式如下圖所示: (2)上電復(fù)位 在硬件安裝完成后,確認(rèn)安裝正確、各實(shí)驗(yàn)部件及電源連接正常后,接通仿真器電源或啟動(dòng)計(jì)

21、算機(jī),此時(shí),仿真盒上的“紅色小燈”應(yīng)點(diǎn)亮,否則DSP開(kāi)發(fā)系統(tǒng)與計(jì)算機(jī)連接有問(wèn)題。 (3)運(yùn)行CCS程序 待計(jì)算機(jī)啟動(dòng)成功后,實(shí)驗(yàn)箱220V電源置“ON”實(shí)驗(yàn)箱上電,啟動(dòng)CCS,此時(shí)仿真器上的“綠色小燈”應(yīng)點(diǎn)亮,并且CCS正常啟動(dòng),表明系統(tǒng)連接正常;否則仿真器的連接、JTAG接口或CCS相關(guān)設(shè)置存在問(wèn)題,掉電,檢查仿真器的連接、JTAG接口連接,或檢查CCS相關(guān)設(shè)置是否正確。 (4)修改樣例程序,嘗試DSP其他的指令; (5)填寫(xiě)實(shí)驗(yàn)報(bào)告; (6)啟動(dòng)CCS并加載“exp01.out”; (7)關(guān)閉所有窗口,本實(shí)驗(yàn)完畢。 4.實(shí)驗(yàn)結(jié)果及分析 可見(jiàn)XF燈以一定頻率閃爍;單擊“Halt”暫停程序運(yùn)行

22、,則XF燈停止閃 ”燈又開(kāi)始閃爍。XF,則“”Run爍,如再單擊“ 5.實(shí)驗(yàn)體會(huì) 通過(guò)本次實(shí)驗(yàn),我了解了DSP開(kāi)發(fā)系統(tǒng)的組成和結(jié)構(gòu),熟悉了DSP開(kāi)發(fā)系統(tǒng)的連接,熟悉了DSP的開(kāi)發(fā)界面,了解了C54x常用的尋址方式,了解了C54x常用的指令用法,理論與實(shí)踐相結(jié)合,更加有助于我們對(duì)所學(xué)知識(shí)的鞏固。 實(shí)驗(yàn)四 數(shù)據(jù)存儲(chǔ)實(shí)驗(yàn) 1. 實(shí)驗(yàn)?zāi)康?(1)掌握TMS320C54的程序空間的分配; (2)掌握TMS320C54的數(shù)據(jù)空間的分配; (3)熟悉操作TMS320C54數(shù)據(jù)空間的指令。 2.實(shí)驗(yàn)設(shè)備 計(jì)算機(jī),CCS軟件,DSP仿真器,實(shí)驗(yàn)箱。 3.實(shí)驗(yàn)內(nèi)容及步驟 (1)連接好DSP開(kāi)發(fā)系統(tǒng),運(yùn)行CCS軟件

23、; (2)在CCS的Memory窗口中查找C5402各個(gè)區(qū)段的數(shù)據(jù)存儲(chǔ)器地址,在可以改變的數(shù)據(jù)地址隨意改變其中的內(nèi)容; (3)在CCS中裝載實(shí)驗(yàn)示范程序,單步執(zhí)行程序,觀察程序中寫(xiě)入和讀出的數(shù)據(jù)存儲(chǔ)地址的變化 程序代碼如下: ;File Name:exp01.asm ;the program is compiled at no autoinitialization mode .mmregs .global _main ;聲明_main可被其他模塊引用,程序加載到目標(biāo)板后, ;會(huì)自動(dòng)跳轉(zhuǎn)到標(biāo)號(hào)為_(kāi)main的匯編指令 STACK: .usect .stack,10h .text _main: st

24、m #STACK+10h,sp ;設(shè)置堆棧指針 STM #0, CLKMD ; (to divider mode before setting) TstStatu1: LDM CLKMD, A AND #01b, A ;poll STATUS bit BC TstStatu1, ANEQ STM #0xF7FF, CLKMD ; set C5402 DSP clock to 10MHz loop: ssbx xf ;將XF置1,熄滅LED5 call delay ;調(diào)用延時(shí)子程序,延時(shí) rsbx xf ;將XF置0,點(diǎn)亮LED5 call delay ;調(diào)用延時(shí)子程序, b loop ;程序跳

25、轉(zhuǎn)到loop 延時(shí)子程序;delay: stm 270fh,ar3 ; 270fh=9999 loop1: stm 0f9h,ar4 ; 0f9h=249 loop2: banz loop2,*ar4- banz loop1,*ar3- ret .end (4)聯(lián)系其他尋址方式的使用; (5)啟動(dòng)CCS并加載“exp02.out” 用“View”下拉菜單中的“Memory”查看內(nèi)存單元; 1輸入要查看的內(nèi)存單元地址,本實(shí)驗(yàn)要查看0x1000-0x100F單元的數(shù)值變2化,輸入地址0x1000; 查看0x1000-0x100F單元的初始值,單擊“Run”運(yùn)行程序,也可以“單步”3運(yùn)行程序; 單擊

26、“Halt”暫停程序運(yùn)行; 4查看0x1000-0x100F單元內(nèi)數(shù)值的變化; 5關(guān)閉各窗口,本實(shí)驗(yàn)完畢。 64.實(shí)驗(yàn)結(jié)果及分析 5.實(shí)驗(yàn)體會(huì) 通過(guò)本次實(shí)驗(yàn),我掌握了TMS320C54的程序空間和數(shù)據(jù)空間的分配,熟悉了操作TMS320C54數(shù)據(jù)空間的指令。 實(shí)驗(yàn)五 I/O接口實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康?(1)了解I/O的擴(kuò)展; (2)掌握I/O口的操作方法; (3)熟悉PORTR,PORTW指令的用途; (4)了解數(shù)字量與模擬量的區(qū)別和聯(lián)系。 2.實(shí)驗(yàn)設(shè)備 計(jì)算機(jī),CCS軟件,DSP仿真器,實(shí)驗(yàn)箱。 3.實(shí)驗(yàn)內(nèi)容及步驟 (1)DSP-II型實(shí)驗(yàn)系統(tǒng)與DSP-I型實(shí)驗(yàn)系統(tǒng)相比較而言,數(shù)字量輸入輸出是完全

27、封閉的,不需要任何跳線配置,只要根據(jù)自己的需求進(jìn)行實(shí)驗(yàn)就可以了; (2)運(yùn)行CCS程序,裝載示范程序,調(diào)整K0-K7的開(kāi)關(guān),觀察LP1-LP7LED亮滅的變化,以及輸入和輸出狀態(tài)是否一致;(注意:輸出為0時(shí)點(diǎn)亮燈) (3)數(shù)字量輸入信號(hào)全部拓展出來(lái),用戶可以進(jìn)行自己的數(shù)字量采集實(shí)驗(yàn)。數(shù)字量輸入接口主要有兩個(gè),如書(shū)中所述; (4)啟動(dòng)CCS,并加載“exp03.out” 單擊“Run”運(yùn)行程序; 1任意調(diào)整K0-K7開(kāi)關(guān),可以觀察到對(duì)應(yīng)LP0-LP7燈“亮”或“滅”;單擊2“Halt”,暫停持續(xù)運(yùn)行,開(kāi)關(guān)將對(duì)燈失去控制; 關(guān)閉各窗口,本實(shí)驗(yàn)完畢。 34.實(shí)驗(yàn)結(jié)果及分析 5.實(shí)驗(yàn)體會(huì) 通過(guò)本次實(shí)驗(yàn)

28、,我了解了I/O的擴(kuò)展,掌握了I/O口的操作方法,熟悉了PORTR、PORTW指令的用途,了解了數(shù)字量與模擬量的區(qū)別和聯(lián)系,鞏固了以前學(xué)到的相關(guān)知識(shí)。 實(shí)驗(yàn)六 定時(shí)器與中斷實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康?(1)掌握C54的定時(shí)器; (2)掌握C54定時(shí)器的控制方法; (3)學(xué)會(huì)使用定時(shí)器中斷方式控制程序流程。 2.實(shí)驗(yàn)設(shè)備 計(jì)算機(jī),CCS軟件,DSP硬件仿真器,實(shí)驗(yàn)箱。 3.實(shí)驗(yàn)內(nèi)容及步驟 定時(shí)器控制設(shè)計(jì)流程圖: (1)調(diào)入樣例程序,裝載并運(yùn)行 1將中斷服務(wù)主程序補(bǔ)充完整,要求能夠?qū)崿F(xiàn)SEED_DEC2812板卡上指示燈D1和D3交替閃爍。 定時(shí)器控制程序: interrupt void ISRTimer

29、2(void) CPUTimer2.InterruptCount+; If(Led_Flag=1) LED1_ON; *LED3=0; Led_Flag=0; Else LED1_OFF; *LED3=1; Led_Flag=1; 2嘗試將指示燈D1和D3交替閃爍的時(shí)間改為2S 定時(shí)器控制程序: interrupt void ISRTimer2(void); void main(void) /*初始化系統(tǒng)*/ InitSysCtrl(); DINT; IER = 0x0000; IFR = 0x0000; Led_Flag = 0; /*初始化PIE*/ InitPieCtrl(); /*初始

30、化PIE中斷矢量表*/ InitPieVectTable(); /*初始化外設(shè)*/ InitPeripherals(); EALLOW; PieVectTable.TINT2 = &ISRTimer2; EDIS; ConfigCpuTimer(&CpuTimer2,30,2000000); StartCpuTimer2(); */ 開(kāi)中斷/* IER |= M_INT14; EINT; ERTM; for(;); interrupt void ISRTimer2(void) CpuTimer2.InterruptCount+; if(Led_Flag=1) LED1_ON; *LED3=0;

31、 Led_Flag=0; else LED1_OFF; *LED3=1; Led_Flag=1; LED1,LED3交替閃爍添加程序,完成 / (2)定時(shí)器實(shí)驗(yàn)通過(guò)LP0-LP7LED來(lái)顯示; (3)啟動(dòng)CCS,并加載“exp04.out” 單擊“Run”運(yùn)行程序,可觀察LED燈(LP0-LP7)以一定的間隔時(shí)間不停擺1動(dòng); 單擊“Halt”,暫停程序運(yùn)行,LED燈停止閃爍;單擊“Run”,運(yùn)行程序,2LED燈又開(kāi)始閃爍; 關(guān)閉所有窗口,本實(shí)驗(yàn)完畢。 34.實(shí)驗(yàn)結(jié)果及分析 5.實(shí)驗(yàn)體會(huì) 通過(guò)本次實(shí)驗(yàn),我熟悉了C54x的定時(shí)器,掌握了C54x定時(shí)器的控制方 法,學(xué)會(huì)了如何使用定時(shí)器中斷方式控制程

32、序流程。實(shí)驗(yàn)七 A/D轉(zhuǎn)換實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康?(1)熟悉A/D轉(zhuǎn)換的基本原理; (2)掌握TLV320AD50的技術(shù)指標(biāo)和常用方法; (3)熟悉DSP的多通道緩存串口的應(yīng)用方法; (4)掌握并熟練使用DSP和AD50的接口及其操作。 2.實(shí)驗(yàn)設(shè)備 計(jì)算機(jī),CCS軟件,DSP實(shí)驗(yàn)箱,短路塊及導(dǎo)線。 3.實(shí)驗(yàn)內(nèi)容及步驟 (1)用短接塊短接JAD1的INM和INMF,以及JAD2的INM和INMF,JD跳線斷開(kāi),設(shè)置輸入信號(hào)為交流,用短接塊短接SS1的1,2腳,設(shè)置輸出低頻信號(hào),短接S2的Sin腳,設(shè)置輸出正弦波信號(hào),則模擬信號(hào)產(chǎn)生單元out1輸出為低頻正弦波,用導(dǎo)線連接模擬信號(hào)產(chǎn)生單元的out1腳和JAD3的1腳; (2)運(yùn)行CCS軟件,加載示范程序; (3)按下F12運(yùn)行程序,查看數(shù)據(jù)存儲(chǔ)器中的內(nèi)容變化; (4)調(diào)節(jié)輸入信號(hào)的頻率或幅值,做同樣的采樣實(shí)驗(yàn); (5)觀察采樣結(jié)果; (6)填寫(xiě)實(shí)驗(yàn)報(bào)告; (7)啟動(dòng)CCS,并打開(kāi)“exp06.out”文件 雙擊“exp06.pjt”及“Source”,可查看各源代碼;加載“exp06.out”1文件; 在“exp06.

溫馨提示

  • 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)論