实验2中断模拟实验_第1页
实验2中断模拟实验_第2页
实验2中断模拟实验_第3页
实验2中断模拟实验_第4页
实验2中断模拟实验_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验2中断模拟实验一一试验目的试验目的1.掌握中断的含义和中断响应过程。掌握中断的含义和中断响应过程。2.掌握用掌握用CCS simulator模拟中断的方法。模拟中断的方法。3.掌握中断应用程序的编写方法。掌握中断应用程序的编写方法。摘要摘要n复习复习C54x中断操作中断操作n模拟中断的方法模拟中断的方法n实验内容及步骤实验内容及步骤二二试验原理试验原理n中断是一些由硬件或软件产生的信号,能使CPU暂时停止执行正在执行的程序,转而执行由DSP程序开发者编写的中断服务程序(ISR Interrupt Service Routine)nC54x既支持软件中断也支持硬件中断软件中断,是由指令 (I

2、NTR、TRAP、RESET) 产生的。硬件中断:n外部中断通过DSP外部中断引脚接收到的片外设备产生的中断(例如ADC/DAC向DSP发出的中断)n片上外设中断DSP片上外设 (如定时器、串口、DMA等) 向CPU发出的中断n当同一CPU时钟周期内有多个硬件中断发生时,CPU会按照中断优先级对它们进行响应 ! 软件中断无优先级。可屏蔽和非可屏蔽中断nDSP的中断可分为两大类:可屏蔽 (Maskable) 中断:可以通过软件被禁止/使能的中断。被禁止掉的中断即使产生,CPU 也不会去响应 !被使能的中断,当它产生时 CPU 就会去响应它 !非可屏蔽 (Nonmaskable) 中断:不能被禁止

3、的中断。当这些中断产生时 CPU 会无条件响应 !C54x 的非可屏蔽中断有:n所有的软件中断 !n外部中断 NMI (DSP外部中断引脚NMI)n复位中断 RS (DSP外部中断引脚RS)CPU在响应 NMI 中断时,将不能被任何其他中断打断 !包括复位中断 !IFRnIFR (Interrupt Flag Register) 中断标志寄存器 (地址0 x01)当一个可屏蔽中断产生时,IFR中相应的中断标志位会被置1,当CPU响应该中断后,该标志位才被清除 !清除中断标志还可通过:n软件或硬件复位;n向标志位写1;n使用INTR #K指令响应该中断15-1413121110987C5402

4、DSP 的的 IFR 寄存器寄存器6543210IMRnIMR (Interrupt Mask Register) 中断屏蔽寄存器 (地址0 x00)当 ST1 的 INTM 位为 0 时,IMR 可用于禁止和使能可屏蔽中断,向 IMR 中的某个屏蔽位写 1 就能使能相应的可屏蔽中断 !如果写 0,则相应的中断被禁止 !15-1413121110987C5402 DSP 的的 IMR 寄存器寄存器654321011INTM中断模式位,可屏蔽中断的全局开关 !=0 全局开=1 全局关ST1ST1:(0 x07)C54x 中断响应流程中断响应流程中断请求产生Request中断应答Acknowled

5、gment执行用户编写的ISRIMR屏蔽位=1?将当前PC值压入堆栈产生应答信号 IACK可屏蔽中断?从ISR返回时,将先前压入堆栈的 PC 值弹出放入PC 中程序继续从被中断处运行INTM=0 ?YNY产生应答信号 IACKINTM置1YNNCPU 如何跳转到如何跳转到 ISR 去执行去执行 ?中断号中断名称0RS1NMI16INT017INT118INT215 - 7IPTR中断 INT0 得到应答AcknowledgmentPC = (IPTR7) + 中断号中断号4 PMSTPMST:(0 x1D) 程序空间NOP B _MyInt0isr NOP NOP执行 C 函数 MyInt0i

