MCS-51单片机中断系统

上传人:宝路 文档编号:52875914 上传时间:2018-08-26 格式:PPT 页数:49 大小:334.84KB
返回 下载 相关 举报
MCS-51单片机中断系统_第1页
第1页 / 共49页
MCS-51单片机中断系统_第2页
第2页 / 共49页
MCS-51单片机中断系统_第3页
第3页 / 共49页
MCS-51单片机中断系统_第4页
第4页 / 共49页
MCS-51单片机中断系统_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《MCS-51单片机中断系统》由会员分享,可在线阅读,更多相关《MCS-51单片机中断系统(49页珍藏版)》请在金锄头文库上搜索。

1、单片机原理与接口技术,第5章 MCS-51单片机 中断系统,(1) 了解MCS-51单片机中断系统的内部结构。 (2) 熟悉MCS-51单片机中断系统的中断源和中断入口地址。 (3) 熟悉MCS-51单片机中断系统的工作方式和控制寄存器。 (4) 掌握MCS-51单片机中断服务程序的设计方法。,本章教学要求,本 章 目 录,6.1 单片机输入/出知识6.2 MCS-51中断系统 6.2.1 中断系统的内部结构 6.2.2 中断源与中断方式 6.2.3 中断控制寄存器,6.2.4 中断响应6.3 中断应用举例 6.3.1 中断服务程序设计 6.3.2 中断系统应用实例 习题与思考题,6.1 单片

2、机输入/出知识,CPU与外部设备交换信息有: 无条件传送方式 查询传送方式; 中断传送方式.,1无条件传送方式,无条件传送方式:传送信息双方不需要交换状态信息,只在程序中加入访问外设的指令,便可以实现数据传送。无条件传送方式有一个致命的弱点,数据易丢失。由于CPU的速度相当快,而外设的速度相对慢,在外设处理一个数据的时间内,CPU已送来多个数据。,2查询传送方式,通过程序对外设状态的检测称之为“查询”,CPU根据查询信息决定数据是否传送的方式叫查询方式。输入时CPU要知道外设是否把数据准备好;输出时CPU要知道外设是,6.1 单片机输入/出知识,否把上一次输出的数据处理完。只有通过查询确定外设

3、处于准备好状态,CPU才发出访问外设的指令,实现数据的传送。缺点:有一个等待过程,在连续数据传送时,外设比CPU速度慢得多,CPU完成一次传送要等待很长的时间才能进行下一次传送。等待过程中,CPU不能进行其它操作,所以效率比较低。,3直接存储器存取(DMA)方式,DMA(Direct Memory Access)方式是CPU让出数据总线,使外部设备和存储器之间直接传送(不通过CPU)数据的方式。一般用于: 1) 外设和存储器之间有大量的数据需要传送。 2) 外部设备的工作速度很快的情况。,6.1 单片机输入/出知识,4中断传送方式,外设为数据传送做好准备时,向CPU申请,CPU接收到中断请求信

4、号后,暂停正在执行的程序,去为外设的数据传送服务,之后,CPU返回到原来的程序继续执行被中断的程序。,6.2 中断的概念,-中断概念,CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。,CPU执行主程序A,主程序,CPU继续执行主程序A,断点,中断请求,响应中断,CPU执行中断处理程序B,中断返回,中断源,中断源:可以引起中断的事件称为中断源(如定时器溢出等)。 中断请求:由中断源向CPU发出请求中断的信

5、号称中断请求。 中断响应:CPU在满足条件下接受中断申请,终止现行程序执行转而为申请中断的对象服务称中断响应。 中断服务程序:处理中断事件的程序称为中断服务程序。 断点:现行程序被中断的地址称为断点。 中断返回:中断服务程序结束后返回到原程序称中断返回。,6.1.2 中断的概念,-中断概念,中断响应与处理,6.1.2 中断的概念,-中断系统的基本问题,单片机中断响应处理可以分为以下几个步骤: 1)停止主程序运行:当前指令执行完后终止现在执行的程序。 2)保护断点:把程序计数器PC的当前值压入堆栈保存被 终止程序的当前地址,以便从中断服务程序返回继续执 行该被中断的程序。 3)寻找中断入口:根据

