网站大量收购闲置独家精品文档,联系QQ:2885784924

第05章MCS.51单片机中断系统.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中断的概念 MCS-51的中断系统 中断源和中断标志 中断的允许和优先权 中断的处理过程 外部中断源的扩展 中断的应用 中断的基本概念 日常生活中断的例子 单片机中的中断概念 中断技术的优点 日常中断的例子 计算机中的中断概念 中断技术的优点 分时操作 ——CPU可以同多个外设“同时”工作 实时处理 ——CPU及时处理随机事件 故障处理 ——电源掉电、存储出错、运算溢出 MCS-51中断系统 中断源 中断标志 中断允许 中断优先级 MCS-51中断系统结构 中断寄存器 MCS-51的中断系统——中断源 MCS-51的中断系统——中断标志 MCS-51的中断系统——中断允许 MCS-51的中断系统——中断优先级 TCON寄存器——中断请求控制寄存器 TCON寄存器——中断请求控制寄存器 SCON寄存器——串行中断控制寄存器 IE寄存器——中断屏蔽寄存器 IP寄存器——中断优先级控制寄存器 IP寄存器——中断优先级控制寄存器 51单片机有两个中断优先级——高级和低级 专用寄存器IP为中断优先级寄存器,用户可用软件设定 相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级 系统复位时,均为低优先级 该寄存器可以位寻址 中断处理过程 CPU响应中断的基本条件 有中断源提出中断请求; 中断总允许位EA=1,即CPU中断开放; 申请中断的中断源的中断允许位为1,即中断没有被屏蔽; CPU没有响应同级或更高优先级的中断; 当前指令执行结束; 如果正在执行的指令是RETI或访问IE、IP指令。CPU在执行RETI或访问IE、IP指令后,至少还需要再执行一条其它指令后才会响应中断请求。 中断响应 中断响应 中断处理 中断处理 中断处理过程示意图 中断返回 中断返回 中断响应时间 中断响应时间是指CPU检测到中断请求信号到转入中断服务程序所需要的时间。 注:MCS-51单片机响应中断的最短时间为3个机器周期,最长为8个机器周期。若CPU检测到中断请求信号时正好是一条指令的最后一个机器周期,且不是RETI或访问IE、IP指令,则不需等待就可以立即响应。 外部中断源的扩展 单片机仅有两个外部中断输入端. 可用三种方法扩展: 1. 定时器T0,T1。(工作在计数方式下) 2. 中断和查询结合。 3.外接中断控制芯片(如8259)进行扩展。 以上程序执行后,当定时器/计数器T0计数输入端发生负跳变时,TL0加1,产生溢出,标志位TF0置1,向CPU发出中断请求,同时TH0的值重新送入TL0,保证下一次中断过程的顺利进行。这样T0端相当于脉冲方式的外部中断请求输入端。同理T1也可以实现外部中断源的扩展。 注:用本方法扩展外部中断源是以占用内部定时中断为代价的。只有当定时/计数器空闲时才能使用。 2.查询方式扩展外部中断源    当外部中断源较多时,可以采用查询方式扩展外部中断源。把多个中断源通过硬件(或非门)引入外部中断源输入端(INT0或INT1),同时将中断源连接到某I/O接口。这样,每个中断源都可能引起中断,在中断服务程序中通过软件查询I/O口,便可以确定哪一个是正在申请的中断源,查询的次序则由中断源优先级决定,这样可实现多个外部中断源的扩展。    例如,通过OC门实现外部中断源扩展的基本原理如下图所示。当外部扩展中断源的任何一个中断申请信号置为低电平时,其对应的OC门输出为低,使有效,申请中断。有中断后,软件查询P1口状态,决定是哪一个中断源。查询次序决定优先级。 3.中断控制芯片(如8259)进行扩展 当需要扩展的外部中断源比较多时,可以使用专用中断控制器8259实现。一个8259可以直接扩展8个中断源,经级联后,最多可以扩展64个中断源。 中断应用举例 【例】出租车计价器计程方法是车轮每运转一圈产生一个负脉冲,从外中断(P3.2)引脚输入,行驶里程为轮胎周长×运转圈数。设轮胎周长为2m,试实时计算出租车行驶里程(单位米),数据存32H、31H、30H。 参考程序如下: ORG 0000H ;复位地址 LJMP STAT ;转初始化 ORG 0003H ;中断入口地址 LJMP INT ;转中断服务程序 ORG 0100H ;初始化程序首地址 STAT: MOV SP,#60H ;置堆栈指针 SETB ITO ;置边沿触发方式 MOV IP,#01H

文档评论(0)

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

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

1亿VIP精品文档

相关文档