外部中断实验报告
班级 姓名 学号 日期
一、实验目的和要求:
1.学习外部中断的技术和基本使用方法
2.学习中断处理程序的编程方法3.
二、实验内容及说明
1.按照书上例4-5,根据电路图在实验箱上面进行连线,用开关控制产生外部中断并用LED灯反映开关状态。
2. 用P1.0连接L0,单脉冲输出接INT0。
三、程序及运行结果
结果:循环给脉冲,L0灯循环灭与亮
四、实验过程中遇到的主要问题
五、实验后的心得体会
第二篇:DSP外部中断实验报告
电子信息工程系实验报告
课程名称:现代DSP技术 实验项目名称:实验四 外部中断实验 实验时间:20##-11-22班级:&^^%%$ 姓名:*&% 学号:*****
一、实验目的
1、掌握中断技术,学会对外部中断的处理方法;
2、掌握中断对程序流程的控制,理解DSP对中断的响应时序。
二、实验设备
计算机,CCS 2.0版软件,DSP仿真器,实验箱。
三、实验原理
1. 在DSP中,中断是由硬件或软件产生的驱动信号,要求DSP暂停执行的程序,转到中断服务子程序的执行。
2. 对于中断程序的设计,一般采用以下步骤:
(1)将中断向量指针IPTR指向中断矢量所在的段,在段中偏移量为中断序号四倍的地指出写一个跳转到中断服务子程序的跳转指令。
(2)置位ST1中的INTM位,禁止中断,然后清除所以未执行完的中断。
(3)打开相应的中断,复位ST1中的INTM位,使能中断。
(4)写一段等待程序(一般用无效的死循环),等待中断事件的发生。
四、实验步骤与内容
1、拨码开关:SW2
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;
}