51单片机原理与实践高卫东第4章中断课件.ppt

上传人(卖家):晟晟文业 文档编号:3710698 上传时间:2022-10-06 格式:PPT 页数:48 大小:919.65KB
下载 相关 举报
51单片机原理与实践高卫东第4章中断课件.ppt_第1页
第1页 / 共48页
51单片机原理与实践高卫东第4章中断课件.ppt_第2页
第2页 / 共48页
51单片机原理与实践高卫东第4章中断课件.ppt_第3页
第3页 / 共48页
51单片机原理与实践高卫东第4章中断课件.ppt_第4页
第4页 / 共48页
51单片机原理与实践高卫东第4章中断课件.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、MCS-51单片机的中断系统单片机的中断系统第第4章章【学习目标】【学习目标】1 1理解中断的基本概念理解中断的基本概念2 2理解理解80C5180C51中断系统的结构中断系统的结构 3 3掌握外部中断的编程实现掌握外部中断的编程实现【重点内容】【重点内容】1 1中断的概念中断的概念2 2掌握掌握80C5180C51中断的使用中断的使用3 3、掌握外部中断的编程实现、掌握外部中断的编程实现4.2.1 4.2.1 中断的概念中断的概念4.2 80C514.2 80C51系列单片机的中断系统系列单片机的中断系统中断:中断:计算机暂停当时正在执行的程序,转去执行处理某一计算机暂停当时正在执行的程序,

2、转去执行处理某一意外事件的程序,待意外事件处理完毕后,又返回到程序被意外事件的程序,待意外事件处理完毕后,又返回到程序被暂停的地方继续执行的过程。暂停的地方继续执行的过程。外设外设CPU启动启动执行原程序执行原程序中断请求中断请求中断响应中断响应执行原程序执行原程序中断服务执行完毕返回返回中断作用:中断方式完全消除了中断方式完全消除了CPUCPU在查询中的等待现象,在查询中的等待现象,大大提高了大大提高了CPUCPU的工作效率。如果没有中断技术,的工作效率。如果没有中断技术,CPU CPU的大量时间可能浪费在原地踏步的操作上。的大量时间可能浪费在原地踏步的操作上。中断源:中断源是指计算机在执行

3、某一程序的过程中,由于计算中断源是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,而必须中止原程序的执行,转去机系统内、外的某种原因,而必须中止原程序的执行,转去执行响应的处理程序,待处理结束之后,再回来继续执行被执行响应的处理程序,待处理结束之后,再回来继续执行被中止的原程序的过程。中止的原程序的过程。中断优先级:由于在实际的系统中,往往有多个中断源,且中断由于在实际的系统中,往往有多个中断源,且中断申请是随机的,有时可能会有多个中断源同时提出中断申请,申请是随机的,有时可能会有多个中断源同时提出中断申请,但但CPUCPU一次只能响应一个中断源发出的中断请求,这时一次只能响应

4、一个中断源发出的中断请求,这时CPUCPU应响应哪个中断请求?应响应哪个中断请求?这就需要用软件或硬件按中断源工作性质的轻重缓急,给这就需要用软件或硬件按中断源工作性质的轻重缓急,给它们安排一个它们安排一个优先顺序优先顺序,即所谓的优先级排队。中断优先级,即所谓的优先级排队。中断优先级越高,则响应优先权就越高。越高,则响应优先权就越高。中断嵌套:中断嵌套:当当CPUCPU正在执行中断服务程序时,又有中断优先级正在执行中断服务程序时,又有中断优先级更高的中断申请产生,这时更高的中断申请产生,这时CPUCPU就会暂停当前的中断服务转就会暂停当前的中断服务转而处理高级中断申请,待高级中断处理程序完毕

5、再返回原中而处理高级中断申请,待高级中断处理程序完毕再返回原中断程序断点处继续执行,这一过程称为中断嵌套。断程序断点处继续执行,这一过程称为中断嵌套。4.2.4 中断技术的优势中断技术的优势 随着计算机技术的应用,人们发现中断技术不仅解决了快随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:设备的数据传送问题,而且还具有如下优点:分时操作分时操作。CPU可以分时为多个可以分时为多个I/O设备服务,提高了计设备服务,提高了计算机的利用率;算机的利用率;实时响应实时响应。CPU能够及时处理应用系统的随机事件,系统能够及时处理应用

