【单片机】中断

hujiangkai (烟烟)
年度最6责编
初级粉丝
6 3 1
发表于:2014-11-03 09:08 [只看楼主] [划词开启]
6 中断系统
基本支持 6 个中断源 两个外部中断 两个定时/计数器中断 一个串行口输
入/输出中断 中断发生后 处理器转到将五个中断入口处之一执行中断处理程序 中断向
量位于代码段的最低地址出 串行口输入 输出中断共用一个中断向量 中断服务程序必

须在中断入口处或通过跳转 分支转移到别处 805 /8052 的中断向量

805支持两个中断优先级 有标准的中
断机制 低优先级的中断只能被高优先级的
中断所中断 而高优先级的中断不能被中断
     
6.  中断优先级寄存器
每个中断源都可通过设置中断优先级寄存
器IP来单独设置中断优先级 如果每个中断
源的相应位被置位 则该中断源的优先级为高
如果相应的位被复位 则该中断源的优先级为低 如果你觉得两个中断源不够用 别急
以后我会教你如何增加中断优先级 表 A-5 示出了 IP 寄存器的各位 此寄存器可位寻址
IP寄存器 可位寻址
- - PT2 PS PT PX PT0 PX0
-     保留
-     保留
PT2   定时器2中断优先级
PS     串行通信中断优先级
PT    定时器中断优先级
PX    外部中断优先级
PT0   定时器0中断优先级
PX0   外部中断0优先级
                  
6.2 中断使能寄存器
通过设置中断使能寄存器 IE 的 EA 位 使能所有中断 每个中断源都有单独的使能位
可通过软件设置 IE 中相应的使能位在任何时候使能或禁能中断 中断使能寄存器 IE 的各
位如下所示
中断使能寄存器IE 可位寻址
EA - ET2 ES ET1 EX1 ET0 EX0
    EA        使能标志位 置位则所有中断使能 复位则禁止所有中断
-  保留
ET2        定时器2中断使能
ES         串行通信中断使能
ET         定时器中断使能
EX         外部中断使能
ET0        定时器0中断使能
EX0        外部中断 0使能
6.3 中断延迟
805在每个处理周期查询中断标志 确定是否有中断请求 当发生中断时 置位相应
的标志 处理器将在下个周期查询到中断标志位 这样 从发生中断到确认中断之间有一
个指令周期的延时 这时 处理器将用两个周期的时间来调用中断服务程序 总共要花 3
个时钟周期 在理想情况下 处理器将在 3 个指令周期内响应中断 这使得用户能很快响
应系统事件
不可避免地 系统有可能在 3 个处理周期能不能响应中断请求 特别是当有同级或更
高级的中断服务程序正在执行的时候 因此 中断的延迟主要取决于正在执行的程序
另外一种大于 3 个周期的中断延迟是 程序正在执行一条多周期指令 要等到当前的
指令执行完后 处理器才会处理中断事件 这将在原来的基础上至少增加一个周期的延时
假设在执行完多周期指令的 除被其它中断所阻的情况 中断不
被响应的最长延时为 6 个处理周期 3 个周期的多周期指令执行时间 3 个周期的指令响应
时间4
最后一种大于 3个指令周期的中断延迟是 当检测到中断时 正在执行写 IP IE 或RETI
指令
6.4 外部中断信号
805支持两个外部中断信号 这使外部器件能请求中断 从而得到相应的服务 外部
中断由外部中断引脚 外部中断 0 为 P3.2 外部中断为 P3.3 电平为低或电平由高到低
跳变引起 由电平触发还是跳变触发取决于寄存器 TCON 的ITX 位 见A-7
电平触发时 当检测到中断引脚电平为低时 将产生中断 低电平应至少保持一个指
令周期或 2 个时钟周期 因为 处理器每个指令周期检测一次引脚 跳变触发时 当在连
续的两个周期中检测到由高到低的电平跳变时 将产生中断 而电平的 0 状态应至少保持
一个周期

分类: MCU
全部回复 (3)

  • 1

    点赞

  • 收藏

  • 扫一扫分享朋友圈

    二维码

  • 分享

课程推荐

需要先加入社团哦

编辑标签

最多可添加10个标签,不同标签用英文逗号分开

保存

编辑官方标签

最多可添加10个官方标签,不同标签用英文逗号分开

保存
知道了

复制到我的社团