AT89S51单片机的中断系统

上传人:洪易 文档编号:2663622 上传时间:2017-07-26 格式:PPT 页数:101 大小:1.33MB
返回 下载 相关 举报
AT89S51单片机的中断系统_第1页
第1页 / 共101页
AT89S51单片机的中断系统_第2页
第2页 / 共101页
AT89S51单片机的中断系统_第3页
第3页 / 共101页
AT89S51单片机的中断系统_第4页
第4页 / 共101页
AT89S51单片机的中断系统_第5页
第5页 / 共101页
点击查看更多>>
资源描述

《AT89S51单片机的中断系统》由会员分享,可在线阅读,更多相关《AT89S51单片机的中断系统(101页珍藏版)》请在金锄头文库上搜索。

1、,单片微机原理及应用,第8章 AT89S51单片机的中断系统,内容提要 中断是微机系统中非常重要的一项技术,是对微处理器功能的有效扩展。利用外部中断,微机系统可以实时响应外部设备的数据传输请求,能够及时处理外部意外或紧急事件。本章主要介绍中断的基本概念,详细阐述AT89S51单片机的中断系统结构和工作原理,并通过实例介绍其应用。 学习要点 了解中断的基本概念。 熟习AT89S51单片机的中断系统结构和工作原理。 掌握AT89S51单片机中断系统的使用方法,能熟练进行中断系统初始化编程及中断服务程序的设计。,8.1 中断技术概述8.2 AT89S51单片机的中断系统 8.3 中断系统的程序设计及

2、实例8.4 AT89S51对外部中断源的扩展,第8章 目 录,5,8.1 中断技术概述 8.1.1 中断的定义和作用 1中断的定义 所谓“中断”,是指CPU暂时停止正在执行的程序,转去执行请求CPU为之服务的内、外部事件的服务程序,待该服务程序执行完后,又返回到被暂停的程序继续运行的过程。中断过程及生活中类似事例的示意图,如图8-1所示。,6,图8-1,7,2中断的作用 (1)可以提高CPU的工作效率 CPU有了中断功能就可以通过分时操作启动多个外设同时工作,并能对它们进行统一管理。CPU在与外设交换信息时通过中断就可以避免不必要的等待和查询,从而大大提高它的工作效率。 (2)可以提高实时数据

3、的处理时效 在实时控制系统中,被控系统的实时参量、超限数据和故障信息等,必须为计算机及时采集、分析判断和处理,以便对系统实施正确的调节和控制。CPU有了中断功能,系统的失常和故障就都可以通过中断立刻通知CPU,使它可以迅速采集实时数据和故障信息,并对系统做出应急处理。,8,8.1.2 中断源 中断源是指引起CPU中断的事件,常见的中断源有如下几种。 1外部设备中断源 打印机和键盘等计算机外设都可以用做中断源。 2控制对象中断源 被控对象常常是实时控制计算机的主要中断源。 3故障中断源 4定时脉冲中断源 定时器/计数器溢出时产生的信号可引起CPU的中断,使CPU可以进行定时或计数的处理,以便达到

4、时间或计数控制的目的。 5软件引起的中断源,9,8.1.3 中断分类 1按中断产生的位置分类 (1)外部中断,或称外部硬件实时中断,它是由外部送到CPU的某一特定引脚上产生的。 (2)内部中断,或称软件指令中断,是为了处理程序运行过程中发生的一些意外情况或调试程序方便而提供的中断。 2按接受中断的方式分类 (1)可屏蔽中断 (2)非屏蔽中断,只要中断源提出请求,CPU就必须响应,主要用于一些紧急情况的处理,如掉电等。,10,8.1.4 中断系统的功能 中断系统是指实现中断功能的那部分硬件电路和软件程序。中断系统的功能通常有如下几种。 1中断判优 判别中断源优先级的方法,有软件查询法和硬件排队法

