单片机原理及应用第五章第一次课程中断_第1页
单片机原理及应用第五章第一次课程中断_第2页
单片机原理及应用第五章第一次课程中断_第3页
单片机原理及应用第五章第一次课程中断_第4页
单片机原理及应用第五章第一次课程中断_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理及应用花中秋河北工业大学电子科学技术系

单片机原理及应用第五章中断系统、定时器/计数器与串口2第五章中断控制、定时/计数器与串行口(5.1MCS-51中断系统)1中断系统概述1.1中断定义和作用1.2中断源及分类1.3中断嵌套1.4中断系统功能2中断系统的结构2.1中断源和中断标志2.2中断请求和响应2.3中断系统的初始化3MCS-51对外中断源的扩展3.1TO/T1对外扩展源3.28259A对外扩展中断源4MCS-51中断系统的应用4课时单片机原理及应用3第五章中断系统、定时器/计数器与串口1.1定时器/计数器概述1.2定时/计数器结构1.3定时/计数器的工作方式1.4定时/计数器的应用(5.2MCS-51定时器/计数器)第五章中断控制、定时/计数器与串行口2课时单片机原理及应用4第五章中断系统、定时器/计数器与串口1.1串行通信概念5.1.1串行通信的种类5.1.2串行通信数据传输方向1.2串行通信控制及初始化5.2.1串行口的结构5.2.2串行口控制寄存器SCON1.3串行口工作方式及应用(5.3串行通信系统)第五章中断控制、定时/计数器与串行口2课时单片机原理及应用51中断系统概述第五章中断系统、定时器/计数器与串口一、中断的概念计算机具有实时处理能力,能对外界发生的事件进行及时处理,这是依靠它们的中断系统来实现的。中断是现代计算机的一个重要功能,是计算发展史上的一个里程碑。使用中断系统可以提高CPU的工作效率,可以提高单片机对数据处理的失效。

CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断。单片机原理及应用6第五章中断系统、定时器/计数器与串口1中断系统概述执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回MCS-51单片机的中断系统结构单片机原理及应用7第五章中断系统、定时器/计数器与串口1中断系统概述引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。单片机原理及应用8第五章中断系统、定时器/计数器与串口1中断系统概述单片机原理及应用9第五章中断系统、定时器/计数器与串口1中断系统概述单片机原理及应用10第五章中断系统、定时器/计数器与串口1中断系统概述单片机原理及应用11第五章中断系统、定时器/计数器与串口1中断系统概述单片机原理及应用121中断系统概述软件排队的中断单片机原理及应用13第五章中断系统、定时器/计数器与串口1中断系统概述二、中断技术的优点

随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:分时操作:CPU可以分时为多个I/O设备服务,提高了计算机的利用率;实时响应:CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;可靠性高:CPU具有处理设备故障及掉电等突发性事件的能力,从而使系统可靠性提高。单片机原理及应用14第五章中断系统、定时器/计数器与串口2中断系统的结构本节专门讨论MCS-51内部的中断系统,分析这些系统的功能和作用。现分成如下六个方面讲授:中断源和中断标志中断请求的控制中断的响应中断的响应时间中断请求的撤除中断系统的初始化单片机原理及应用15第五章中断系统、定时器/计数器与串口2中断系统的结构16

8051的中断系统有5个中断源,2个优先级,可实现二级中断嵌套。17

一、8051的中断源

1、(P3.2)。可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。2、(P3.3)。可由IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。3、TF0(TCON.5),片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。4、TF1(TCON.7),片内定时/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。5、RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。

单片机原理及应用182中断系统的结构IT0(TCON.0):外部中断0触发方式控制位。当IT0=0时,为电平触发方式。当IT0=1时,为边沿触发方式(下降沿有效)。IE0(TCON.1):外部中断0中断请求标志位。IT1(TCON.2):外部中断1触发方式控制位。IE1(TCON.3):外部中断1中断请求标志位。TF0(TCON.5):定时/计数器T0溢出中断请求标志位。TF1(TCON.7):定时/计数器T1溢出中断请求标志位。

单片机原理及应用19第五章中断系统、定时器/计数器与串口2中断系统的结构单片机原理及应用202SCON的中断标志RI(SCON.0):串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。同样,RI必须由软件清除。TI(SCON.1):串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。

