版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单击此处添加(tin ji)标题单片机原理(yunl)与接口技术共二百零八页2022年7月21日第6章 MCS-51 中断(zhngdun)系统-2-第6章 MCS-51 中断(zhngdun)系统共二百零八页目 录2022年7月21日第6章 MCS-51 中断(zhngdun)系统-3-概 述1MCS-51 的中断系统2中断控制器8259A3MCS-51 对外部中断源的扩展4共二百零八页第6章 MCS-51中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-4- 人们通过输入设备向计算机输入原始的程序和数据,计算机则通过输出设备向外界输出运算结果,
2、因此外部设备也是微型计算机或单片微型计算机的重要组成部分。 微型计算机和外部设备之间不是直接相连,而是通过不同接口电路来达到彼此间信息传送的,这种信息传送方式通常可以分为:同步传送、异步传送、中断传送和DMA传送等四种,但中断传送尤为重要。共二百零八页第6章 MCS-51中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-5-同步传送和异步传送同步传送方式 中发送方和接收方的时钟是统一的、字符与字符间的传输是同步无间隔的。异步传送方式 并不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的。共二百零八页第6章 MCS-51中断(zhngdu
3、n)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-6-中断传送在中断传送方式中,以外设为主动方,每次外设准备好就可以向CPU发出一次中断请求,使CPU暂停当前正在执行的程序,转去与外设进行一次数据传输工作,当完成了本次数据的输入或输出后,再回到原先被打断的地方继续执行原来的程序。中断方式可以大大提高CPU的效率和系统的实时性。 共二百零八页第6章 MCS-51中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-7-DMA传送方式DMA方式即直接存储器存取方式,是一种在DMA控制器的控制下实现的外设与存储器之间的直接数据传输
4、方式。在整个DMA传输过程中,是不需要CPU参与的,完全是通过硬件逻辑电路用固定的顺序发地址和读写信号来实现的,数据不需要经过CPU而是在外设和存储器之间高速传输。共二百零八页2022年7月21日第6章 MCS-51 中断(zhngdun)系统-8-概 述6.1 共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-9-中断是指计算机暂时停止原程序执行转而为外部设备服务(fw)(执行中断服务(fw)程序),并在服务(fw)完后自动返回原程序执行的过程。6.1.1 中断的定义和作用CPU执行主程序A主程序CPU继续执行主程序A断点中断请求响应中断CPU执
5、行中断处理程序B中断返回中断源中断又可以定义为CPU自动执行中断服务程序并返回原程序执行的过程。共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-10-中断源:可以(ky)引起中断的事件称为中断源(如定时器溢出等)。中断请求:由中断源向CPU发出请求中断的信号称中断请求。中断响应:CPU在满足条件下接受中断申请,终止现行程序执行转而为申请中断的对象服务称中断响应。中断服务程序:处理中断事件的程序称为中断服务程序。断点:现行程序被中断的地址称为断点。中断返回:中断服务程序结束后返回到原程序称中断返回。共二百零八页6.1 概 述2022年7月21日第6
6、章 MCS-51 中断(zhngdun)系统-11- 中断概念(ginin)类比 看电视中断处理中断请求实际生活中断返回电话铃响接听电话看电视主程序计算机事件发生事件处理主程序中断概念示意图 共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-12-中断过程示意图中断(zhngdun)源中断申请共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-13-1.可以提高CPU的工作效率CPU可以和多个外设同时工作,外设有数据时给出中断申请,CPU才会去响应(xingyng),其它时间只需要完成自己的工作。CPU的
7、利用率高。2.可以提高实时数据的处理时效3.实现人机联系中断的作用:中断与子程序的区别:子程序是预先安排好的,而中断是随时发生的共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-14-中断源是指引起中断原因的设备(shbi)或部件,或发出中断请求信号的源泉。通常,中断源有以下几种:1.外部设备中断源2.控制对象中断源3.故障中断源4.定时脉冲中断源6.1.2 中断源共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-15- 1) 外部设备中断源:外部设备主要为计算机输入和输出数据,故它是最原始最广泛的中断
8、源。通常键盘、打印机都可以用作中断源。 2) 控制对象中断源:计算机用作实时控制时,被控对象常常被用作中断源,用于产生中断请求信号,要求CPU及时采集系统的控制参量、越限参数以及要求发送和接收数据,等等。例如:电压、电流、温度、压力、流量和流速等越限报警的某些物理量,温度、压力等。共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-16- 3) 故障中断源:故障源是产生故障信息的源泉。把它作为中断源是要CPU 以中断方式对已经发生的故障进行分析和处理。有内、外之分,如被零除中断,掉电等 。 4) 定时脉冲中断源:也叫定时器中断,是一种定时脉冲电路 。
9、有内、外之分。共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-17-6.1.3 中断(zhngdun)分类 2) 非屏蔽中断:CPU 不能控制此类中断。只要有此中断请求,就必须响应。(Zilog公司的Z80 CPU) 1) 可屏蔽中断:CPU 是否响应中断是可以控制的 (例:可用开中断、关中断指令控制中断是否被执行.MCS-51) 3) 软件中断:利用中断指令使CPU响应中断,CPU只要执行指令,就可以转入相应中断服务程序执行。(Intel公司8088、8086)共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngd
10、un)系统-18-目的:为避免同一时间因响应若干中断源的中断请求而带来的混乱。同一瞬间,CPU只能响应若干个中断源中的一个(y )中断请求。 中断嵌套方法:在某一瞬间,CPU因响应某一中断源的中断请求而正在执行它的中断服务程序时,若CPU此时的中断是开放的,那它必然可以把正在执行的中断服务程序暂停下来转而响应和处理中断优先权更高中断源的中断请求,等到处理完后再转回来继续执行原来的中断服务程序,这就是中断嵌套。6.1.4 中断嵌套共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-19-实现中断嵌套的必要条件:中断服务程序开头(ki tu)应设置一条开
11、中断指令(因为CPU会因响应中断而自动关闭中断)。要有中断优先权更高中断源的中断请求存在。 两者不可缺一。共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-20- 中断嵌套过程:CPU在执行某个中断时,若有更高优先级的中断请求,则先响应高级(goj)中断,然后再执行低优先级中断,最后返回主程序。嵌套深度为2的中断嵌套。共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-21-1.CPU执行安排在主程序开头的开中断指令后,若来了一个B中断请求,CPU便可响应B中断而进入B中断服务程序执行。2.CPU执行设置
12、在B中断服务程序开头的一条开中断指令后使CPU中断再次开放,若此时又来了优先级更高的A中断请求,则CPU响应A中断而进入A中断服务程序执行。3.CPU执行到A中断服务程序末尾(mwi)的一条中断返回指令RETI后自动返回B中断服务程序执行。4.CPU执行到B中断服务程序末尾的一条中断返回指令RETI后又可返回主程序执行。共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-22-1.进行中断优先权排队51内部(nib)集成了中断优先权排队电路,在软件配合下可对其5个中断进行优先权排队。计算机给每个中断源规定了优先级别,称为优先权。这样,当多个中断源同时
13、发出中断请求时,优先权高的中断能先被响应,只有优先权高的中断处理结束后才能响应优先权低的中断。6.1.5 中断系统功能共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-23-2.实现中断嵌套当CPU响应某一中断时,若有优先权高的中断源发出中断请求,则CPU能中断正在(zhngzi)进行的中断服务程序,响应高级中断,高级中断处理结束以后,再继续进行被中断的中断服务程序。若发出新的中断请求的中断源的优先权级别与正在处理的中断源同级或更低,CPU不响应该中断请求,直至正在处理的中断服务程序执行完以后再去处理新的中断请求。6.1.5 中断系统功能共二百零八
14、页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-24-3.自动响应中断-在每个指令周期(zhuq)的最后,检测中断请求并响应。6.1.5 中断系统功能CPU响应中断时,自动做三件事:一是自动关闭中断和把原执行程序的断点地址压入堆栈,以便中断返回指令RETI可以按照此地址返回原程序执行;二是按中断源提供(或预先约定)的中断矢量自动转入相应中断服务程序执行;三是自动或通过指令来撤除本次中断请求,以避免再次响应本次中断请求。 共二百零八页6.1 概 述2022年7月21日第6章 MCS-51 中断(zhngdun)系统-25-4.实现(shxin)中断返回-执行
15、中断程序后,用RETI指令实现返回主程序。6.1.5 中断系统功能执行中断服务程序后,CPU返回主程序的过程:首先恢复原保留寄存器的内容和标志位的状态,这称为恢复现场,由用户编程完成。然后,再加返回指令RETI,恢复PC值,使CPU返回断点,这称为恢复断点。恢复现场和断点后,CPU将继续执行原主程序,中断响应过程到此为止。 共二百零八页2022年7月21日第6章 MCS-51 中断(zhngdun)系统-26-MCS-51的中断(ZHNGDUN)系统6.2 共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-27-中
16、断过程是在硬件基础上再配以相应的软件而实现的,不同的计算机其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-28-51单片机中断系统结构IE0TF0IE1TF1INT0INT1T0T1TIRIEX0ET0EX1ET1ES1EAPX0PT0PX1PT1PS中断向量地址高低查询循序PC高级中断请求PC低级中断请求中断向量地址高低01IT1IT01010101010TXRX查询循序01SCONIEIPTCON硬件查询中断源中断选择中断标志中断源允许全局中断允
17、许中断优先级查询电路共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-29- MCS-51中断系统在4个特殊功能寄存器控制下工作。 TCON:定时/计数器控制寄存器; SCON:串行口控制寄存器; IE: 中断允许控制寄存器; IP: 中断优先级控制寄存器。 通过对这4个特殊功能寄存器的相应位进行置位或清零操作,实现各种中断控制功能。共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-30-8031/8051/8751有5个中断源(52系
18、列有6个)2个外部中断源2个定时溢出中断源1个串行口中断6.2.1 MCS-51的中断源和中断标志外部中断0(INT0)外部中断1(INT1)T0溢出中断(TF0)T1溢出中断(TF1)串行口中断(RI或TI)共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-31-中断源(1) 外部中断源 INT0、INT1:由引脚P3.2、P3.3输入的两个外部中断源;可直接触发TCON的IE0、IE1标志位;触发方式:边沿触发、电平触发;触发方式由TCON中的IT0、IT1来选择。EAIE0INT0EX0PX001IT010高
19、优先级低优先级IEIPTCON共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-32-TcTs T TS5S6S4S3S2S5S6S4S3S2S1 CPU 在每个机器周期的S5P2期间,会自动查询各个中断申请标志位,若查到某标志位被置位1,将启动中断机制。CPU识别中断申请的依据:共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-33-(1) 外部中断源 INT0、INT1:触发方式:电平触发和负边沿触发设定电平触发方式(IT0=0或I
20、T1=0)时,CPU检测到INT0#/INT1#低电平时,中断请求有效。设定负边沿触发方式(IT0=1或IT1=1)时,则CPU需两次检测INT0#/INT1#才能确定,即前一次检测为高电平且后一次检测为低电平时中断请求有效。共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-34-边沿触发方式中断请求输入端出现上升沿为有效中断请求信号电平触发方式中断请求端出现高电平为有效的中断请求信号中断响应后必须及时撤出高电平共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中
21、断(zhngdun)系统-35-(2) 定时器溢出中断源 T0、T1定时器溢出中断由内部的定时器中断源产生,属于内部中断。用于需要定时控制的场合。当计满溢出时,使标志位TF0、TF1置“1”,产生中断请求;TF0:定时器T0的溢出中断标志位;TF1:定时器T1的溢出中断标志位。EATF0T0ET0PT010IEIPTCON高优先级低优先级共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-36-(2) 定时器溢出中断源 T0、T1计数器溢出中断:对外部时钟计数,一个脉冲加1。定时器溢出中断:内部时钟一个机器周期加1。
22、定时时间由用户通过程序设定,CPU在定时器溢出中断服务程序中进行计时。定时器T0/T1在定时脉冲作用下从全“1”变为全“0”时可以自动向CPU提出溢出中断请求,以表明定时器T0或T1的定时时间已到。共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-37-(3) 串行口中断源 TI、RI由内部串行口中断源产生,属内部中断。当接收或发送完一组串行数据时,内部串行口中断请求标志位RI或TI置位(由硬件自动执行),请求中断。串行口分为串行口发送中断和串行口接收中断。发送中断和接收中断,由SCON中的TI和RI判断。EATI
23、RIES1PS10TXRXIEIPSCON高优先级低优先级共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-38-8031中断标志位分别安排在定时器控制寄存器TCON、串行口控制寄存器SCON中,它们均属于特殊功能寄存器SFR。 S5P2检测中断请求信号,设立中断标志位;下一个机器周期检查标志位,决定是否响应中断。中断标志共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-39-定时器控制寄存器TCON,是SFR之一,锁存中断请求标志,字
24、节地址88H,可位寻址。 位编码位名称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.6TCON.7共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-40-位编码位名称TF1 TR1 TF0 TR0 IE1 IT
25、1 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 采用电平触发 0 0 0 0单片机复位时或无中断请求发生时,这些位均为0外部中断1发出中断请求时外部中断0发出中断请求时111T0发出中断请求时T1发出中断请求时停止T0计数启动T0开始计数停止T1计数启动T1开始计数0011外部中断定时器溢出中断共二百零八页6.2 MCS-51的中断(zhngdun)系统2
26、022年7月21日第6章 MCS-51 中断(zhngdun)系统-41-串行控制寄存器SCON 是SFR之一,锁存中断请求标志,字节地址98H,可位寻址。 位编码位名称SM0 SM1 SM2 REN TB8 RB8 TI RI位地址9FH 9EH 9DH 9CH 9BH 9AH 99H 98H功 能 SCON.0串行发送中断标志位串行接收中断标志位SCON.1SCON.2SCON.3SCON.4SCON.5SCON.6SCON.7共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-42-共二百零八页6.2 MCS-
27、51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-43-(1)TCON的中断标志位TCON为T/C控制寄存器,也锁存T0和T1的溢出中断标志和INT0和INT1的中断标志等。当中断源有中断时,由硬件自动对相应位置“1” 。响应中断后由硬件自动清除相应的标志位。TF1TR1TF0TR0IE1IT1IE0IT0(MSB)(LSB)TCON(88H)共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-44-(2)SCON的中断标志位SCON为串口控制寄存器, 锁存TI和R
28、I的中断标志。串口的发送和接收中断(逻辑或)共用一个中断源。当发送或接收有中断时,由硬件对TI或RI置“1” 。中断响应后需要由软件判断TI和RI位,并只能由软件清除TI或RI标志位。SM0SM1SM2RENTB0RB0TIRI(MSB)(LSB)SCON(98H)图共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-45-中断请求的控制包括对中断允许的控制和对中断优先权的控制。由中断允许寄存器IE(Interrupt Enable)和中断优先级控制器IP(interruptpriority) 组成。IE用于控制5个
29、中断源中哪些中断请求被允许向CPU提出,哪些被禁止。IP用于控制5个中断源的中断请求的优先权最高,被CPU最先处理。6.2.2 MCS-51对中断请求的控制共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-46-中断的开放和关闭是通过中断允许控制寄存器IE 进行两级控制的。所谓“两级控制”:第一级控制是中断允许总控位EA;第二级控制是各中断源的中断允许控制位它们都集成在中断允许控制寄存器IE中。1.对中断允许的控制共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51
30、中断(zhngdun)系统-47-位编码IE.7IE.6IE.5IE.4IE.3IE.2IE.1IE.0位名称 EA ET2 ES ET1 EX1ET0 EX0位地址 AFH ADH ACH ABH AAH A9H A8H功 能 允许中断总控位定时器T1的溢出中断允许控制位 外部中断1的中断允许控制位定时器T0的溢出中断允许控制位外部中断0的中断允许控制位串行口中断允许控制位定时器T2的溢出中断允许控制位共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-48-位编码IE.7IE.6IE.5IE.4IE.3IE.2I
31、E.1IE.0位名称 EA ET2 ES ET1 EX1ET0 EX0位地址 AFH ADH ACH ABH 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开通所有中断关闭总中断共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-49-MCS-51单片机复位后,IE被清“0” ,即所有中断被禁止。要使某一个中断源被允许中断,除了IE相应的位的被置“1
32、” ,还必须使EA位=1。改变IE的内容,可由位操作指令来实现,即:SETB bitCLR bit也可按字节来实现:MOV IE,#XXH共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-50-MCS-51单片机的中断控制由用户通过设定中断允许寄存器IE来实现,如单片机开放中断,允许外部事件1中断、定时器T0溢出中断和串行口中断。 设定程序如下: MOV IE, #10010110B 或: SETB EA; CPU开放中断 SETB EX1; 允许中断 SETB ET0; 允许定时/计数器溢出中断 SETB ES;
33、 允许串行口中断共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-51-中断的开放和关闭是通过中断允许控制寄存器IE 进行两级控制的。所谓“两级控制”,是指有一个中断允许总控位EA作为第一级控制,第二级才是各中断源的中断允许控制位,它们都集成在中断允许控制寄存器IE中。2.对中断优先级的控制共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-52-MCS-51的中断源优先级是由中断优先寄存器IP来进行控制的。5个中断源划分为两个中断优先级
34、:高优先级和低优先级。 能实现两级中断嵌套;相应位置“1”,定义为高级中断相应位清“0”,定义为低级中断共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-53-主程序或子程序中断服务1中断服务2断点共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-54- 当多个中断源同时请求中断,或者CPU正在处理一个中断,又有了新的中断请求,MCS-51单片机的处理原则是:(1)多个中断源同时向CPU请求中断时,首先响应高优先级中断源的中断请求;(2
35、)高优先级中断请求可以中断低优先级的中断处理,从而实现中断嵌套。低优先级中断请求不能中断高优先级或相同优先级的中断处理。共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-55- 在一般情况下,首先把各个中断源分成若干个优先级,然后再按如下原则进行处理:(1)不同级的中断源同时申请中断时先高后低;(2)同级的中断源同时申请中断时事先规定;(3)处理低级中断又收到高级中断请求时停低转高;(4)处理高级中断又收到低级中断请求时高不理低。 共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6
36、章 MCS-51 中断(zhngdun)系统-56-位编码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时亦称其为同级中断)低级中断(同为0时亦称其为同级中断) 0 0 0 0 0 0优先级相同如何处理?共二百零八页6.2 MCS-51的中断(zhngdun)系统2
37、022年7月21日第6章 MCS-51 中断(zhngdun)系统-57-51的中断系统有两个不可寻址的“优先级激活触发器”:一个是指示某高优先级的中断正在执行,所有后来的中断均被阻止。另一个是指示某低优先级的中断正在执行,所有同级中断都被阻止,但不阻断高优先级的中断请求。当几个同一优先级的中断请求时,优先响应哪一个中断,取决于内部的查询顺序。查询顺序如下:共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-58-2个优先级中,同级中断的优先次序如下:中断源中断标志同级内优先级外部中断0 (INT0)IE0最高定时器
38、0溢出中断 (T0)TF0外部中断1 (INT1)IE1定时器1溢出中断 (T1)TF1串口中断RI或TI定时器2溢出中断 (T2)TF2或EXF最低共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-59- 例如:某软件中对寄存器IE、 IP设置如下: MOV IE, 8FH MOV IP, 06H则此时该系统中: CPU中断允许; 允许外部中断0、外部中断1、定时器0、定时器1提出的中断申请; 允许中断源的中断优先次序为: 定时器/计数器0 外部中断1 外部中断0 定时器/计数器1 EAXET2ESET1EX1E
39、T0EX010001111IE共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-60-1) 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,一直到该中断服务程序结束,返回主程序且执行了主程序中的一条指令后,CPU才能响应新的中断请求。2) 正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。3) CPU同时接收到几个中断请求时,首先响应优先级最高的中断请求。以上所述可归纳为下面3条基本规则: 共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章
40、MCS-51 中断(zhngdun)系统-61-中断响应-条件6.2.3 MCS-51 对中断的响应 同时满足以下4个条件时,才可能响应中断。 (1)有中断请求; (2) 对应中断允许位为1; (3) 开中断(即EA=1)。 (4) 当前一条指令执行完。 共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-62-TF1TF0IE1IT1IE0IT0EAET2ESET1EX1ET0EX0TCONTIRISCONIEPSPT1PX1PT0PX0IPB8HA8H98H88H(1) 有中断请求;(2) 对应中断允许位为1;(
41、3) 开中断(即EA=1)。(4) 当前一条指令执行完。 共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-63-遇以下任一情况,硬件将受阻,不产生LCALL指令:CPU正在处理同级或高优先级中断;当前查询的机器周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断;正在执行RET、RETI或任何访问IE或IP寄存器的指令时,不相应中断。只有在这些指令后面至少再执行一条指令时才能接受中断请求。共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7
42、月21日第6章 MCS-51 中断(zhngdun)系统-64- 若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志已不再有效,那么该中断将不被响应。就是说,中断标志曾经有效,但未获响应,查询过程在下个机器周期将重新进行。共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-65-不响应中断的条件 (满足之一)(1) 正在执行同级或高优先级的中断服务程序; (2) 不是指令的最后一个机器周期; (该条指令没有执行完)(3) 执行RETI 或 读写 IE/IP指令期间不能响应, 或不是其后面一条指令的最后一个机
43、器周期。(即如果是RETI或读写IP/IE指令后,需再执行一条指令后才能响应中断) ;(4)软件封锁(EA0)共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-66- 单片机一旦响应中断请求, 就由硬件自动完成以下功能: (1)把当前程序计数器PC的内容(中断点地址)压入堆栈,以便在RETI后返回原程序执行; (2)关闭中断,以防止在响应中断期间受其它中断的干扰。 (3)把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC, 从而转入相应的中断服务程序。 共二百零八页6.2 MCS-51的中断(zhn
44、gdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-67-各中断源服务程序入口地址是固定的。中断源服务程序的入口地址中断源中断标志中断入口同级内优先级外部中断0 (INT0)IE00003H最高定时器0溢出中断 (T0)TF0000BH外部中断1 (INT1)IE10013H定时器1溢出中断 (T1)TF1001BH串口中断RI或TI0023H定时器2溢出中断 (T2)TF2或EXF002BH最低共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-68- 中断响应指令 LCALL 00
45、03H LCALL 000BH LCALL 0013H LCALL 001BH LCALL 0023H共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-69-MCS-51单片机CPU响应中断的过程 共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-70-中断处理过程共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-71-中断响应时间 是指从中断请求标志位置位
46、到CPU开始执行中断服务程序的第一条指令所持续的时间。CPU并非每时每刻对每一个中断请求都予以响应。不同的中断请求其响应时间也是不同的。在38个机械周期之间。6.2.4 MCS-51对中断的响应时间共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-72-最短:3个机器周期第一机器周期:查询中断标志状态;第二、三机器周期:保护断点及跳转使程序转入中断入口地址处。共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-73-最长:8个机器周期若正
47、在执行RETI等指令需1个机器周期。下一条指令最长需4个机器周期(如乘法指令)。响应中断需3个机器周期。共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-74- 中断源发出中断请求后,相应的中断请求标志位自动置“1”,而CPU响应中断后,必须及时清除中断请求“1”标志。否则中断响应返回后,将再次进入该中断,引起死循环出错。MCS-51对中断请求的撤除共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-75-1.定时器溢出中断请求的撤除CP
48、U在响应中断后,由硬件自动清除相应的中断请求标志TF0、TF1。用户不必专门撤除它们。共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-76-2.串行口中断请求的撤除需由软件指令进行清除: CLR TI CLR RI人工清除共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-77-3.外部中断请求的撤除边沿触发方式的外部中断/INT0和/INT1请求 CPU在响应中断后,由硬件自动清除相应的中断请求标志IE0与IE1。共二百零八页6.2
49、MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-78-电平触发方式的外部中断/INT0和/INT1请求由软、硬件相结合进行清除。 INSVR: ANL P1, #0FEH ;P1.0=0,Q=1 撤销中断 ORL P1, #01H ;P1.0=1,为下次中断作准备 CLR IE0 ;清除中断申请 END共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-79- MCS-51响应中断后,自动执行中断服务程序。在中断服务程序中,只要遇到RETI指令(不论在什么
50、位置),单片机就结束本次中断服务,返回原程序。因此,在中断服务程序的最后必须有一条RETI指令,用于中断返回。中断返回共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-80- 在中断服务程序中,PUSH指令与POP指令必须成对使用,否则不能正确返回断点。而且最后一条指令必须为中断返回指令RETI。 RETI的具体功能:1) 将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从中断的地方继续执行程序;2) 将相应中断优先级状态触发器清0,通知中断系统,中断服务程序已执行完毕。共二百零八页6.2 MCS-51
51、的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-81-ORG 0013HLJMP WBZD1一般在入口地址处放置一条跳转指令,转到相应的中断服务程序入口处。如对外部中断1的中断响应:共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-82-在中断服务程序编程时,首先要对中断系统进行初始化,也就是对几个特殊功能寄存器的有关控制位进行赋值。具体来说, 就是要完成下列工作:6.2.6 中断系统的初始化(1)开中断和允许中断源中断;(2)确定各中断源的优先级;(3)若是外部中
52、断,则应规定是电平触发还是边沿触发。共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-83-寄存器复位状态寄存器复位状态PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00HIP00000SBUFIE000000PCON000000共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-84-程序的初始化复位后,PC指向
53、0000H,一般在0000H处放置一条SJMP或AJMP指令跳转到0030H后,避开被占用区域; (由于中断服务的入口地址0003H、000BH、0013H、001BH、0023H、002BH被占用,故选在0030H以后。)在中断服务程序各入口地址处放置一条LJMP指令,指向实际中断服务程序;一般将SP指向30H后,避开内部RAM的工作寄存器组和位寻址区。 (复位后,SP指向内部RAM的07H单元,因内部RAM的00H1FH为R0R7的4个区,而20H2FH为位寻址区。)共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)
54、系统-85-85 入口表程序ORG 0000HLJMP MAIN ; 跳到主程序入口ORG 0003HLJMP RINT0 ; 跳到 /INT0 中服程序入口ORG 000BHLJMP RT0 ; 跳到 T0 中服程序入口ORG 0013HLJMP RINT1 ; 跳到 /INT1 中服程序入口ORG 001BHLJMP RT1 ; 跳到 T1 中服程序入口ORG 0023HLJMP RPS ; 跳到串行口中服程序入口共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-86-【例6.1】若规定外部中断/INT1为低电
55、平触发方式,高优先级,写出有关的初始化程序。 解: 采用位操作指令实现:SETB EA;开总中断 SETB EX1;允许外中断1中断SETB PX1;外中断1定为高优先级CLR IT1;电平触发EAET2ESET1EX1ET0EX0TF1TR1TF0TR0IE1IT1IE0IT0IETCONPT2PSPT1PX1PT0PX0IP共二百零八页6.2 MCS-51的中断(zhngdun)系统2022年7月21日第6章 MCS-51 中断(zhngdun)系统-87- 采用字节型指令 MOV IE,#84H ;开/INT1中断 ORL IP,#04H ;令/INT1为高优先级 ANL TCON,#0
56、FBH ;令/INT1为电平触发 显然,采用位操作指令进行中断系统初始化是比较简单的,因为用户不必记住各控制位在寄存器中的确切位置,而各控制位名称是比较容易记忆的。共二百零八页2022年7月21日第6章 MCS-51 中断(zhngdun)系统-88- 例6-#:若规定外部(wib)中断0为电平触发方式,高优先级,试写出有关的初始化程序。解:一般可采用位操作指令来实现: SETB PX0;外中断0定为高优先级 CLR IT0 ;电平触发 SETB EX0 ;允许外中断0中断 SETB EA ;开中断 TF1TF0IE1IT1IE0IT0EAET2ESET1EX1ET0EX0TCONTIRISC
57、ONIEPSPT1PX1PT0PX0IPB8HA8H98H88H共二百零八页2022年7月21日第6章 MCS-51 中断(zhngdun)系统-89-采用(ciyng)中断时的完整程序结构 ORG 0000H LJMP MAIN ; 跳到主程序入口 ORG 0003H LJMP RINT0 ; 跳到 /INT0 中服程序入口 MAIN:SETB EA ; 主程序入口 SJMP $ ; 主程序结束RINT0:PUSH ACC ; 中断服务程序入口 RETI ; 退出中断服务程序 END ; 结束汇编表程序主程序中服程序共二百零八页2022年7月21日第6章 MCS-51 中断(zhngdun)
58、系统-90-例:现有(xin yu)外部中断1提出申请, 且主程序中有R0、DPTR、累加器A需保护, 则编制程序应为: ORG 0000H LJMP MAIN ORG 0013H ;外部中断1 LJMP INT11 ORG 0100H MAIN: ; 主程序开始 SJMP MAINORG 1000HINT11: PUSH ACC ; 中断程序 PUSH DPH PUSH DPL PUSH 00H POP 00H POP DPL POP DPH POP ACC RETI END 共二百零八页2022年7月21日第6章 MCS-51 中断(zhngdun)系统-91-例6-# 编制一外部中断的服
59、务程序。现场保护:PSW、A -典型的中断服务程序如下-INT:CLR EA ;CPU关中断,防止有高级中断 PUSH PSW ;现场保护 PUSH ACC SETB EA ;CPU开中断 . . ;中断处理程序段 CLR EA ;CPU关中断,防止有高级中断 POP ACC ;现场恢复 POP PSW SETB EA ;CPU开中断 RETI ;中断返回(fnhu),恢复断点共二百零八页2022年7月21日第6章 MCS-51 中断(zhngdun)系统-92-中断(ZHNGDUN)控制器8259A6.3 共二百零八页6.3 中断(zhngdun)控制器8259A2022年7月21日第6章
60、MCS-51 中断(zhngdun)系统-93-8259A(以下简称8259)是 Intel公司生产的一种可编程序中断控制器(Interupt Controler),可以配合MCS-51来扩张外部中断源个数。具有强大的中断管理功能。作为一种可编程中断控制器,是一种集成芯片。它用来管理输入到CPU的各种外部中断申请,能提供中断向量、屏蔽各种中断输入等功能。一片8259有8级中断优先级控制能力;9片8259级联可以组成64级中断优先级管理系统,使CPU的外部中断源扩张到64个。共二百零八页6.3 中断(zhngdun)控制器8259A2022年7月21日第6章 MCS-51 中断(zhngdun)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版个人信用借款合同(附逾期罚息及信用修复条款)4篇
- 二零二五年度农业机械租赁收益分成合同
- 二零二五年度临时雇佣服务合同规范文本
- 二零二五版木材加工废弃物资源化利用合同范本3篇
- 二零二五版通信设备租赁担保服务协议2篇
- 个人摄影服务2024年度合同9篇
- 二零二五年度房地产买卖合同标的及相关定义3篇
- 2025年度采石场矿山生态环境恢复合同范本3篇
- 2025年度智能交通信号灯安装与维护合同3篇
- 2025版文化产业项目咨询与投资合作委托协议3篇
- 2025年度公务车辆私人使用管理与责任协议书3篇
- 售后工程师述职报告
- 绿化养护难点要点分析及技术措施
- 2024年河北省高考历史试卷(含答案解析)
- 车位款抵扣工程款合同
- 小学六年级数学奥数题100题附答案(完整版)
- 高中综评项目活动设计范文
- 英汉互译单词练习打印纸
- 2023湖北武汉华中科技大学招聘实验技术人员24人笔试参考题库(共500题)答案详解版
- 一氯二氟甲烷安全技术说明书MSDS
- 母婴护理员题库
评论
0/150
提交评论