DSP实验报告 11.docx

上传人:b****3 文档编号:27456349 上传时间:2023-07-01 格式:DOCX 页数:26 大小:719.70KB
下载 相关 举报
DSP实验报告 11.docx_第1页
第1页 / 共26页
DSP实验报告 11.docx_第2页
第2页 / 共26页
DSP实验报告 11.docx_第3页
第3页 / 共26页
DSP实验报告 11.docx_第4页
第4页 / 共26页
DSP实验报告 11.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

DSP实验报告 11.docx

《DSP实验报告 11.docx》由会员分享,可在线阅读,更多相关《DSP实验报告 11.docx(26页珍藏版)》请在冰豆网上搜索。

DSP实验报告 11.docx

DSP实验报告11

实验注意事项:

1、电源的开关顺序。

开电源的时候,插上总电源,再打开5v的LED电源,最后才是芯片的3.3v电源。

关电源是要先关芯片电源,5v电源次之。

电后才是总电源。

2、因为人体上有许多静电,应尽量不去触摸实验箱。

否则有可能使某管脚之间短路。

特别是DSP芯片。

3、不玩耍感测技术的实验仪器。

4.课前预习思考题

实验一基础实验

一、实验目的

1.熟悉CCS开发环境;

2.了解DSP54XEVM板的硬件环境;

二、实验内容

1.打开或新建工程文件(.pjt);

2.查看了解工程的文件(.c,.cmd,.asm,.h,.lib等文件格式);

3.编译工程文件;(BUILD),汇编联接后生成DSP的可执行文件(.out);

4.使用FILE菜单中的LOADPROGRAM命令调入可执行文件(.out)

5.程序运行(RUN)或单步运行程序;

6.打开view菜单中的CPURegisters观察DSP54XEVM板存储器值和DSP寄存器值;

7.打开view菜单中的memory,设定要观察的单元地址,观察DSP54X的内存值。

8.打开view菜单中的watchwindows窗口,观察变量值的变化

9.打开debug菜单中的breakpoints在程序中建立断点,观察程序运行到断点是变量值、存储器的变化;

10.在程序的空函数处设置探针,程序运行到探针这个地方,会从计算机上读取正弦波的数据。

经过处理之后,在view菜单中的graph中观看波形。

三、实验要求

打开运行一个小程序,熟悉CCS工程的文件结构,熟悉CCS各个功能的使用,并掌握DSP54X的工程建立、编译方法。

自己编写一个小程序,进一步熟悉DSP的CCS开发平台。

四、实验环境

计算机、DSP仿真器,DSP54XEVM板,CCS软件,EVM54X库文件

五、实验步骤

1.将DSP仿真器与计算机USB口连接好;

2.将DSP仿真器JTAG头插入DSP5416EVM板JTAG上;

注意:

千万不要带电插拨。

3.打开计算机电源,当计算机启动完毕后,打开电源仿真器和DSP54XEVM板电源,板上3.3V、1.8V电源指示灯均亮,若不亮,请立即关闭EVM板电源,检查连线和电源电压;(注意电源的开关顺序)。

4.双击桌面上CCS图标,进入CCS操作环境;

 

5.新建工程文件(.pjt)

 

工程文件名及路径(文件名和路径可任意命名,但必须是唯一的)

按鼠标确定

 

已新建一个名为a.pjt的工程文件,路径为E:

\a\

 

添加源文件到工程中(源文件可为*.c,*.cmd,*.s,……)

 

添加c文件到工程中

添加源文件完毕

添加其他源文件到工程中,可重复上述步骤。

若想从工程中移出一个源文件,

 

若想了解一个源文件的属性,

按鼠标右键确定

 

6.新建源文件

 

已创建一个未命名的源文件

 

编写源程序并保存

 

保存源程序名为a.c,路径为E:

\a\

创建其他源程序(*.s,*.cmd……),可重复上述步骤,

 

7.编译(Build)文件,产生一个名为a.out的可执行文件

在Build程序前的option设置

 

