第5章89C51的中断系统导论.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 89C51的中断系统 所谓中断,是指CPU正在处理某些事务的时候,外部又发生了某一事件,请求CPU及时处理。于是,CPU暂时中断当前的工作,转而处理所发生的事件。处理完毕,再回到原来被中断的地方,继续原来的工作。这样的过程,称为中断。 89C51中断系统——中断优先级 IT0:外部中断0的中断触发方式控制位。 IT0=0时,外部中断0程控为电平触发方式。 IT0=1时,外部中断0程控为边沿触发方式。 例:要以中断方式使用外部中断0,且使用跳变沿触发方式,可以用什么操作指令实现?     SETB IT0 TF0:定时器0的溢出中断标志。 T0被启动计数后,从初值做加1计数,计满溢出后由硬件置位TF0,同时向CPU发出中断请求,此标志一直保持到CPU响应中断后才由硬件自动清0。也可由软件查询该标志,并由软件清0。 TI——串行口发送中断请求标志位 当CPU将一个要发送的数据写入串行口发送缓冲器时,就启动发送。每发送完一个串行帧,硬件使TI自动置1 注意:当CPU响应中断时,TI不能由硬件清0,必须由软件清0。 中断优先级管理遵循的基本原则是: (1)低优先级可被高优先级中断,反之不能 (2)任何一种中断,一旦得到响应,不会被它的同级中断源中断 当系统复位时,IP寄存器被清0,将5个中断源均设置为低优先级中断。 EA—CPU中断允许总控制位。 EA=1,CPU开放中断. EA=0,CPU屏蔽所有的中断请求,即关中断。 EX0—外部中断0允许位; ET0—定时/计数器T0中断允许位; EX1—外部中断1允许位; ET1—定时/计数器T1中断允许位; ES—串行口中断允许位; 例:要以中断方式使用T0,可以用下面的字节操作指令:      MOV IE,#82H ;1000 0010B 也可以用下面的位操作指令实现:     SETB EA     SETB ET0 PS—串行口中断优先级设定位。 PS=1,高优先级 PS=0,低优先级 PX0 —外部中断0优先级设定位; PT0 —定时/计数器T0优先级设定位; PX1 —外部中断1优先级设定位; PT1 —定时/计数器T1优先级设定位; 例:设置IP寄存器的初始值,使2个外中断请求为高优先级,其它中断请求为低优先级。 例:假设允许外部中断0中断,并设定它为高级中断,其它中断源为低级中断,采用跳沿触发方式。 在主程序中编写如下程序段: SETB EA ;CPU开中断 SETB ET0 ;允许外中断0产生中断 SETB PX0 ;外中断0为高级中断 SETB IT0 ;外中断0为跳沿触发方式 (1)最快响应时间--以外部中断的电平触发为最快。 从查询中断请求信号到中断服务程序需要三个机器周期 1个周期(查询)+2个周期(长调用LCALL) (2)最长时间 若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期: 2个周期执行当前指令(其中含有1个周期查询)+4个周期乘除指令+2个周期长调用=8个周期。 计算机使用TF0 和外部中断源INT0, INT0边沿触发方式且为高优先级别 SETB EA ; 总中断允许 SETB EX1 ;INT1允许 SETB ET1 ;TF1允许 SETB ES ;TI 和RI允许 SETB PS ; TI 和RI高优先级别 SETB PT1 ;TF1高优先级别 SETB PX0 ;INT0高优先级别 则: ______________________可以被响应. A. CPU 正在执行INT1中断,TF1请求. B. CPU正在执行TF1中断, TI请求. C. CPU正在执行INT1中断, INT0请求 . D. CPU正执行主程序, TF1出现请求 有5个中断源,两个中断优先级,可以实现两级中断服务程序嵌套。 中断源 中断入口地址 外部中断0 /INT0 0003H 定时器0 T0 000BH 外部中断1 /INT1 0013H 定时器1 T1 001BH 串行口 0023H 常用的主程序结构如下: ORG 0000H LJMP MAIN ORG X3X2X1X0 ; X3X2X1X0为某中断源中断入口 LJMP INT ;为某中断源的入口标号 ? ORG Y3Y2

文档评论(0)

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

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

1亿VIP精品文档

相关文档