单片机基础chapter 5-1-2.ppt

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

* 5.2.4 中断响应过程 从中断请求发生到中断被响应,再转向执行中断服务程序去完成中断所要求的操作,是一个完整的中断处理过程。 1. 外部中断请求采样 只有外部中断请求才有采样问题,因为它们来自单片机芯片的外部,而且是随机的,只有通过采样才能知道是否有中断请求信号到来。 采样是在每个机器周期的S5P2对芯片引脚INT0(P3.2)和INT1(P3.3)进行的,根据采样结果来设置定时器控制寄存器TCON中外部中断标志位IE0和IE1的状态,从而把外部中断请求锁定在寄存器TCON中。 * 1. 外部中断请求采样 对于电平方式的外部中断请求,若采样为高电平,表明没有中断请求,TCON中的位IE0或IE1继续为“0”;若采样为低电平,表明有中断请求,TCON中的位IE0或IE1置“1”。 对于脉冲方式的中断请求,若在相邻机器周期采样到的是先高电平后低电平,则中断请求有效,应把IE0或IE1置“1”,否则IE0或IE1继续为“0”。 * 2. 中断查询 因为中断是随机发生的,无法事先预知,所以必须主动检测,这一过程称为中断查询。 中断查询是查看是否有中断请求发生并确定是哪一个中断源的中断请求。 中断查询操作是由CPU逐个检测定时器控制寄存器TCON和串行控制寄存器SCON中各中断标志位的状态而实现的。所有中断请求最终都要汇集到这两个寄存器中。 【注意】外部中断的中断请求是通过采样得到的,定时器中断和串行中断的中断请求发生在单片机芯片内部,若有中断发生就通过硬件把相应的标志位直接置“1”。 * MCS-51单片机的中断查询过程 MCS-51单片机是在每一个机器周期的最后一个状态S6进行中断查询,查询按优先级顺序进行。具体过程为: 先高级中断后低级中断,同级中断按“外部中断0→定时器0中断→外部中断1→定时器1中断→串行中断”的顺序进行。 如果查询到有标志位为1,则表明有中断请求发生,接着就从相邻的下一个机器周期的S1状态开始进行中断响应。 【注意】由于中断请求是随机发生的,CPU无法预先得知,因此在程序执行过程中,中断查询要在指令执行的每个机器周期中不停地重复进行。 * 3. 中断响应 中断响应是对中断源提出的中断请求的接受,是在中断查询之后进行的。 当查询到有效的中断请求时,紧接着就进行中断响应。 中断源 入口地址 外部中断 0 0003H 定时器 0 中断 000BH 外部中断 1 0013H 定时器 1 中断 001BH 串行口中断 0023H 中断响应的主要内容是由硬件自动生成1条长调用指令,格式为:LCALL addr16,其中addr16为ROM中断区中相应中断的入口地址(在MCS-51单片机中,这些入口地址已由系统设定)。 * 例如,对于外部中断 0 的响应,产生的长调用指令为: LCALL 0003H 生成LCALL指令后,紧接着就由CPU执行。 【说明】首先将当前程序计数器PC的内容压入堆栈,然后将中断入口地址装入PC,使程序执行转向相应的中断入口地址。但各中断区只有8个单元,一般情况下难以安排下一个完整的中断服务程序,因此通常是在各中断区入口地址处放置一条无条件转移指令,使程序执行转向在其它地址存放的中断服务程序。 3. 中断响应 * … … … * 中断响应是有条件的,并不是查询到的所有中断请求都能被立即响应,当存在下列情况之一时,中断响应被封锁: CPU正在执行一个同级或高级的中断服务程序。因为当一个中断被响应时,要把对应的优先级触发器置位,封锁了低级和同级中断。 查询中断请求的机器周期不是当前指令的最后一个机器周期。作此限制的目的在于使当前指令执行完毕后才能进行中断响应,以确保当前指令的完整执行。 中断响应的条件 * 当前正在执行的指令是返回指令(RET或RETI)或访问寄存器IE、IP的指令。因为按MCS-51中断系统规定,在执行完这些指令后,还应再继续执行至少一条指令,然后才能响应中断。 中断响应的条件 MCS-51对中断查询的结果不作记忆,当有新的查询结果出现时,因为以上原因而被拖延的查询结果将不复存在,其中断请求也不能再被响应,CPU将按新的查询结果进行中断响应。 * 中断响应后,TCON或SCON中的中断请求标志应及时清除,否则就意味着中断请求仍然存在,可能会造成中断的重复查询和响应。 定时中断请求的撤销(硬件自动撤销) 定时中断撤销只是标志位的置“0”问题。 定时中断的中断请求是自动撤销的,无需用户干预。 定时中断响应后,硬件自动把标志位(TF0或TF1)清“0”。 中断请求的撤销 * 脉冲方式外部中断请求的撤销(硬件自动撤销) 外部中断的撤销包括两项内容:中断标志位的置“0”和外中断请求信号的撤销。 标志位IE0或IE1清“0”是在中断响应后由硬件电路自动完成。 中断请求

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档