5、两种。 (1)软件查询法 软件查询法是在CPU响应某个中断后,首先进入一个软件查询程序,按照事先确定的中断优先级别从高到低依次查询,先查到的中断请求先响应,这就实现了先响应的是优先级别高的中断源,11,图8-2 中断优先级软件查询法的接口电路,12,图8-3 中断优先级软件查询法的流程图,13,图8-2是一个软件中断优先级排队的接口电路,它把8个外设的中断请求触发器组合成一个端口,作为中断寄存器使用,并赋以地址。各外设的中断请求信号相“或”后作为中断请求信号(INTR)送给CPU,只要一个或多个外设有中断请求,都能向CPU提出中断请求,CPU在查询时,读取中断寄存器端口的内容,从高位到低位依次

6、检测,先检测到的,就先执行相应的中断服务程序,由于寄存器从高位到低位,依次是优先级高到低的中断源的中断请求触发器的状态,故查询实现了优先级高的先响应。图8-3中给出了查询式中断的流程。,14,(2)硬件排队法 实现中断优先级排队的硬件电路常用的有链式电路和优先级编码电路。,图8-4 中断优先级编码电路,15,2中断嵌套,图8-5 中断嵌套过程示意图,16,3自动响应中断 中断源产生的中断请求是随机发生且无法预料的。因此,CPU必须不断检测中断输入线上的中断请求信号,而且相邻两次检测必须不能相隔太长,否则就会影响响应中断的时效。通常,CPU总是在每条指令的最后状态对中断请求进行一次检测。 CPU

7、在响应中断时通常要自动做三件事: 一是自动关闭中断并把原执行程序的断点地址压入堆栈; 二是按中断源提供(或预先约定)的中断矢量自动转入相应中断服务程序的执行; 三是自动或通过安排在中断服务程序中的指令来撤除本次中断请求,以避免再次响应本次中断的请求。,17,8.1.5 中断处理过程 对于不同的微型计算机系统,CPU进行中断处理的具体过程不完全一样,即使是同一台微型计算机,由于中断方式的不同(如可屏蔽中断、不可屏蔽中断等),中断处理也会有差别,但一个完整的中断处理的基本过程应包括中断请求、中断判优、中断响应、中断处理及中断返回等5个基本阶段。,18,1中断请求 每个中断源都有一个中断请求触发器,

8、它可以发出中断请求信号,且可以保持一段时间,直至CPU响应该中断后才撤除这一请求。 有些外设接口电路中还设置了中断屏蔽触发器,只有当其为非屏蔽状态时,中断请求信号才能送给CPU,否则,即使有了中断请求,也不能送给CPU,屏蔽触发器的状态可以用指令灵活设置。 2中断判优 根据中断源的优先级别判定是否做出响应。,19,3中断响应 (1)中断响应的条件与时机 当外设的中断请求送给CPU后,必须满足以下条件才可响应中断。 CPU是允许中断的 CPU内部设有中断允许触发器,可以用指令对其进行设置,如果关闭,即使有中断请求,也不会响应,只有它被允许时,才能响应外设的中断请求。在一些计算机系统中,为了处理紧

9、急情况,也允许某些中断请求不受CPU的这一限制,非屏蔽中断请求NMI即为一例。,20, 执行完现行指令后响应 若中断请求送给CPU的时刻,CPU正在执行一条指令,则必须等这条指令执行完后,才能响应。因为CPU是在每条指令的最后一个机器周期才会去检测是否有中断请求。,21,(2)中断响应的过程 满足以上两个条件后,CPU进入中断响应周期,完成以下操作。 自动关中断 响应中断后,自动关闭CPU的中断允许触发器,以防止其他中断对现有中断的干扰。若要允许中断嵌套,则必须在中断服务程序中的适当位置,用指令开放中断。 保护断点 CPU在一条指令执行完毕后,响应中断,此时PC的值为下一条指令的地址,即断点地

10、址,为了使得CPU在执行完中断处理程序后,仍能回到断点处继续执行主程序,必须在服务程序入口地址送PC之前,将断点地址送入堆栈保护起来,这一工作由硬件自动完成。,22, 转中断服务程序入口地址 由于一般情况下计算机带有多个中断源,计算机响应中断后必须首先确定响应的是哪一个中断源的请求,然后将该中断源的服务程序的第一条指令地址即入口地址送入PC,使CPU转去执行服务程序。确定入口地址的具体方式,对于不同的CPU并不相同,通常有两种方式。 软件查询法:对所有的中断源按照优先级别从高到低逐个查询,先查到的即响应,该中断源的入口地址也就确定。 中断向量法:由被响应的中断源自动送上一个中断向量,不同的中断