6、中断源产生的中断查找相应的入口地址。 4)执行中断处理程序 5) 中断返回。,6.1.2 中断的概念,-中断系统的基本问题,中断的特点:解决了快速主机与慢速I/O设备的数据传送问题;,分时操作:CPU可以分时为多个I/O设备服务,提高了计算机的利用率;,实时响应:CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;,可靠性高:CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。,6.2 MCS-51中断系统,6.2.1 中断系统的内部结构MCS-51单片机的中断系统由与中断有关的特殊功能寄存器、中断入口、顺序查询逻辑电路组成。,-中断系统的内部结构,6.2.2 中断源与

7、中断方式,-中断源及种类,1中断源,MCS-51中断系统提供了5个中断源,INT0、INT1为外中断,T0、T1、串行口中断(RXD、TXD)为内中断。 2个优先级,可实现二级中断嵌套 。,CPU 在每个机器周期的S5P2期间,会自动查询各个中断申请标志位,若查到某标志位被置位,将启动中断机制。,CPU识别中断申请的依据:,6.2.3 中断控制寄存器,MCS-51中断系统在4个特殊功能寄存器控制下工作。TCON:定时/计数器控制寄存器;SCON:串行口控制寄存器;IE:中断允许控制寄存器;IP:和中断优先级控制寄存器。通过对这4个特殊功能寄存器的相应位进行置位或清零操作,实现各种中断控制功能。

8、,6.2.3 中断控制寄存器,1) TCON中的中断请求标志位TCON定时/计数器控制寄存器。控制定时/计数器T0和T1 的溢出中断、外中断的触发方式和锁存外中断请求标志位。,-中断请求控制,1中断请求控制,IT0/1(TCON.0/2) :外中断INT01触发方式控制位。当IT0/1=0时,低电平触发方式。有效信号至少一个机器周期有效。当IT0/1=1时,为边沿触发方式(下降沿有效)。有效信号至少两个机器周期。 IE0/1(TCON.1/3):外部中断INT0/1中断请求标志位。当INT0/1引脚输入有效中断信号时IE0由硬件置1。CPU响应中断后自动清零。,TF0/1(TCON.5/7):

9、片内定时/计数器T0/1溢出中 断请求标志。定时/计数器的核心为加法计数器,当定时/计数 器T0/1发生定时或计数溢出时,由硬件置位TF0/或 TF1,向CPU申请中断,CPU响应中断后,会自动清 零TF0或TF1。,6.2.3 中断控制寄存器,-TCON寄存器,6.2.3 中断控制寄存器,-TCON寄存器,在CPU已经开放中断允许的前提下,当INT0/INT1引脚有效中断信号时, TCON寄存器中的IE0/IE1标志位自动变“1”,CPU 检测到IE0/IE1变“1”后, 产生指令LCALL 0003H(/0013H)执行中断服务程序, 并将IE0/IE1标志位自动清“0”,以备下次申请。由

10、于CPU对INT0引脚没有控制作用,在采用电平触发方式时中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清零的IE0标志位重新置1,可能再次引起中断而出错。所以,在中断响应后必须采用外接电路撤消该引脚上的低电平,以撤除外部中断请求信号。,外部中断(INT0,INT1)申请过程,例1 如图为外部中断采用 电平触发方式时撤消外部中 断请求信号参考电路。,6.2.3 中断控制寄存器,-TCON寄存器,分析:外中断请求信号通过D触发器加到单片机引脚INTx 上。当外部中断请求信号使D触发器的CLK端发生正跳变时,由于D端接地,Q端输出0,向单片机发出中断请求。CPU响应中断后,利用一根

