单片机 第5章 MCS-51单片机的中断系统及定时器.ppt
《单片机 第5章 MCS-51单片机的中断系统及定时器.ppt》由会员分享,可在线阅读,更多相关《单片机 第5章 MCS-51单片机的中断系统及定时器.ppt(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章 MCS-51单片机的中断系统及定时器内容提要内容提要:5.15.1 输入输入/输出的控制方式输出的控制方式5.2 5.2 MCS-51MCS-51单片机的中断系统单片机的中断系统55.4.4 MCS-51MCS-51单片机的单片机的定时定时/计数器计数器5.3 5.3 MCS-51MCS-51单片机中断处理单片机中断处理过程过程5.15.1 输入输入/输出的控制方式输出的控制方式一、无条件传送一、无条件传送(同步传送)方式同步传送)方式二、程序查询传送(异步传送)方式二、程序查询传送(异步传送)方式三、中断传送方式三、中断传送方式四、直接存储器存取(四、直接存储器存取(DMA)方式方式
2、5.2 5.2 MCS-51MCS-51单片机的中断单片机的中断系统系统5.2.1MCS-51中断系统的结构中断系统的结构5.2.2MCS-51的中断源的中断源5.2.3MCS-51中断的控制中断的控制5.2.1MCS-51中断系统的结构中断系统的结构一、概念一、概念与上对比,单片机中也有同样的问题。与上对比,单片机中也有同样的问题。CPU正正在执行原程序,突然,被意外事情打断,转去执行在执行原程序,突然,被意外事情打断,转去执行新程序。新程序。CPU执行新程序结束后,又回到原程序中执行新程序结束后,又回到原程序中继续执行。这样的过程就叫继续执行。这样的过程就叫。中断中断 什么叫中断?什么叫中
3、断?举例:某同学正在教室写作业,忽然被人叫出去,回来举例:某同学正在教室写作业,忽然被人叫出去,回来 后,继续写作业。这就是生活中中断的例子。后,继续写作业。这就是生活中中断的例子。中断过程示意图中断源中断源中断请求(中断申请)中断请求(中断申请)中断响应过程中断响应过程中断服务中断服务中断返回中断返回中断的几个概念中断的几个概念日常生活中日常生活中的中断与的中断与单片机单片机中断的比较:中断的比较:某同学某同学 单片机单片机 过程说明过程说明正在看书正在看书 执行主程序执行主程序有人找出去有人找出去 中断信号中断信号 中断请求中断请求暂停看书暂停看书 暂停执行主程序暂停执行主程序 中断响应中
4、断响应书中作记号书中作记号 当前当前PCPC入栈入栈 保护断点保护断点出去做事出去做事 执行中断程序执行中断程序 中断服务中断服务回来继续看回来继续看 返回主程序返回主程序 中断返回中断返回 对突发事故,做出紧急处理。对突发事故,做出紧急处理。根据现场随时变化的各种参数、信息,做出实时监控。根据现场随时变化的各种参数、信息,做出实时监控。CPUCPU与外部设备并行工作与外部设备并行工作,以中断方式相联系以中断方式相联系,提高工提高工作效率。作效率。解决快速解决快速CPU与慢速外设之间的矛盾。与慢速外设之间的矛盾。在多项外部设备同时提出中断请求情况下,在多项外部设备同时提出中断请求情况下,CPU
5、CPU能根能根据轻重缓急响应外设的中断请求。据轻重缓急响应外设的中断请求。中断的作用:中断的作用:8051单片机中断系统的组成:由五个中断源、四个中断控制寄存器构成。1、五个中断源、五个中断源:2个外部、2个定时器/计数器、1个串行通信中断2、四个中断控制寄存器、四个中断控制寄存器(标志、允许、优先级标志、允许、优先级):中断控制寄存器IE、中断优先级寄存器IP、定时器/计数器控制寄存器TCON(6位)、串行通信寄存器SCON(2位),控制中断类型、中断的开关、中断的优先级二、二、8051中断系统结构中断系统结构对于对于MCS-51单片机中断系统的组成可以用一句话来讲,单片机中断系统的组成可以
6、用一句话来讲,叫做:叫做:“五源中断,两级管理五源中断,两级管理”中中断断源源的的中中断断请请求求,如如何何通通知知CPU?利用中断请求标志位来通知!利用中断请求标志位来通知!5.2.2MCS-51的中断源的中断源一、中断源1外部中断源由P3.2端口线引入,低电平或下降沿引起。由P3.3端口线引入,低电平或下降沿引起。2内部中断源T0:定时/计数器0中断,由T0回零溢出引起。T1:定时/计数器1中断,由T1回零溢出引起。TI/RI:串行I/O中断,完成一帧字符发送/接收引起。以上以上6个中断请求标志位分别分布在个中断请求标志位分别分布在TCON、SCON两个寄存器中。两个寄存器中。TCONIT
7、0IE0IT1IE1TR0TF0TR1TF1TF1T1的溢出中断标志的溢出中断标志硬件置硬件置1,硬件清,硬件清0(也可软件清(也可软件清0)TF0T0的溢出中断标志。(同的溢出中断标志。(同TF1,只是针对只是针对T0的)的)IE1外部中断外部中断1(/INT1)请求标志。请求标志。外部有中断请求时,硬件使外部有中断请求时,硬件使IE1置置1,硬件清,硬件清0。IE0外部中断外部中断0(/INT0)请求标志。请求标志。IT1外部中断外部中断1(/INT1)触发类型控制位。触发类型控制位。IT1=0,低电平触发。低电平触发。IT1=1 IT1=1,下降沿触发。下降沿触发。IT0外中断外中断0(
8、/INT0)触发类型控制位,用法同触发类型控制位,用法同IT1。二、中断请求标志二、中断请求标志定时定时/计数器控制寄存器计数器控制寄存器SCON RI TIRB8TB8RENSM2SM1SM0TI串口发送中断标志位。串口发送中断标志位。发送完数据,硬件使发送完数据,硬件使TI置置1,软件清,软件清0(CLRTI)RI串行口接收中断标志位。串行口接收中断标志位。硬件置硬件置1,软件清,软件清0。串行口控制寄存器在中断源与CPU之间有二级中断允许控制逻辑电路,类似开关,其中第一级为一个总开关,第二级为五个分开关,由IE控制。一、中断允许控制即中断屏蔽(第一级管理)一、中断允许控制即中断屏蔽(第一
9、级管理)IEEX0ET0EX1ET1 ES EAEA总控制位总控制位“”未定义位未定义位ES串口控制位串口控制位ET1T1中断控制位中断控制位EX1/INT1控制位控制位ET0T0中断控制位中断控制位EX0/INT0控制位控制位若为若为“1”,开关接通,允,开关接通,允许许例如例如SETBEA若为若为“0”,开关断开,不,开关断开,不允许允许例如例如CLRIE.75.2.3MCS-51中断的控制(两级管理)中断的控制(两级管理)例:假设某单片机系统允许片内定时器/计数器中断,禁止其它的中断。试设置IE的值。方法一:用字节操作指令 MOV IE,#8AH或 MOV 0A8H,#8AH方法二:用位
10、操作指令 SETB ET0 SETB ET1 SETB EA二、中断优先级控制(第二级管理)二、中断优先级控制(第二级管理)为什么要有为什么要有中断优先级中断优先级?CPU同同一一时时间间只只能能响响应应一一个个中中断断请请求求。若若同同时时来来了了两两个个或或两两个个以上中断请求,就必须有先有后。以上中断请求,就必须有先有后。!为此将为此将5个中断源分成高级、低级两个级别,高级优先,由个中断源分成高级、低级两个级别,高级优先,由IP控制。控制。IPPX0PT0PX1PT1 PSPS串口的中断优先级别串口的中断优先级别PT1定时定时/计数器计数器T1的中断优先级别的中断优先级别PX1外部中断外
11、部中断1的中断优先级别的中断优先级别PT0定时定时/计数器计数器T0的中断优先级别的中断优先级别PX0外部中断外部中断0的中断优先级别的中断优先级别该位是该位是“1”时,为高级优先级时,为高级优先级该位是该位是“0”时,为低级优先级时,为低级优先级 中断优先级次序:中断优先级次序:(1)高优先级中断能够打断低优先级中断服务程序实现中断嵌套。(2)同级优先级的次序 相同优先级中断不能够打断其中断服务程序实现中断嵌套。同一级中的同一级中的5个中断源的优先顺序是个中断源的优先顺序是:/INT0中断中断T0溢出中断溢出中断/INT1中断中断T1溢出中断溢出中断串口中断串口中断高高低低出厂前已由厂家固化
12、顺序出厂前已由厂家固化顺序事先约定事先约定中断优先原则:(概括为四句话)中断优先原则:(概括为四句话)1、低级不打断高级、低级不打断高级2、高级不睬低级、高级不睬低级3、同级不能打断、同级不能打断4、同级、同时中断、同级、同时中断,事先约定事先约定。例:假设某单片机系统片外中断为高优先级,片内中断为低优先级。试设置IP的值。方法一:用字节操作指令 MOV IP,#05H或 MOV 0B8H,#05H方法二:用位操作指令 SETB PX0 SETB PX1 CLR PS CLR PT0 CLR PT15.3 5.3 MCS-51MCS-51单片机中断处理单片机中断处理过程过程中断处理过程分为三个
13、阶段:中断响应、中断处理过程分为三个阶段:中断响应、中断处理、中断返回中断处理、中断返回5.3.1中断响应条件和时间中断响应条件和时间5.3.2中断响应过程中断响应过程5.3.3中断返回中断返回5.3.4中断程序举例中断程序举例一、中断响应条件(一、中断响应条件(3条)条)(1)有中断请求;)有中断请求;(2)CPU开放中断,即开放中断,即EA=1;(3)对应的中断源允许中断;对应的中断源允许中断;只有同时满足这三个条件时,只有同时满足这三个条件时,CPU才有可能响应才有可能响应中断中断5.3.1中断响应条件和时间中断响应条件和时间单片机在每个机器周期的S5P2期间,顺序采样每个中断源,CPU
14、在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在再下一个机器周期S1期间按优先级进行中断处理。中断得到响应后自动清除中断标志,由硬件将程序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中断矢量地址单元中去执行相应的中断服务程序。CPU每个机器周期都需要顺序检查每个中断源,当检测到有中每个机器周期都需要顺序检查每个中断源,当检测到有中断请求时,能否响应,还要看下述情况是否存在:断请求时,能否响应,还要看下述情况是否存在:(1)CPU正处理相同级别或更高级别的中断;正处理相同级别或更高级别的中断;(2)正在执行指令,还未到最后一个机器
15、周期;)正在执行指令,还未到最后一个机器周期;(3)正在执行的指令是)正在执行的指令是RETI或访问或访问IP、IE指令,则执行完上指令,则执行完上 述指令后,再执行一条指令后,才会响应新中断。述指令后,再执行一条指令后,才会响应新中断。(38个机器周期个机器周期)1、基本响应时间、基本响应时间(3个机器周期个机器周期)(1)查询中断标志:)查询中断标志:1个机器周期;个机器周期;(2)转去执行中断服务程序:)转去执行中断服务程序:2个机器周期。个机器周期。2、额外的处理时间、额外的处理时间(05个机器周期个机器周期)RETI指令:指令:2个机器周期;个机器周期;MUL或或DIV指令:指令:4
16、个机器周期。个机器周期。二、中断响应时间二、中断响应时间注意:注意:1)保护断点与保护现场以及恢复断点与恢复现场的区别。)保护断点与保护现场以及恢复断点与恢复现场的区别。2)外部中断响应时间在)外部中断响应时间在38个机器周期之间。个机器周期之间。利用外部中断实现单步操作利用外部中断实现单步操作:8031+5v在主程序中在主程序中:CLRIT0SETBEASETBPX0SETBEX0在中断服务子程序中在中断服务子程序中:JNBP3.2,$JBP3.2,$RETI响应过程:(假设已使某中断请求标志置响应过程:(假设已使某中断请求标志置1)(1)先使相应优先级状态触发器置)先使相应优先级状态触发器
17、置1;(2)执行一个硬件子程序的调用,)执行一个硬件子程序的调用,1)硬件清零相应中断请求标志()硬件清零相应中断请求标志(TI、RI除外)除外)2)将当前)将当前PC内容压入堆栈内容压入堆栈保护断点;保护断点;3)将中断服务子程序入口地址送)将中断服务子程序入口地址送PC转移。转移。(3 3)执行中断服务程序执行中断服务程序5.3.2中断响应过程中断响应过程五个中断源:五个中断源:入口地址入口地址外部中断外部中断0(/INT0)0003HT0溢出中断溢出中断000BH外部中断外部中断1(/INT1)0013HT1溢出中断溢出中断001BH串口中断串口中断0023H中断请求源(中断请求源(“五
18、源中断五源中断”)返回过程:(返回过程:(RETI执行后)执行后)(1)使相应优先级状态触发器清)使相应优先级状态触发器清0。(2)从堆栈中弹出栈顶的两个字节内容送)从堆栈中弹出栈顶的两个字节内容送PC恢复断点。恢复断点。(3)CPU接着中断处继续执行原程序。接着中断处继续执行原程序。5.3.3中断返回中断返回5.3.4中断程序举例中断程序举例中断服务程序的结构中断服务程序的结构1、保护现场;、保护现场;2、处理中断的程序;、处理中断的程序;3、恢复现场;、恢复现场;4、中断返回:、中断返回:RETI编写中断服务程序编写中断服务程序应注意的几点应注意的几点1、中断程序入口处的处理;、中断程序入
19、口处的处理;2、程序中可以禁止高级中断;、程序中可以禁止高级中断;3、在保护和恢复现场时可、在保护和恢复现场时可关闭关闭CPU中断,以免造成混中断,以免造成混乱。乱。多中断源系统多中断源系统当外部中断源多于中断输入引脚时,可采取以下措施:1.用定时器计数输入信号端T0、T1作外部中断入口引脚2.用串行口接收端RXD作外部中断入口引脚3.用一个中断入口接受多个外部中断源,并加入中断查询电路。处理外部中断举例处理外部中断举例 要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。解:INT0输入按键信号,P1.0输出改变LED状态。一、跳变触发:每次跳变引起一次中断请求ORG0000H AJM
20、P MAINORG0003H;中断入口AJMP PINT0ORG0100H;主程序 MAIN:SETB EA;开总允许开关 SETBEX0;开INT0中断 SETBIT0 ;负跳变触发中断 Here:SJMP Here ;相当于执行其 它任务 ORG0200H;中断服务程序 PINT0:CPL P1.0;改变LED RETI;返回主程序单片机单片机INT0P1.01+5V1软件等待按键释放。2硬件清除中断信号。电平触发:避免一次按键引起多次中断响应。电平触发:避免一次按键引起多次中断响应。单片机单片机INT0P1.01+5VORG 0000H;AJMP MAIN ORG 0003H ;中断入口
21、 AJMP PINT0 ORG 0100H ;主程序 MAIN:SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 CLR IT0 ;低电平触发中断 Here:SJMP Here ;相当于执行其它 任务 ORG 0200H;中断服务程序 PINT0:CPL P1.0 ;改变LED WAIT:JNB P3.2,WAIT;等按键释放 RETI;返回主程序 中断处理流程小小结结1、MCS-51单单片片机机中中断断系系统统有有几几个个中中断断源源?分分别别是是什什么么?事先约定的优先顺序是怎样的?事先约定的优先顺序是怎样的?2、如何进行中断允许控制?如何进行中断优先级控制?、如何进行中
22、断允许控制?如何进行中断优先级控制?3、中断优先的规则是什么?、中断优先的规则是什么?55.4.4 MCS-51MCS-51单片机的单片机的定时定时/计数器计数器5.4.1 5.4.1 定时定时/计数器的结构和工作原理计数器的结构和工作原理5.4.2 5.4.2 定时定时/计数器的控制计数器的控制5.4.3 5.4.3 定时定时/计数器的工作方式计数器的工作方式5.4.4 5.4.4 定时定时/计数器应用举例计数器应用举例在实时控制系统中,常常要求有实时时在实时控制系统中,常常要求有实时时钟以实现定时或延时控制,也常需要有钟以实现定时或延时控制,也常需要有计数功能实现对外界事件进行计数。计数功
23、能实现对外界事件进行计数。常用的方法有常用的方法有:软件定时软件定时不可编程的硬件定时不可编程的硬件定时可编程的硬件定时可编程的硬件定时5.4.1 5.4.1 定时定时/计数器的结构和工作原理计数器的结构和工作原理一、定时一、定时/计数器的结构计数器的结构51子系列单片机内有子系列单片机内有两个两个十六位十六位增一增一定时定时/计数器计数器TH0计数值高八位计数值高八位TL0计数值低八位计数值低八位TH1计数值高八位计数值高八位TL1计数值低八位计数值低八位TMODTCON工作方式工作方式定时定时/计数控制计数控制控控制制控控制制定时/计数器结构定时/计数器简称定时器,8031单片机有2个16
24、位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。8051单片机内单片机内有两个有两个16位定时器位定时器/计数器计数器,常称为,常称为定时器定时器0和定时器和定时器1,简称为简称为T0和和T1;均可作定时器均可作定时器用也可计数器,用也可计数器,为加为加1计数器计数器;用于
25、定时控制、延时、用于定时控制、延时、外部计数和检测等。其结构如下图所示。外部计数和检测等。其结构如下图所示。外部控制门外部控制门作为定时器用时的计时速度:作为定时器用时的计时速度:一个机器周期计数一个机器周期计数器加器加1,直至计满溢出。,直至计满溢出。如晶振为如晶振为12MHz的单片机,一个机器周期为的单片机,一个机器周期为1S,其其计数频率为振荡频率的计数频率为振荡频率的1/12。作为计数器用时的计数速度:作为计数器用时的计数速度:每两个机器周期计每两个机器周期计数器加数器加1,计数频率最高为振荡频率的,计数频率最高为振荡频率的1/24。在在S5P2对计数输入引脚对计数输入引脚T0、T1进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 第5章 MCS-51单片机的中断系统及定时器 MCS 51 中断 系统 定时器
限制150内