dsp 实验c语言,dsp实验报告 实验1 ccs入门实验2(c语言的使用)
1、 1 DSP 實驗報告實驗報告 院 ( 系 ) 名 稱 自 動 化 科 學 與 電 氣 工 程 學 院 學 生 姓 名 學 號 任 課 老 師 吳 冠 2014 年 6 月 DSP 實驗報告 1 實驗實驗 1 CCS 入門實驗入門實驗 2(C 語言的使用)語言的使用) 一、一、 實驗目的實驗目的 1. 學習用標準 C 語言編制程序; 了解常用的 C 語言程序設計方法和組成部 分。 2. 熟悉使用軟件仿真方式調試程序。 二、二、 實驗實驗內容內容 1. DSP 源文件的建立; 2. DSP 程序工程文件的建立; 3. 掌握 C 語言在 DSP 中的應用。 三、三、 實驗實驗背景知識背景知識 當使。
2、用標準 C 語言編制的程序時,其源程序文件名的后綴應為.c。CCS 在 編譯標準 C 語言程序時,首先將其編譯成相應匯編語言程序,再進一步編譯成 目標 DSP 的可執行代碼。最后生成的是 coff 格式的可下載到 DSP 中運行的文 件,其文件名后綴為.out。由于使用 C 語言編制程序,其中調用的標準 C 的庫 函數由專門的庫提供,在編譯連接時編譯系統還負責構建 C 運行環境。所以用 戶工程中需要注明使用 C 的支持庫。 四、四、 實驗實驗主程序主程序 1 add.c:實驗的主程序。 2 28335.gel:系統初始化 3 28335.cmd: 聲明了系統的存儲器配置與程序各段的連接關系。 。
3、Add.c 中程序: #include /* = main = */ void main() int a=10; int b=10; int c; c=a+b; for(;); DSP 實驗報告 2 五、五、 實驗步驟實驗步驟 1. 雙擊圖標進入 CCS 環境; 2. 添加工程 pjt 文件,點擊 Project open 命令 3. 在彈出的對話框中選中 cadd.pjt 文件添加該工程文件。 4. 添加 gel 文件,即右鍵點擊工程視窗中的 GEL files,在彈出的菜單中選擇 laod gel 命令。 5. 添加.out 文件,即使用 FileLoad Program 菜單命令。裝載 。
4、add.out 文件, 進行調試。.out 文件一般存放在程序文件夾的 debug 文件夾中。 6. 打開觀察窗口觀看變量的值,即使用 ViewWatch Window 菜單命令。 7. 打開 add.c 文件,在 22 行“for(;);”設置斷點。 8. 運行程序,觀察結果。 六、六、 實驗結果實驗結果 七、七、 實驗感想實驗感想 本次試驗過程中我初步了解了 DSP 編程和實驗箱的使用方法, 學會了使用軟 件方式調試程序,為以后的實驗打下一定基礎。 DSP 實驗報告 3 實驗實驗 2 片上外設實驗片上外設實驗 3AD 采集實驗采集實驗 一、一、 實驗目的實驗目的 1. 了解 TMS320F。
5、28335 片上外設 AD; 2. 熟悉片上 AD 的使用; 3. 利用片上 AD 進行數據采集。 二、二、 實驗實驗內容內容 1. 初始化系統; 2. 初始化片上 AD,進行通道的選則 3. AD 數據采集。 三、三、 實驗實驗背景知識背景知識 TMS320F28335 片內片內 AD 簡介簡介: 當 TMS320F28335 片內有 1 個帶采樣保持電路的 12BIT 的 A/D 轉換模塊。 1. ADC 特點: 1) 帶 S/H 的 12BIT 的 ADC; 2) 模擬量輸入范圍:0.0V3.0V; 3) 轉換率:在 25MHz 的 ADC 時鐘下為 80ns; 4) 16 路 AD 轉。
6、換通道; 5) 自動排序功能可以提供一次觸發轉換 16 路 AD,每次轉換能夠編程選擇 16 路通道的任何 1 個; 6) 排序可以選擇 2 個獨立的 8 通道排序或者是 1 個大的 16 通道排序; 7) 轉換結果存儲在 16 個寄存器中;轉換結果=4095(輸入的模擬信號 -ADCLO)3; 8) 有多重觸發 AD 轉換方式:軟件啟動、EVA 和 EVB; 9) 中斷控制方式靈活, 可以在每次轉換結束或每隔一次轉換結束觸發中斷; 2. ADC 管腳信號 ADC 管腳由模擬量輸入部分、ADC 設置部分和 ADC 電源三部分構成。 1) 擬量輸入部分: DSP 實驗報告 4 A 通道輸入:AD。
7、CINA0ADCINA7 B 通道輸入:ADCINB0ADCINB7 2) DC 設置部分: ADC 電壓參考輸出 (2V) : ADCREFP ADC 電壓參考輸出 (1V) : ADCREFM ADC 外部電流旁路電阻: ADCRESEXT 測試管腳: ADCBGREFIN ADC 模擬 地: AVSSREFBG ADC 模擬電源: AVDDREFBG ADC 公共地: ADCLO 3) ADC 電源: ADC 模擬地: VSSA1、VSSA2 ADC 模擬電源: VDDA1、VDDA2 ADC 數字地: VSS1 ADC 數字電源: VDD1 ADCIO 口地: VDDAIO ADCIO。
8、 口電 源: VSSAIO 3. ADC 轉換步驟: 1) 初始化 DSP 系統; 2) 設置 PIE 中斷矢量表, 3) 初始化 ADC 模塊; 4) 將 ADC 中斷的入口地址裝入 PIE 中斷矢量表中,開中斷; 5) 軟件啟動 ADC 轉換; 6) 等待 ADC 中斷; 7) 在 ADC 中斷中讀取 ADC 轉換結果,軟件啟動下一次 ADC 中斷。 AD 接口接口: SEED-DEC28335 的 AD 接口使用了 ADCINA0、ADCINA2、 ADCINA4 以 及 ADCINA6 共四個通道,用戶可任選其中一個使用,本例程選用的是 ADCINA6。 四、四、 實驗實驗主程序主程序。
9、 片上片上 AD 實驗,包含文件:實驗,包含文件: 1. AD.c:實驗主程序, 包含了系統初始化, AD 初始化, AD 中斷初始化, Timer 中斷初始化,A/D 采樣及控制其采樣頻率的 Timer 中斷程序。 2. DSP2833X_Adc.c:包含 AD 模塊初始化。 3. DSP2833X_CpuTimers.c:包含定時器初始化和配置函數。 4. DSP2833X_DefaultIsr.c:包含各中斷默認的中斷程序。 5. DSP2833X_GlobalVariableDefs.c: 定義各模塊的全局變量。 6. DSP2833X_PieCtrl.c: 初始化各 PIE 控制寄存。
10、器。 7. DSP2833X_PieVect.c: PIE 中斷向量表初始化。 8. DSP2833X_Sci.c: 包含 SCI 模塊初始化和操作函數。 DSP 實驗報告 5 9. DSP2833X_SysCtrl.c: 包含系統初始化函數等。 10. 28335.cmd: 聲明了系統的存儲器配置與程序各段的連接關系。 11. 28335.gel:系統初始化 12. *.h:各個源文件的頭文件 13. rts2800_fpu32.l:庫函數文件 主程序: #include “DSP2833x_Device.h“ / DSP2833x Headerfile Include File #incl。
11、ude “DSP2833x_Examples.h“ / DSP2833x Examples Include File interrupt void adc_isr(void); #if (CPU_FRQ_150MHZ) / Default - 150 MHz SYSCLKOUT #define ADC_MODCLK 0x3 / HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3) = 25.0 MHz #endif #if (CPU_FRQ_100MHZ) #define ADC_MODCLK 0x2 / HSPCLK = SYSCLKOUT/2*ADC_M。
12、ODCLK2 = 100/(2*2) = 25.0 MHz #endif #define ADC_CKPS 0x1 / ADC module clock = HSPCLK/2*ADC_CKPS = 25.0MHz/(1*2) = 12.5MHz #define ADC_SHCLK 0xf / S/H width in ADC module periods = 16 ADC clocks #define AVG 1000 / Average sample limit #define ZOFFSET 0x00 / Average Zero offset #define BUF_SIZE 160 /。
13、 Sample buffer size Uint16 LoopCount; Uint16 ConversionCount; Uint16 Voltage11024; main() InitSysCtrl(); InitGpio(); / Skipped for this example DINT; InitPieCtrl(); IER = 0x0000; IFR = 0x0000; InitPieVectTable(); EALLOW; / This is needed to write to EALLOW protected register PieVectTable.ADCINT = ED。
14、IS; / This is needed to disable write to EALLOW protected registers DSP 實驗報告 6 InitAdc(); / For this example, init the ADC PieCtrlRegs.PIEIER1.bit.INTx6 = 1; IER |= M_INT1; / Enable CPU Interrupt 1 EINT; / Enable Global interrupt INTM ERTM; / Enable Global realtime interrupt DBGM LoopCount = 0; Conv。
15、ersionCount = 0; AdcRegs.ADCTRL1.bit.ACQ_PS = ADC_SHCLK; AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS; AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; / 0 Non-Cascaded Mode; 1 Cascaded Mode AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 0x1; AdcRegs.ADCTRL2.bit.RST_SEQ1 = 0x1; AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x6; AdcRegs.ADCMAX。
16、CONV.bit.MAX_CONV1 = 15; AdcRegs.ADCTRL2.bit.SOC_SEQ1 = 0x1 ; / Wait for ADC interrupt for(;); interrupt void adc_isr(void) Voltage1ConversionCount = AdcRegs.ADCRESULT0 4; / If 40 conversions have been logged, start over if(ConversionCount = 1024) ConversionCount = 0; else ConversionCount+; / Reinitialize for next ADC sequence AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; / 。
《dsp實驗報告 實驗1 ccs入門實驗2(c語言的使用)》由會員小**分享,可在線閱讀,更多相關《dsp實驗報告 實驗1 ccs入門實驗2(c語言的使用)》請在金鋤頭文庫上搜索。
總結
以上是生活随笔為你收集整理的dsp 实验c语言,dsp实验报告 实验1 ccs入门实验2(c语言的使用)的全部內容,希望文章能夠幫你解決所遇到的問題。

- 上一篇: 100+道Java经典面试题(面中率高)
- 下一篇: 模数转换器ADC