6、srINT0的中断向量中断向量表中断向量(表)指针4-word space4-word space4-word space4-word space4-word space摘要摘要n复习复习C54x中断操作中断操作n模拟中断的方法模拟中断的方法n实验内容及步骤实验内容及步骤Simulator 下模拟中断下模拟中断n编写引脚文件,指示出中断产生的时间!编写引脚文件,指示出中断产生的时间!n将引脚文件和相应的中断引脚进行将引脚文件和相应的中断引脚进行“连接连接”!n装载并运行程序后,装载并运行程序后,CCS会根据引脚文件中设置会根据引脚文件中设置的时间来产生模拟的中断信号!的时间来产生模拟的中断信号

7、!引脚文件引脚文件(.txt) 文件内容文件内容含义含义100 120 300分别在第分别在第 100、120、300 个个CPU clock时时产生中断产生中断100 +20 300同上,分别在第同上,分别在第 100、120、300 个个CPU clock时产生中断时产生中断5 (+10) rpt 3分别在第分别在第 5、15、25、35 个个CPU clock时时产生中断产生中断5 (+10 +20) rpt 2分别在第分别在第 5、15、35、45、65 个个CPU clock时产生中断时产生中断100 (+200) rpt EOS分别在第分别在第 100、300、500、700 个个

8、CPU clock时产生中断,无限循环!时产生中断,无限循环!引脚文件和中断引脚的引脚文件和中断引脚的“连接连接”nTools Pin connect 三三实验内容实验内容n在在C54x Device Simulator模式下,编写引脚文模式下,编写引脚文件模拟部中断件模拟部中断0 (INT0) 的产生。的产生。n编写程序响应编写程序响应 INT0 中断。中断。四四实验步骤实验步骤1.使用使用CCS Setup添加添加“C5402 Device Simulator”配置配置到系统中;运行到系统中;运行CCS,进入,进入Simulator工作模式。工作模式。2.编写引脚文件编写引脚文件 ints

9、im.txt 包含:包含:3.10000 (+10000) rpt EOS2.使用使用 Tools Pin Connect 工具将该引脚文件连接到引工具将该引脚文件连接到引脚脚 INT0。3.建立一个建立一个CCS项目,包含下列文件项目,包含下列文件nmain.c使能并打开中断使能并打开中断nisr.c中断服务函数中断服务函数nvectors.asm中断向量表中断向量表nlinker.cmd链接器命令文件链接器命令文件实验环境建立实验环境建立#include #define IMR*(unsigned int *)0 x0000#define IFR*(unsigned int *)0 x00

10、01#define ST1*(unsigned int *)0 x0007#define PMST *(unsigned int *)0 x001Dint INTtimes;void main()asm(SSBX INTM);PMST = 0 x00A0;IFR = 0 xFFFF;IMR = 0 x0001;asm(RSBX INTM);puts(interrupt enabled !);INTtimes = 0;while(1)asm(RSBX INTM);main.c#include extern int INTtimes;interrupt void myisr()printf(%dn

11、, +INTtimes);isr.c.sect .vectors.ref _myisr .align 0 x80Unused .space 16*4*16int0:B _myisr NOP NOP NOPint1: RETE NOP NOP NOPint2: RETE NOP NOP NOP.endvectors.asm-lrts.lib-stack 0 x400-heap 0 x400MEMORYPAGE 0: VECT:o=0 x0080,l=0 x0080SRAM:o=0 x4000,l=0 x3000PAGE 1: REVS:o=0 x1000,l=0 x0400STACK:o=0 x1400,l=0 x0400IDRAM:o=0 x1800,l=0 x2800SECTIONS.vectors:VECT.text:SRAM.cinit:SRAM.stack:STACK.bss:IDRAM.const:IDRAM.cio:IDRAM.sysmemIDRAMlinker.cmd实验内容和步骤实验内容和步骤4.构建可执行模块。构建可执行模块。5.装载并运行后观察结果。装载并运行后观察结果。6.修改程序,使其响应修改程序,使其响应INT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论