您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 24DSP实验报告集合(程序)+心得体会 2
-..三、实验原理浮点数的表达和计算是进行数字信号处理的基本知识;产生正弦信号是数字信号处理中经常用到的运算;C语言是现代数字信号处理表达的基础语言和通用语言。写实现程序时需要注意两点:(1)浮点数的范围及存储格式;(2)DSP的C语言与ANSIC语言的区别。四、实验步骤1.打开CCS并熟悉其界面;2.在CCS环境中打开本实验的工程(Example_base.pjt),编译并重建.out输出文件,然后通过仿真器把执行代码下载到DSP芯片中;3.把X0,Y0和Z0添加到Watch窗口中作为观察对象(选中变量名,单击鼠标右键,在弹出菜单中选择“AddWatchWindow”命令);4.选择view-graph-time/frequency…。设置对话框中的参数:其中“StartAddress”设为“sin_value”,“Acquisitionbuffersize”和“DisplayDatasize”都设为“100”,并且把“DSPDataType”设为“32-bitfloatingpoint”,设置好后观察信号序列的波形(sin函数,如图);-..5.单击运行;6.观察三个变量从初始化到运算结束整个过程中的变化;观察正弦波形从初始化到运算结束整个过程中的变化;7.修改输入序列的长度或初始值,重复上述过程。五、实验心得体会通过本次实验,加深了我对DSP的认识,使我对DSP实验的操作有了更进一步的理解。基本掌握了CCS实验环境的使用,并能够使用C语言进行简单的DSP程序设计。从软件的安装到使用软件进行程序设计与仿真,锻炼了自己的动手能力,也遇到了不少的坎坷,例如芯片的选择,不能因为麻烦而省略该步骤,否则将会运行出错。附录实验程序:#includemath.h#includestdio.h#defineN100#definepi3.14159floatsin_value[100];floatX0,Y0,Z0;voidmain(void){inti;-..for(i=0;iN;i++)sin_value[i]=0;X0=0.5;/*0.100000000000000*/Y0=0.5;/*0.100000000000000*/Z0=X0*Y0;/*00.010000000000000000000000000000*/for(i=0;iN;i++)sin_value[i]=100*(sin(2*pi*i/N));}龙岩学院实验报告班级07电本(1)班学号2007050344姓名杨宝辉同组人独立实验日期2010-5-20室温大气压成绩数码管控制实验一、实验目的1.熟悉2812的指令系统;2.熟悉74HC573的使用方法。3.熟悉DSP的IO操作使用方法。二、实验设备1.一台装有CCS2000软件的计算机;-..2.插上2812主控板的DSP实验箱;3.DSP硬件仿真器。三、实验原理此模块由数码管和四个锁存器组成。数码管为共阴极型的。数据由2812模块的低八位输入,锁存器的控制信号由2812模块输出,但经由CPLD模块译码后再控制对应的八个四、实验步骤1.把2812模块小板插到大板上;2.在CCS2000环境中打开本实验的工程编译Example_7segled.prj,生成输出文件,通过仿真器把执行代码下载到DSP芯片;3.运行程序;数码管会显示1~8的数字。4.参考源代码自行修改程序改变显示样式。五、实验心得体会通过本次实验中,基本掌握了2812的指令系统的特点,并能够了解并熟悉74HC573的使用方法,进一步加深了对DSP的认识。同时,通过实验操作DSP的IO操作使用方法,对于DSP的IO操作可以熟悉的运用,学到更多的知识。-..程序见附录:#includeinclude/DSP281x_Device.h//DSP281xHeaderfileIncludeFile#includeinclude/DSP281x_Examples.h//DSP281xExamplesIncludeFile//Prototypestatementsforfunctionsfoundwithinthisfile.voiddelay_loop(void);voidGpio_select(void);//Globalvariableforthisexampleshortcodetab[17]={0x4020,0x6cc0,0x5800,0x4840,0x6440,0xC040,0xC000,0x4cc0,0x4000,0x4040,0x4400,0xE000,0xD080,0xE800,0xD000,0xD400,0xffff};main(){shorti;//Step1.InitializeSystemControl://PLL,WatchDog,enablePeripheralClocks//ThisexamplefunctionisfoundintheDSP281x_SysCtrl.cfile.InitSysCtrl();//Specificclocksettingforthisexample:EALLOW;EDIS;//Step2.InitalizeGPIO://ThisexamplefunctionisfoundintheDSP281x_Gpio.cfileand//illustrateshowtosettheGPIOtoit'sdefaultstate.//InitGpio();//Skippedforthisexample//Forthisexampleusethefollowingconfiguration:Gpio_select();//Step3.ClearallinterruptsandinitializePIEvectortable://DisableCPUinterruptsDINT;//InitializethePIEcontrolregisterstotheirdefaultstate.-..//ThedefaultstateisallPIEinterruptsdisabledandflags//arecleared.//ThisfunctionisfoundintheDSP281x_PieCtrl.cfile.InitPieCtrl();//DisableCPUinterruptsandclearallCPUinterruptflags:IER=0x0000;IFR=0x0000;//InitializethePIEvectortablewithpointerstotheshellInterrupt//ServiceRoutines(ISR).//Thiswillpopulatetheentiretable,eveniftheinterrupt//isnotusedinthisexample.Thisisusefulfordebugpurposes.//TheshellISRroutinesarefoundinDSP281x_DefaultIsr.c.//ThisfunctionisfoundinDSP281x_PieVect.c.InitPieVectTable();//Step4.InitializealltheDevicePeripherals://ThisfunctionisfoundinDSP281x_InitPeripherals.c//InitPeripherals();//NotrequiredforthisexampleInitXintf();//Forthisexample,inittheXintf//Step5.Userspecificcode,enableinterrupts:GpioDataRegs.GPADAT.all=0;Reg01=0x00;GpioDataRegs.GPADAT.all=0;Reg02=0x00;GpioDataRegs.GPADAT.all=0;Reg03=0x00;GpioDataRegs.GPADAT.all=0;Reg04=0x00;while(1){for(i=0;i17;i++){GpioDataRegs.GPADAT.all=~codetab[i];Reg01=0x00;delay_loop();}-..for(i=0;i17;i++){GpioDataRegs.GPADAT.all=~codetab[i];Reg02=0x00;delay_loop();}for(i=0;i17;i++){GpioDataRegs.GPADAT.all=~codetab[i];Reg03=0x00;delay_loop();}for(i=0;i17;i++){GpioDataRegs.GPADAT.all=~codetab[i];Reg04=0x00;delay_loop();}}}voiddelay_loop(){shorti,j;for(i=0;i32767;i++){for(j=0;j10;j++);}}voidGpio_select(void){Uint16var1;Uint16var2;Uint16var3;var1=0x0000;//setsGPIOMuxsasI/Osvar2=0xFFFF;//setsGPIODIRasoutputsvar3=0x0000;//setstheInputqualifiervalues-..EALLOW;GpioMuxRegs.GPAMUX.all=var1;GpioMuxRegs.GPBMUX.all=var1;GpioMuxRegs.GPDMUX.all=var1;GpioMuxRegs.GPFMUX.all=var1;GpioMuxRegs.GPEMUX.all=var1;GpioMuxRegs.GPGMUX.all=var1;GpioMuxRegs.GPADIR.all=var2;//GPIOPORTsasoutputGpioMuxRegs.GPBDIR.all=var2;//GPIODIRselectGPIOsasoutputGpioMuxRegs.GPDDIR.all=var2;GpioMuxRegs.GPEDIR.all=var2;GpioMuxRegs.GPFDIR.all=var2;GpioMuxRegs.GPGDIR.all=var2;GpioMuxRegs.GPAQUAL.all=var3;//SetGPIOinputqualifiervaluesGpioMuxRegs.GPBQUAL.all=var3;GpioMuxRegs.GPDQUAL.all=var3;GpioMuxRegs.GPEQUAL.all=var3;EDIS;}//Nomore.交通灯控制实验一、实验目的1.熟悉2812的指令系统;2.熟悉74HC573的使用方法。3.熟悉DSP的IO操作使用方法。二、实验设备1.一台装有CCS2000软件的计算机;2.插上2812主控板的DSP实验箱;3.DSP硬件仿真器。三、实验原理此模块由发光二极管和一个锁存器组成。-..数据由2812模块的低八位输入,锁存器的控制信号由2812模块输出,但经由CPLD模块译码后再控制锁存器。四、实验步骤1.把2812模块小板插到大板上;2.在CCS2000环境中打开本实验的工程编译Example_crossled.prj,生成输出文件,通过仿真器把执行代码下载到DSP芯片;3.运行程序,发光二极管按交通灯方式点亮熄灭。4.参考源代码,自行修改程序,实现不同的交通灯控制方式。五、实验心得体会通过次实验中,使我掌握了2812的指令系统和74HC573的使用方法。同时,使我掌握了DSP的IO操作使用方法。实验程序见附录:附录:-..#includeinclude/DSP281x_Device.h//DSP281xHeaderfileIncludeFile#includeinclude/DSP281x_Examples.h//DSP281xExampl
本文标题:24DSP实验报告集合(程序)+心得体会 2
链接地址:https://www.777doc.com/doc-4063391 .html