6、系统的随机事件,系统的实时性大大增强;的实时性大大增强;可靠性高可靠性高。CPU具有处理设备故障及掉电等突发性事件能具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。力,从而使系统可靠性提高。4.3 80C51中断系统的结构中断系统的结构 80C51的中断系统有的中断系统有5个中断源(个中断源(8052有有 6个)个),2个个优先级,可实现二级中断嵌套优先级,可实现二级中断嵌套。4.3.1 80C514.3.1 80C51中断源和中断控制寄存器中断源和中断控制寄存器1.中断源中断源 2.定时和外中断控制寄存器定时和外中断控制寄存器TCON 5.串行控制寄存器串行控制寄存器SCON(

7、不讲)(不讲)3.中断允许控制寄存器中断允许控制寄存器IE 4.中断优先级控制寄存器中断优先级控制寄存器IP 对中断源和中断控对中断源和中断控制寄存器的理解,制寄存器的理解,一定按上图分析,一定按上图分析,不可单独记忆。不可单独记忆。4.3.1、中断源中断源 80C51单片机的五个中断源包括:单片机的五个中断源包括:INT0、INT1引脚输入的外引脚输入的外部中断源,三个内部中断源(定时器部中断源,三个内部中断源(定时器T0、T1的溢出中断源的溢出中断源和串行口的发送和串行口的发送/接受中断源)。接受中断源)。1 1、(P3.2P3.2)。可由)。可由IT0(TCON.0)IT0(TCON.0

8、)选择其为选择其为低电平有效还是下降沿有效。当低电平有效还是下降沿有效。当CPUCPU检测到检测到P3.2P3.2引脚上出现有效的中断信号 时,中 断 标 志引脚上出现有效的中断信号 时,中 断 标 志IE0(TCON.1)IE0(TCON.1)置置1 1,向,向CPUCPU申请中断。申请中断。2 2、(P3.3 (P3.3)。可由)。可由IT1(TCON.2)IT1(TCON.2)选择其为选择其为低电平有效还是下降沿有效。当低电平有效还是下降沿有效。当CPUCPU检测到检测到P3.3P3.3引 脚 上 出 现 有 效 的 中 断 信 号 时,中 断 标 志引 脚 上 出 现 有 效 的 中

9、断 信 号 时,中 断 标 志IE1(TCON.3)IE1(TCON.3)置置1,1,向向CPUCPU申请中断。申请中断。3 3、TF0TF0(TCON.5TCON.5),片内定时),片内定时/计数器计数器T0T0溢出中断请求标志。当定时溢出中断请求标志。当定时/计数器计数器T0T0发生发生溢出时,置位溢出时,置位TF0TF0,并向,并向CPUCPU申请中断。申请中断。4 4、TF1TF1(TCON.7TCON.7),片内定时),片内定时/计数器计数器T1T1溢出中断请求标志。当定时溢出中断请求标志。当定时/计数器计数器T1T1发生发生溢出时,置位溢出时,置位TF1TF1,并向,并向CPUCP

10、U申请中断。申请中断。5 5、RIRI(SCON.0SCON.0)或)或TITI(SCON.1SCON.1),串行口),串行口中断请求标志。当串行口接收完一帧串行数中断请求标志。当串行口接收完一帧串行数据时置位据时置位RIRI或当串行口发送完一帧串行数据或当串行口发送完一帧串行数据时置位时置位TITI,向,向CPUCPU申请中断。申请中断。4.3.2 与中断有关的特殊功能寄存器中断分为两种:中断分为两种:可屏蔽中断和不可屏蔽中断可屏蔽中断和不可屏蔽中断。与中断有关的特殊功能寄存器有与中断有关的特殊功能寄存器有4个:个:1、定时、定时/计数控制寄存器计数控制寄存器TCON;2、串行口控制寄存器、

11、串行口控制寄存器SCON;3、允许中断寄存器、允许中断寄存器IE;4、中断优先级寄存器、中断优先级寄存器IP。1、定时、定时/计数控制器计数控制器TCON外部中断控制标志位外部中断控制标志位 1100IT1:INT1外中断触发外中断触发(请求请求)方式标志位方式标志位IT0:INT0外中断触发外中断触发(请求请求)方式标志位方式标志位IT1(IT0)0,低电平触发,低电平触发(请求请求)方式。方式。当当P3.3(P3.2)脚为低电平时,硬件置脚为低电平时,硬件置IE1(IE0)=1,响应中断。响应中断。结束中断前,用软件将结束中断前,用软件将IE1(IE0)清清000 2、定时、定时/计数控制