2中断系统的结构单片机原理及应用212中断系统的结构EX0(IE.0):外部中断0允许位;ET0(IE.1):定时/计数器T0中断允许位;EX1(IE.2):外部中断0允许位;ET1(IE.3):定时/计数器T1中断允许位;ES(IE.4):串行口中断允许位;EA(IE.7):CPU中断允许(总允许)位。1中断的允许控制

CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。

单片机原理及应用222中断系统的结构2中断优先级控制

80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的

。PX0(IP.0)外部中断0优先级设定位;PT0(IP.1)定时/计数器T0优先级设定位;PX1(IP.2)外部中断0优先级设定位;PT1(IP.3)定时/计数器T1优先级设定位;PS(IP.4)串行口优先级设定位。单片机原理及应用23第五章中断系统、定时器/计数器与串口2中断系统的结构3中断的响应单片机原理及应用24第五章中断系统、定时器/计数器与串口2中断系统的结构3中断的响应

同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:单片机原理及应用252中断系统的结构3中断的响应80C51单片机的中断优先级有三条原则:

CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。正在进行的低优先级中断服务,能被高优先级中断请求所中断。为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。单片机原理及应用262中断系统的结构设置改变IE的内容,可由位操作指令来实现,即:

SETBbit;

CLRbit。例:若允许片内2个定时器/计数器中断,禁止其它中断源的中断请求。编写设置IE的相应程序段(1)用位操作指令来编写如下程序段:

CLRES ;禁止串行口中断

CLREX1 ;禁止外部中断1中断

CLREX0 ;禁止外部中断0中断

SETBET0;允许定时器/计数器T0中断

SETBET1;允许定时器/计数器T1中断

SETBEA;CPU开中断(2)用字节操作指令来编写:

MOVIE,#8AH

或者用:

MOV0A8H,#8AH

;A8H为IE寄存器字节地址3中断的响应单片机原理及应用272中断系统的结构例:设置IP寄存器的初始值,使2个外中断请求为高优先级,其它中断请求为低优先级。(1)用位操作指令

SETBPX0;2个外中断为高优先级

SETBPX1 CLRPS;串口为低优先级中断

CLRPT0;2个定时器/计数器低优先级中断

CLRPT1(2)用字节操作指令

MOVIP,#05H

或:

MOV0B8H,#05H;B8H为IP寄存器的字节地址3中断的响应单片机原理及应用28第五章中断系统、定时器/计数器与串口2中断系统的结构4中断的处理过程CPU响应中断的条件是:中断源有中断请求;此中断源的中断允许位为1;CPU开中断(即EA=1)。同时满足时,CPU才有可能响应中断1、中断响应条件和时间

单片机原理及应用292中断系统的结构4中断的处理过程

CPU执行程序过程中,在每个机器周期的S5P2期间,中断系统对各个中断源进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。如果某个中断标志在上一个机器周期的S5P2时被置成了1,那么它将于现在的查询周期中及时被发现。接着CPU便执行一条由中断系统提供的硬件LCALL指令,转向被称作中断向量的特定地址单元,进入相应的中断服务程序。

单片机原理及应用302中断系统的结构4中断的处理过程遇以下任一条件,硬件将受阻,不产生LCALL指令:CPU正在处理同级或高优先级中断;当前查询的机器周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断;正在执行的指令为RET、RETI或任何访问IE或IP寄存器的指令。即只有在这些指令后面至少再执行一条指令时才能接受中断请求。若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志却已不再有效,那么该中断将不被响应。就是说,中断标志曾经有效,但未获响应,查询过程在下个机器周期将重新进行。单片机原理及应用312中断系统的结构4中断的处理过程若M1周期的S5P2前某中断生效,在S5P2期间其中断请求被锁存到相应的标志位中去;M2恰逢指令的最后一个机器周期,且该指令不是RETI或访问IE、IP的指令。于是,M3和M4便可以执行硬件LCALL指令,M5周期将进入了中断服务程序。80C51的中断响应时间(从标志置1到进入相应的中断服务),至少要3个完整的机器周期。

单片机原理及应用322中断系统的结构

外部中断的最短的响应时间为3个机器周期:(1)中断请求标志位查询占1个机器周期。(2)子程序调用指令LCALL转到相应的中断服务程序入口,需2个机器周期。

