单片机基础6教程范本.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 MCS - 51单片机的中断 ;5.1 中 断 的 概 述 ;2. 中断源 中断源是指在计算机系统中可以向CPU发出中断请求的来源。 通常有I/O设备、实时控制系统中的随机参数和信息故障源等。 3. 中断优先级 中断优先级越高, 则响应优先权就越高。当CPU正在执行中断服务程序时, 又有中断优先级更高的中断申请产生, 这时CPU就会暂停当前的中断服务转而处理高级中断申请, 待高级中断处理程序完毕再返回原中断程序断点处继续执行, 这一过程称为“中断嵌套”。;4. 中断响应的一般过程 在每条指令结束后, 系统都自动检测中断请求信号, 如果有中断请求,且CPU处于开中断状态下, 则响应中断,将返回地址压入堆栈。 (2) 保护现场, 在保护现场前, 一般要关中断, 以防止现场被破坏。保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆栈。 中断服务, 即为相应的中断源服务。;;5.2 MCS-51中断系统;5.2.1 中断源 ;中断标志(Flag) IE0:外部中断0中断标志 TF0:定时器/计数器0中断标志 IE1:外部中断1中断标志 TF1:定时器/计数器1中断标志 TI:串行口发送中断标志 RI:串行口接收中断标志;1. 定时器控制寄存器TCON的格式(88H ) ;2. 特殊功能寄存器SCON的格式(98H) ;5.2.2 中断控制 ;EX0:外部中断0允许位 ET0:定时器/计数器0中断允许位 EX1:外部中断1允许位 ET1:定时器/计数器1中断允许位 ES : 串行口中断允许位 EA :中断总允许位;2. 中断优先级控制寄存器IP(0B8H) ;当两个以上的中断源同时提出申请时,CPU到底相应哪个中断呢? 中断响应遵循两条规则: (1)低优先级中断可以被高优先级中断所中断,反之不能; (2)一种中断(不论哪个优先级)一旦得到响应,与它同级的中断不能再中断它。;表5.2 同级内第二优先级次序 ;例1: 某软件中对寄存器IE、 IP设置如下: MOV IE, # 8FH MOV IP, # 06H 如果此时5个中断源同时提出申请,系统响应哪一个 例2: 某软件中对寄存器IE、 IP设置如下: MOV IE, # 9FH MOV IP, # 0EH 如果此时5个中断源同时提出申请,系统响应哪一个 例3: 某软件中: IE=1FH, IP=1FH,如果此时5个中断源同时提出申请,系统响应哪??个;5.2.3 中断响应的阻断条件 在EA=1且相应的中断允许位也为1的情况下,检测到的最高级的中断请求将会得到相应。但此时如果发生下列三种情况中的任何一种,中断响应的过程将被阻断: (1) 同级或高优先级的中断已在进行中; (2) 当前的机器周期还不是正在执行指令的最后一个机器周期(换言之, 正在执行的指令完成前, 任何中断请求都得不到响应); (3) 正在执行的是一条RETI 或者访问特殊功能寄存器IE或IP的指令(换言之, 在RETI或读写IE或IP之后, 不会马上响应中断请求, 而至少执行一条其它指令之后才会响应)。 ; 当上述阻断条件存在时,中断不能被相应,且丢弃查询结果。若阻断条件结束时,中断标志已经消失,则这个被拖延了的中断请求可能不会再得到响应。 在单一外部中断的系统里(即不考虑上述阻断条件中断的第一个条件),外部中断响应时间总是在3~8个机器周期之间。;2. 单片机一旦响应中断请求, 由硬件完成以下功能: (1) 根据响应的中断源的中断优先级, 使相应的优先级状态触发器置1; (2) 执行硬件中断服务子程序调用, 并把当前程序计数器PC的内容压入堆栈; (3) 清除相应的中断请求标志位(串行口中断请求 志RI和TI除外); (4) 把被响应的中断源所对应的中断服务程序的入 地址(中断矢量)送入PC, 从而转入相应的中断服务程序。 ; 中断响应过程,相当于执行了一条隐含的调用指令(或称隐指令)LCALL。 例如当TF0被置1且得到中断响应时,CPU就自动的执行一条隐指令“LCALL 000BH”。 应当注意,在中断服务子程序的调用过程中,仅仅保存了PC的信息,其余的现场信息(如寄存器的值等)都要由编程人员通过软件来进行保护。;表5.3 中断服务程序入口地址表 ; 例如, 现有外部中断1提出申请, 且主程序中有R0、R1、DPTR、累加器A需保护, 则编制程序应为: ;INT1: PUSH ACC ; 中断服务程序 PUSH DPH;若有更高级中断, PUSH D

您可能关注的文档

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档