第5章 80C51的中断与定时系统

上传人:我*** 文档编号:137675799 上传时间:2020-07-11 格式:PPT 页数:150 大小:1.81MB
返回 下载 相关 举报
第5章 80C51的中断与定时系统_第1页
第1页 / 共150页
第5章 80C51的中断与定时系统_第2页
第2页 / 共150页
第5章 80C51的中断与定时系统_第3页
第3页 / 共150页
第5章 80C51的中断与定时系统_第4页
第4页 / 共150页
第5章 80C51的中断与定时系统_第5页
第5页 / 共150页
点击查看更多>>
资源描述

《第5章 80C51的中断与定时系统》由会员分享,可在线阅读,更多相关《第5章 80C51的中断与定时系统(150页珍藏版)》请在金锄头文库上搜索。

1、第5章 80C51的中断与定时系统,主要内容 中断的概念 80C51的中断系统 80C51的定时/计数器 80C51定时/中断应用举例,重点内容介绍,5.2 80C51的中断系统 5.3 80C51的定时/计数器,5.1 中断的概念 5.4 80C51定时/中断应用举例,一般性介绍,教学目的,通过本章学习,使学生了解: 中断的基本概念 中断源的名称 入口地址;,5.1 中断的概念,中断: 就是某个事件想打断CPU正在执行的程序,而让其转去执行另外一段特殊的事先已经写好的程序,执行完这段特定程序之后能返回到原来的程序上继续运行,这个过程称之为中断。 主程序: 最开始被中断的程序,图5.1 中断示

2、意图,5.1 中断概念 某人看书执行主程序 日常事务 电话铃响中断信号INT=0中断请求 暂停看书暂停执行主程序 中断响应 书中作记号 当前PC入栈 保护断点 电话谈话执行I/O程序 中断服务 继续看书返回主程序 中断返回,5.1中断的概念(续),断点: 在主程序中被中断的地方 它是主程序中当前指令(执行完之后进入中断)下面一条指令的存放地址。 中断子程序: 引起中断的程序 中断源: 引发中断产生的某个事件,中断的主要功能,同步工作 提高了CPU的工作效率 实时处理,同步工作,采用中断后,使得CPU与外部设备之间不再是串行工作,而是分时并行操作; CPU启动外设后,就继续执行主程序,而外设要和

3、CPU进行数据交换时,就发出中断请求信号,CPU响应中断后,就去执行中断处理; 中断程序执行完后,CPU继续执行原来的主程序,使CPU和外设同步工作。,提高了CPU的工作效率,采用中断后,CPU可以同时和多种外设打交道,并同时处理内部数据,从而大大提高了CPU的工作效率。,实时处理,在实时控制中,计算机的故障检测、自动处理、人机联系、客机系统,多道程序分时操作和实时信息处理等均要求CPU具有中断功能,能够立即响应加以处理。这样的及时处理在查询的工作方式下是做不到的。,一个完整的中断过程包括以下5个阶段:,中断请求 中断优先级判别 中断响应 中断处理 中断返回,“中断请求”阶段,是中断源向CPU

4、发出请求中断的要求,这是产生中断过程的前提条件,“中断优先级判别”,是在有多个中断源发出中断请求时,需要通过适当的办法(软件的,硬件的,软、硬件结合的)决定究竟先处理哪个中断请求,“中断响应”,指CPU中止现行程序转至中断服务程序的阶段 这个阶段包括判读响应条件(现行指令是否执行完、是否允许中断)、把断点处PC的内容自动压入堆栈保护。,“中断处理”,是指CPU执行中断服务子程序的阶段,“中断返回”,是在执行完中断服务程序后,返回到原先被中断的程序即主程序上的阶段。一般单片机中有专门的指令对应这个环节,5.2 80C51的中断系统,主要内容 80C51的中断系统结构 中断源及其入口地址,5.2.

5、1 中断系统结构,5.2.1 中断系统结构,图5.2 中断系统内部结构图,2个外部中断源信号:INT0、INT1 2个定时器T0、T1溢出中断请求:TF0、TF1 1个串行口数据发送、接收结束中断请求:TI、RI,MCS-51中断系统内部结构,中断源信号,中断允许控制,2级中断优先级控制,总允许开关:EA 源允许开关:ES、ET1、EX1、ET0、EX0,优先级选择开关:PS、PT1、PX1、PT0、PX0,5.2.2 中断源及其入口地址,主要内容 中断源的名称 中断源的分类和特点 中断源的入口地址,中断源的名称,外部中断源0: 由P3.2引脚的第2功能提供外部事件的中断申请输入端 T0中断:

