中南林单片机第5章.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中南林单片机第5章

* §5.4.2 中断响应 一、中断响应条件 二、中断响应操作过程 三、中断响应时间 返 回 * 一、中断响应条件 ①有中断源发出中断请求。 ②中断总允许位EA=1,即CPU中断。 ③申请中断的中断源的中断允许位为1,即中断没有被屏蔽。 ④无同级或更高级中断正在被服务。 ⑤当前的指令周期已经结束。 ⑥若现行指令为RETI或是访问IE或IP指令时,该指令以及紧接着的另一条指令已执行完。 返 回 * 二、中断响应操作过程 1、中断响应操作过程 2、各中断源及其对应的矢量地址 返 回 * 1、中断响应操作过程 ⑴ 把当前PC值压入堆栈,保护断点。 ⑵ 将相应的中断服务程序的入口地址送入PC。 ⑶ 对有些中断源,CPU会自动清除中断标志。 ⑷ 执行中断服务程序。 ⑸ 执行到返回指令RETI,中断服务程序结束,将堆栈内容弹出到PC,返回到原来断点继续执行。 返 回 * 2、各中断源及其对应的矢量地址 返 回 * §5.5 中断程序编写 §5.6.1 主程序 §5.6.2 中断服务程序 §5.6.3 中断服务程序举例 返 回 * §5.5.1 主程序 1、主程序的起始地址 2、主程序的初始化内容 返 回 * 1、主程序的起始地址 MCS-51系列单片机复位后,(PC)=0000H 而0003H~002BH分别为各中断源的入口地址。 编程时应在0000H处写一条跳转指令(一般为长跳转指令),主程序是以跳转的目标地址作为起始地址开始编写,一般从003H开始,如 图5-12所示。 返 回 * 0000H LJMP 00 30 0030H 主程序 图5-12 主程序地址 返 回 * 2、主程序的初始化内容 初始化:将用到的内部部件或扩展芯片进行初始工作状态设定。 单片机复位后,特殊功能寄存器IE、IP内容均为00H,所以应对IE、IP进行初始化编程,以开放中断,允许某些中断源中断和设置中断优先级等。 返 回 * §5.5.2 中断服务程序 当CPU接收到中断请求信号并予以响应后,CPU把当前的PC内容压入堆栈进行保护,然后转入响应的中断服务程序入口处执行。 1、中断服务程序的起始地址 2、中断服务程序编制中的注意事项 返 回 * 1、中断服务程序的起始地址 中断系统对五个中断源分别规定了各自的入口地址,但这些入口地址相距很近(8个字节)。 如中断服务程序的指令代码少于8个字节,则可从规定的中断服务程序入口地址开始,直接编写中断服务程序; 如中断服务程序的指令代码大于8个字节,则应采用与主程序相同的方法,在相应的入口处写一条跳转指令,并以跳转指令的目标地址作为中断服务程序的起始地址进行编程。 * 1、中断服务程序的起始地址 以INT0为例,中断矢量地址为0003H,中断服务程序从0200H开始。如 图5-13所示。 返 回 * 0003H LJMP 02 00 0200H 中断服 务程序 图5-13 中断服务程序地址 返 回 * 2、中断服务程序编制中的注意事项 ① 视需要确定是否保护现场。 ② 及时清除那些不能被硬件自动清除的中断请求标志,以免产生错误的中断。 ③ 中断服务程序中的压栈与弹栈指令必须成对使用,以确保中断服务程序的正确返回。 ④ 主程序和中断服务程序之间的参数传递与主程序和子程序的参数传递方式相同。 返 回 * 三、中断响应时间 CPU不是在任何情况下都对中断请求予以响应,而不同的情况下对中断响应的时间是不同的。 对于顺利的中断响应,其最短的响应时间为3个机器周期。 对于受阻的中断响应,则响应时间会更长一些。 若中断系统只有一个中断源,则响应时间为3~8个机器周期之间。 返 回 * §5.6 外部中断扩展方法 8051单片机有两个外部中断亲求请求输入端(INT0和INT1)。实际应用中,若外部中断源有两个以上,则需要扩展外部中断源。 §5.5.1 利用定时器扩展外部中断源 §5.5.2 中断加查询扩展外部中断源 返 回 * §5.6.1 利用定时器扩展外部中断源 8051单片机有两个定时器,多具有两个内部中断标志和外部计数输入引脚。 当定时器设置为计数方式时,计数初值设置为满量程FFH。一旦外部信号从计数器引脚输入一个负跳变信号,计数器加1产生溢出中断,从而转去处理该外部中断源的请求。 将外部中断源信号接至T0或T1引脚;该定时器的溢出中断标志及中断服务程序作为扩充外部中断源的标志和中断服务程序。 返 回 * §5.6.2 中断加查询扩展外部中断源 所有的中断输入线通过电路运算后合成一根输出线,从而触发中断,同时查询输入端口线作为各个中断源的识别线。 具体线路如 图5-11所示。 返 回 * 多个外部中断源连接法 返 回 INT1 INT0 P1.3 P1.2

文档评论(0)

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

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

1亿VIP精品文档

相关文档