




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑州航空工业管理学院电子通信工程系DSP原理及应用实验报告学号: 姓名: 专业: 指导老师: 实验一 CCS的安装与设置1. 实验目的掌握CCS 2(2000)集成开发环境的安装;掌握软件仿真环境的设置方法;熟悉CCS集成开发环境的应用界面。2. 实验设备PC机、CCS 2(2000)IDE软件、EXP-IV DSP实验箱3. 实验要求l 熟悉安装CCS 2(2000)IDE软件的步骤l 根据DSP芯片的型号正确设置软件仿真环境l 了解CCS集成开发环境应用界面的各项内容4. 实验内容(1) CCS 2(2000)IDE软件的安装步骤1. CCS的安装1.1退出病毒防火墙及杀毒软件1.2解压CCS2000 2.2 .rar文件并运行setup.exe安装程序文件。1.3选择安装界面中 “Code Cmposter Studio”选项。如下图(1-1)所示 图(1-1)1.4完成上述步骤后只需点“Next”继续。在出现提示确认没有运行病毒检测软件的提示窗口时点“确定”。如下图(1-2)所示图(1-2)1.5选择“Yes”同意CCS的安装协议。如下图(1-3)所示图(1-3)1.6选择默认安装组件,点“Next”。如下图(1-4)所示图(1-4)1.7选择默认安装路径“C:ti”点“Next”。如下图(1-5)所示图(1-5)1.8出现下图(1-6)所示时取消勾选项,并点击“Finish”。图(1-6)1.9完成上述步骤,再出现的对话框中点击“确定”。如下图(1-7)所示图(1-7)1.10安装完成后,计算机桌面出现如下图(1-8)所示的快捷方式图标。 图(1-8)(2) TMS320F2812 微处理器的软件仿真环境的设置2.1双击桌面“Setup CCS 2”的快捷方式启动设置程序。2.2在出现的如下图(1-9)所示的窗口中依次进行单击“Clear”清除原有设置选择“F2812 Device Simulator”配置单击“Import”输入配置单击“Save and Quit”图(1-9)2.3在接下来的对话框中单击“否”完成对CCS的设置。图(1-10)(3) CCS集成开发环境的应用界面双击桌面上的CCS 2(C2000)快捷图标。成功启动的CCS如下图(1-11)所示。图(1-11)5. 问题与分析CCS软件仿真环境(Emulator)如何设置?1. 点击“Setup CCS 2”更改CCS软件仿真环境的设置。2. 在弹出界面中设置:在“Filters”中的“Family”选项中选择“F28xx”,在“Platform”选项中选择“simulator”,然后在“Available Configurations”中选择“F2812 Device Simulator”。设计如图(1-12)所示:图(1-12)3. 点击“Save and Quit”退出设置。实验二 XF管脚的驱动与观察1.实验目的掌握SPRC097软件包的安装与使用方法;掌握在CCS集成开发环境下建立或打开工程的方法;掌握XF管脚的驱动与测试方法;掌握工程的编译、下载与调试方法;熟悉CCS集成开发环境中寄存器观察工具的使用。2.实验设备PC机、CCS 2(2000)IDE软件、EXP-IV DSP实验箱3.实验要求l 熟悉SPRC097软件包的安装步骤l 会利用SPRC097中的工程环境建立或打开工程l 实现XF管脚的驱动编程l 会利用寄存器观察工具察看XF管脚的状态4.实验内容(1)SPRC097软件包的安装如图(2-1)所示 图(2-1)(2)XF管脚驱动编程的环境如图(2-2)所示 图(2-2)(1) 主要程序代码#include DSP281x_Device.h / DSP281x Headerfile Include File#include DSP281x_Examples.h / DSP281x Examples Include Filevoid delay(void);void main(void) int p,r,q; InitSysCtrl(); InitPieCtrl(); IER = 0x0000; IFR = 0x0000; InitPieVectTable(); /控制XF管脚 EALLOW; GpioMuxRegs.GPFMUX.all=0xffff; EDIS; for(r=0;r100;r+) /*xf管脚置低*/ asm( clrc xf); for(p=0;p10;p+) for(q=0;q10;q+) delay(); /*xf管脚置高*/ asm( setc xf); for(p=0;p10;p+) for(q=0;q10;q+) delay(); for(;) ; void delay(void) unsigned int k,i,j; for(k=0;k5;k+); for(i=0;i5;i+); for(j=0;j5;j+);图(2-3)5.问题与分析XF管教的设置可以设置为功能引GpioMuxRegs.GPFMUX.all=0xffff,当配置为功能引脚是可以用setc XF与clrc xf对XF引脚置低货置高,也可以设置为通用输入输出管脚GpioMuxRegs.GPFMUX.all=0x0000,可以通过GpioDataRegs.GPFDAT.all=0x0000与GpioDataRegs.GPFDAT.all=0xffff设置XF引脚输出为低或为高。仿真时可以通过View下的Registers下的status查看XF管脚寄存器位的变化,如图(2-4)所示:图(2-4)实验三 GPIO模块的驱动程序设计1.实验目的掌握CCS硬件仿真环境的设置方法;掌握GPIO模块的驱动与测试方法;熟悉工程的编译、下载与调试方法。2.实验设备PC机、CCS 2(2000)IDE软件、XDS510仿真器、EXP-IV DSP实验箱3.实验要求l 熟悉GPIO模块的功能原理l 会利用SPRC097中的工程环境建立或打开工程l 实现GPIO模块的驱动编程4. 实验内容(1) 安装硬件驱动到C:ti。双击选择安装路径为C:ti,点击lnstall如图(3-1)所示图(3-1)(2) 使用硬件安装向导安装设备驱动如图(3-2)a、b、c所示图(3-2)a图(3-2)b图(3-3)c(3) CCS硬件仿真环境的设置选择 (4)建立GPIO模块的工程如图(3-3)所示图(3-3)(5)主要程序代码 #include DSP281x_Device.h / DSP281x Headerfile Include File#include DSP281x_Examples.h / DSP281x Examples Include File#define EXAMPLE1 1 / Use DATA registers to toggle I/Os#define EXAMPLE2 0 / Use SET/CLEAR registers to toggle I/Os#define EXAMPLE3 0 / Use TOGGLE registers to toggle I/Os/ Prototype statements for functions found within this file.void delay_loop(void);void Gpio_select(void);void Gpio_example1(void);void Gpio_example2(void);void Gpio_example3(void);void main(void)/ Step 1. Initialize System Control:/ PLL, WatchDog, enable Peripheral Clocks/ This example function is found in the DSP281x_SysCtrl.c file. InitSysCtrl(); / Step 2. Initalize GPIO: / This example function is found in the DSP281x_Gpio.c file and/ illustrates how to set the GPIO to its default state./ InitGpio(); / Skipped for this example / For this example use the following configuration: Gpio_select(); / Step 3. Clear all interrupts and initialize PIE vector table:/ Disable CPU interrupts DINT;/ Initialize PIE control registers to their default state./ The default state is all PIE interrupts disabled and flags/ are cleared. / This function is found in the DSP281x_PieCtrl.c file. InitPieCtrl();/ Disable CPU interrupts and clear all CPU interrupt flags: IER = 0x0000; IFR = 0x0000;/ Initialize the PIE vector table with pointers to the shell Interrupt / Service Routines (ISR). / This will populate the entire table, even if the interrupt/ is not used in this example. This is useful for debug purposes./ The shell ISR routines are found in DSP281x_DefaultIsr.c./ This function is found in DSP281x_PieVect.c. InitPieVectTable();/ Step 4. Initialize all the Device Peripherals:/ This function is found in DSP281x_InitPeripherals.c/ InitPeripherals(); / Not required for this example/ Step 5. User specific code:#if EXAMPLE1 / This example uses DATA registers to toggle I/Os Gpio_example1();#endif / - EXAMPLE1#if EXAMPLE2 / This example uses SET/CLEAR registers to toggle I/Os Gpio_example1(); #endif#if EXAMPLE3 / This example uses TOGGLE registers to toggle I/Os Gpio_example3(); #endif void delay_loop() short i; for (i = 0; i 1000; i+) void Gpio_example1(void) / Example 1: / Toggle I/Os using DATA registers / Note: When using the DATA reigsters, input values / may be lost. If there are inputs on the port then / use the CLEAR/SET/TOGGLE registers instead. while(1) GpioDataRegs.GPADAT.all =0xAAAA; GpioDataRegs.GPBDAT.all =0xAAAA; GpioDataRegs.GPDDAT.all =0x0022; GpioDataRegs.GPEDAT.all =0x0002; GpioDataRegs.GPFDAT.all =0xAAAA; GpioDataRegs.GPGDAT.all =0x0020; delay_loop(); GpioDataRegs.GPADAT.all =0x5555; GpioDataRegs.GPBDAT.all =0x5555; GpioDataRegs.GPDDAT.all =0x0041; / Four I/Os only GpioDataRegs.GPEDAT.all =0x0005; / ThreeI/Os only GpioDataRegs.GPFDAT.all =0x5555; GpioDataRegs.GPGDAT.all =0x0010; / Two I/Os only delay_loop(); void Gpio_example2(void) / Example 2: / Toggle I/Os using SET/CLEAR registers while(1) GpioDataRegs.GPASET.all =0xAAAA; GpioDataRegs.GPACLEAR.all =0x5555; GpioDataRegs.GPBSET.all =0xAAAA; GpioDataRegs.GPBCLEAR.all =0x5555; GpioDataRegs.GPDSET.all =0x0022; GpioDataRegs.GPDCLEAR.all =0x0041; / Four I/Os only GpioDataRegs.GPESET.all =0x0002; GpioDataRegs.GPECLEAR.all =0x0005; / ThreeI/Os only GpioDataRegs.GPFSET.all =0xAAAA; GpioDataRegs.GPFCLEAR.all =0x5555; GpioDataRegs.GPGSET.all =0x0020; GpioDataRegs.GPGCLEAR.all =0x0010; / Two I/Os only delay_loop(); GpioDataRegs.GPACLEAR.all =0xAAAA; GpioDataRegs.GPASET.all =0x5555; GpioDataRegs.GPBCLEAR.all =0xAAAA; GpioDataRegs.GPBSET.all =0x5555; GpioDataRegs.GPDCLEAR.all =0x0022; GpioDataRegs.GPDSET.all =0x0041; / Four I/Os only GpioDataRegs.GPECLEAR.all =0x0002; GpioDataRegs.GPESET.all =0x0005; / ThreeI/Os only GpioDataRegs.GPFCLEAR.all =0xAAAA; GpioDataRegs.GPFSET.all =0x5555; GpioDataRegs.GPGCLEAR.all =0x0020; GpioDataRegs.GPGSET.all =0x0010; / Two I/Os only delay_loop(); void Gpio_example3(void) / Example 2: / Toggle I/Os using TOGGLE registers / Set pins to a known state GpioDataRegs.GPASET.all =0xAAAA; GpioDataRegs.GPACLEAR.all =0x5555; GpioDataRegs.GPBSET.all =0xAAAA; GpioDataRegs.GPBCLEAR.all =0x5555; GpioDataRegs.GPDSET.all =0x0022; GpioDataRegs.GPDCLEAR.all =0x0041; / Four I/Os only GpioDataRegs.GPESET.all =0x0002; GpioDataRegs.GPECLEAR.all =0x0005; / ThreeI/Os only GpioDataRegs.GPFSET.all =0xAAAA; GpioDataRegs.GPFCLEAR.all =0x5555; GpioDataRegs.GPGSET.all =0x0020; GpioDataRegs.GPGCLEAR.all =0x0010; / Two I/Os only / Use TOGGLE registers to flip the state of / the pins. / Any bit set to a 1 will flip state (toggle) / Any bit set to a 0 will not toggle. while(1) GpioDataRegs.GPATOGGLE.all = 0xFFFF; GpioDataRegs.GPBTOGGLE.all = 0xFFFF; GpioDataRegs.GPDTOGGLE.all = 0xFFFF; GpioDataRegs.GPETOGGLE.all = 0xFFFF; GpioDataRegs.GPFTOGGLE.all = 0xFFFF; GpioDataRegs.GPGTOGGLE.all = 0xFFFF; delay_loop(); void Gpio_select(void) Uint16 var1; Uint16 var2; Uint16 var3; var1= 0x0000;/ sets GPIO Muxs as I/Os var2= 0xFFFF;/ sets GPIO DIR as outputs var3= 0x0000;/ sets the Input qualifier values 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;/ GPIO PORTs as output GpioMuxRegs.GPBDIR.all=var2; / GPIO DIR select GPIOs as output GpioMuxRegs.GPDDIR.all=var2; GpioMuxRegs.GPEDIR.all=var2; GpioMuxRegs.GPFDIR.all=var2; GpioMuxRegs.GPGDIR.all=var2; GpioMuxRegs.GPAQUAL.all=var3; / Set GPIO input qualifier values GpioMuxRegs.GPBQUAL.all=var3; GpioMuxRegs.GPDQUAL.all=var3; GpioMuxRegs.GPEQUAL.all=var3; EDIS; 5. 问题与分析功能引脚与高低电平的设置:GPIO管教的设置可以设置为功能引脚GpioMuxRegs.GPxMUX.all=0xffff,当配置为功能引脚,也可以设置为通用输入输出管脚GpioMuxRegs.GPxMUX.all=0x0000,GpioMuxRegs.GPxDIR.all=0x0000设置对应管脚为输入引脚,GpioMuxRegs.GPxDIR.all=0xffff设置对应引脚为输出引脚。档位输出引脚时,可以通过GpioDataRegs.GPxDAT.all=0x0000与GpioDataRegs.GPxDAT.all=0xffff设置对应引脚输出为低电平或为高电平,也可以用pioDataRegs.GPxCLEAR.all=0xffff与GpioDataRegs.GPxSET.all=0xffff设置对应管脚为低电平或为高电平。实验四 外部中断的应用1.实验目的掌握中断服务程序的编写方法;掌握外部中断的驱动与测试方法;熟悉工程的编译、下载与调试方法。2.实验设备PC机、CCS 2(2000)IDE软件、XDS510、EXP-IV DSP实验箱3.实验要求l 熟悉外部中断XINT1、XINT2的功能原理l 将工程环境设置为硬件仿真调试环境l 会利用SPRC097中的工程环境建立或打开工程l 实现外部中断的应用编程4. 实验内容(1)配置硬件仿真环境(2)建立外部中断的工程如图(4-1)所示图(4-1)(2)主要程序代码 /FILE: Led_Int.c/TITLE: DSP281x 外部中断测试程序 #include DSP281x_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏扬州人才集团下属企业招聘6人笔试备考试题及完整答案详解1套
- 2025江苏扬州中国大运河博物馆招聘4人笔试备考题库参考答案详解
- 2025年鄂尔多斯市公务员考试行测试卷历年真题及答案详解(名师系列)
- 2025年人教部编版语文四年级下册第三次月考测试题附答案(共4套)
- 河南省2024-2025学年高一下学期4月联考数学试题(含解析)
- 湖北省随州市部分高中2024-2025学年高二下学期3月月考物理试题(解析版)
- 陕西省安康市2024-2025学年高二下学期期中联考数学试卷(解析版)
- 如何进行房地产项目的价值评估
- 护理工作中的沟通技巧
- 元旦奇遇记幼儿故事时间
- 【市调】楼盘调查表(住宅)
- 回购商铺方案
- 建筑工程专项施工方案编写培训讲义危险性较大工程施工方案编制
- 01-BUFR格式应用指南(试用版)
- 固定式升降机安全操作规程
- 锅炉二十五项反措及事故预防-课件
- GB/T 42597-2023微机电系统(MEMS)技术陀螺仪
- 2023-2024学年浙江省余姚市小学语文六年级期末高分通关考试题附参考答案和详细解析
- 2023年中国化学奥林匹克竞赛浙江省预赛试题及参考答案
- RB/T 089-2022绿色供应链管理体系要求及使用指南
- 新媒体运营:微信公众号运营教学课件
评论
0/150
提交评论