当前位置:文档之家› 中断的定义(精)

中断的定义(精)


说明
允许FIQ中断 禁止FIQ中断 允许IRQ中断 禁止IRQ中断 允许FIQ,禁止IRQ 禁止FIQ,允许IRQ 允许FIQ、IRQ 禁止FIQ、IRQ
5.3 中断程序结构
主函数的编程, 基本的程序结构是: 1、初始化中断。 2、打开中断。 3、主循环中清看 门狗。
初始化 打开中断 进入循环,等待中断 清看门狗
2 SPCE061A包含的中断源
TimerA TimerB 触键唤醒
TMB1 TMB2 2Hz时基 4Hz时基 1024Hz时 基 2048Hz时 基 4096Hz时
EXT1
EXT2
中断源
PWM
UART
061A单片机提供3种类型的中断:软件中断、 异常中断、事件中断。
软件中断:由软件指令break产生的中断,软 件中断的向量地址为0xFFF5H 异常中断:是指非常重要的事件发生中断, CPU必须进行处理,061A只要复位这一个异常 中断。
事件中断:一般由片内或片外的某个事件引起 中断,这些中断可以通过开启/屏蔽相应的位 来控制中断使能。
中断源
中断优先级
中断向量
保留字
Fosc/1024溢出 TimerA溢出 TimerB溢出 外部Ext2 外部Ext1 按键唤醒信号 4096HZ时基信号 2048HZ时基信号 1024HZ时基信号 4HZ时基信号 2HZ时基信号 频选信号TMB1 频选信号TMB2 UART中断
5.1 概述
1、中断的定义 中断指计算机在执行某一程序的过程中, 由于计算机内、外 的某种原因而必须暂停当 前程序的执行,转而去完成相应的处理程序, 当该任务完成后再返回继续执行被暂停的程序。 在单片机中,中断技术主要用于实时控制。 所谓实时控制,就是要求单片机能及时地响应 被控对象提出的分析、计算和控制等请求,使 被控对象保持在最佳工作状态,以达到预定的 控制效果。由于这些控制参量的请求都是随机 发出的,而且要求单片机必须作出快速响应并 及时处理,因此,必须应用中断编程。
中断汇编 程序模板
〔xxx〕=Rx
… [P_INT_Clear] = R1 POP R1,R5 FROM [SP] RETI
中断服务程序C语言模板
VOID IRQ1(VOID) __attribute_ ((IRQ1)); VOID IRQ1(VOID) { …. …. *P_INT_Clear = C_IRQ1_TMA; }
.define xxx xxxx .code .public _main; _main: … 〔xxx〕=Rx [P_INT_Ctrl] = Rx … INT IRQ Loop: [P_Watchdog_Clear] = 0x0001 … Jmp loop
中断服务函数的编程,基本的程序结构是:
1、关闭中断; 2、打开中断;3、主循环中清看门狗。 . text .public _IRQ5; _IRQ5: PUSH R1,R5 TO [SP] …
FIQ/IRQ0 FIQ/IRQ1 FIQ/IRQ2 IRQ3
FFF6H/FFF8H FFF6H/FFF9H FFF6H/FFFAH FFFBH
_FIQ/_IRQ0 FIQ/_IRQ1 FIQ/_IRQ2 _IRQ3
IRQ4
FFFCH
_IRQ4
IRQ5
IRQ6 IRQ7
FFFDH
FFFEH FFFFH
_IRQ5
_IRQ6 _IRQ7
3、中断优先级和中断响应过程
SPCE061A的多个中断源,有其固定的有限级别, 当多个中断源同时发出中断请求时,CPU先响应中断 优先级高的中断请求。
中断类型 RESET FIQ IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 UART 中断向量 FFF7H FFF6H FFF8 FFFFF 中断查询顺序 0 1 2 3 4 5 6 7 8 9
中断端口配置表
P_INT_Ctrl(写) P_INT_Ctrl(读) P_INT_Clear(写) 功能
1
0

- 1


允许中断
禁止中断 有中断发生
0
1 0
没有中断发 生
清除中毒标 志 不改变中断 源状态
中断控制指令
指令格式
FIQ ON FIQ OFF IRQ ON IRQ OFF INT FIQ INT IRQ INT FIQ ,IRQ INT OFF
各中断源操作的过程基本差不多,都是先 通过控制寄存器开中断,再等待中断,一 旦中断发生在中断中处理。
5.4中断程序应用实例
中断的响应过程如下:
检测中断⇒保护现场⇒中断服务⇒清除 中断标志位⇒恢复现场⇒中断返回
5.2 中断控制 061A的多个中断源可以通过相应的位来控制, 有关中断的两个重要寄存器如下: 设置中断寄存器
中断控制寄存器P_INT_Ctrl (0x7010H)读/写 中断控制寄存器功能表见P85表2。 清除中断标志控制单元P_INT_Clear (0x7011H) 清除中断控制寄存器功能寄存器的每一位同见P85表 2。
相关主题