《单片机应用技术》第5章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章中断系统教学目的了解中断的基本概念和功能。掌握中断系统的结构和控制方式。掌握中断系统的中断处理过程。用中断系统设计一个手控流水灯控制器。用中断系统设计一个交通信号灯控制器。学习重点和难点中断响应的条件和中断优先级的应用。外部中断源的扩展方法。第5章中断系统5.1中断系统结构与控制5.2中断处理过程5.3外部中断扩展本章小结习题5.1中断系统结构与控制5.1.1中断的概念5.1.2中断的功能5.1.3中断系统结构5.1.4中断系统控制5.1.1中断的概念在单片机中,当CPU在执行程序时,由单片机内部或外部的原因引起的随机事件要求CPU暂时停止正在执行的程序,而转向执行一个用于处理该随机事件的程序,处理完后又返回被中止的程序断点处继续执行,这一过程就称为中断。单片机处理中断的4个步骤:中断请求、中断响应、中断处理和中断返回。向CPU发出中断请求的来源,或引起中断的原因称为中断源。中断源要求服务的请求称为中断请求。中断源可分为两大类:一类来自单片机内部,称之为内部中断源;另一类来自单片机外部,称之为外部中断源。主程序中断服务程序返回主程序主程序断点RETI响应中断请求5.1.2中断的功能中断系统是指能实现中断功能的硬件和软件。中断系统的功能一般包括以下几个方面。进行中断优先级排队实现中断嵌套自动响应中断实现中断返回中断的特点。可以提高CPU的工作效率实现实时处理处理故障5.1.2中断的功能(1)进行中断优先级排队通常,单片机中有多个中断源,设计人员能按轻重缓急给每个中断源的中断请求赋予一定的中断优先级。当两个或两个以上的中断源同时请求中断时,CPU可通过中断优先级排队电路首先响应中断优先级高的中断请求,等到处理完优先级高的中断请求后,再来响应优先级低的中断请求。5.1.2中断的功能(2)实现中断嵌套CPU在响应某一中断源中断请求而进行中断处理时,若有中断优先级更高的中断源发出中断请求,CPU会暂停正在执行的中断服务程序,转向执行中断优先级更高的中断源的中断服务程序,等处理完这个高优先级的中断请求后,再返回来继续执行被暂停的中断服务程序。这个过程称为中断嵌套。5.1.2中断的功能(3)自动响应中断中断源向CPU发出的中断请求是随机的。通常,CPU总是在每条指令的最后状态对中断请求信号进行检测;当某一中断源发出中断请求时,CPU能根据相关条件(如中断优先级、是否允许中断)进行判断,决定是否响应这个中断请求。若允许响应这个中断请求,CPU在执行完相关指令后,会自动完成断点地址压入堆栈、中断矢量地址送入程序计数器PC、撤除本次中断请求标志,转入执行相应中断服务程序。5.1.2中断的功能(4)实现中断返回CPU响应某一中断源中断请求,转入执行相应中断服务程序,在执行中断服务程序最后的中断返回指令时,会自动弹出堆栈区中保存的断点地址,返回到中断前的原程序中。主程序主程序断点响应低级中断请求高级中断服务程序断点RETIRETI返回主程序响应高级中断请求返回低级中断程序低级中断程序低级中断程序5.1.3中断系统结构8051单片机的中断系统主要由与中断有关的4个特殊功能寄存器和硬件查询电路等组成。定时器控制寄存器TCON——主要用于保存中断信息。串行口控制寄存器SCON——主要用于保存中断信息。中断允许寄存器IE——主要用于控制中断的开放和关闭。中断优先级寄存器IP——主要用于设定优先级别。硬件查询电路——主要用于判定5个中断源的自然优先级别。8051单片机的中断源有五个,可分为三类。外部中断定时中断串行口中断5.1.3中断系统结构IE0PX0EAEX01中断矢量地址10ET0EX1ET1ESPT0PX1PT1PS10101010自然优先级中断矢量地址自然优先级IT0=0IT0=1TF0IE11IT1=0IT1=1TF1TIRIT0T1INT1TXRXTCONIEIPSCON中断标志各中断源允许总允许优先级硬件查询PC低级中断请求PC高级中断请求INT0≥15.1.3中断系统结构1.外部中断类外部中断是由外部原因(如打印机、键盘、控制开关、外部故障)引起的,可以通过两个固定引脚来输入到单片机内的信号,即外部中断0(INT0)和外部中断1(INT1)。INT0——外部中断0中断请求信号输入端,P3.2的第二功能。由定时器控制寄存器TCON中的IT0位决定中断请求信号是低电平有效还是下降沿有效。一旦输入信号有效,即向CPU申请中断,并且硬件自动使IE0置1。INT1——外部中断1中断请求信号输入端,P3.3的第二功能。由定时器控制寄存器TCON中的IT1位决定采用电平触发方式还是边沿触发方式。一旦输入信号有效,即向CPU申请中断,并且硬件自动使IE1置1。5.1.3中断系统结构2.定时中断类定时中断是由内部定时(或计数)溢出或外部定时(或计数)溢出引起的,即定时器0(T0)中断和定时器1(T1)中断。当定时器对单片机内部定时脉冲进行计数而发生计数溢出时,即表明定时时间到,由硬件自动使TF0(TF1)置1,并申请中断。当定时器对单片机外部计数脉冲进行计数而发生计数溢出时,即表明计数次数到,由硬件自动使TF0(TF1)置1,并申请中断。外部计数脉冲是通过两个固定引脚来输入到单片机内的。T0外部计数输入端——P3.4的第二功能。当定时器0工作于计数方式时,外部计数脉冲下降沿有效,定时器0进行加1计数。T1外部计数输入端——P3.5的第二功能。当定时器1工作于计数方式时,外部计数脉冲下降沿有效,定时器1进行加1计数。5.1.3中断系统结构3.串行口中断类串行口中断是为接收或发送串行数据而设置的。串行中断请求是在单片机芯片内部发生的。RXD——串行口输入端,P3.0的第二功能。当接收完一帧数据时,硬件自动使RI置1,并申请中断。TXD——串行口输出端,P3.1的第二功能。当发送完一帧数据时,硬件自动使TI置1,并申请中断。5.1.4中断系统控制1.定时器控制寄存器TCON定时器控制寄存器TCON的作用是控制定时器的启动与停止,并保存T0、T1的溢出中断标志和外部中断、的中断标志。TCON的格式:TCON8FH8EH8DH8CH8BH8AH89H88H(88H)各位的功能说明:(1)TF1(TCON.7):定时器1溢出标志位。定时器1被启动计数后,从初值开始进行加1计数,当定时器1计满溢出时,由硬件自动使TF1置1,并申请中断。该标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。(2)TR1(TCON.6):定时器1启停控制位。TF1TR1TF0TR0IE1IT1IE0IT05.1.4中断系统控制各位的功能说明:(3)IT1(TCON.2):外部中断1触发方式选择位。当ITl=0时,外部中断1为电平触发方式。在这种方式下,CPU在每个机器周期的S5P2期间对INT1(P3.3)引脚采样,若采到低电平,则认为有中断申请,硬件自动使IEl置1;若为高电平,认为无中断申请或中断申请已撤除,硬件自动使IEl清0。在电平触发方式中,CPU响应中断后硬件不能自动使IEl清0,也不能由软件使IEl清0,所以在中断返回前必须撤消INT1引脚上的低电平,否则将再次响应中断造成出错。当ITl=1时,外部中断1为边沿触发方式。CPU在每个机器周期的S5P2期间采样INT1(P3.3)引脚。若在连续两个机器周期采样到先高电平后低电平,则认为有中断申请,硬件自动使IEl置1,此标志一直保持到CPU响应中断时,才由硬件自动清0。在边沿触发方式下,为保证CPU在两个机器周期内检测到先高后低的负跳变,输入高低电平的持续时间至少要保持12个时钟周期。5.1.4中断系统控制各位的功能说明:(4)IE1(TCON.3):外部中断1请求标志位。IEl=1表示外部中断1向CPU申请中断。当CPU响应外部中断1的中断请求时,由硬件自动使IE1清0(边沿触发方式)。(5)TF0(TCON.5):定时器0溢出标志位。其功能同TF1。(6)TR0(TCON.4):定时器0启、停控制位。其功能同TR1。(7)IE0(TCON.1):外部中断0请求标志位。其功能同IE1。(8)IT0(TCON.0):外部中断0触发方式选择位。其功能同IT1。5.1.4中断系统控制2.串行口控制寄存器SCON串行口控制寄存器SCON的低2位TI和RI保存串行口的接收中断和发送中断标志。SCON的格式:SCON9FH9EH9DH9CH9BH9AH99H98H(98H)各位的功能说明:(1)TI(SCON.1):串行发送中断请求标志。CPU将一个字节数据写入发送缓冲器SBUF后启动发送,每发送完一帧数据,硬件自动使TI置1。但CPU响应中断后,硬件并不能自动使TI清0,必须由软件使TI清0。(2)RI(SCON.0):串行接收中断请求标志。在串行口允许接收时,每接收完一帧数据,硬件自动使RI置1。但CPU响应中断后,硬件并不能自动使RI清0,必须由软件使RI清0。SM0SM1SM2RENTB8RB8TIRI5.1.4中断系统控制3.中断允许寄存器IE中断允许寄存器IE的作用是控制CPU对中断的开放或屏蔽以及每个中断源是否允许中断。IE的格式:IEAFHACHABHAAHA9HA8H(A8H)各位的功能说明:(1)EA(IE.7):CPU中断总允许位。EA=1,CPU开放中断。每个中断源是被允许还是被禁止,分别由各中断源的中断允许位确定;EA=0,CPU屏蔽所有的中断要求,称为关中断。(2)ES(IE.4):串行口中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。EA——ESET1EX1ET0EX05.1.4中断系统控制各位的功能说明:(3)ET1(IE.3):定时器1中断允许位。ET1=1,允许定时器1中断;ETl=0,禁止定时器1中断。(4)EX1(IE.2):外部中断1中断允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。(5)ET0(IE.1):定时器0中断允许位。ET0=1,允许定时器0中断;ET0=0,禁止定时器0中断。(6)EX0(IE.0):外部中断0中断允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0中断。5.1.4中断系统控制4.中断优先级寄存器IP中断优先级寄存器IP的作用是设定各中断源的优先级别。IP的格式:IPBCHBBHBAHB9HB8H(B8H)各位的功能说明:(1)PS(IP.4):串行口中断优先级控制位。PS=1,串行口为高优先级中断;PS=0,串行口为低优先级中断。(2)PT1(IP.3):定时器1中断优先级控制位。PT1=1,定时器1为高优先级中断;PTl=0,定时器1为低优先级中断。———PSPT1PX1PT0PX05.1.4中断系统控制各位的功能说明:(3)PX1(IP.2):外部中断1中断优先级控制位。PX1=1,外部中断1为高优先级中断;PXl=0,外部中断1为低优先级中断。(4)PT0(IP.1):定时器0中断优先级控制位。PT0=1,定时器T0为高优先级中断PT0=0,定时器0为低优先级中断。(5)PX0(IP.0):外部中断0中断优先级控制位。PX0=1,外部中断0为高优先级中断;PX0=0,外部中断0为低优先级中断。5.2中断处理过程5.2.1中断响应5.2.2中断处理5.2.3中断返回5.2.4中断的应用实例5.2.1中断响应1.CPU的中断响应条件CPU响应中断必须首先满足以下三个基本条件。(1)有中断源发出中断请求。(2)中断总允许位EA=1。(3)请求中断的中断源的中断允许位为1。在满足以上条件的基础上,若有下列任何一种情况存在,中断响应都会受到阻断。(1)CPU正在执行一个同级或高优先级的中断服务程序。(2)正在执行的指令尚未执行完。(3)正在执行中断返回指令RETI或者对专用寄存器IE、IP进行读/写的指令。CPU在执行完上述指令之后,要再执行一条指令

1 / 59
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功