实验
2.4
外中?/p>
一.实验目?/p>
1
.通过实验熟悉
VC5509A
的中断响应过程?/p>
2
.学?/p>
C
语言中断程序设计,以及运用中断程序控制程序流程?/p>
二.实验设备
计算机,
ICETEK-VC5509-A
实验箱及电源?/p>
三.实验原理
1
.中断及中断处理过程?/p>
⑴中断简介:中断是一种由硬件或软件驱动的信号?/p>
DSP
在接到此信号时,将当前程序悬
挂起来,
转去执行另外一个任务,
这个任务我们称为中断服务程序
(ISR)
?/p>
TMS320C55x DSP
可支?/p>
32
?/p>
ISR
,可由硬件或软件触发?/p>
?/p>
DSP
处理中断的步骤:
①接收中断请?/p>
:
由软件或硬件发出?/p>
②响应中断请?/p>
:
对于可屏蔽中断,需要满足若干条件,才发生响应;而对于不可屏蔽中断,
则立即响应?/p>
③准备执行中断服务程序?/p>
-
完成当前正在执行的指令;将进入流水线但还未解码的指令清除?/p>
-
自动保存若干寄存器的值到数据堆栈和系统堆栈?/p>
-
取得用户定义的中断向量表中当前中断向量,中断向量指向中断服务程序入口?/p>
④执行中断服务程序?/p>
中断服务程序包含中断返回指令?/p>
这样返回时可以出栈以前保存的?/p>
键寄存器数据,从而恢复中断服务程序执行前的现场?/p>
⑶中断向量表?/p>
中断向量表的构成请参?/p>
TI
的文?/p>
sprs295d.pdf
?/p>
3.11
节?/p>
中断向量表的地址可以由用户指定?/p>
⑷外中断?/p>
TMS320C5509
可以响应
INT0-INT4
五个外中断?/p>
2
?/p>
ICETEK-CTR
板的键盘接口?/p>
显示
/
控制模块
ICETEK-CTR
通过接口
P8
连接小键盘,接收小键盘传送的扫描码,并在
每个扫描码结束后保存,同时向
DSP
?/p>
INT2
发送中断信号;?/p>
DSP
读键盘时将扫描码?/p>
到数据总线上。小键盘上每次按下一个键将产?/p>
2
个扫描码?/p>
2
次中断?/p>
3
.程序编?/p>
由一个不含中断处理程序的工程通过改写加入中断处理程序部分大致需要如下操?/p>
(
?/p>
设使?/p>
INT2)
?/p>
?/p>
编制中断服务程序:参见实验程序,编写单独的一个函?/p>
XINT
,此函数使用
interrupt
修饰,没有参数和返回值?/p>
?/p>
构造中断向量表:可以用汇编语言构造,编写一个汇编语言模块程序
vector.asm
?/p>
?/p>
修改链接命令文件:在
MEMORY
小节中开辟单独的地址段用以存放中断向量表;在
SECTIONS
小节中指?/p>
.vectors
段到前步开设的内存段中?/p>
?/p>
主程序中进行初始化设置:定位中断向量表、使能中断、清中断等?/p>
4
.实验程序流程图?/p>