12、器计数控制器TCON外部中断控制标志位外部中断控制标志位 1100IT1(IT0)1,脉冲边沿方式,脉冲边沿方式(后沿负跳变后沿负跳变)有效。有效。11 当前一周期当前一周期P3.3(P3.2)脚为高电平,后一周期脚为高电平,后一周期P3.3(P3.2)脚为低电平时,硬件置脚为低电平时,硬件置IE1(IE0)=1,响应,响应中断。中断。响应中断后,响应中断后,IE1(IE0)由硬件清由硬件清0IT1:INT1外中断触发外中断触发(请求请求)方式标志位方式标志位IT0:INT0外中断触发外中断触发(请求请求)方式标志位方式标志位 TCON中定时器中定时器T0、T1溢出中断申请标志位溢出中断申请标

13、志位 2、MCS-51的中断控制的中断控制 CPU对中断源的开放或屏蔽,受到对中断源的开放或屏蔽,受到中断允许寄存器中断允许寄存器IE的控制。的控制。各中断源高、低优先级别由各中断源高、低优先级别由中断优先级寄存器中断优先级寄存器IP控制。控制。IE、IP寄存器的状态可通过程序由寄存器的状态可通过程序由软件软件设置。设置。EA110011PX0PT0PX1PT1PS源允许源允许总允许总允许 优先级优先级中断标志中断标志中断源中断源2、中断允许控制、中断允许控制IE中断的开放和屏蔽中断的开放和屏蔽中断允许控制位。中断允许控制位。EA 0中断总禁止;中断总禁止;EAl中断总允许。中断总允许。总允许

14、后,中断的禁总允许后,中断的禁止或允许由各中断源止或允许由各中断源的中断允许控制位进的中断允许控制位进行设置。行设置。EA2、中断允许控制、中断允许控制中断的开放和屏蔽中断的开放和屏蔽外部中断外部中断0允允许控制位。许控制位。0,禁止外中禁止外中断断;1,允许外中允许外中断。断。011EA2、中断允许控制、中断允许控制中断的开放和屏蔽中断的开放和屏蔽011外部中断外部中断1允允许控制位。许控制位。0禁止外中断禁止外中断;1允许外中允许外中断断。011EA2、中断允许控制、中断允许控制中断的开放和屏蔽中断的开放和屏蔽定时定时/计数器计数器T0、中断允、中断允许控制位。许控制位。0禁止定时禁止定时

15、/计数器计数器T0、中断;中断;l允许定时允许定时/计数器计数器T0、中断。中断。定时定时/计数器计数器T1中断允许控中断允许控制位。制位。0禁止定时禁止定时/计数器计数器T1中中断;断;l允许定时允许定时/计数器计数器T1中断。中断。EA2、中断允许控制、中断允许控制中断的开放和屏蔽中断的开放和屏蔽串行中断允许控制串行中断允许控制位。位。=0禁止串行中断;禁止串行中断;l允许串行中断。允许串行中断。EA中断的两级控制中断的两级控制EA位作为总控制位作为总控制位位以各中断源的中断允以各中断源的中断允许位作为分控制位许位作为分控制位 复位后复位后(IE)=00H,因,因此中断系统处此中断系统处于

16、禁止状态于禁止状态 单片机在中断单片机在中断响应后不会自动响应后不会自动关闭中断。因此关闭中断。因此在转中断服务程在转中断服务程序后,应使用有序后,应使用有关指令禁止中断,关指令禁止中断,即即以软件方式关以软件方式关闭中断闭中断。3、中断优先级控制、中断优先级控制PX0PT0PX1PT1PS外部中断外部中断0优先级设置位优先级设置位定时中断定时中断l 优先级设置位。优先级设置位。外部中断外部中断1优先级设置位优先级设置位定时中断定时中断0优先级设置位。优先级设置位。串行中断优先级设置位串行中断优先级设置位 IP中中PX0、PT0位优先级高,位优先级高,PX1、PT1位位优先级低。优先级低。外部

