文档详情

第5章80C51单片机的中断系统详解.ppt

发布:2017-04-16约6.07千字共49页下载文档
文本预览下载声明
第5章 80C51单片机的中断系统 及定时器;5.1 80C51的中断系统 ;引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。; 随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:;二、80C51中断系统的结构 80C51的中断系统有5个中断源,2个优先级,可实现二级中断嵌套 。;5.1.2 80C51的中断源 一、中断源; 3、TF0(TCON.5),片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。;二、中断请求标志 在中断系统中,采用哪种中断,选择哪种触发方式,要由TCON和SCON相应位规定。 1、TCON(定时/计数器控制寄存器)的中断标志;IE0(TCON.1),外部中断0中断请求标志位。 IT1(TCON.2),外部中断1触发方式控制位。 IE1(TCON.3),外部中断1中断请求标志位。 TF0(TCON.5),定时/计数器T0溢出中断请求标志位。T0启动后就开始由初值加1计数,直至最高位产生溢出使TF0=1向CPU发出中断请求。CPU响应中断时,TF0会自动清0。 TF1(TCON.7),定时/计数器T1溢出中断请求标志位。 TCON的低4位用于控制外部中断, TCON的高4位用于控制定时/计数器的启动和中断申请。 ;2、SCON(串行口控制寄存器)的中断标志;一、中断允许控制 CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。IE由软件设置。某位设为1,相应的中断源允许中断;某位设为0,相应的中断源中断屏蔽。CPU复位时,IE=0,禁止所有中断。;二、中断优先级控制 80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来设定的 。某位设定为1,则相应中断源为高优先级;某位设定为0,则相应中断源为低优先级。单片机复位时,IP=0,各中断源同为低优先级。; 同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:;80C51单片机的中断优先级有三条原则:; ;5.2 80C51单片机中断处理过程 ;中断服务的进入: CPU执行程序过程中,在每个机器周期的S5P2期间,中断系统对各个中断源进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。 如果某个中断标志在上一个机器周期的S5P2时被置成了1,那么它将于现在的查询周期中及时被发现。接着CPU便执行一条由中断系统提供的硬件LCALL指令,转向被称作中断向量的特定地址单元,进入相应的中断服务程序。 ;遇以下任一条件,硬件将受阻,不产生LCALL指令: CPU正在处理同级或高优先级中断; 当前查询的机器周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断; 正在执行的指令为RET、RETI或任何访问IE或IP寄存器的指令。即只有在这些指令后面至少再执行一条指令时才能接受中断请求。;二、中断响应时间 某中断的响应时序如图:;将相应的优先级状态触发器置1(以阻断后来的同级或低级的中断请求)。 执行一条硬件LCALL指令,即把程序计数器PC的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入PC。 执行中断服务程序。;编写中断服务程序时注意: (1)由于80C51系列单片机两个相邻中断源中断服务程序入口地址相距才8个单元,一般的中断服务程序放不下,通常在相应的中断服务程序入口地址单元放一条长跳转指令LJMP,这样可以使中断服务程序能灵活地安排在64kB ROM的任何地方。若在2kB范围内转移,则可以用AJMP。 (2)硬件LCALL指令,只负责将PC内的断点地址压入堆栈保护,而对其他寄存器(如PSW,A等)的内容不作保护处理。所以,在中断服务程序中,首先用软件保护现场,在中断服务之后,中断返回前恢复现场,以防止中断返回后,丢失原来寄存器的内容。; ; 若外部中断定义为电平触发方式,中断标志位的状态随CPU在每个机器周期采样到的外部中断输入引脚的电平变化而变化,这样能提高CPU对外部中断请求的响应速度。但外部中断源若有请求,必须把有效的低电平保持到请求获得响应时为止,不然就会漏掉;而在中断服务程序结束之前,中断源又必须撤消其有效的低
显示全部
相似文档