6、 由片内定时/计数器T0引发该中断 外部中断源1: 由P3.3引脚的第2功能提供外部事件的中断申请输入端 T1中断: 由片内定时/计数器T1引发该中断 串行口中断: 由片内串行通信接口在收发数据结束时引发本中断,中断源的分类和特点,分类: 根据中断源产生的位置 片内中断(定时器T0和T1中断、串行口中断) 片外中断(外部中断0和外部中断1) 根据中断源的引发是由硬件产生还是软件 软件中断(定时器T0、T1中断) 硬件中断(外部中断0、外部中断1、串行口中断),根据中断源的性质可以把中断系统分成以下3类中断:,外部中断类 定时器中断类 串行口中断类,外部中断类,外部中断源的中断请求有两种触发方式

7、 电平触发方式:低电平有效 边沿触发方式:脉冲的下降沿这种触发方式下,在相邻两个周期对中断请求引入端进行的采样中,如前次为高、后一次为低,即为有效中断请求。因此在这种中断请求信号方式下,中断请求信号的高电平状态和低电平的状态都应至少维持一个机器周期,以确保电平变化能被单片机采样到 可通过特殊功能寄存器TCON的IT0位和IT1位,进行编程自定义选择合适的触发方式。,定时器中断类,产生本类中断的原因: 硬件结构发生计数溢出 中断的标志: 在软件的标志位TF0和TF1上用“1”体现出来,串行口中断类,每当串行口接收或发送完一组串行数据时,就产生一个中断请求,中断源的入口地址,单片机的中断为固定入口

8、式中断,即一响应中断就转入固定入口地址执行中断服务程序。 中断源的入口地址见表5-1,表5-1 中断源的入口地址,中断源的入口地址(续),在这些单元中往往是一些跳转指令,跳到真正的中断服务程序,这是因为给每个中断源安排的空间只有8个单元。例如:编写中断服务程序的格式一般如下:,ORG0000H SJMPMAIN ORG0003H AJMPINJERRVP MAIN: HERE:SJMPHERE INJERRVP: ;中断响应程序 RETI,5.2.3 中断过程,中断申请 中断响应 中断服务 中断返回,外部中断请求的采样,中断请求采样实质: 就是如何识别外部中断请求信号,并把它锁定在定时器控制寄

9、存器TCON的相应标志位中 采用时刻: 单片机CPU在每个机器周期的S5P2(第五状态第拍节)对中断请求引脚(P3.2)和(3.3)进行采样。,中断查询与响应,中断查询 响应条件 响应过程 中断响应时间,中断查询,实质: 通过CPU对中断请求标志位的查询 具体操作: 80C51在每一个机器周期的最后一个状态(S6),按前述优先级顺序对中断请求标志位进行查询。 标志位为1,则表明有中断请求发生,CPU就从紧接着的下一个机器周期的S1状态开始进行中断响应。 标志位是0,则无中断申请,响应条件,当查询到有中断请求后,CPU要响应中断还有下列条件: 无同级或高级中断正在服务; 当前指令周期结束,如果查

10、询中断请求的机器周期不是当前指令的最后一个周期,则不行; 若现行指令是RETI、RET或访问IE、IP指令,则需要执行到当前指令及下一条指令方可响应。 满足上述条件,就在下一个机器周期响应中断;否则,丢失中断查询结果。,响应过程,80C51单片机响应中断后,自动执行下列操作: 置位中断优先级有效触发器,即关闭同级和低级中断: 自动转入相应的中断子程序入口地址,断点处PC内容自动入栈,相当于LCALL指令; 进入中断服务程序。 RETI指令将清除“优先级激活”触发器(响应时被置位),然后由堆栈产生的2个字节装入到PC中。,中断响应时间,是指从查询中断请求标志位到转向中断服务入口地址所需的机器周期

11、数。 最快响应时间 以外部中断的电平触发为最快。 从查询中断请求信号到中断服务程序要三个机器周期: 1个周期(查询)2个周期(长调用LCALL) 最长时间 2个周期执行当前指令(其中含有1个周期查询)4个周期乘除指令2个周期长调用8个周期。 若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期,中断返回,在中断服务程序的最末尾要用,RETI指令完成下面的具体操作 恢复中断逻辑,打开同级和低级中断: 从堆栈的栈顶取出2个字节的地址还给PC; 返回主程序。,5.3 80C51单片机的中断控制与编程,主要内容 中断控制 中断控制的编程方法,5.3.1 中断控制,

