单片机chapter5教材.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 中断系统 本章包括以下内容 微机的输入/输出方式 中断的概念 89C51中断系统 中断处理过程 中断程序举例 5.1 微机的输入/输出方式 CPU与外部设备交换信息的方式 无条件传送方式:一方对另一方来说总是准备好的,只需在程序中加入访问外设的指令。 查询传送方式:传送前一方先查询另一方的状态,若已经准备好就传送,否则就继续查询/等待。 直接存储器存取方式(Direct Memory Access) 外设与存储器之间直接(不经过CPU)传送数据。 下面两种情况可以采用DMA方式: 外设与Memory有大量的数据传送。 外设的工作速度很快。 中断传送方式:一方通过申请中断的方式与另一方进行数据传送。 5.2 中断的概念 中断:指计算机暂时停止原程序执行转而为外部设备(执行中断服务程序),并在服务完成后自动返回原程序执行的过程。 (数据传送的双方平时各自做自己的工作,一旦甲方要求与乙方进行数据传送,就主动发出信号提出申请,乙方接到申请后若同意传送,安排好当前的工作,再响应与甲方发生数据传送。完事后,回去继续做打断前的工作)。 作用:1、消除CPU在查询方式中的等待时间,提高CPU工作效率。2、用于实时控制。 中断与子程序的最主要区别:子程序是预先安排好的,中断是随机发生的。 中断涉及的几个环节 可屏蔽中断是指CPU可以通过指令来允许或屏蔽中断的请求。 非屏蔽中断是指CPU对中断请求是不可屏蔽的,一旦出现,CPU必须响应。 软件中断则是指通过相应的中断指令使CPU响应中断。 给每个中断源指定中断响应的优先级别, CPU按中断源的优先级高低顺序响应各中断源发出的中断请求。 5.3 89C51中断系统 5.3.1 89C51中断源 1、外部中断请求INT0,INT1 低电平有效,通过P3.2,P3.3引脚输入。 有两种触发方式 电平触发:出现低电平时向CPU申请中断。 边沿触发:出现负跳变时向CPU申请中断。 CPU在每个机器周期自动采用/INT0,/INT1,引脚的高、低电平至少各自保持一个机器周期。 2、定时器/计数器0、1溢出中断 计数溢出时,硬件使得TF0(TF1)=1,CPU响应中断后,由硬件自动清除TF0,TF1。 3、串行口中断 发送信息:硬件TI=1,向CPU响应中断。 接收信息:硬件RI=1,向CPU响应中断。 响应中断后,用软件清除TI或RI。 5.3.2 中断控制 例:假设允许片内计数/定时器中断,禁止其它中断。试根据假设条件设置IE的值。 用字节操作指令 MOV IE,#8AH 或 MOV A8H,#8AH 用位操作指令 SETB ET0 SETB ET1 SETB EA 例1:8051的片外为高优先级,片内为低优先级。设置IP值。 解: (1)按字节操作指令 MOV IP,#05H 或 MOV B8H,#05H (2)按位操作指令 SETB PX0 SETB PX1 CLR PS CLR PT0 CLR PT1 例2:8051的/INT0,/INT1引脚分别输入压力超限及温度超限中断请求信号,定时器/计数器0作定时检测的实时时钟,用户规定的中断优先级排队顺序为(高)压力超限--温度超限--定时检测(低)。确定IE和IP的内容。 解: 对同时发生多个中断申请时: 不同优先级的中断同时申请:先高后低 相同优先级的中断同时申请:按序执行 正处理低优先级中断又接到高级别中断:高打断低 正处理高优先级中断又接到低级别中断:高不理低 5.4 中断处理过程 中断响应 中断处理 中断请求的撤除 中断系统的初始化 5.4.1 中断响应 中断响应条件 有中断源发出中断请求 中断总允许位EA=1,即CPU开中断 中断源的中断允许位为1,即中断没有被屏蔽 无同级或更高级中断正在服务 当前的指令周期已经结束 若当前执行指令为RETI或访问IE或IP的指令时,至少需要再执行一条其它指令后才会响应中断请求 中断服务程序的入口地址(中断矢量) 5.4.2 中断请求的撤除 定时器溢出中断请求的撤除:定时器溢出中断得到响应自动复位为“0”状态。其中断请求是由硬件自动撤除的。 串行口中断请求的撤除:在中断服务程序后需判定是发生接收中断还是发送中断,因此不能自动撤除。在中断服务程序中通过软件撤除: CLR TI 或CLR RI ANL SCON,#FCH 外部中断请求的撤除: 负跳变触发:自动复位IE0、IE1而由硬件自动撤除中断请求。 电平触发:CPU不能控制/INT0、/INT1

文档评论(0)

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

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

1亿VIP精品文档

相关文档