《外部中断》课件.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AVR单片机外部中断 日常生活中的中断 单片机中的中断概念 中断技术的一般概念 日常生活中的中断 计算机中的中断概念 中断——由于某一随机事件的发生,计算机暂停原程序的运行,转去执行另一程序(随机事件),处理完毕后又自动返回原程序继续运行。 中断源——引起中断的原因,或能发生中断申请的来源。 主程序——计算机现行运行的程序。 中断服务子程序——处理随机事件的程序。 中断技术的一般概念 中断的检测与中断的响应 中断程序的转入 ATmega16与ATmega128的中断系统 中断的检测与中断的响应 中断源产生的中断请求是随机发生无法预料的,CPU必须不断地检测中断输入线上的中断请求信号,且相邻两次检测不能相隔太长。 中断的检测——在每条指令的最后状态对中断请求进行一次检测。 中断的检测与中断的响应 中断的响应(1) CPU检测到了中断请求,并非立即响应,单片机的中断响应是有条件的: 中断的检测与响应示意图(1) 中断的响应(2) 当满足“中断的响应(1)”的条件后,CUP立即响应中断,转入中断周期,CPU做以下几件事: 中断的检测与响应示意图 中断服务程序的转入(1) 当CPU响应中断,在关中断、保留断点后,一个十分重要的问题是如何转入中断服务程序的入口。 中断服务程序的转入(2) 2.ATmega16的外部中断 外部中断源 外部中断的控制 外部中断源 ATmega16有3个外部中断源: 外部中断的控制 ATmega16的外部中断用户可以控制: 3. 外部中断应用 应用课题:设计一段程序,用于统计 外部INT0的中断次数。 * * 你在看书,电话铃响,于是你在书上做上记号,去接电话,与对方通话;门铃响了,有人敲门,你让打电话的对方稍等一下,你去开门,并在门旁与来访者交谈,谈话结束,关好门;回到电话机旁,继续通话,接完电话后再回来从做记号的地方接着看书。 看 书 接电话 与来访者交谈 电话铃响 敲门声 看 书 接电话 主程序 主程序 中断服务程序1 中断服务程序1 中断服务程序2 随机事件1 随机事件2 中断的检测 设立中断请求触发器 设立中断屏蔽触发器 总中断是开放的 CPU在现行指令结束后响应中断 机器周期的最后一个状态? 现行指令结束? Y N N 由硬件 自动完成 取下一条指令 N N 开中断? Y Y 有中断请求? Y 关中断 保留断点 保护现场 给出中断入口,转入相应的中断服务程序 恢复现场 开中断与返回 关中断 保护现场 开中断 中断服务 关中断 恢复现场 开中断 中断返回 断点地址由堆栈弹入PC 保护现场和恢复现场的过程中不允许中断,以免现场遭到破坏。 保护和恢复现场之后的开中断是为了允许有更高级中断打断此中断服务程序。 硬件自动完成 (2) 主程序 主程序 中断服务程序 随机事件 中断服务子程序的入口地址 主程序 断点地址 中 断 响 应 解决方案:矢量中断 断 中 返 回 中断服务子程序入口地址也称为中断矢量或中断向量。 单片机中的中断源矢量地址是固定的,不能改动。 上电和看门狗复位 外部中断0 外部中断1 T/C2比较匹配中断 写程序存取器准备好中断 程序存储器 使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去! 单片机中的中断源不同中断服务程序的入口地址也不同。 0002H 0004H 0006H 0028H 0000H 0000H INT2(外部中断2输入) PB2 INT1(外部中断1输入) PD3 INT0(外部中断0输入) PD2 外部中断 管脚 SREG——状态寄存器 GICR——通用中断控制寄存器 MCUCR——MCU控制寄存器 MCUCSR——MCU控制和状态寄存器 GIFR——通用中断标志寄存器 INT0 INTF0 中断源 中断标志位 每一个外部中断源都有相应的中断标志位; 某一个外部中断源申请中断,相应中断标志位置1。 7 6 5 4 3 2 1 0 通用中断标志寄存器 —— GIFR INTF1 INTF0 INTF2 — — — — — INT1 INTF1 INT2 INTF2 中断标志位由CPU自动置“1” 当CPU响应中断后,则中断标志位自动 清“0”;也可以通过对其写“1”来清“0” 状态寄存器 —— SREG 7 6 5 4 3 2 1 0 I T H S V N Z C 位7:全局中断使能。 当该位置“1”时,使能全局中断,单独的中断使能由各自独立控制寄存器所控制。 位6~0:与中断无关,在C语言编程时由系统管理。 一旦CPU响应

文档评论(0)

咪蒙 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档