17、中断外部中断0定时中断定时中断0外部中断外部中断1定时定时中断中断l串行中断。串行中断。3、中断优先级的控制原则、中断优先级的控制原则 (1)低优先级中断请求不能打断高优先级的中断服低优先级中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优先级的中断服务;但高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套。务,从而实现中断嵌套。(2)如果一个中断请求已被响应,则同级的其它如果一个中断请求已被响应,则同级的其它响应将被禁止。响应将被禁止。(3)如果同级的多个中断请求同时出现,则按如果同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求被响应。其排列顺序为:查

18、询次序确定哪个中断请求被响应。其排列顺序为:外部中断外部中断0定时中断定时中断0外部中断外部中断1定时中断定时中断l串行中断。串行中断。3、中断优先级的控制原则、中断优先级的控制原则例:若例:若IP=18H。问:中断系统的优先顺序如何。问:中断系统的优先顺序如何 解:解:T1串口串口外中断外中断0T0外中断外中断1 外部中断外部中断0定时中断定时中断0外部中断外部中断1定时中断定时中断l串行中断。串行中断。中断过程:中断过程:1 1、每条指令结束后,、每条指令结束后,自动检测自动检测中断请求。中断请求。有中断请求,并且中断允许有中断请求,并且中断允许2 2、保护现场:、保护现场:关中断:关中断

19、:防止现场被破坏防止现场被破坏 保护现场:保护现场:一般使用堆栈指令将原程序中用到的寄存器推入堆栈一般使用堆栈指令将原程序中用到的寄存器推入堆栈 开中断:开中断:以响应更高优先级的中断申请以响应更高优先级的中断申请3 3、中断服务、中断服务4.4 4.4 中断处理的过程中断处理的过程4 4、恢复现场、恢复现场 关中断:关中断:防止现场被破坏防止现场被破坏 恢复现场:恢复现场:用堆栈指令将保护在堆栈中的数据弹出来用堆栈指令将保护在堆栈中的数据弹出来 开中断开中断 5 5、返回:、返回:此时此时CPUCPU将推入到堆栈的断点地址弹回到程序计数器,将推入到堆栈的断点地址弹回到程序计数器,从而使从而使

20、CPUCPU继续执行刚才被中断的程序。继续执行刚才被中断的程序。中断响应条件中断响应条件:(1)中断源有中断请求;中断源有中断请求;(2)此中断源的中断允许位为此中断源的中断允许位为1;(3)CPU开中断开中断(即即EA=1)。1、中断响应条件、中断响应条件 2、中断申请封锁、中断申请封锁不产生不产生LACLL指令指令(1)CPU正在执一个同级或高一级的中断服务程序;正在执一个同级或高一级的中断服务程序;(2)当前指令未执行完。当前指令未执行完。(3)正在执行中断返回指令正在执行中断返回指令RET、RETI或访问或访问IE、IP寄存器的寄存器的 指令。指令。中断响应中断响应就是就是单片机单片机

21、CPU对中断对中断源提出的中断请求源提出的中断请求的接受和执行。的接受和执行。中断过程中断过程 1、当前指令完毕后,、当前指令完毕后,立即中断当前程序的运行。立即中断当前程序的运行。CPU查询到中断请求,查询到中断请求,置位优先级寄存器,阻置位优先级寄存器,阻止同级和低级中断,并止同级和低级中断,并按优先顺序排好后,响按优先顺序排好后,响应中断。应中断。中断响应中断响应 3、转至相应中断入口,、转至相应中断入口,执行中断服务程序。执行中断服务程序。中断响应过程中断响应过程 (1)置相应的优先级标志为置相应的优先级标志为1,指明,指明CPU响应的中响应的中断优先级别,屏蔽同级或低级中断请求,允许

22、更高断优先级别,屏蔽同级或低级中断请求,允许更高级中断请求;级中断请求;(2)执行由硬件生成的子程序调用指令执行由硬件生成的子程序调用指令LCALL;清除中断源的中断请求标志。清除中断源的中断请求标志。保护断点。将被中断程序的断点地址保护断点。将被中断程序的断点地址(PC的值的值)压入堆栈进行保护。压入堆栈进行保护。将相应的中断服务程序入口矢量地址装入将相应的中断服务程序入口矢量地址装入PC中。中。(3)执行中断服务程序。执行中断服务程序。中断处理中断处理 中断处理就是执行中中断处理就是执行中断服务程序。断服务程序。CPU响应中断响应中断中断响应中断响应中中断断处处理理保存有关寄存器中的数据保