12、中断源触发方式选择 中断识别的标志 中断使能控制 中断优先级控制 中断控制的编程方法,图5.2 中断系统内部结构图,中断控制寄存器,与中断控制有关的控制寄存器有四个:,TCON:定时控制寄存器。设置外部中断触发方式和记录中断请求标志; IE:中断允许控制寄存器。设置中断总开关和各中断源的中断允许或禁止 IP:中断优先级控制寄存器。设置各中断源的中断优先级 SCON:串行口控制寄存器。记录串行中断请求标志,设置方法: 利用定时器控制寄存器TCON中的IT0和IT1这两个可编程位,进行编程控制,定时器控制寄存器TCON的格式 :,外部中断触发方式,由INT0(或INT1)引入的中断有两种触发方式:

13、 低电平触发方式 下降沿触发方式,表5-2 定时器控制寄存器TCON格式,表5-2 定时器控制寄存器TCON,当IT0(或IT1)设定成“1”:下将沿触发方式 当IT0(或IT1)设定成“0”,低电平触发方式,例设置外部中断源边沿触发,可由下面指令来实现: SETB88H;IT0置1 SETBIT1;IT1置1 例设置外部中断源电平触发,可由下面指令来实现: CLRIT0H;IT0清0 CLR8AH;IT1清0,中断识别的标志,在TCON中的IE0和IE1两个标志位就是外部中断源请求标志位。 IE0和IE1是否为“1”来判断识别 如果外部中断源有中断请求,则中断系统的硬件自动将这两个标志位置“

14、1” 如果对应中断源的申请得到CPU的响应之后,IE0和IE1会自动由硬件清零。,外部中断源0和外部中断源1的识别标志,表5-2 定时器控制寄存器TCON,IE0(IE1):外部中断请求标志 当INT0(INT1)引脚有中断信号时,IE0(IE1)被置1; 当CPU响应对应中断后,IE0(IE1)会自动由硬件清零。 TF0(TF1):定时器计数满溢出的标志位。 当计数器产生计数溢出时,此位由硬件自动置1。 当转向中断服务时,再由硬件自动清0,定时器T0和定时器T1中断的识别标志,在TCON中的TF0和TF1两个标志位就是定时器计数满溢出的标志位。 当计数器产生计数溢出时,此位由硬件自动置1。

15、当转向中断服务时,再由硬件自动清0 计数溢出位的使用有两种情况: 采用中断方式编程时用作中断请求识别的标志位; 采用查询方式编程时用作查询状态位使用,常用 “JNB TF0,$”的指令进行非中断的查询方式编程; 如果不采用中断方式编程,而采用查询的方式处理计数满的结果,这两个标志位要用手动清0。,串行口中断的识别标志,当串行口中把一个数据收发成功之后,硬件自动将串行口控制寄存器SCON的RI和TI置“”。 无论用中断的方式处理还是用查询的方式处理,都要用单独的指令手动对RI和TI清零。,中断使能控制,中断使能控制是通过对中断允许控制寄存器IE中的相应位的设置实现 EA:中断允许总控制位。是所有

16、中断源的软件“总开关”。 EA=0,中断总禁止,禁止所有中断,软件设置。 EA=1,中断总允许,总允许后各中断的禁止或允许由各中断源的中断允许控制位进行设置。 EX0(EX1):外部中断允许控制位 EX0(EX1)= 0,禁止外中断0(1) EX0(EX1)= 1,允许外中断0(1),中断使能控制(续),ET0(ET1):定时计数中断允许控制位; ET0(ET1)= 0,禁止定时(或计数)中断0(1) ET0(ET1)= 1,允许定时(或计数)中断0(1) ES:串行中断允许控制位 ES=0,禁止串行中断 ES=1,允许串行中断,中断使能控制(续),EA中断允许总控制位。是所有中断源的软件“总开关”。 EA=0,中断总禁止,禁止所有中断,软件设置。 EA=1,中断总允许,总允许后各中断的禁止或允许由各中断源的中断允许控制位进行设置。 EX0(EX1),外部中断允许控制位 EX0(EX1)= 0,禁止外中断0(1) EX0(EX1)= 1,允许外中断0(1),表5-3 中断允许控制寄存器IE中断使能控制位格式,中断使能控制(续),ET0(ET1):定时计数中断允许控制位

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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