选中“LoadProgramAfterBu”,编译后,执行文件自动装载到EVM板上的程序区。

 

 

8.装载(load)可执行文件(*.out)

 

9.观察CPU寄存器

CPU各寄存器的值

 

10.调试(debug)

 

按F5运行,F8单步运行且进入子程序中,F9设置断点,F10单步运行,

按F9设置断点,按F5运行到该行

 

按F10单步运行到下一行

更多的内容详见帮助文件。

(用鼠标双击“Help”)

 

六、问题与思考:

1、自己写一个程序,在stdout窗口输出“Hello World”,应该注意什么问题?

2、写一个工程,实现产生一个方波的程序,并在图形观察窗口观察这个图形。

(你可以实现把这个方波的数据存储到fanbo.dat的文件中吗?

3、总结CCS的工程文件和C/C++工程文件结构的不同。

 

实验四定时器及中断实验

一、实验目的

1.熟悉CCS开发环境;

2.熟悉DSP54XEVM板的硬件环境;

3.了解DSP54X定时器工作原理;

4.了解DSP54X中断原理及中断向量表建立;

5.了解数码LED显示原理(动态扫描);

6.掌握键盘扫描原理;

7.掌握DSP54XI/O寻址方式;

8.掌握长整型数的运算;

9.掌握中断优先级设置;

11.掌握全局变量、局部变量的概念。

二、实验内容

1.DSP初始化;

2.定时器0初始化;

3.中断寄存器初始化;

4.中断向量表;(详见附录B)

5.定时器中断服务程序(LED扫描驱动程序);

6.键盘扫描驱动程序;

7.外部中断1中断服务程序;

三、实验要求

通过定时器启动中断,在中断服务程序中扫描数码LED显示,由扫描键盘得到不同的键值,根据不同的键值完成正计数、倒计数、停止、复位等功能。

外部中断可终止计数。

资源

驱动程序见附录。

键盘I/O地址(0X3FFF);(详见库函数说明)

数码LED的I/O地址:

段地址=0X1FFF,位地址=0X2FFF

A#键=0x01h(正计数),

B#键=0x02h(倒计数),

C#键=0x03h(复位)。

LED显示段码:

0=00H,1=01H,2=02H,3=03H,4=04H,5=05H,6=06H,7=07H,

8=08H,9=09H,A=0AH,B=0BH,C=0CH,D=0DH,E=0EH,F=0FH

空=1FH(详见附录库文件说明)。

注意:

做该实验时,须闭合开关K2,给LED供电。

四、实验环境

计算机、DSP仿真器,DSP54XEVM板,CCS软件,EVM54库文件,

五、实验步骤

1.把程序编译加载到仿真器中(过程见实验1)。

2.对照实验的原理图,了解硬件结构,了解程序的原理和流程。

3.运行程序,观察程序执行的结果(按A正计数,按B倒计数)。

4.自己修改、添加程序,实现按某键时计数停止,按C#键时清除(具体见后面的问题与思考)。

六、实验框图

键盘原理图

C5C4C3C2C1

K1k2k3k4k5

R4

总线R3

R2

R1

K16k17k18k19k20

 

该原理图表示4X5的矩阵键盘,共20个键,各键值的读取方法为:

1.设置第一行为低(R1=0),其它行为高(R2=R3=R4=1),选通一行;

2.读5位列数据,并暂存;

3.延时消抖(100ms);

4.再读5位列数据,并同上次的数据比较,若相同,则为有效键;

5.若5位数据全1,则无键按下;

6.根据行、列关系,确定键值,

7.重复上述过程,可读出所有键值。

DSP由I/O总线寻址方式向CPLD2读写数据,

键盘I/O地址=0X3FFF,

向(0X3FFF)写数据可选通行;

(0X3FFF)=0XFE,选通第一行(R1);

(0X3FFF)=0XFD,选通第二行(R2);

(0X3FFF)=0XFB,选通第三行(R3);

(0X3FFF)=0XF7,选通第四行(R4);

 

读(0X3FFF)为列数据;

(0X3FFF)=0XFE,第一列(C1);

(0X3FFF)=0XFD,第二列(C2);

(0X3FFF)=0XFB,第三列(C3);

(0X3FFF)=0XF7,第四列(C4);

(0X3FFF)=0XEF,第五列(C5)

数码LED显示原理

该原理图表示6位8段数码LED显示原理,为动态扫描显示,扫描频率大于50HZ,在每一时刻,只有1位数码被选通,位地址=0X2FFF,段地址=0X1FFF

位数据=0X20H,0X10H,0X08H,0X04H,0X02H,0X01H,

段数据=0X00H—0X1FH(详见库函数说明)。

 

 

 

 

 

 

七、问题和思考:

1、所提供的程序并不能在计数时实现暂停或清除。

在正计数和倒计数的子程序中加入键盘扫描程序,修改主程序,使其实现在正计数、倒计数时可以自由地暂停和清除。

2、小挑战:

你可以实现按某个健时正计数,再按这个键时倒计数,如此反复的程序吗?

3、想一想还有什么有趣的实验,看自己能不能实现。

 

实验六步进电机控制实验

一、实验目的

1.熟悉CCS开发环境;

2.熟悉DSP54XEVM板的硬件环境;

3.了解步进电机原理;

4.掌握DSP54XI/O寻址方式;

5.掌握DSP54X中断原理;

通过改变I/O总线输出脉冲频率和相位顺序,控制步进电机调速和方向。

二、实验内容

1.DSP初始化;

1.中断控制寄存器初始化;

2.中断向量表;

3.外部中断1服务程序;

4.键盘扫描程序;

5.LCD显示程序;

7.步进电机控制程序;

资源:

(详见库函数说明)

步进电机I/O口地址=0X8FFF,数据的有效位数为D7D6D5D4,向该地址循环写数据0x80,0x40,0x20,0x10,可控制步进电机正转;向该地址循环写数据0x80,0x10,0x20,0x40,可控制步进电机反转。

步进电机为四相四拍,

A->B->C->D->A为正转,其时序为:

1000xxxxb->0100xxxxb->0010xxxxb->0001xxxxb->1000xxxxb,

A->D->C->B->A为反转,其时序为:

1000xxxxb->0001xxxxb->0010xxxxb->0100xxxxb->1000xxxxb,

其中步进电机A相=D7,B相=D6,C相=D5,D相=D4,

1#健=0x01用于控制步进电机正转;

2#健=0x02用于控制步进电机反转;

3#健=0x03用于控制步进电机加速;

4#健=0x04h用于控制步进电机减速;

外部中断按键用于控制步进电机停止。

三、实验要求

扫描键盘,读取不同的健值,根据不同的健值启动步进电机正转、反转、加速、减速,能由外部中断使步进电机停止转动。

并能由LCD显示各任务的状态。

四、实验环境

计算机、DSP仿真器,DSP54XEVM板,CCS软件,EVM54库文件,步进电机。

五、实验步骤

1、将工程在CCS中打开,查看工程文件,理解程序的流程,了解步进电机的控制原理(打开查看的步骤见实验1)。

2、加载并运行程序,按1、2、3、4控制观察步进电机的转动。

3、并没有使步进电机停止转动的按键,修改程序,使步进电机在转动时可以按中断键停止(见问题与思考1)。

六、实验框图

做该实验时,须闭合开关K2,给电机供电。

 

 

 

注:

GPIO.0与EXINT1管脚相连,用于按键消抖,第一次

按键时,进入中断服务程序,再按键时,须查询GPIO.0

状态.可退出中断服务程序.

七、问题与思考:

1、如何实现用外部中断的按键实现步进电机的停止?

(步进电机转动时进入了控制子程序中,可能要在这些子程序中设置状态位,当中断发生时就可以对此状态位进行设置,并跳返回到主程序,使主程序对状态位的判断而进行相应的动作。

)如果不使用外部中断,也可用键盘扫描进行控制。

2、你能增加一个键,使当按下这个键时实现正转加速,再按一次实现正转减速吗?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1