11、源有各自不同的中断向量,根据中断向量经过某种计算或查表,便可得到中断服务程序的入口地址,从而转入中断服务程序。,23,4中断处理 中断处理就是执行中断服务程序,一般要完成以下操作。 (1)保护现场 由于在执行服务程序时需要使用CPU的某些寄存器来进行运算、传送、保存中间结果,这样一来,就使得断点处的这些寄存器的原值被改变,中断返回后,继续执行主程序时就会产生错误。因此,在正式执行服务程序之前必须采取保护措施,将断点处的有关寄存器的值送入堆栈保护,具体保护哪些寄存器的内容,应根据具体情况而定。,24,(2)中断服务 执行中断源所需要的服务程序,不同的中断源有各自不同的服务程序。 (3)恢复现场

12、执行完服务程序之后,要回到主程序。为此,必须将前面保护现场时送到堆栈中的CPU各相应寄存器的内容,重新从堆栈中弹回到各寄存器,使主程序能正确执行,这一工作称为恢复现场。 5. 中断返回 若CPU响应中断后已自动关中断,则是在返回主程序之前必须用指令开中断,这样才能保证CPU在回到主程序后能响应新的中断请求。为使服务程序执行完毕后能正确回到断点去执行主程序,在中断服务程序的最后安排一条中断返回指令(RETI),该指令的功能是将堆栈中保存的断点地址弹出到程序计数器PC中,以返回主程序运行。中断响应和处理的过程如图8-6所示。,25,26,8.2 AT89S51单片机的中断系统 中断系统结构图如图8

13、-7所示。 中断系统有5个中断请求源(简称中断源),两个中断优先级,可实现两级中断服务程序嵌套。 每一中断源可用软件独立控制为允许中断或关中断状态,中断优先级均可用软件来设置。,27,图8-7,28,8.2.1 AT89S51的中断请求源和中断标志 1. 中断请求源:AT89S51中断系统共有5个中断请求源:(1) 外部中断请求0,中断请求信号由 引脚输入,中断请求标志为IE0。(2) 外部中断请求1,中断请求信号由 引脚输入,中断请求标志为IE1。(3)定时器/计数器T0计数溢出发出的中断请求,中断请求标志为TF0。(4)定时器/计数器T1计数溢出发出的中断请求,中断请求标志为TF1。(5)

14、串行口中断请求,中断请求标志为发送中断TI或接收中断RI。,29,2. 中断请求标志寄存器5个中断请求源的中断请求标志分别由TCON和SCON的相应位锁存。(1) 定时器/计数器控制寄存器TCON为定时器/计数器的控制寄存器,字节地址为88H,可位寻址。特殊功能寄存器TCON的格式如图5-3所示。,图8-8 特殊功能寄存器TCON的格式,30,TCON各标志位功能如下: IT0:选择外中断请求0为下降沿触发方式或低电平触发方式: IT0 = 0,为低电平触发方式。 IT0 = 1,为下降沿触发方式。 可由软件置“1”或清“0”。,31, IE0:外部中断请求0的中断请求标志位。 IE0 = 0

15、,无中断请求。 IE0 = 1,外部中断0有中断请求。当CPU响应该中断,转向中断服务程序时,由硬件对IE0清“0”。,32, IT1:外部中断请求1下降沿触发方式或低电平触发方式,意义与IT0类似。 IE1:外部中断请求1的中断请求标志位,意义与IE0类似。 TF0:定时器/计数器T0溢出中断请求标志位。 T0计数后,溢出时,由硬件对TF0置“1”,向CPU申请中断,CPU响应TF0中断时,硬件自动对TF0清“0”,TF0也可由软件清“0”。 TF1:定时器/计数器T1的溢出中断请求标志位,功能和TF0类似。 TR1、TR0这 2个位与中断无关。 当89S51复位后,TCON被清0,CPU关中断,所有中断请求被禁止。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号