DSP外部中断实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子信息工程系实验报告

课程名称:现代DSP技术

成绩:

实验项目名称:实验四外部中断实验实验时间:2011-11-22

指导教师(签名):班级:&^^%%$ 姓名:*&% 学号:*****

一、实验目的

1、掌握中断技术,学会对外部中断的处理方法;

2、掌握中断对程序流程的控制,理解DSP对中断的响应时序。

二、实验设备

计算机,CCS 2.0版软件,DSP仿真器,实验箱。

三、实验原理

1. 在DSP中,中断是由硬件或软件产生的驱动信号,要求DSP暂停执行的程序,转到中断

服务子程序的执行。

2. 对于中断程序的设计,一般采用以下步骤:

(1)将中断向量指针IPTR指向中断矢量所在的段,在段中偏移量为中断序号四倍的地指

出写一个跳转到中断服务子程序的跳转指令。

(2)置位ST1中的INTM位,禁止中断,然后清除所以未执行完的中断。

(3)打开相应的中断,复位ST1中的INTM位,使能中断。

(4)写一段等待程序(一般用无效的死循环),等待中断事件的发生。

四、实验步骤与内容

1、拨码开关:SW2

SW2备注

1 2 3 4 码位

ON ON OFF ON 单脉冲产生的中断给CPU2的中断INT2

2、关K9拨到右边,即仿真器选择连接右边的CPU:CPU2;启动CCS 2.0,在Project→Open

菜单打开exp05_cpu2目录下面的工程文件“exp05.pjt”。用下拉菜单中Project-->Open,打

开“exp05_cpu2\ exp05.pjt”,双击“Source”,可查看源程序。在File→Load Program菜单下

加载exp05_cpu2\debug目录下的exp05.out文件。

a)运行实验程序;

b)每按一次“单脉冲输出”按键,观察LED1~LED8灯变化;每按一次“单脉冲输出”按

键则显示灭亮灭亮灭亮灭亮。如下图所示

c)单击“Halt”暂停程序运行,反复按开关“单脉冲输出”,观察LED1~LED8灯变化。

显示不会改变。

五、思考与练习:

1、DSP中断响应的步骤是什么?

(1)将中断向量指针IPTR指向中断矢量所在的段,在段中偏移量为中断序号四倍)的地指出写一个跳转到中断服务子程序的跳转指令。

(2)置位ST1中的INTM位,禁止中断,然后清除所以未执行完的中断。

(3)打开相应的中断,。复位ST1中的INTM位,使能中断。

(4)写一段等待程序(一般用无效的死循环),等待中断事件的发生。

2、编写中断服务子程序,使LED灯能够显示中断次数,即按键次数。

(1)更改全局变量定义

UINT16 show = 0x00;

(2)更改中断2中断子程序

interrupt void ExtInt2()

{

show++;

return;

}

通过编译程序生成的.out文件,再经过加载,run后,分别按一次和八次“单脉冲输出”开关,实验箱上LED灯的情况如下所示:

按一次按八次

六、实验心得

要使用外部中断要从两方面进行准备:首先,在硬件上必须将中断信号引到DSP的外部中断引脚上;其次是在软件上的配置:1.初始外部中断寄存器;2使能cpu INT1中断;

3.编写中断服务程序;4将中断服务程序入口地址赋给中断向量表。

附录

实验部分代码如下:

UINT16 show = 0x00aa; //全局变量定义

interrupt void ExtInt2() //中断2中断子程序

{

// *(unsigned int*)IFR=0xFFFF; //清除所有中断标志,"写1清0" ,这个语句可以省略,响应中断自动清除中断标志

show=(~show)&0x00ff; //显示值取反

return;

}

相关文档
最新文档