《单片机原理及应用电子.ppt》由会员分享,可在线阅读,更多相关《单片机原理及应用电子.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束第第5章章 AT89C51单片机中断系统单片机中断系统 教学目标教学目标5.1 中断概述中断概述5.2 AT89C51中断系统中断系统5.3 中断系统的应用中断系统的应用本章小结本章小结思考题与习题思考题与习题 单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束教学目标教学目标 通过本章教学,要求达到以下目标:通过本章教学,要求达到以下目标:1熟记熟记AT89C51 5个中断源及其中断入口地址。个中断源及其中断入口地址。2熟悉熟悉TCON、SCON、IE、IP的结构、控制的结构、控制 作用和设置方法。作用和设置方法。3理
2、解理解AT89C51中断响应过程。中断响应过程。4了解中断响应等待时间。了解中断响应等待时间。5理解中断请求撤除情况和应对措施。理解中断请求撤除情况和应对措施。6熟悉中断优先控制的方法。熟悉中断优先控制的方法。7掌握中断应用程序的编制方法。掌握中断应用程序的编制方法。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束5.1 中断中断概述概述 1.中断概念中断概念 CPU暂时中止其正在执行的程序,转暂时中止其正在执行的程序,转去执行请求中断的那个外设或事件的服务去执行请求中断的那个外设或事件的服务程序,等处理完毕后再返回执行原来中止程序,等处理完毕后再返回执行原来中止的程序,这一过程
3、叫做中断。的程序,这一过程叫做中断。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 中断概念类比中断概念类比 看电视看电视中断处理中断处理中断请求中断请求实际生活实际生活中断返回中断返回电话铃响电话铃响接听电话接听电话看电视看电视主程序主程序计算机计算机事件发生事件发生事件处理事件处理主程序主程序图图5.1 5.1 中断概念示意图中断概念示意图 单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束图图5.2 中断过程示意图中断过程示意图单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束2为什么要设中断为什么要设中断 中断解决了快速主机与慢速中断解决了快速主
4、机与慢速I/O设备的设备的数据传送,还具有如下优点:数据传送,还具有如下优点:(1)分时操作。)分时操作。CPU可以分时为多个可以分时为多个I/O设设 备服务,提高了计算机的利用率;备服务,提高了计算机的利用率;(2)实时响应。)实时响应。CPU能够及时处理应用系能够及时处理应用系 统的随机事件,系统的实时性大大增强;统的随机事件,系统的实时性大大增强;(3)可靠性高。)可靠性高。CPU具有处理设备故障及具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性掉电等突发性事件能力,从而使系统可靠性提高。提高。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 3中断源及其优先级中断
5、源及其优先级 中断源中断源是指能发出中断请求,引起中断的是指能发出中断请求,引起中断的装置或事件。装置或事件。一个单片机系统通常有多个中断一个单片机系统通常有多个中断源,而单片机源,而单片机CPU在某一时刻只能响应一个中在某一时刻只能响应一个中断源的中断请求,当多个中断源同时向断源的中断请求,当多个中断源同时向CPU发发出中断请求时,则必须按照出中断请求时,则必须按照“优先级别优先级别”进行进行排队,排队,CPU首先选定其中中断级别最高的中断首先选定其中中断级别最高的中断源为其服务,然后按由高到低的排队顺序逐一源为其服务,然后按由高到低的排队顺序逐一服务,完毕后返回断点地址,继续执行主程序。服
6、务,完毕后返回断点地址,继续执行主程序。这就是这就是“中断优先级中断优先级”的概念。的概念。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 4.中断源的管理中断源的管理 单片机系统中有一个专门用来管理中断单片机系统中有一个专门用来管理中断源的机构,它就是源的机构,它就是中断控制寄存器中断控制寄存器,我们可以,我们可以通过对其编程来设置中断源的优先级别以及是通过对其编程来设置中断源的优先级别以及是否允许某个中断源的中断请求等。否允许某个中断源的中断请求等。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束5.2 AT89C51中断系统的结构中断系统的结构 5.2.1
7、中断源及中断系统构成中断源及中断系统构成 1.中断源:中断源:(1)INT0:外部中断:外部中断0;(2)INT1:外部中断:外部中断1;(3)T0:定时:定时/计数器计数器0溢出中断;溢出中断;(4)T1:定时:定时/计数器计数器1溢出中断;溢出中断;(5)串行中断(包括串行接收中断串行中断(包括串行接收中断RI和和 串行发送中断串行发送中断TI)。)。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束5.2.1 中断源及中断系统构成中断源及中断系统构成IE0EX0TF0IE1TF1TIESET1EX1ET0RIIP硬件查询硬件查询高级中高级中断请求断请求低级中低级中断请求断请求
8、中断入中断入口地址口地址中断源中断源INT0INT1中断入中断入口地址口地址中断源中断源10IEPX0PSPT1PX1PT0111111111100000EA11SCON11T0T1RXTXIT0IT100TCON图图5.3 AT89C51中断系统结构示意图中断系统结构示意图单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 5.2.2 中断标志与中断控制中断标志与中断控制 1中断标志中断标志 (1)定时器控制寄存器定时器控制寄存器TCON TCON为为8位特殊功能寄存器,其结构、位特殊功能寄存器,其结构、位名称、位地址及其功能如表位名称、位地址及其功能如表5.1所示。所示。单片机
9、原理及应用主目录主目录上一页上一页下一页下一页结结 束束表表5.1 TCON的结构、位名称、位地址和功能的结构、位名称、位地址和功能位编码位编码位名称位名称TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0位地址位地址8FH 8EH 8DH 8CH 8BH 8AH 89H 88H功功 能能 T1中断标志位中断标志位T1启停控制位启停控制位T0中断标志位中断标志位TCON.0/INT1中断中断标志位标志位/INT0中断中断标志位标志位/INT1触发触发方式位方式位/INT0触发触发方式位方式位T0启停控制位启停控制位TCON.1TCON.2TCON.3TCON.4TCON.5TCON
10、.6TCON.7单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束表表5.1 TCON的结构、位名称、位地址和功能的结构、位名称、位地址和功能位编码位编码位名称位名称TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0位地址位地址8FH 8EH 8DH 8CH 8BH 8AH 89H 88H状状 态态 TCON.0TCON.1TCON.2TCON.3TCON.4TCON.5TCON.6TCON.7外部中断外部中断 0采用电平触发采用电平触发0外部中断外部中断 0采用边沿触发采用边沿触发1 11 外部中断外部中断1 采用边沿触发采用边沿触发0 外部中断外部中断1 采用电平触
11、发采用电平触发 0 0 0 0单片机复位时或无中断请求发生时,这些位均为单片机复位时或无中断请求发生时,这些位均为0外部中断外部中断1发出中断请求时发出中断请求时外部中断外部中断0发出中断请求时发出中断请求时111T0发出中断请求时发出中断请求时T1发出中断请求时发出中断请求时单片机复位或单片机复位或T0停止计数停止计数启动启动T0开始计数开始计数单片机复位或单片机复位或T1停止计数停止计数启动启动T1开始计数开始计数00 11单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束(2)SCON的中断标志的中断标志 串行控制寄存器串行控制寄存器SCON的结构、位名称、位地的结构、位名称
12、、位地址及其功能如表址及其功能如表5.2所示。其中只有所示。其中只有TI和和RI两位用两位用来表示串行口中断标志位。来表示串行口中断标志位。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束表表 5.2 SCON的结构、位名称、位地址和功能的结构、位名称、位地址和功能 位编码位编码位名称位名称SM0 SM1 SM2 REN TB8 RB8 TI RI位地址位地址9FH 9EH 9DH 9CH 9BH 9AH 99H 98H功功 能能 SCON.0串行发送中断串行发送中断标志位标志位串行接收串行接收中断标志位中断标志位SCON.1SCON.2SCON.3SCON.4SCON.5SCO
13、N.6SCON.7单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 1)TI:为为串串行行口口发发送送中中断断标标志志位位,位位地地址址为为99H。在在串串行行口口发发送送完完一一组组数数据据时时,TI由由硬硬件件自自动动置置位位(TI=1),请请求求中中断断,当当CPU响响应应中中断断进进入入中中断断服服务务程程序序后后,TI状状态态不不能能被被硬硬件件自自动动清除,而必须在中断程序中由软件来清除。清除,而必须在中断程序中由软件来清除。2)RI:为为串串行行口口接接收收中中断断标标志志位位,位位地地址址为为98H。在在串串行行口口接接收收完完一一组组串串行行数数据据时时,RI由
14、由硬硬件件自自动动置置位位(RI=1),请请求求中中断断,当当CPU响响应应中中断断进进入入中中断断服服务务程程序序后后,也也必必须须由由软软件件来来清清除除RI标志。标志。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 1)中断允许控制寄存器中断允许控制寄存器IE 2.中断控制中断控制 AT89C51设设有有专专门门的的开开中中断断和和关关中中断断指指令令,中中断断的的开开放放和和关关闭闭是是通通过过中中断断允允许许寄寄存存器器IE各各位位的的状状态态进进行行两两级级控控制制的的。所所谓谓两两级级控控制制是是指指所所有有中中断断允允许许的的总总控控制制位位和和各各中中断断源源
15、允允许许的的单单独独控控制制位位,每每位位状状态态靠靠软软件件来来设设定定。中中断断允允许许控控制制寄寄存存器器IE各位的定义及其功能等如表各位的定义及其功能等如表5.3所示。所示。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束表表 5.3 IE的结构、位名称、位地址和功能的结构、位名称、位地址和功能 位编码位编码IE.7IE.6IE.5IE.4IE.3IE.2IE.1IE.0位名称位名称 EA ET2 ES ET1 EX1ET0 EX0位地址位地址 AFH ADH ACH ABH AAH A9H A8H功功 能能 中断总允许中断总允许控制位控制位定时器定时器T1的溢出的溢出中
16、断允许控制位中断允许控制位 外部中断外部中断1的的中断允许控制位中断允许控制位定时器定时器T0的溢出的溢出中断允许控制位中断允许控制位外部中断外部中断0的的中断允许控制位中断允许控制位串行口中断串行口中断允许控制位允许控制位定时器定时器T2的溢出的溢出中断允许控制位中断允许控制位单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束表表 5.3 IE的结构、位名称、位地址和功能的结构、位名称、位地址和功能 位编码位编码IE.7IE.6IE.5IE.4IE.3IE.2IE.1IE.0位名称位名称 EA ET2 ES ET1 EX1ET0 EX0位地址位地址 AFH ADH ACH ABH
17、 AAH A9H A8H功功 能能 禁止所有禁止所有中断中断开通外部中断开通外部中断/INT0禁止其他中断禁止其他中断00 0 0 0 0 0开通总开通总中断中断1所有中断仍被禁止所有中断仍被禁止0 0 0 0 0 10 1 0 0 1 0开通开通T0和串行口中断和串行口中断禁止其他中断禁止其他中断 1 1 1 1 1 1开通所有中断开通所有中断单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 (1)EA(IE.7):总总允允许许控控制制位位,位位地地址址为为AFH。EA状状态态可可由由软软件件设设定定,若若EA=0,禁禁止止AT89C51所所有有中中断断源源的的中中断断请请求求
18、;若若EA=1,则则总总控控制制被被开开放放,但但每每个个中中断断源源是是允允许许还还是是被被禁禁止止CPU响响应应,还受控于中断源的各自中断允许控制位的状态。还受控于中断源的各自中断允许控制位的状态。(2)ET2(IE.5):定定时时器器T2溢溢出出中中断断允允许许控控制位,位地址是制位,位地址是ADH。(3)ES(IE.4):串串行行口口中中断断允允许许控控制制位位,位位地址是地址是ACH。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 (4)ET1(IE.3):定定时时器器T1的的溢溢出出中中断断允允许许控制位,位地址为控制位,位地址为ABH。(5)EX1(IE.2):外
19、部中断外部中断 的中断请的中断请求允许控制位,位地址是求允许控制位,位地址是AAH。(6)ET0(IE.1):定时器定时器T0的溢出中断允的溢出中断允许控制位,位地址是许控制位,位地址是A9H。(7)EX0(IE.0):外部中断外部中断 的中断请的中断请求允许控制位,位地址是求允许控制位,位地址是A8H。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 2)中断优先级控制寄存器)中断优先级控制寄存器IP AT89C51的中断源优先级是由中断优先的中断源优先级是由中断优先寄存器寄存器IP来进行控制的。其来进行控制的。其5个中断源划分为个中断源划分为两个中断优先级:高优先级和低优先级
20、。每两个中断优先级:高优先级和低优先级。每一个中断源都可以通过一个中断源都可以通过IP寄存器中的相应位寄存器中的相应位设置成高设置成高(优先优先)级中断或低级中断或低(优先优先)级中断。级中断。相应位置相应位置“1”,定义为定义为高级中断,高级中断,相应位清相应位清“0”,定义为定义为低级中断,低级中断,因此,因此,CPU对所有对所有中断请求只能实现两级中断嵌套。中断请求只能实现两级中断嵌套。IP寄存器寄存器的结构、位名称和位地址如表的结构、位名称和位地址如表5.4所示。所示。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束表表 5.4 IP的结构、位名称、位地址和功能的结构、位
21、名称、位地址和功能 位编码位编码IP.7IP.6IP.5IP.4IP.3IP.2IP.1IP.0位名称位名称 PT2 PS PT1 PX1PT0 PX0位地址位地址 BDH BCH BBH BAH B9H B8H功功 能能保留位保留位保留位保留位 定时器定时器T2中断中断优先级控制位优先级控制位串行口中断串行口中断优先级控制位优先级控制位定时器定时器T1中断中断优先级控制位优先级控制位定时器定时器T0中断中断优先级控制位优先级控制位/INT0中断中断优先级控制位优先级控制位/INT1中断中断优先级控制位优先级控制位 1 1 1 1 1 1高级中断(同为高级中断(同为1时时亦称其为同级中断)亦称
22、其为同级中断)低级中断(同为低级中断(同为0时时亦称其为同级中断)亦称其为同级中断)0 0 0 0 0 0单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 如如果果同同样样优优先先级级的的请请求求同同时时接接收收到到,则则内内部部对对中中断断源源的的查查询询次次序序决决定定先先接接受受哪哪一一个个请请求求,表表5.5列列出出了了同同(一优先一优先)级中断源的内部查询顺序。级中断源的内部查询顺序。中断源中断源 中断标志中断标志优先查询顺序优先查询顺序 外部中断外部中断0 定时器定时器T0中断中断 外部中断外部中断1 定时器定时器T1中断中断 串行口中断串行口中断IE0TF0IE1T
23、F1RI+TI高高低低表表5.5 中断源的内部查询顺序中断源的内部查询顺序单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 中断优先级三条原则:中断优先级三条原则:(1)同)同时收到时收到几个中断时,几个中断时,响应响应优先级优先级 别别最高的;最高的;(2)中断过程)中断过程不能被同级、低优先级所不能被同级、低优先级所 中断;中断;(3)低优先级)低优先级中断服务,中断服务,能被高优先级能被高优先级 中断。中断。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束5.2.3 中断处理过程中断处理过程 中断处理过程大致可分为中断处理过程大致可分为4步:步:。1.中断请求
24、中断请求 当中断源要求当中断源要求CPU为它服务时,必须发出一个为它服务时,必须发出一个中断请求信号。中断请求信号。CPU将相应的中断请求标志位将相应的中断请求标志位置置“1”。为确保该中断得以实现,中断请求信。为确保该中断得以实现,中断请求信号应保持到号应保持到CPU响应该中断后才能取消。响应该中断后才能取消。CPU会不断及时地查询这些中断请求标志位,一旦会不断及时地查询这些中断请求标志位,一旦查询到某个中断请求标志置位,查询到某个中断请求标志置位,CPU就响应这就响应这个中断源的中断请求。个中断源的中断请求。中断请求、中断请求、中断响应、中断响应、中断服务中断服务 和中断返回和中断返回单片
25、机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 2.中断响应中断响应 同时满足以下同时满足以下4个条件时,才可能响应中断。个条件时,才可能响应中断。(1)有中断请求;)有中断请求;(2)对应中断允许位为对应中断允许位为1;(3)开中断(即开中断(即EA=1)。)。(4)正在执行的指令不是正在执行的指令不是RETIRETI或者是访问或者是访问IEIE、IPIP的指令,否则必须再执行另外一条指令后才的指令,否则必须再执行另外一条指令后才 能响应。能响应。AT89C51响应某一中断请求后要进行如下操作:响应某一中断请求后要进行如下操作:(1)完成当前指令的操作。完成当前指令的操作。(2)
26、保护断点地址,将保护断点地址,将PC内容压入堆栈。内容压入堆栈。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 (3)屏蔽同级的中断请求。)屏蔽同级的中断请求。(4)将将中中断断源源入入口口地地址址(固固定定的的)送送入入PC寄寄存存器器,自自动动转转入入相相应应中中断断程程序序入入口口地地址址。中中断断源源口地址如表口地址如表5.6 所示。所示。表表5.6 AT89C51中断入口地址表中断入口地址表中断源中断源中断程序入口地址中断程序入口地址INT00003H定时器定时器T0000BHINT10013H定时器定时器T1001BH串行口中断串行口中断0023H单片机原理及应用主
27、目录主目录上一页上一页下一页下一页结结 束束 3.中断响应时间中断响应时间 中断响应(从标志置中断响应(从标志置1到进入相应的中断服到进入相应的中断服务),至少要务),至少要3个个完整的机器周期。如图完整的机器周期。如图5.4所示。所示。图图5.4 中断响应时间示意图中断响应时间示意图单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 4.中断请求的撤除中断请求的撤除 中断源发出中断请求后,相应的中断请求标中断源发出中断请求后,相应的中断请求标志位置志位置“1”,而,而CPU响应中断后,必须及时清除响应中断后,必须及时清除中断请求中断请求“1”标志。否则中断响应返回后,将再标志。否
28、则中断响应返回后,将再次进入该中断,引起死循环出错。有关中断请求次进入该中断,引起死循环出错。有关中断请求标志撤除有如下标志撤除有如下 4 种种情况:情况:(1)定时定时/计数器计数器T0、T1中断,中断,CPU响应中断响应中断时就用硬件自动清除了相应的中断请求标志时就用硬件自动清除了相应的中断请求标志TF0、TF1。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 (2)对采用边沿触发方式的外部中断,对采用边沿触发方式的外部中断,CPU响应中断时,响应中断时,硬件也会自动清除相应的中断请求标志硬件也会自动清除相应的中断请求标志IE0或或IE1。(3)对采用对采用电平触发方式电平
29、触发方式的外部中断,的外部中断,CPU响应中断响应中断时,虽也用硬件自动清除相应的中断请求标志时,虽也用硬件自动清除相应的中断请求标志IE0或或IE1,但,但相应引脚相应引脚(P3.2或或P3.3)的低电平信号若继续保持下去中断请的低电平信号若继续保持下去中断请求标志求标志IE0或或IE1就无法清零,也会发生上述重复响应中断的就无法清零,也会发生上述重复响应中断的情况。情况。(4)对串行口中断对串行口中断(包括串发包括串发TI、串收、串收RI),CPU响应中响应中断后并不能自动清除相应的中断请求标志断后并不能自动清除相应的中断请求标志TI或或RI,因此在响,因此在响应串行口中断请求后,必须由用
30、户在中断服务程序的相应位应串行口中断请求后,必须由用户在中断服务程序的相应位置通过指令将其清除置通过指令将其清除(复位复位)。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 5.2.4 中断返回中断返回 注意:注意:(1)不能用)不能用RET指令代替指令代替RETI指令。指令。(2)中断服务程序中)中断服务程序中PUSH与与POP须成对使用。须成对使用。AT89C51响响应应中中断断后后,自自动动执执行行中中断断服服务务程程序序。在在中中断断服服务务程程序序中中,只只要要遇遇到到RETI指指令令(不不论论在在什什么么位位置置),单单片片机机就就结结束束本本次次中中断断服服务务,
31、返返回回原原程程序序。因因此此,在在中中断断服服务务程程序序的的最最后必须有一条后必须有一条RETI指令,用于中断返回。指令,用于中断返回。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束5.3 中断中断系统的应用系统的应用 5.3.1 中断初始化设置中断初始化设置 1.设置堆栈指针设置堆栈指针SP 设置适宜的堆栈深度。设置适宜的堆栈深度。(1)深度要求不高且工作寄存器组深度要求不高且工作寄存器组13不用时,不用时,可维持复位时状态:可维持复位时状态:SP=07H,深度为,深度为 24B(20H2FH为位寻址区为位寻址区)。(2)要求有一定深度时,可设要求有一定深度时,可设SP=
32、60H或或50H,这时深度分别为这时深度分别为32B和和48B。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 2.定义中断优先级定义中断优先级 根据中断源的轻重缓急,划分高优先级和根据中断源的轻重缓急,划分高优先级和低优先级。低优先级。3.定义外部中断触发方式定义外部中断触发方式 一般情况下一般情况下,应定义应定义边沿触发方式边沿触发方式为宜。为宜。若外部中断必须采用电平触发方式时,应在硬若外部中断必须采用电平触发方式时,应在硬件电路上和中断服务程序中采取撤除中断请求件电路上和中断服务程序中采取撤除中断请求信号的措施。信号的措施。单片机原理及应用主目录主目录上一页上一页下一页
33、下一页结结 束束 4.开放中断开放中断 由于由于AT89C51采用了二级中断控制方式,因采用了二级中断控制方式,因此开放中断必须同时开放二级中断控制,即同时此开放中断必须同时开放二级中断控制,即同时置位置位EA和需要开放中断的中断允许控制位。和需要开放中断的中断允许控制位。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 5.3.2 中断服务主程序中断服务主程序(1)在中断服务入口地址设置一条跳转指令,在中断服务入口地址设置一条跳转指令,以便转移到中断服务程序的实际入口处。以便转移到中断服务程序的实际入口处。(2)数据需要保护现场。通常是保护数据需要保护现场。通常是保护Acc、P
34、SW和和DPTR等等特殊功能寄存器中的内容。等等特殊功能寄存器中的内容。(3)中断源请求中断服务要求的操作,这是中断源请求中断服务要求的操作,这是 中断服务程序的主体。中断服务程序的主体。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束(4)若是外部中断电平触发方式,应有中断若是外部中断电平触发方式,应有中断 标志撤除操作。若是串行收发中断,应标志撤除操作。若是串行收发中断,应 有对有对RI、TI清清0指令。指令。(5)恢复现场。与保护现场相对应,注意按恢复现场。与保护现场相对应,注意按 “先进后出、后进先出先进后出、后进先出”的原则操作。的原则操作。(6)中断返回,最后一条指令
35、必须是中断返回,最后一条指令必须是RETI。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 P1P3.0QDCLKCLR选通信号选通信号+5VINT0数据数据89C51Vcc例例5.1 单外部中断源应用示例单外部中断源应用示例 5.3.3 中断系统应用举例中断系统应用举例图图5.5 外部中断源应用外部中断源应用 单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 ORG 0000HSTART:LJMP MAIN ;跳转到主程序;跳转到主程序 ORG 0003H LJMP INTO ;转中断服务程序;转中断服务程序 ORG 0030H ;主程序;主程序 MAIN:CL
36、R IT0 ;设为电平触发方式;设为电平触发方式 SETB EA ;CPU开放中断开放中断 SETB EX0 ;允许中断;允许中断 MOV DPTR,#1000H;设置数据区指针;设置数据区指针 主程序:主程序:单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 ORG 0200H INT0:PUSH PSW ;保护现场;保护现场 PUSH ACC CLR P3.0 ;由;由P3.0输出输出0 NOP NOP SETB P3.0 ;由;由P3.0输出输出1,撤除,撤除 MOV A,P1 ;输入数据;输入数据 MOVX DPTR,A ;存入数据存储器;存入数据存储器 INC DPTR
37、 ;修改指针,指向下一单元;修改指针,指向下一单元 POP ACC ;恢复现场;恢复现场 POP PSW RETI ;中断返回;中断返回中断服务程序中断服务程序:单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 例例5.2 利用定时器作外部中断源。利用定时器作外部中断源。AT89C51内内部部有有两两个个定定时时器器/计计数数器器,当当它它们们选选择择为为计计数数器器工工作作方方式式时时,T0(P3.4)或或T1(P3.5)引引脚脚上上发发生生的的负负跳跳变变将将使使T0或或T1计计数数器器加加1计计数数。因因此此,可可将将P3.4、P3.5作作为为外外部部中中断断请请求求输输入
38、入线线,将将T0或或T1计计数数初初值值设设定定为为满满量量程程(#0FFH)。当当T0、T1引引脚脚上上的的电电平平发发生生负负跳跳变变时时,计计数数器器加加1计计数数溢溢出出,引引起起中中断断,因因而而可可当当作作外外中中断断使使用用,以以计计数数器器T0为为例例,初初始始化化程序如下:程序如下:单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束MOV TMOD,#06H ;置置T0为工作方式为工作方式2MOV TL0 ,#0FFH ;置置T0计数初值计数初值MOV TH0 ,#0FFHSETB EA ;开开CPU中断中断SETB ET0 ;允许;允许T0中断中断SETB TR
39、0 ;启动;启动T0计数计数 END单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 例例5.3 扩扩展展外外部部中中断断源源:在在变变频频调调速速器器中中都都设设有有过过流流(OC)、过过压压(OV)、欠欠压压(UV)、过过热热(OH)这这四四种种故故障障保保护护,当当任任一一故故障障发发生生时时,都都要要立立刻刻停停机机处处理理,避避免免故故障障范范围围扩扩大大。这这种种情情况况必必须须采采用用中中断断方方式式,使使单单片片机机立立刻刻响响应应中中断断处理。试设计其硬件电路和软件程序。处理。试设计其硬件电路和软件程序。单片机原理及应用主目录主目录上一页上一页下一页下一页结结
40、束束 根根据据要要求求,四四个个故故障障相相当当四四个个中中断断源源,可可利利用用中中断断查查询询方方法法,将将四四个个中中断断源源归归结结为为一一个个中中断断请请求求,同同时时四四个个故故障障信信号号引引到到P1口口的的四四个个输输入入端端,然然后后在在中中断断程程序序中中查查询询P1口口,确确定定是是哪哪一一个个故故障障申申请请的的中中断断。电电路路如如图图5.6所所示示。一一旦旦发发生生故故障障,单单片片机机必必须须响响应应中中断断,因因此此,该该中中断断必必须须设设置置成成最高级中断。在中断程序中可以显示故障信息。最高级中断。在中断程序中可以显示故障信息。单片机原理及应用主目录主目录上
41、一页上一页下一页下一页结结 束束11111 INT0 INT1OHUVOVOC+5V图图5.6 扩展扩展4个外中断源电路个外中断源电路P1.3P1.2P1.1P1.0AT89C51单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束主程序和中断服务程序如下:主程序和中断服务程序如下:ORG0000 AJMPZCX1 ;转主程序;转主程序 NOP ORG 0013H AJMP INT1 ;转中断服务程序;转中断服务程序 NOP ORG 0100HZCX1:MOV SP,#30H ;置堆栈指针;置堆栈指针 MOV IP,#04H ;设;设 INT1为最高级为最高级 CLR IT1 ;设;
42、设 INT1为电平触发为电平触发 SETB EA ;开中断;开中断 SETB EX1ZCX2:其他处理程序:其他处理程序 AJMP ZCX2 ORG 0200H单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束INT1:PUSH PSW ;保护现场;保护现场 PUSH ACC MOV A,P1 ;读入;读入P1口低口低4位状态位状态 ANL A,#0FH JNB ACC0,X1 ;是是OC中断吗?不是则转移中断吗?不是则转移 ACALL XY1 ;调调OC处理子程序处理子程序X1:JNB ACC1,X2 ;是是OV中断吗?不是则转移中断吗?不是则转移 ACALL XY2 ;调调OV
43、处理子程序处理子程序X2:JNB ACC2,X3 ;是是UV中断吗?不是则转移中断吗?不是则转移 ACALL XY3 ;调;调UV处理子程序处理子程序 X3:JNB ACC3,X4 ;是;是OH中断吗?不是则转移中断吗?不是则转移 ACALL XY4 ;调;调OH处理子程序处理子程序X4:POP ACC ;恢复现场;恢复现场 POP PSW RETIXY1:OC处理子程序处理子程序(略略)RET单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束本章小结本章小结 (1)中断与中断系统:中断与中断系统:CPU暂时中止其正在暂时中止其正在执行的程序,转去执行请求中断的那个外设执行的程序,
44、转去执行请求中断的那个外设 或事或事件的服务程序,等处理完毕后再返回执行原来中件的服务程序,等处理完毕后再返回执行原来中止的程序,这一过程叫做中断。中断是一种资源止的程序,这一过程叫做中断。中断是一种资源共享技术,单片机使用中断技术主要是为了进行共享技术,单片机使用中断技术主要是为了进行实时控制,以便对随机发生的事件作出快速反应实时控制,以便对随机发生的事件作出快速反应和及时处理;为完成中断任务的相关硬件电路和和及时处理;为完成中断任务的相关硬件电路和软件程序合称为中断系统。软件程序合称为中断系统。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 (2)中断源及其入口地址:中断源
45、及其入口地址:AT89C51单片机有单片机有5个中断源:分别为:个中断源:分别为:INT0、T0、INT1、T1及串行及串行口中断口中断(包括串行接收中断包括串行接收中断RI和串行发送中断和串行发送中断TI)。5个中断源的中断入口地址分别为个中断源的中断入口地址分别为0003H、000BH、0013H、001BH、0023H。(3)中断控制及寄存器:控制中断控制及寄存器:控制89C51中断的有中断的有3个方面、个方面、4个特殊功能寄存器:个特殊功能寄存器:中断请求:定时和外部中断控制寄存器中断请求:定时和外部中断控制寄存器TCON、串行控制寄存器、串行控制寄存器SCON;中断允许控制寄存器中断
46、允许控制寄存器IE;中断优先级控制寄存器中断优先级控制寄存器IP。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 (4)中断处理过程:大致可分为中断请求、中断中断处理过程:大致可分为中断请求、中断响应、中断服务和中断返回响应、中断服务和中断返回4个步骤。个步骤。(5)中断响应等待时间:一般是中断响应等待时间:一般是34个机器周个机器周期,最长为期,最长为8个机器周期。个机器周期。(6)中断触发方式:通常有边沿触发和电平触中断触发方式:通常有边沿触发和电平触发两种。发两种。(7)AT89C51的的5个中断源可设置为两个中断优个中断源可设置为两个中断优先级:高优先级和低优先级。先级
47、:高优先级和低优先级。(8)编制中断应用程序主要包括中断初始化和编制中断应用程序主要包括中断初始化和中中断服务程序。断服务程序。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 中断初始化内容包括:设置堆栈指针中断初始化内容包括:设置堆栈指针SP、定、定义中断优先级、定义外部中断触发方式、开放中断义中断优先级、定义外部中断触发方式、开放中断和中断发生前主程序应完成的操作内容。和中断发生前主程序应完成的操作内容。中断服务程序中的操作内容和功能是中断源中断服务程序中的操作内容和功能是中断源请求中断的目的,是请求中断的目的,是CPU完成中断处理操作的核心完成中断处理操作的核心和主体。由
48、于和主体。由于89C51相邻两个中断入口地址间只有相邻两个中断入口地址间只有8字节的空间,因此真正的中断服务程序必须跳转到字节的空间,因此真正的中断服务程序必须跳转到其他合适的地址空间。其他合适的地址空间。(9)中断服务程序中,若涉及到一些功能寄存中断服务程序中,若涉及到一些功能寄存器器中断前的数据需要保存,则需要采取保护现场和恢中断前的数据需要保存,则需要采取保护现场和恢复现场的措施。复现场的措施。(10)中断服务程序最后一条指令必须是中断服务程序最后一条指令必须是RETI。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束思考题与习题思考题与习题 5.1 什什么么叫叫中中断断?
49、单单片片机机采采用用中中断断有有什什么好处?么好处?5.2 什什么么叫叫中中断断源源?AT89C51有有哪哪几几个个中断源?写出其固定入口地址。中断源?写出其固定入口地址。5.3 什什么么叫叫中中断断嵌嵌套套?中中断断嵌嵌套套遵遵循循的的原原则则是是什什么么?AT89C51单单片片机机本本身身能能实实现现几级嵌套?几级嵌套?5.4 AT89C51中中与与中中断断有有关关的的特特殊殊功功能能寄存器有几个?它们各自的功能是什么?寄存器有几个?它们各自的功能是什么?单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 5.5 AT89C51单单片片机机外外中中断断的的触触发发方方式式有有几
50、几种种?它它们们有有什什么么区区别别?电电平平触触发发时时,如如何何防防止止CPU重复响应同一外中断?重复响应同一外中断?5.6 什什么么是是中中断断优优先先级级?AT89C51能能设设置置几几个个优优先先级级?同同一一级级别别的的中中断断源源同同时时发发出出中中断断请求,请求,CPU先响应哪一个?怎样确定?先响应哪一个?怎样确定?5.7 一一个个中中断断请请求求被被响响应应必必须须满满足足什什么么条条件?件?5.8 AT89C51响响应应某某一一中中断断请请求求后后要要进进行行哪些操作?哪些操作?单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 5.9 若若系系统统只只有有一一