外部中断响应的最长的响应时间为8个机器周期:(1)发生在CPU进行中断标志查询时,刚好是开始执行RETI或是访问IE或IP的指令,则需把当前指令执行完再继续执行一条指令后,才能响应中断,当前指令执行完最长需2个机器周期。(2)接着再执行一条指令,按最长指令(乘法指令MUL和除法指令DIV)来算,也只有4个机器周期。(3)加上硬件子程序调用指令LCALL的执行,需要2个机器周期。如果已在处理同级或更高级中断,响应时间无法计算。在一个单一中断的系统里,AT89C51单片机对外部中断请求的响应的时间总是在3~8个机器周期之间。单片机原理及应用33第五章中断系统、定时器/计数器与串口2中断系统的结构4中断的处理过程将相应的优先级状态触发器置1(以阻断后来的同级或低级的中断请求)。执行一条硬件LCALL指令,即把程序计数器PC的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入PC。执行中断服务程序。中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。

中断响应过程:

单片机原理及应用34第五章中断系统、定时器/计数器与串口2中断系统的结构RETI指令的具体功能是:将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序;将相应中断优先级状态触发器清0,通知中断系统,中断服务程序已执行完毕。注意,不能用RET指令代替RETI指令。在中断服务程序中PUSH指令与POP指令必须成对使用,否则不能正确返回断点。中断返回:

单片机原理及应用352中断系统的结构4中断的处理过程

若外部中断定义为电平触发方式,中断标志位的状态随CPU在每个机器周期采样到的外部中断输入引脚的电平变化而变化,这样能提高CPU对外部中断请求的响应速度。但外部中断源若有请求,必须把有效的低电平保持到请求获得响应时为止,不然就会漏掉;而在中断服务程序结束之前,中断源又必须撤消其有效的低电平,否则中断返回之后将再次产生中断。

电平触发方式适合于外部中断输入以低电平输入且中断服务程序能清除外部中断请求源的情况。例如,并行接口芯片8255的中断请求线在接受读或写操作后即被复位,因此,以其去请求电平触发方式的中断比较方便。单片机原理及应用36第五章中断系统、定时器/计数器与串口2中断系统的结构

若外部中断定义为边沿触发方式,在相继连续的两次采样中,一个周期采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1。即便是CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清零。这样,为保证下降沿能被可靠地采样到,外中断引脚上的高低电平(负脉冲的宽度)均至少要保持一个机器周期(若晶振为12MHz时,为1微秒)。边沿触发方式适合于以负脉冲形式输入的外部中断请求,如ADC0809的转换结束标志信号EOC为正脉冲,经反相后就可以作为80C51的中断输入。4中断的处理过程单片机原理及应用372中断系统的结构4中断请求的撤销1.定时器/计数器中断请求的撤消

中断请求被响应后。硬件会自动清TF0或TF1。2.外部中断请求的撤消

(1)跳沿方式外部中断请求的撤消是自动撤消的。(2)电平方式外部中断请求的撤消:

除了标志位清“0”之外,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。单片机原理及应用38第五章中断系统、定时器/计数器与串口2中断系统的结构串行口中断请求的撤消:响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。所以串行口中断请求的撤消只能用软件清除

CLRTI;清TI标志位

CLRRI;清RI标志位4中断请求的撤销单片机原理及应用39第五章中断系统、定时器/计数器与串口2中断系统的结构5中断系统的初始化单片机原理及应用40第五章中断系统、定时器/计数器与串口2中断系统的结构5中断系统的初始化单片机原理及应用41第五章中断系统、定时器/计数器与串口3中断源的扩展MCS-51只有INT0/INT1两个外部中断输入线,为了使单片机采用中断方式和更多的外设工作,MCS-51的外部中断个数必须进行扩展。MCS-51对外部中断源的扩张方法如下三种:借用T0/T1扩张外部中断源采用查询法扩张外部中断源采用8259A扩张外部中断源单片机原理及应用42第五章中断系统、定时器/计数器与串口3中断源的扩展单片机原理及应用43第五章中断系统、定时器/计数器与串口3中断源的扩展典型的键盘扫描程序单片机原理及应用44第五章中断系统、定时器/计数器与串口3中断源的扩展(了解部分)单片机原理及应用45第五章中断系统、定时器/计数器与串口4中断系统的应用(一)中断服务程序的设计