23、存有关寄存器中的数据执行中断服务程序。执行中断服务程序。恢复有关寄存器中的数据恢复有关寄存器中的数据 执行执行RETI,把,把“断点断点”地址送回地址送回PC。中断服务程序的入口地址中断服务程序的入口地址 各中断服务程序的入口地址仅间隔各中断服务程序的入口地址仅间隔8 8各字节,编译各字节,编译器在这些地址放入无条件转移指令器在这些地址放入无条件转移指令LJMPLJMP跳转到服务程跳转到服务程序的实际地址。序的实际地址。4.5 中断系统应用中断系统应用中断程序结构中断程序结构 初始化部分初始化部分中断服务程序部分中断服务程序部分 写在主程序段中,实写在主程序段中,实现对程序的控制。现对程序的控

24、制。写在主程序段之外的存写在主程序段之外的存储区,实现中断服务。储区,实现中断服务。2、采用C51语言 采用采用C51语言编写程序,采用的方法就是语言编写程序,采用的方法就是中断服务函中断服务函数数。函数声明时包括。函数声明时包括interrupt,将把所声明的函数定义为,将把所声明的函数定义为一个中断服务程序。在一个中断服务程序。在C51中定义中断服务函数的一般形中定义中断服务函数的一般形式如下:式如下:函数类型函数类型 函数名函数名 interrupt n using n Interrupt后面的后面的n是中断号。关键字是中断号。关键字using后面的后面的n是是所选择的寄存器组,取值范围

25、是所选择的寄存器组,取值范围是0-3.定义中断函数时,定义中断函数时,using是一个选项,可以省略不用。如果不用则由编译器是一个选项,可以省略不用。如果不用则由编译器选择一个寄存器组作为绝对寄存器组。选择一个寄存器组作为绝对寄存器组。2、采用C51语言 在在C51中定义中断服务函数的一般形式如下:中定义中断服务函数的一般形式如下:函数类型函数类型 函数名函数名 interrupt n using n Interrupt后面的后面的n是中断号。中断号告诉编是中断号。中断号告诉编译器中断程序的译器中断程序的入口地址入口地址。中断号对应着。中断号对应着IE寄存寄存器中的使能位器中的使能位,换句话说

26、,换句话说,IE寄存器中的寄存器中的0位对应位对应着外部中断着外部中断0,相应的外部中断,相应的外部中断0的中断号是的中断号是0.2、采用C51语言 在在C51中定义中断服务函数的一般形式如下:中定义中断服务函数的一般形式如下:函数类型函数类型 函数名函数名 interrupt n using n 中断号中断号 中断源中断源 0 外部中断外部中断0 1 定时器定时器0 2 外部中断外部中断1 3 定时器定时器1中断中断 4 串行口中断串行口中断 5 定时器定时器2中断中断2、采用C51语言 在在C51中定义中断服务函数的一般形式如下:中定义中断服务函数的一般形式如下:函数类型函数类型 函数名函

27、数名 interrupt n using n 关键字关键字using后面的后面的n是所选择的寄存器组,是所选择的寄存器组,取值范围是取值范围是0-3.定义中断函数时,定义中断函数时,using是一个选是一个选项,可以省略不用。如果不用则由编译器选择一项,可以省略不用。如果不用则由编译器选择一个寄存器组作为绝对寄存器组。个寄存器组作为绝对寄存器组。例例1:跑马灯原来左移亮,外部中断:跑马灯原来左移亮,外部中断0端口端口P3.2按键,小灯全按键,小灯全亮全暗亮全暗3次。次。函数类型函数类型 函数名函数名 interrupt n using n例例2:跑马灯原来左移亮,外部中断:跑马灯原来左移亮,外部中断0端口端口P3.2按键,小灯全按键,小灯全亮全暗亮全暗3次。外部中断次。外部中断1端口端口P3.3按键,小灯右移亮。按键,小灯右移亮。作业:简述中断的概念及中断的处理过程。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(51单片机原理与实践高卫东第4章中断课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|