11、口线,如P1.0做应答线,在中断服务程序中用两条指令: ANL P1, #0FEH ;撤消中断 ORL P1, #01H ;为新中断做准备,2)SCON中的中断请求标志位,6.2.3 中断控制寄存器,-SCON寄存器,TI(SCON.1):串行口发送中断请求标志位CPU将一个数据写入发送缓冲器SBUF时,就启动发送,每 发送完一帧串行数据后,硬件置位TI,向CPU申请中断。CPU 响应中断时,并不清除TI中断标志,必须在中断服务程序中由 软件对TI清0。 RI(SCON. 0):串行口接收中断请求标志位在串行口允许接收时,每接收完一帧数据,由硬件自动将 RI位置为1,向CPU申请中断。 CPU

12、响应中断时,并不清除RI 中断标志,也必须在中断服务程序中由软件对TI标志清0。,2中断允许控制,中断系统中断源的开放和禁止由中断允许寄存器IE控制。,6.2.3 中断控制寄存器,-IE寄存器,EA:总中断允许控制位。当EA=0时,禁止所有的中断;当EA=1时,所有中断可以开放。 ES:串行口中断允许控制位。当ES=0时,禁止串行口中断;当ES=1, EA=1开放串行口中断。 ET1/0:定时/计数器T1/0的中断允许控制位。当ET1/0=0时,禁止T1/0溢出中断;当ET1/0=1, EA=1开放T1/0溢出中断。 EX1/0:外中断1/0的中断允许控制位。EX1/0=0时,禁止外部中断1/

13、0的中断;EX1/0=1 , EA=1开放外部中断1的中断。,单片机复位以后,IE被清0,所有的中断被禁止。用户在程序中对IE相应的位置1或清0,即可允许或禁止各中断源的中断申请。 如: SETB EASETB EX0CLR ET0, 或:MOV IE, #data;ORL IE, #data;MOV IE, A 对IE进行初始化。,6.2.3 中断控制寄存器,-IE寄存器,3中断优先级控制,8051有2个中断优先级,每一个中断源均可编程为高优先级(0)或低优先级(1),从而实现2级中断嵌套。,6.2.3 中断控制寄存器,-2级中断嵌套,PX0(IP.0),外部中断0优先级设定位; PT0(I

14、P.1),定时/计数器T0优先级设定位; PX1(IP.2),外部中断1优先级设定位; PT1(IP.3),定时/计数器T1优先级设定位; PS (IP.4),串行口优先级设定位; PT2 (IP.5) ,定时/计数器T2优先级设定位。,复位后,IP被全部清0。,6.2.3 中断控制寄存器,-中断优先级控制,MCS-51单片机的 5 个中断源分别对应有各自的中断服务程序入口地址中断矢量,同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成。,1) 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,一直到该中断服务程序

15、结束,返回主程序且执行了主程序中的一条指令后,CPU才能响应新的中断请求。 2) 正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。 3) CPU同时接收到几个中断请求时,首先响应优先级最高的中断请求。,6.2.3 中断控制寄存器,-中断优先级控制,以上所述可归纳为下面3条基本规则:,6.2.4 中断响应,有中断源请求中断;CPU开全局中断;申请中断的相应中断控制位置1。 同时满足时,CPU才有可能响应中断。,-中断响应的条件,1中断响应的条件,2. 中断服务的进入CPU执行程序过程中,在每个机器周期的S5P2期间,中断系统对各个中断源进行采样。这些采样值在下一个机器

16、周期内按优先级被依次查询。如果某个中断标志在上一个机器周期的S5P2时被置成了1,那么它将于现在的查询周期中及时被发现,CPU便执行一条由中断系统提供的硬件LCALL指令,转向被称作中断向量的特定地址单元,进入相应的中断服务程序。,6.2.4 中断响应,-中断响应的条件,遇以下任一情况,硬件将受阻,不产生LCALL指令:CPU正在处理同级或高优先级中断;当前查询的机器周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断;正在执行RET、RETI或任何访问IE或IP寄存器的指令时,不相应中断。只有在这些指令后面至少再执行一条指令时才能接受中断请求。,若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志已不再有效,那么该中断将不被响应。就是说,中断标志曾经有效,但未获响应,查询过程在下个机器周期将重新进行。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号