1、中断服务程序设计的任务

基本任务:

(1)设置中断允许控制寄存器IE。(2)设置中断优先级寄存器IP。(3)对外中断源,是采用电平触发还是跳沿触发。(4)编写中断服务程序,处理中断请求。

前2条一般放在主程序的初始化程序段中。单片机原理及应用46第五章中断系统、定时器/计数器与串口4中断系统的应用

例假设允许外部中断0中断,并设定它为高级中断,其它中断源为低级中断,采用跳沿触发方式。在主程序中编写如下程序段:

SETBEA;CPU开中断

SETBET0;允许外中断0产生中断

SETBPX0;外中断0为高级中断

SETBIT0;外中断0为跳沿触发方式单片机原理及应用474中断系统的应用2.采用中断时的主程序结构常用的主程序结构如下:

ORG0000H LJMPMAIN

ORG中断入口地址

LJMPINT ⋮ ORGXXXXHMAIN:主程序

INT:中断服务程序3.中断服务程序的流程如图所示。单片机原理及应用48下面对有关中断服务子程序执行过程中的一些问题进行说明。(1)现场保护和现场恢复现场保护:现场?。为了使中断服务子程序的执行不破坏这些数据或状态,以免在中断返回后影响主程序的运行,因此要把它们送入堆栈保存起来。现场保护一定要位于现场中断处理程序的前面。现场恢复:中断处理结束后,在返回主程序前,则需要把保存的现场内容从堆栈中弹出,以恢复那些寄存器和存储器单元中的原有内容。现场恢复一定要位于中断处理程序的后面。AT89C51单片机的堆栈操作指令“PUSHdirect”和“POPdirect”,主要是供现场保护和现场恢复使用的。要保护的内容,应该由用户根据中断处理程序的具体情况来决定。4中断系统的应用单片机原理及应用494中断系统的应用(2)关中断和开中断图所示为现场保护前和现场恢复前关中断,是为了防止此时有高一级的中断进入,避免现场被破坏;在现场保护和现场恢复之后的开中断是为下一次的中断做好准备,也为了允许有更高级的中断进入。这样,中断处理可以被打断,但原来的现场保护和现场恢复不允许更改,除了现场保护和现场恢复的片刻外,仍然保持着中断嵌套的功能。但有的时候,对于一个重要的中断,必须执行完毕,不允许被其他的中断嵌套。对此可在现场保护之前先关闭总中断开关位,彻底关闭其他中断请求,待中断处理完毕后再开总中断开关位。单片机原理及应用50第五章中断系统、定时器/计数器与串口4中断系统的应用(3)中断处理是中断源请求中断的具体目的。设计者应根据具体要求,来编写该部分的程序。(4)中断返回中断服务子程序的最后一条指令必须是返回指令RETI。

CPU执行完这条指令后,把响应中断时所置“1”的不可寻址的优先级状态触发器清“0”,然后从堆栈中弹出栈顶上的两个字节的断点地址送到程序计数器PC,弹出的第1个字节送入PCH,弹出的第2个字节送入PCL,CPU从断点处重新执行被中断的主程序。

单片机原理及应用514中断系统的应用例:根据中断服务程序流程,编出中断服务程序。假设,现场保护只需将PSW和A的内容压入堆栈中保护。典型的中断服务程序如下:

INT: CLREA ;CPU关中断

PUSHPSW ;现场保护

PUSHACC ;

SETBEA ;CPU开中断

中断处理程序段

CLREA ;CPU关中断

POPACC ;现场恢复

POPPSW SETBEA ;CPU开中断

RETI ;中断返回,恢复断点单片机原理及应用52第五章中断系统、定时器/计数器与串口4中断系统的应用几点说明:(1)现场保护仅涉及到PSW和A的内容,如还有其它需保护的内容,只需要在相应的位置再加几条PUSH和POP指令即可。(2)“中断处理程序段”,应根据任务的具体要求,来编写。(3)如果本中断服务程序不允许被其它的中断所中断。可将“中断处理程序段”前后的“SETBEA”和“CLREA”两条指令去掉。(4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论