中断请求的撤销


  定时器/计数器中断的中断请求被响应后,硬件会自动把中断请求标志位(TFO或TF1)清O,因此定时器/计数器中断请求是自动撤销的。(1)跳沿方式外部中断请求的撤销 包括两项内容:中断标志位清0和外中断信号的撤销。其中,中断标志位(IEO或IE1)清0是在中断响应后由硬件自动完成的。而外中断请求信号的撤销,由于跳沿信号过后也就消失了,所以跳沿方式的外部中断请求也是自动撤销的。(2)电平方式外部中断请求的撤销 对于电平方式外部中断请求的撤销,中断请求标志的撤销是自动的,但中断请求信号的低电平可能继续存在,在以后的机器周期采样时,又会把已清0的IEO或IE1标志位重新置1。为此,要彻底解决电平方式外部中断请求的撤销,除了标志位清0之外,必要时还需在中断响应后把中断请求信号输入引脚从低电平强制改变为高电平。为此,可在系统中增加如右图所示的电路。由右图可见,用D触发器锁存外来的中断请求低电平,并通过D触发器的输出端Q接到INTO(或INT1(的反))。所以,增加的D触发器不影响中断请求。中断响应后,为了撤销中断请求,可利用D触发器的直接置1端SD实现,即把SD端接AT89S51的Pl.O端。因此,只要P1.0端输出一个负脉冲就可以使D触发器置1,从而撤销低电平的中断请求信号。所需的负脉冲在中断服务程序中增加如下指令即可得到:串行口中断请求的撤销只有标志位清0的问题。串行口中断的标志位是TI和RI,但对这两个中断标志CPU不进行自动清0。因为在响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。所以串行口中断请求的撤销只能使用软件的方法,在中断服务程序中进行,即用如下指令在中断服务程序中对串行口中断标志位进行清除:

  本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

  今天才发现我用了这么长时间的中断服务函数,竟然不知道中断请求标志位到底具体是什么意思~~~悲哀!!!一般就用了定时器中断服务函数,没关心中断请求标志位,今天才发现,原来定时器中断请求标志位就是定时器溢出标志位,定时器溢出时自动跳到相应中断向量处,当主机响应该定时器中断时,该标志位由硬件自动清零。所以,我虽然写了定时器中断服务函数,而没操作定时器溢出标志位,程序还能运行,是因为单片机自己把这事儿给办了~~是典型的瞎猫碰到死老鼠对于外部中断,其中断请求标志位跟定时器溢出标志位相似,都是主机相应中断后自动硬件清零,所以,也不必考虑需要不需要软件清零串行口中断就不一样了,它分为发送中断标志位和接受

  (1)外部中断请求源:即外中断0和1,经由外部引脚引入的,在单片机上有两个引脚,名称为INT0、INT1,也就是P3.2、P3.3这两个引脚。在内部的TCON中有四位是与外中断有关的。IT0:INT0触发方式控制位,可由软件进和置位和复位,IT0=0,INT0为低电平触发方式,IT0=1,INT0为负跳变触发方式。这两种方式的差异将在以后再谈。IE0:INT0中断请求标志位。当有外部的中断请求时,这位就会置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。IT1、IE1的用途和IT0、IE0相同。(2)内部中断请求源TF0:定时器T0的溢出中断标记,当T0计数产生溢出时,由硬件置位TF0

  (1)有中断源发出中断请求。(2)中断总允许控制位EA=l,CPU开放总中断。(3)申请中断的中断源的中断允许位为1,即该中断没有被屏蔽。(4)无同级或更高级中断正在服务。(5)当前指令周期已经结束。(6)若现行指令为RETI或访问IE或IP指令时,读指令以及紧接着的另一条指令已执行完毕。满足以上条件,则CPU响应响应中断元的中断请求。

  以外中断电平触发为例:当CPU响应该中断进入到服务程序后,在执行RETI指令返回主程序前,必须将外部的低电平撤掉,否则当CPU返回主程序后,会因为外部过长的低电平信号而使其再次进入中断,这样不仅造成一次多余的错误操作,而且使主程序无法正常运行。同理,其它中断源也存在类似的问题。所以在使用中断时必须清楚在返回主程序前时,其中断请求(标志)是否要撤除、如何撤除等问题。MCS-51的中断请求的撤除方法图片1

  在正常的程序执行流程发生暂时的停止时,称为中断,例如,处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。 中断与堆栈设置和ARM体系结构紧密相关,ARM是一种支持多任务操作的系统内核,内部结构完全适应多任务应用。ARM内核支持7种中断,不同的中断处于不同的处理模式(如表1所示),具有不同的优先级,而且每个中断都有固定的中断入口地址。当一个中断发生时,相应的R14(LR)存储中断返回地址,SPSR存储状态寄存器CPSR的值。 由于ARM内核支持流水线工作,LR寄存器存储的地址可能是发生中断处后面

  据路透社消息,中兴已和美国政府签署了一份原则性协议,允许中兴恢复与美国元器件供应商的采购业务。根据协议,美国商务部向中兴处以10亿美元罚款和第三方保管的4亿美元(包含中兴于2017年已提交的3亿美元)保证金,以及中兴在30天内调整董事会和高管团队。美国政府开出的和解条款可谓十分严苛,业内网友纷纷留言表示“协议不公平,美国就是强权霸主”,“绑架中国公司当提款机用”、“希望国人发奋”,为中兴鸣不平。尽管如此,笔者认为,中兴应该签署这份协议,以尽快解除禁令,开展业务。这是当务之急,也是当前大环境下能够达成的最好结果。解除禁令可消除不确定性本次禁令发生在中美贸易冲突的大环境下,一个管理失误最终被美方小题大做、借题发挥,施以最严厉制裁。可以看

  英特尔FPGA可编程加速平台介绍,走近AI、数据中心、基因工程等大咖工程

  看专题答题赢好礼!PI 稳定可靠的TOPSwitch-JX开关电源IC

  全球首款Cortex-M23内核物联网芯片SAML10和SAM L11系列 闯关获取SAML10/SAML11法宝,拆除电子界安全危机,赢好礼!

  SimpleLink CC26x2CC13x2 可支持多重协议的无线微控制器

  基于 TI MSP430 Scan Interface 技术的流量表解决方案

  站点相关:综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430C2000单片机论坛单片机资源下载单片机习题与教程