实验五 定时器中断方式实验.ppt

实验五 定时器中断方式实验.ppt

ID:49174772

大小:785.51 KB

页数:24页

时间:2020-01-31

实验五 定时器中断方式实验.ppt_第1页
实验五 定时器中断方式实验.ppt_第2页
实验五 定时器中断方式实验.ppt_第3页
实验五 定时器中断方式实验.ppt_第4页
实验五 定时器中断方式实验.ppt_第5页
资源描述:

《实验五 定时器中断方式实验.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验五定时器中断方式实验一、实验目的二、实验原理三、实验内容四、实验思考题一、实验目的1.掌握5402DSP中断和中断的处理过程;2.掌握5402DSP中断向量地址的修改;3.学习中断初始化编写方法4.学习中断向量表的编写1.DSP中断2.中断处理过程3.中断向量地址的重新安排4.DSP定时器中断的初始化方法5.中断向量表的编写二、实验原理中断是由硬件或软件驱动的信号,使DSP暂停主程序而执行中断服务程序(ISR)。软件驱动:来自程序指令(由INTR、TRAP或RESET产生)硬件驱动:来自外部硬件中断;或片上外设的内部硬件中断。当多个硬件中断同

2、时触发时,DSP按照优先级别响应。1.DSP中断中断按可屏蔽性分类:第一类:可屏蔽性中断,可以用软件进行屏蔽。C54DSP最多支持16个用户可屏蔽中断,见IMR内容。第二类:非屏蔽性中断。包括所有的软件中断或两个外部硬件中断RS#和NMI#(这两中断也可以使用软件进行中断)1.DSP中断(续)IFR和IMR都是MMR寄存器。IFR:当出现中断时,IFR相应中断标志位置1。有4中情况中断标志位清0:(1)DSP复位(RS#为低电平);(2)中断得到处理;(3)将1写如IFR中的相应位(则相应位变成0),中断没有处理完就被清除。(4)利用适当的中断号

3、执行INTR指令,相应的中断标志清0。中断标志寄存器IFR和中断屏蔽寄存器IMRIMR:屏蔽外部或内部中断。如果ST1中的INTM=0,IMR寄存器某位为1,就开放相应的中断。(INTM:中断模式,屏蔽或使能所有中断,INTM=0所有非屏蔽中断使能,INTM=1所有可屏蔽中断无效)中断标志寄存器IFR和中断屏蔽寄存器IMRIFR和IMR寄存器位定义详见:TMS320C54xDSPReferenceSet:CPUandPeripheralsSPRU131G.pdf54xDSP处理中断分3个阶段:第一个阶段:接受中断请求第二个阶段:响应中断第三个阶段

4、:执行中断服务程序2.中断处理的过程:三个阶段(1)当硬件或软件指令请求中断时,IFR中的相应位置1(2)硬件中断名称见IFR,软件中断:INTR、TRAP和RESET。INTRK:可用来执行任何一个中断服务程序。K是中断向量位置,属不可屏蔽中断不受ST1的INTM影响。CPU响应INTR时,INTM置1关闭其他可屏蔽中断。TRAPK:区别于INTR在于,不影响INTM。RESET:不可屏蔽,影响ST0和ST1,不影响PMST。第一个阶段:接受中断请求对于软件中断或其他非屏蔽中断,CPU立即响应。对于可屏蔽中断,只有满足如下条件才能响应:(1)优

5、先级最高(同时出现的中断)(2)ST1中INTM=0(所有非屏蔽中断使能)(3)IMR中相应位=1(开放相应的中断)CPU相应中断时,PC转向适当的地址取出中断向量,并发出中断响应信号IACK#,清除相应的中断标志。第二个阶段:响应中断响应中断后,CPU执行如下动作:(1)入栈。将PC值(返回地址)存储到数据存储器堆栈的栈顶;(2)将中断向量的地址加载到PC中;(3)在中断向量地址上取指,执行分支指令转到中断服务程序,并执行中断服务程序;(4)出栈。中断返回,从堆栈中弹出返回地址到PC。(5)继续执行被中断了的程序。C语言中断服务程序中(1)~(

6、3)由C编译器自动完成。第三个阶段:执行中断服务程序中断操作的流程图本实验中的C语言编写定时器中断服务程序:2.中断处理的过程(续)interruptvoidtimer0_isr(void){if(xf_flag){asm("SSBXXF");xf_flag=0;}{asm("RSBXXF");xf_flag=1;}2.中断处理的过程(续)count++;if(count==50)//50*10=500ms{board_led_toggle(BRD_LED0);//LED0flashevery500mscount=0;}}2.中断处理的过程(续)

7、将上述C程序编写的中断服务程序进行反汇编,可以看得出,在中断服务程序中加入了22个MMR寄存器的保存(压栈)和恢复(出栈)指令。其中包括状态寄存器ST1。DSP复位后,中断向量地址是可以更改的。54x中断向量地址组成:中断向量地址由IPTR(中断向量指针,9位,在PMST中)和左移2位后的中断向量序号(0~31,左移2位变成7位)组成。见131.pdf第189页Table6–26.TMS320C5402InterruptLocationsandPriorities。3.中断向量地址的重新安排中断向量地址的重新安排(续)例如:如果IPTR=0001

8、h,DSP响应INT0#,PC得到的中断向量地址计算。由于INT0#的序号为16(10h),左移2位后变为40h,所以中断向量地址000

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。