《第5章MCS51单片机的中断系统1.ppt》由会员分享,可在线阅读,更多相关《第5章MCS51单片机的中断系统1.ppt(23页珍藏版)》请在优知文库上搜索。
1、第第5 5章章MCS-51MCS-51单片机的中断系统单片机的中断系统【学习目的和要求学习目的和要求】MCS-51单片机中断源的种类及工作方式单片机中断源的种类及工作方式 中断控制寄存器中断控制寄存器IE、中断优先级寄存器、中断优先级寄存器IP及定时器及定时器 /计数器及外部中断控制寄存器计数器及外部中断控制寄存器TCON的使用方法的使用方法 MCS-51型单片机中断响应过程型单片机中断响应过程 外部中断的结构及原理外部中断的结构及原理 熟练编制中断服务程序熟练编制中断服务程序 中断的概念中断的概念 看电视看电视中断处理中断处理中断请求中断请求实际生活实际生活中断返回中断返回电话铃响电话铃响接
2、听电话接听电话看电视看电视主程序主程序计算机计算机事件发生事件发生事件处理事件处理主程序主程序第第5 5章章MCS-51MCS-51单片机的中断系统单片机的中断系统CPUCPU在处理某一事件在处理某一事件A A时,发生了另一事件时,发生了另一事件B B请求请求CPUCPU迅速去处理(迅速去处理(中断发生中断发生)CPUCPU暂时中断当前的工作,转去处理事件暂时中断当前的工作,转去处理事件B B(中断响中断响应和中断服务应和中断服务)待待CPUCPU将事件将事件B B处理完毕后,再回到原来事件处理完毕后,再回到原来事件A A被中被中断的地方继续处理事件断的地方继续处理事件A A(中断返回中断返回
3、),这一过程),这一过程称为称为中断中断 中断的概念中断的概念 执行主程序执行主程序主程序主程序继续执行主程序继续执行主程序断点断点中断请求中断请求中断响应中断响应执行执行中断中断处理处理程序程序中断返回中断返回引起引起CPUCPU中断的根源,称为中断的根源,称为中断源中断源。中断源向。中断源向CPUCPU提出的中断请求。提出的中断请求。CPUCPU暂时中断原来的事务暂时中断原来的事务A A,转去处,转去处理事件理事件B B。对事件。对事件B B处理完毕后,再回到原来被中断的处理完毕后,再回到原来被中断的地方(即地方(即断点断点),称为中断返回。实现上述中断功能),称为中断返回。实现上述中断功
4、能的部件称为的部件称为中断系统中断系统(中断机构)。(中断机构)。第第5 5章章MCS-51MCS-51单片机的中断系统单片机的中断系统 实现中断及中断返回实现中断及中断返回 实现优先级排队实现优先级排队 实现优先级控制实现优先级控制 分时操作分时操作。CPUCPU可以分时为多个可以分时为多个I/OI/O设备服务,设备服务,提高了计算机的利用率;提高了计算机的利用率;实时响应实时响应。CPUCPU能够及时处理应用系统的随机事件,能够及时处理应用系统的随机事件,系统的实时性大大增强;系统的实时性大大增强;可靠性高可靠性高。CPUCPU具有处理设备故障及掉电等突发性具有处理设备故障及掉电等突发性事
5、件能力,从而使系统可靠性提高。事件能力,从而使系统可靠性提高。IE0TF0IE1TF1TIRI中断请求标志EX0ET0EX1ET1ES1PX0PT0PX1PT1PS高级低级MCS-51MCS-51单片机的中断系统组成内部查询内部查询入口地址入口地址INT0INT1T0T1TXRX中断允许控制中断优先级EA中断源5个中断请求源:(1)外部中断请求0,中断请求信号由 引脚输入,中断请求标志为IE0IE0。(2)外部中断请求1,中断请求信号由 引脚输入,中断请求标志为IE1IE1。(3)定时器定时器/计数器计数器T0T0计数溢出发出的中断请求,中断请求标志为TF0TF0。(4)定时器定时器/计数器计
6、数器T1T1计数溢出发出的中断请求,中断请求标志为TF1TF1。(5)串行口串行口中断请求,中断请求标志为发送中断TITI或接收中断RIRI。0INT1INT0INT1INT5个中断请求源的中断请求标志中断请求标志分别由TCONTCON和SCONSCON 的相应位锁存。1.TCON1.TCON寄存器寄存器为定时器/计数器的控制寄存器,字节地址为88H,可位寻址。特殊功能寄存器TCON的格式如图图5-35-3所示。9图图5-35-3 特殊功能寄存器特殊功能寄存器TCONTCON的格式的格式TCONTCON各标志位功能如下:各标志位功能如下:(1)TF1TF1定时器/计数器T1的溢出中断请求标志位
7、。当T1计数产生溢出时,由硬件使TF1置“1”,向CPU申请中断。CPU响应TF1中断时,TF1标志由硬件自动清由硬件自动清“0 0”,TF1也可由软件清“0”。(2)TF0TF0定时器/计数器T0的溢出中断请求标志位,功能与TF1类似。(3)IE1IE1外部中断请求1的中断请求标志位。(4)IE0IE0外部中断请求0中断请求标志位,功能与IE1类似。(5)IT1IT1选择外部中断请求1为跳沿触发还是电平触发。IT1=0IT1=0,电平触发,电平触发方式,引脚 上低电平有效,并把IE1置“1”。转向中断服务程序时,由硬件自动把IE1清“0”。IT1=1IT1=1,跳沿触发跳沿触发方式,加到引脚
8、 上的外部中断请求输入信号电平从高到低的负跳变有效负跳变有效,并把IE1置“1”。转向中断服务程序时,由硬件自动自动把IE1清“0”。(6)IT0IT0选择外部中断请求0为跳沿触发方式还是电平触发方式,其意义与IT1类似。MC51复位复位后,TCONTCON被清被清“0 0”,5个中断源的中断请求标志均为0。TR1(D6位)、TR0(D4位)这2位与中断系统无关与中断系统无关,将在第6章定时器/计数器中介绍。2 2串行口控制寄存器串行口控制寄存器SCONSCON串行口控制寄存器,字节地址为98H98H,可位寻址可位寻址。低二位锁存串行口的发送中断和接收中断的中断请求标志TITI和RIRI。各标
9、志位的功能:(1)TITI串行口的发送中断请求标志位。每发送完一帧串行数据后,TI自动置“1”。TI标志必须由软件清必须由软件清“0 0”。(2 2)RIRI串行口接收中断请求标志位。串行口接收完一串行口接收中断请求标志位。串行口接收完一个串行数据帧,硬件自动使个串行数据帧,硬件自动使RIRI中断请求标志置中断请求标志置“1 1”。必须。必须在中断服务程序中用指令对在中断服务程序中用指令对RIRI清清“0 0”。3 3 中断允许寄存器中断允许寄存器IEIE中断允许中断允许控制由中断允许寄存器控制由中断允许寄存器IEIE控制。控制。中断优先级中断优先级控制由中断优先级寄存器控制由中断优先级寄存器
10、IPIP控制。控制。MCS51MCS51的对各中断源的开放或屏蔽,是由中断允许寄存器的对各中断源的开放或屏蔽,是由中断允许寄存器IEIE控制的。控制的。IEIE字节地址为字节地址为A8HA8H,可位寻址可位寻址。IE对中断的开放和关闭实现两级控制两级控制。有一个总的开关中断控制位EAEA(IE.7位),EA=0EA=0时,所有的中断请求被屏蔽;EA=1EA=1时,开放中断,但5个中断源的中断请求是否允许,由IEIE中的低中的低5 5位位所对应的对应的5 5个中断请求允许控制位个中断请求允许控制位的状态来决定IEIE中各位功能如下:中各位功能如下:(1 1)EAEA中断允许总开关控制位。中断允许
11、总开关控制位。EA=0EA=0,所有的中断请求被屏蔽。,所有的中断请求被屏蔽。EA=1EA=1,所有的中断请求被开放。,所有的中断请求被开放。(2 2)ESES串行口中断允许位。串行口中断允许位。ES=0ES=0,禁止串行口中断。,禁止串行口中断。ES=1ES=1,允许串行口中断。,允许串行口中断。(3 3)ET1ET1定时器定时器/计数器计数器T1T1的溢出中断允许位。的溢出中断允许位。ET1=0ET1=0,禁止,禁止T1T1溢出中断。溢出中断。ET1=1ET1=1,允许,允许T1T1溢出中断。溢出中断。(4 4)EX1EX1外部中断外部中断1 1中断允许位。中断允许位。EX1=0 EX1=
12、0,禁止外部中断,禁止外部中断1 1中断。中断。EX1=1EX1=1,允许外部中断,允许外部中断1 1中断。中断。(5 5)ET0ET0定时器定时器/计数器计数器T0T0的溢出中断允许位。的溢出中断允许位。ET0=0ET0=0,禁止,禁止T0T0溢出中断。溢出中断。ET0=1ET0=1,允许,允许T0T0溢出中断。溢出中断。(6 6)EX0EX0外部中断外部中断0 0中断允许位。中断允许位。EX0=0EX0=0,禁止外部中断,禁止外部中断0 0中断。中断。EX0=1EX0=1,允许外部中断,允许外部中断0 0中断。中断。MCS51MCS51复位以后,复位以后,IEIE被清被清“0 0”,所有中
13、断请求被禁止。,所有中断请求被禁止。IEIE中与各个中断源相应的位可用指令置中与各个中断源相应的位可用指令置“1 1”或清或清“0 0”。若使某一个中断源被允许中断若使某一个中断源被允许中断,除了,除了IEIE相应的位被置相应的位被置“1 1”外,还必须使外,还必须使EAEA位置位置“1 1”。改变改变IEIE的内容的内容,可由,可由位操作指令位操作指令来实现(即来实现(即SETB bitSETB bit;CLR bitCLR bit),也可用),也可用字节操作指令字节操作指令实现。实现。第第5 5章章MCS-51MCS-51单片机的中断系统单片机的中断系统【例例5-15-1】设允许外部中断0
14、和串行口中断,禁止其它中断源的中断申请。试根据假设条件设置IE的相应值。解:用位操作指令来编写如下程序段:SETB EX0 ;允许外部中断0中断SETB ES ;允许串行口中断CLR EX1 ;禁止外部中断1中断CLR ET0 ;禁止定时器/计数器T0中断CLR ET1 ;禁止定时器/计数器T1中断SETB EA ;CPU开中断用字节操作指令来编写:MOV IE,#91H 4 4 中断优先级寄存器中断优先级寄存器IPIPMCS51的中断请求源有两个中断优先级两个中断优先级,由软件分别设置为高高优先级中断优先级中断或低低优先级中断优先级中断,可实现:两级中断嵌套两级中断嵌套MCS51正在执行低优
15、先级中断的服务程序时,可被高优先级中断请求所中断,待高优先级中断处理完毕后,再返回低优先级中断服务程序。各中断源的中断优先级关系,可归纳为两条基本规则两条基本规则:(1 1)低优先级可被高优先级中断,高优先级不能低优)低优先级可被高优先级中断,高优先级不能低优先级中断。先级中断。如果某一中断源被设置为高优先级中断,则不能被任何其他的中断源的中断请求所中断。(2 2)任何一种中断中断一旦得到响应,不会再被它的同级不会再被它的同级中断源所中断中断源所中断。中断优先级寄存器IPIP,其字节地址为字节地址为B8HB8H,可位寻址。只要用程序改变其内容,可进行各中断源中断优先级的设中断优先级的设置置,I
16、P寄存器的格式如图所示。中断优先级寄存器IPIP各位的含义各位的含义如下:(1 1)PSPS串行口中断优先级控制位(2 2)PT1PT1定时器T1中断优先级控制位(3 3)PX1PX1外部中断1中断优先级控制位(4 4)PT0PT0定时器T0中断优先级控制位(5 5)PX0PX0 外部中断0中断优先级控制位1 1:高优先级0 0:低优先级中断优先级控制寄存器IP用位操作指令或字节操作指令可更新IP的内容,以改变中断优先级。复位复位以后,IP的内容为0,各个中断源均为低优先级均为低优先级中断。IPPSPT1PX1PT0PX0位地址BCH BBH BAH B9HB8H D4 D3 D2 D1 D0B8H中断优先级控制寄存器IP的格式(3)PX1PX1外部中断1中断优先级控制位1 1:高优先级0 0:低优先级(4)PT0PT0定时器T0中断优先级控制位1 1:高优先级0 0:低优先级(5)PX0PX0外部中断0中断优先级控制位1 1:高优先级0 0:低优先级中断优先级控制寄存器IP用位操作指令或字节操作指令可更新IP的内容,以改变中断优先级。AT89S51复位复位以后,IP的内容为0,各个中