DSP第五次实验
- 格式:doc
- 大小:83.79 KB
- 文档页数:6
汕头大学实验报告学院: 工学院系:电子工程系专业:电子信息工程年级:09 成绩:实验五定时器及中断实验一、实验目的1. 熟悉CCS开发环境2. 熟悉DSP 54X EVM板的硬件环境3. 了解DSP 54X定时器工作原理4. 了解DSP 54X中断原理及中断向量表建立5. 了解数码LED显示原理(动态扫描)6. 掌握键盘扫描原理7. 掌握DSP 54X I/O寻址方式8. 掌握长整型数的运算9. 掌握中断优先级设置10. 掌握全局变量、局部变量的概念二、实验原理1、定时器及中断实验用行扫描法,读取键值;定时器进行不断地刷新LED的显示;使用外部中断来实现功能的切换(正计数,倒计数,复位)。
2、AD/DA实验采用DSP McBSP串口原理设置,TLV2544ID为I/O模式,位操作控制。
构建SPI 协议进行传输。
三、实验内容与基本要求1、定时器及中断实验1 实验内容DSP初始化定时器0初始化中断寄存器初始化中断向量表定时器中断服务程序(LED扫描驱动程序键盘扫描驱动程序外部中断1中断服务程序2 基本要求通过定时器启动中断,在中断服务程序中扫描数码LED显示,由扫描键盘得到不同的键值,根据不同的键值完成正计数、倒计数、停止、复位等功能。
外部中断可终止计数。
2、A/D-D/A 实验实验内容DSP初始化LCD初始化LCD显示驱动A/D 芯片TLV2544初始化;D/A 芯片TLV5638初始化;DSP McBSP串口2初始化为I/O模式;按A/D、D/A芯片时序,用DSP构建SPI协议;基本要求设置串口2为I/O模式,用DSP构建SPI协议:输入直流信号,启动A/D采样,将采样数据显示在LCD上,比较采样数据与计算值应一致;(在EVM板上有3个按键,可分别产生0.8V,1.2V,1.6V直流电压),并修改原来程序,使扩展到可以在CCS观看波形。
四、实验程序框图1、定时器及中断实验初始化主程序DSP初始化调初始化程序定时器0初始化定时器0,外部中断1使能读键值并延时(100ms)消抖是空键?YLCD初始化、设置LCD显示N数码LED显示使能由不同的键值调不同的子程序结束EXIT1中断程序T0中断程序清标志寄存器调LED显示库函数设置LCD显示位码计数器+1结束N计数值=6?Y位码计数器=0结束正计数子程序调延时程序长型计数器+1NN标志寄存器=0?计数值=1000000?YY结束长型计数器=0长型数转换为BCD送显示缓存器2、A/D-D/A 实验主程序初始化程序调初始化程序DSP初始化Mcbsp2初始化读键值并延时(100ms)消抖AD/DA 初始化是空键?YNLCD初始化、设置LCD显示外部中断1使能由不同的键值调不同的子程序结束ADC程序DAC程序调LCD显示库函数调LCD显示库函数清DA输出值=0,启动ADC, 采样4次, 取平均值启动DAC结果转换为浮点数送显示缓存器调延时子程序设置LCD显示DA输出值+1调延时子程序N输出值=4096N标志寄存器=0?Y标志寄存器=0?YNY结束结束注:当输入为直流信号时:EXIT1中断程序AI=VCC*R0/(R0+RZ其中RZ=R1+R2+R3+R4S1按键:RZ=R1,AI= VCC*R0/(R0+R1清标志寄存器S2按键:RZ=R1+ R2,AI= VCC*R0/(R0+R1+R2设置LCD显示S3按键:RZ=R1+ R2+R3,AI= VCC*R0/(R0+R1+R2+R3结束五、问题1.请解释C54定时器初始化步骤,并解释定时器中断在该实验中的作用。
dsp原理与应用实验报告总结DSP(Digital Signal Processing)数字信号处理是利用数字技术对信号进行处理和分析的一种方法。
在本次实验中,我们探索了DSP的原理和应用,并进行了一系列实验以验证其在实际应用中的效果。
以下是对实验结果的总结与分析。
实验一:数字滤波器设计与性能测试在本实验中,我们设计了数字滤波器,并通过性能测试来评估其滤波效果。
通过对不同类型的滤波器进行设计和实现,我们了解到数字滤波器在信号处理中的重要性和应用。
实验二:数字信号调制与解调本实验旨在通过数字信号调制与解调的过程,了解数字信号的传输原理与方法。
通过模拟调制与解调过程,我们成功实现了数字信号的传输与还原,验证了调制与解调的可行性。
实验三:数字信号的傅里叶变换与频谱分析傅里叶变换是一种重要的信号分析方法,可以将信号从时域转换到频域,揭示信号的频谱特性。
本实验中,我们学习了傅里叶变换的原理,并通过实验掌握了频谱分析的方法与技巧。
实验四:数字信号的陷波滤波与去噪处理陷波滤波是一种常用的去除特定频率噪声的方法,本实验中我们学习了数字信号的陷波滤波原理,并通过实验验证了其在去噪处理中的有效性。
实验五:DSP在音频处理中的应用音频处理是DSP的一个重要应用领域,本实验中我们探索了DSP在音频处理中的应用。
通过实验,我们成功实现了音频信号的降噪、均衡和混响处理,并对其效果进行了评估。
实验六:DSP在图像处理中的应用图像处理是另一个重要的DSP应用领域,本实验中我们了解了DSP在图像处理中的一些基本原理和方法。
通过实验,我们实现了图像的滤波、边缘检测和图像增强等处理,并观察到了不同算法对图像质量的影响。
通过以上一系列实验,我们深入了解了DSP的原理与应用,并对不同领域下的信号处理方法有了更深刻的认识。
本次实验不仅加深了我们对数字信号处理的理解,也为日后在相关领域的研究与实践提供了基础。
通过实验的结果和总结,我们可以得出结论:DSP作为一种数字信号处理的方法,具有广泛的应用前景和重要的实际意义。
北京邮电大学电子工程学院电子实验中心<数字信号处理实验>实验报告班级: xxx学院: xxx实验室: xxx 审阅教师:姓名(班内序号): xxx 学号: xxx 实验时间: xxx评定成绩:目录一、常规实验 (3)实验一常用指令实验 (3)1.试验现象 (3)2.程序代码 (3)3.工作原理 (3)实验二数据储存实验 (4)1.试验现象 (4)2.程序代码 (4)3.工作原理 (4)实验三I/O实验 (5)1.试验现象 (5)2.程序代码 (5)3.工作原理 (5)实验四定时器实验 (5)1.试验现象 (5)2.程序代码 (6)3.工作原理 (9)实验五INT2中断实验 (9)1.试验现象 (9)2.程序代码 (9)3.工作原理 (13)实验六A/D转换实验 (13)1.试验现象 (13)2.程序代码 (14)3.工作原理 (18)实验七D/A转换实验 (19)1.试验现象 (19)2.程序代码 (19)3.工作原理 (37)二、算法实验 (38)实验一快速傅里叶变换(FFT)算法实验 (38)1.试验现象 (38)2.程序代码 (38)3.工作原理 (42)实验二有限冲击响应滤波器(FIR)算法实验 (42)1.试验现象 (42)2.程序代码 (42)3.工作原理 (49)实验三无限冲击响应滤波器(IIR)算法实验 (49)1.试验现象 (49)2.程序代码 (49)3.工作原理 (56)作业设计高通滤波器 (56)1.设计思路 (56)2.程序代码 (57)3.试验现象 (64)一、常规实验实验一常用指令实验1.试验现象可以观察到实验箱CPLD右上方的D3按一定频率闪烁。
2.程序代码.mmregs.global _main_main:stm #3000h,spssbx xf ;将XF置1,D3熄灭call delay ;调用延时子程序,延时rsbx xf ;将XF置0,D3点亮call delay ;调用延时子程序,b _main ;程序跳转到"_MAIN"nopnop;延时子程序delay:stm 270fh,ar3 ;将0x270f(9999)存入ar3loop1:stm 0f9h,ar4 ;将0x0f9(249)存入ar4loop2:banz loop2,*ar4- ;*ar4自减1,不为0时跳到loop2的位置banz loop1,*ar3- ;*ar3自减1,不为0时跳到loop1的位置ret ;可选择延迟的返回nopnop.end3.工作原理主程序循环执行:D3熄灭→延时→D3点亮→延时。
[《DSP原理及应用》课程实验报告](软、硬件实验)实验名称:[《DSP原理及应用》实验]专业班级:[ ]学生姓名:[ ]学号:[ ]指导教师:[ ]完成时间:[ ]目录第一部分.基于DSP系统的实验 (1)实验3.1:指示灯实验 (1)实验3.2:DSP的定时器 (3)实验3.5 单路,多路模数转换(AD) (5)第二部分.DSP算法实验 (13)实验5.1:有限冲击响应滤波器(FIR)算法实验 (13)实验5.2:无限冲激响应滤波器(IIR)算法 (17)实验5.3:快速傅立叶变换(FFT)算法 (20)第一部分.基于DSP系统的实验实验3.1:指示灯实验一.实验目的1.了解ICETEK–F2812-A评估板在TMS320F2812DSP外部扩展存储空间上的扩展。
2.了解ICETEK–F2812-A评估板上指示灯扩展原理。
1.学习在C语言中使用扩展的控制寄存器的方法。
二.实验设备计算机,ICETEK-F2812-A实验箱(或ICETEK仿真器+ICETEK–F2812-A系统板+相关连线及电源)。
三.实验原理1.TMS320F2812DSP的存储器扩展接口存储器扩展接口是DSP扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。
-ICETEK–F2812-A评估板在扩展接口上除了扩展了片外SRAM外,还扩展了指示灯、DIP开关和D/A设备。
具体扩展地址如下:C0002-C0003h:D/A转换控制寄存器C0001h:板上DIP开关控制寄存器C0000h:板上指示灯控制寄存器详细说明见第一部分表1.7。
-与ICETEK–F2812-A评估板连接的ICETEK-CTR显示控制模块也使用扩展空间控制主要设备:108000-108004h:读-键盘扫描值,写-液晶控制寄存器108002-108002h:液晶辅助控制寄存器2.指示灯扩展原理3.实验程序流程图开始初始化DSP时钟正向顺序送控制字并延时四.实验步骤1.实验准备连接实验设备:请参看本书第三部分、第一章、二。
《DSP原理及应用》实验指导书杨宣兵编写适用专业:电子信息工程_电子科学与技术信息工程通信工程信息与通信工程学院2013 年 5 月前言《DSP原理与应用》是电子信息类专业信号与信息处理方向的一门专业必修课,同时也是其他电类专业的一门重要的选修课。
课程以DSP芯片原理及基于DSP 芯片的应用系统开发为主要内容,介绍了DSP芯片原理与开发工具及软硬件开发方法。
开设必要的课程实验,使学生加深对DSP原理与片上资源应用的掌握,掌握DSP项目开发流程、开发方法、开发平台CCS的基本使用、DSP对外设控制方法以及经典数字信号处理算法的DSP工程实现等。
培养学生将数字信号处理理论应用到实际项目中的工程意识与工程开发能力。
通过本课程实验,提高学生分析问题、解决问题的能力和基于DSP的嵌入式系统开发的实际动手能力,为学生步入社会奠定工程开发基础。
对不同专业根据实验教学大纲进行实验项目选择。
实验项目设置与内容提要目录实验一基本算术运算的DSP实现 (1)实验二数字振荡器的设计与实现 (9)实验三 BSP 串口通信实现 (16)实验四 FIR 数字滤波器设计与实现 (25)实验五 TMS320VC5402 的Bootloader设计与实现 (34)实验六快速傅立叶变换(FFT)的实现 (45)实验七外部中断、按键、LED控制实验 (67)实验八双音多频DTMF信号产生 (70)实验九双音多频DTMF信号解码 (76)附录一DES5402PP-U性能介绍 (82)附录二CCS驱动程序的安装 (83)附录三DES5402PP-U功能详细介绍 (87)附录四DES5402PP-U板上设置、状态显示、跳线一览表 (93)实验一: 基本算术运算的DSP 实现实验学时:4 实验类型:验证实验要求:必修 一、实验目的1、掌握CCS 的配置与基本使用方法;2、掌握C54X 汇编语言程序结构,掌握基于CCS 开发平台Simulator 采用汇编指令完成16位定点加减乘除运算程序设计并对运算结果进行评价; 二、实验内容本实验学习使用定点DSP 实现16位定点加、减、乘、除运算的基本方法和编程技巧。
一、实验原理:1、无限冲击响数字滤波器的基础理论;2、模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器);3、双线性变换的设计原理。
二、实验内容:1、复习有关巴特沃斯滤波器设计和用双线性变换法设计IIR数字滤波器的知识;2、阅读本实验所提供的样例子程序;3、运行CCS软件,对样例程序进行跟踪,分析结果;4、填写实验报告。
5、样例程序实验操作说明1)正确完成计算机、DSP仿真器和实验箱连接后,开关K9拨到右边,即仿真器选择连接右边的CPU:CPU2;2)“A/D转换单元”的拨码开关设置:JP33)检查:计算机、DSP仿真器、实验箱是否正确连接,系统上电;4)置拨码开关S23的1、2拨到OFF,用示波器分别观测模拟信号源单元的2号孔“信号源1”和“信号源2”输出的模拟信号,分别调节信号波形选择、信号频率、信号输出幅值等旋钮,直至满意,置拨码开关S23的1到ON,两信号混频输出;三、程序分析:cpu_init(); //CPU初始化fs = 25000; //设置采样频率为2500HZnlpass = 0.18; //设置通带上限频率归一化参数为0.18nlstop = 0.29; //设置阻带下限截止频率归一化参数为0.29biir2lpdes(fs,nlpass,nlstop,a,b); 根据双线性变换法求滤波器的系数a和bset_int(); //调用低通滤波器子程序对信号进行滤波中断程序注释:interrupt void int1(){in_x[m] = port8002; //读取port8002端口的数值in_x[m] &= 0x00FF; //取后八位送入X[m]m++; //每取一个数字m加1intnum = m;if (intnum == Len) //当取到128个字节时,重新读取port8002端口的数值{intnum = 0;xmean = 0.0;for (i=0; i<Len; i++) //将128个字节的数加起来求和{xmean = in_x[i] + xmean;}xmean = 1.0*xmean/Len; //求平均数for (i=0; i<Len; i++){x[i] = 1.0*(in_x[i] - xmean); //做归一化处理}for (i=0; i<Len; i++){w2 = x[i]-a[1]*w1-a[2]*w0;y[i] = b[0]*w2+b[1]*w1+b[2]*w0; //将a和b 数组代入,求出y,实现滤波的处理w0 = w1;w1 = w2;}m=0;flag = 1; //中断返回时会检测flag是否等于1,如果等于1,则在断点处画图}四、实验运行结果:1、从由图可知,输入波形有很多毛刺,但是经过FIR滤波器后,波形变得平滑,毛刺也少了很多,原因是滤波器滤去了某些频率的波形。
DSP芯片应用技术第五次实验报告:ePWM输出实验胡恒2016329600013 指导老师:严利平一·实验前准备ePWM模块的理论学习和电路图知识:ePWM模块又叫做增强型脉冲宽度调制,尤其是它的外设,拥有可编程程度高,灵活高,便于理解和应用等优点。
模块中每个完整的PWM通道都是由两个PWM输出组成的,即ePWMxA和ePWMxB。
多个模块会集成在一个器件中,具体如图所示:从图中可以看出,输出的xA或者xB都与外界的GPIO相连,其余的输出可以与AD模块,eCAP模块相连。
ePWM模块总共分为7个模块,分别为时间基准模块,技术比较器模块,动作限定模块,死区控制模块,斩波模块,错误控制模块和事件触发模块等。
模块的连接大致如此。
时基模块与计数模块比较,再根据结果确定输出的到底是CMPA还是CMPB波,也可以不经过计数比较,直接到达动作限定模块来触发事件与中断,主要就是AD模块。
通过死区之后再通过斩波和错误控制,最后到达输出端,输出的波形可以用示波器来检测。
分模块来讲,时基模块最重要。
通过寄存器与逻辑门电路的比较来决定输出的信号波形来控制下一个模块。
PWM周期与频率的计算主要有三种方式,分别为递增计数,递减计数,还有递增递减计数。
前两个的周期分别为T=(TBPRD+1)*TBCLK,F=1/T。
后者的T=2*TBPRD*TBCLK,F=1/T。
时间计数达到周期值TBPRD时,计数器会清空,然后再重复。
递增计数递减计数递增递减计数从图中的波形可以看出,每当计数完成的时候,SYNCI总会来一个脉冲,然后计数脉冲就会发生类似“抖动”,继续重复。
比较功能子模块主要通过CMPA和CMPB主寄存器中的值不断的与世间基准计数器TBTCR相比较,值相等时,A和B才会产生比较独立的两个事件。
供事件的独立控制。
二·实验内容本次实验主要是为了理解在EPWM模块中一些子模块的原理,可以在例程中进行一定的修改来达到目的。
电子科技大学电子工程学院标准实验报告(实验)课程名称DSP技术实验题目图像阈值化1.实验目的1)进一步掌握AZURE-BF609开发平台的使用;2)进一步掌握CCES调试方法;3)了解BF609 DSP在图像、视频处理领域的应用;4)了解图像直方图计算、阈值化方法及意义;5)掌握利用PVP进行图像阈值化的方法。
2.实验内容1)加载原始图片,并在液晶屏幕上显示;2)生成16阶灰值直方图,并在液晶屏幕上显示;3)手工设置二值化阈值,生成阈值化图片,并在液晶屏幕上显示(三组数据);4)设计自适应阈值计算程序,生成阈值化图片,并在液晶屏幕上显示;5)将各步骤生成结果图片以PGM格式保存到磁盘文件中。
3.实验环境1)预装开发环境Cross Core Embedded Studio 1.0.2的计算机;2)BF609开发板一套;AZURE-BF609开发板上带有一片BF609 DSP和一个4.3寸480*272点阵24bit的真彩液晶屏,本实验主要利用BF609的PVP模块进行图像阈值化的处理,并在液晶屏上显示处理前后的结果。
3)ADDS HPUSB-ICE仿真器一套。
4.实验原理1)图像二值化图像二值化是图像处理的基本技术,也是图像处理中一个非常活跃的分支,其应用领域非常广泛,特别是在图像信息压缩、边缘提取和形状分析等方面起着重要作用,成为其处理过程中的一个基本手段。
二值化的目的是将上步的图像增强结果转换成二值图像,从而能得到清晰的边缘轮廓线,更好地为边缘提取、图像分割、目标识别等后续处理服务。
选取合适的分割阈值可以说是图像二值化的重要步骤,过高的阈值会导致一些真实边缘的丢失,过低的阈值又会产生一些无谓的虚假边缘。
在一些简单的图像中,物体的灰度分布比较有规律,背景与各个目标在图像的直方图各自形成一个波峰,即区域与波峰一一对应,每两个波峰之间形成一个波谷。
那么,选择双峰之间的波谷所代表的灰度值T作为阈值,即可实现两个区域的分割。
DSP 第五次实验1.实验目的:(1)进一步熟悉matlab 实验环境和语言。
(2)掌握求序列圆周翻褶的MATLAB 方法。
(3)掌握求序列DFT 及IDFT 矩阵的MATLAB 方法。
(4)掌握用MATLAB 求解用圆周卷积计算线性卷积的时域的方法。
(5)掌握用FFT 计算有限长序列的线性卷积和线性相关的方法。
2.实验内容及总结:1.圆周翻褶【例3.27】 已知()[2,3,4,5,6],8X n N ==,求x(n)的8点圆周翻褶序列88(())()x n R n -。
代码:clc;clear allx=[2,3,4,5,6];N=8;x=[x,zeros(1,N-length(x))];nx=0:N-1y=x(mod(-nx,N)+1);subplot(121),stem([0:N-1],x);title('原序列');xlabel('n');ylabel('x(n)');grid;subplot(122),stem([0:N-1],y);title('圆周翻褶序列');xlabel('n');ylabel('x((n))8 R8(n)');grid;结果:总结:对于圆周翻褶(0),0()(())()(),11N Nx ny n x n R nx N n n N==-=⎨-≤≤-MA TLAB可用y=x(mode(-nx,N)+1)求得。
因此,要求X(n)=[2,3,4,5,6],N=8的8点圆周翻褶序列,要先将x(n)补零到8点长度再求圆周翻褶。
x=[x,zeros(1,N-length(x))];nx=0:N-1 %x补零到8点长y=x(mod(-nx,N)+1); %圆周翻褶从一开始,因此得到8点长%序列,应该再加一2.DFT矩阵,IDFT矩阵【例3.29】已知N=4的DFT矩阵w4,求IDFT矩阵w4I。
【心得体会】dsp实验心得体会
在进行DSP实验的过程中,我深刻体会到了理论知识与实际操
作的结合是非常重要的。
通过实验,我不仅加深了对数字信号处理
理论知识的理解,还学会了如何将这些理论知识应用到实际的项目
中去。
在实验中,我发现了理论知识和实际操作之间的差距。
有时候,理论上的方法并不能完全解决实际问题,需要我们根据实际情况进
行调整和改进。
这让我意识到了理论知识只是一个基础,真正的能
力还需要通过实践来培养和提高。
另外,通过实验,我也学会了团队合作的重要性。
在实验中,
我们需要与同伴共同讨论、合作,才能更好地完成实验任务。
团队
合作不仅可以提高工作效率,还可以让我们从不同的角度去思考问题,拓宽自己的视野。
总的来说,通过DSP实验,我不仅学到了理论知识,还学会了
如何将理论知识应用到实际项目中去,以及团队合作的重要性。
这
些都是我在未来工作和学习中会继续努力的方向。
希望通过不断的
实践和学习,我可以不断提高自己的能力,为将来的发展打下坚实的基础。
一.实验目的
1.掌握DSP 控制直流电机的方法。
2.进一步熟悉用C 语言编制中断程序的流程和方法。
3.掌握LF2407 DSP 的通用I/O 管脚产生不同占空比的PWM 信息方法。
4.掌握LF2407 DSP 的通用I/O 管脚的控制方法。
二.实验主要仪器设备
计算机, 试验箱
三.实验原理
1.TMS320LF2407DSP 的通用I/O 引脚。
1)TMS320LF2407DSP 有40个通用I/O 引脚。
2)大部分的I/0引脚是基本功能和一般I/O 的复用引脚,控制此引脚到底什么功能,可
用两类控制寄存器来控制。
a ,I/O 复用控制寄存器(MCRx ):用来选择I/O 引脚的片内外设功能还是通用I/O 功
能.
b ,数据方向控制寄存器(PxDATDIR ):用来控制双向I/O 引脚的数据和数据传送方向。
2.直流电机控制。
使用全控制的开关功率元件进行脉宽调制的控制方式对直流电机进行调速。
1)PWM 调压调速的原理
直流电动机转速n 的表达式:n=
K -U IR u-电枢端电压,I-电枢电流,R-电枢电路总电阻,Φ-每极磁通量,K-电动机结构参数
2)PWM 调压原理图。
Ui Uo Us GND Ui
D1 D2 t t 0
电动机的电枢绕组两端的电压平均值u 。
为
u 。
=)1(0
1211s s s U U T
t t t u t α==++ 由式1可以得出PWM 调速方法:(α-占空比,通过改变α大小,从而改变u 。
值达到控制n )
1) 定宽调频法:t1不变,t2变,周期T 随之改变。
2) 调宽调频法:t1变,t2不变,周期T 随之改变。
3) 定频调宽法:t1,t2都变,周期T 不变。
选择第三种方法的原因,若频率改变,当控制其频率与系统的固有频率近时,将会引起震荡。
3.ICETEK-CTR 直流电机模块
ICETEK-CTR 即显示-控制模块上直流电机部分的原理图。
PWM-DSP 26号引脚的IOPE5的信号, DIR-DSP 的29号引脚的IOPF4信号。
控制原理:
电动机正转时:IOPF4=1,V4通,V3关,V2关,V1的导通由IOPE5控制。
电动机的反转:IOPF4=0,V2通,V1关,V4关,V3的导通由IOPE5控制。
4.实验程序分析
程序中采用定时器中断产生固定频率的PWM 波,100次中断为一个周期,在每个中断根据当前占空比判断应输入波形的高低电平。
主程序用轮询式读入键盘输入,得到转速和方向控制的命令。
PWM AND DIR AND Us
1)主程序框图:
注:在改变电动机方向时为减少电压和电流的波动采用先减速后反转的控制顺序。
源程序框图如下所示:
2)定时器中断服务程序框图。
源程序如下:
#include “2407c.h”
#include”scancode.h”
#define T46Us 0x0800
ioport unsigned int port8000 ioport unsigned int port8001 ioport unsigned int port8002 ioport unsigned int int port8007
void Delay(unsigned int nTime);
char ConvertScanToChar(unsigned char cScanCode ); void interrupt gptime(void);
void gp_init(void);
ioport unsigned int port8001;
unsigned int uWork,nCount,uN,uN1,nCount1=0,nDir; main()
{
char cKey,cOldKey;
unsigned int nScanCode;
unsigned int uWork1,nSpeed;
asm(“setc INTM”);
port8000=0;
port8000=0x80;
port8007=0;
port8007=0x40;
uWork1=port8002;
port8000=1;
uN=40; nCount=nCount1=0;nDir=0;cKey=cOldKey=0;
*WDCR=0x6f;
*WDKEY=0x5555;
*WDKEY=0xaaaa;
*SCSR1=0x81fe;
uWork=(*MCRC);
uWork&=0x0efdf;
(*MCRC)=uWork;
gp_init();
*IMR=0x2;
*IFR=0xffff;
nCount=0;
uWork=(*WSGR);
uWork&=0x0fe3f;
(*WSGR)=uWork;
uWork=(*PFDATDIR);
uWork|=0x1000;
uWork&=0xffef;
(*PFDATAIR)=uWork;
asm(“clrc INTM”);
Delay(128);
*T1PR=T46uS;
nSpeed=T46uS;
for( ; ;)
{if(nCount>16)
{nCount=0;
nScanCode=port8001;
port8000=0;
nScanCode&=0x0ff;
port8001=1;
if(nScanCode!=0)
{if(nScanCode= =SCANCODE_Enter) break;
else
{cKey=ConverScanToChar( nScanCode); if(cKey!=0&&cOldkey!=cKey) {cOldKey=cKey;
switch(cKey)
{case”0”:uN=100;break;
case”1”:uN=90;break;
case”2”:uN=70;break;
case”3”:uN=50;break;
case”4”:uN=30;break;
case”5”:uN=10;break;
case’+’:
uN1=uN;
uN=60;
Delay(128);
uWork1=(*PFDATAIR);
uWork1|=0x0010;
(*PFDATAIR)=uWork1;
*TIPR=nSpeed;
nDir=0;
Delay(128);
uN=uN1;
break;
case’-’:
uN1= uN;
uN=60;
Delay(128);
uWork1=(*PFDATAIR);
uWork1&=0xffef;
(*PFDATDIR)=uWork1;
Delay(128);
*TIPR=nSpeed;
nDir=1;
Delay(128);
uN=uN1;
break;}
}
}
}
}
}
port8000=0x80;
port8000=0;
exit(0);
}
void interrupt gptime1(void);
{
uWork=(*PIVR);
switch(uWork)
{ case 0x27:
{(*EVAIFRA)=0x80;
uWork=(*PEDATAIR);
四.实验内容及步骤
1.实验准备。
1)连接设备
注:查看ICETEK-LF2497-A板上跳线JP6(MP/MC)的位置,应设置在“1-2”位置,即设置DSP工作在MP方式。
2)开启设备
3)设置Code Composer Studio为Emulater方式。
4)启动Code Composer Studio 2.0
2.打开工程并浏览程序。
3.编译并下载程序。
4.运行并观察程序运行结果。
开始运行程序后,电机以中等速度转动,在小键盘上按数字,‘1’-‘5’键将分别控制电机从低速到高速的转动,在小键盘上按‘+’或‘-’键切换电机的转动方向。
5.停止运行。
小键盘按‘Enter’键停止电机转动并退出程序。
六.思考题
本实验程序是如何利用定频实现电动机转速控制的?
七.实验总结。