mcs-51单片机的中断系统_第1页
mcs-51单片机的中断系统_第2页
mcs-51单片机的中断系统_第3页
mcs-51单片机的中断系统_第4页
mcs-51单片机的中断系统_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 5章 单片机的中断1中断技术的必要性( 1)可以解决 CPU与外设之间速度匹配的问题 ;(2) 及时处理系统中许多随机的参数和信息,提高计算机处理问题的实时性和灵活性。(3) 使用中断方式,可允许多个外围设备与 CPU同时工作,实现分时操作,大大提高计算机的利用率。 (4) 中断技术是 CPU具有处理设备故障、掉电等突发事件的能力,提高计算机系统本身的可靠性。 第 5章 MCS-51单片机的中断系统一、 计算机中断技术的概念第 5章 单片机的中断2. 定义 :(1) 中断源( 2)中断服务程序( 3)中断响应图 5-1 中断响应示意图第 5章 单片机的中断某种原因中止原程序的执行称为中断请求,执行 B程序的过程称为中断响应。(1) 中断源是指计算机在执行某一程序的过程中 (A程序 ),中止原程序的执行,转去执行相应的处理程序 (B程序 ),待处理结束之后,再回来继续执行被中止的原程序。 B程序称为中断源。( 2)中断服务程序A程序我们称为主程序, B程序称为中断服务程序,即执行中断源所要求执行的程序。( 3)中断响应第 5章 单片机的中断3中断系统的功能 能判断是否响应中断; 判断多个中断源的优先级; 保护断点; 实现多个中断源的嵌套。第 5章 单片机的中断4. 中断响应条件( 1)有中断源申请中断( 2)对该中断源未屏蔽( 3) CPU对中断源的中断申请是开放的( 4) CPU执行完现行指令响应中断申请5 MCS-51中断系统的结构MCS-51共有 5个中断源,可实现二级中断服务嵌套。内中断:定时 /计数器 T0、定时 /计数器 T1外中断: INT0 ( P3.2)、 INT1( P3.3) 、串行通信第 5章 单片机的中断它由中断请求标志位、中断允许寄存器 IE、中断优先级寄存器 IP硬件查询电路组成。SCONIEIPTCON第 5章 单片机的中断中断标志寄存器:Tcon串行口控制寄存器:Scon中断允许寄存器:IE中断优先级控制寄存器: IP 说明 INT0、 INT1、 T0、 T1中断源是否申请中断。说明串行接收或发送中断申请。说明对 INT0、 INT1、 T0、 T1 ,串行通信的中断申请是否屏蔽,及CPU是否响应中断。二、与中断有关的控制字 定时器控制寄存器第 5章 单片机的中断中断源请求标志寄存器中断响应控制寄存器1中断源请求标志寄存器定时器 /计数器控制寄存器 TCON串行控制寄存器 SCON根据这些位的状态就能确定 有无中断请求 及 中断的来源 。 第 5章 单片机的中断1) 定时器 /计数器控制寄存器 (TCON)字节地址为 88H,位地址 88H 8FH。它用于保存外部中断请求INT0、 INT1以及定时器 T0、T1的中断申请标志 。第 5章 单片机的中断 该寄存器能表示哪个中断源有中断申请,分别是INT0IE0 、 INT1IE1 、 T0TF0 、 T1TF1 。 该寄存器的访问 可以用位控的方法,地址分别 88H8FH位控时书写格式:88HIT0Tcon.0 可以用直接寻址方式,地址为 88H。说明:第 5章 单片机的中断 可以做为中断源有中断申请的标志,用于中断工作方式。“0”电平触发方式,低电平有效。 TF0、 TF1IE0、 IE1 IT0、 IT1分别为 INT0和INT1的触发方式“1”脉冲触发方式,下降沿有效。 可以做为时间到,使该位置 1,用于查询工作方式。的两个功能:第 5章 单片机的中断注意:1. 在电平触发方式下:一定要撤消外部中断 0引脚上的低电平,使 IE0置 0,否则将再次引起中断。 2. 在边沿触发方式下触发方式下:CPU在采样外部中断 0引脚输入电平。采样为脉冲下降沿,则置IE0标志为 1,表示外部中断 0正在向 CPU申请中断。当 CPU响响应中断后, IE0由硬件自动清 0。为保证 CPU在两个机器周期内检测到由高到低的负跳变,必须保证外部中断源输入的高电平和低电平的持续时间在 12个时钟周期以上。 第 5章 单片机的中断2) 串行口控制寄存器 (SCON)SCON是串行口控制寄存器,寄存器地址 98H位地址 98H 9FH。与中断有关的只有它的低两位 TI和 RI注 : RI 接受中断申请标志,即接收到一帧的数据,请求 CPU取走数据的中断申请标志位。 TI 发送中断申请标志位,即发送完一帧数 据,请求 CPU再发送下一帧数据的中断申请标志位。 SCON寻址方式:直接寻址、位寻址。第 5章 单片机的中断注意: CPU复位后, TCON和 SCON各位清 0。第 5章 单片机的中断2. 中断响应的控制( 1)中断允许控制寄存器 (IE)字节地址为 A8H,位地址为 0A8H 0AFH。控制 CPU对中断源的开放或禁止,以及对每一中断源是否允许中断。第 5章 单片机的中断MOV IE, #82H ; 1000 0010B也可以用下面的位操作指令实现:SETB EASETB ET0 例如:要以中断方式使用 T0,编写初始化程序。第 5章 单片机的中断( 2)中断优先级控制寄存器 (IP)MCS-51单片机中断系统具有两级中断优先级管理。中断优先级寄存器 IP的字节地址为 0B8H,位地址为 0B8H 0BFH。PS PT1 PX1 PT0 PX0 INT0T0INT1T1串口第 5章 单片机的中断注: 高优先级与低优先级的确定“1” 高 = “0” 低 同一级优先级同时中断申请时, CPU 响应中断的顺序INT0 T0 INT1 T1 串口高优先级状态触发器低优先级状态触发器第 5章 单片机的中断注:当系统复位时, IP寄存器被清 0,将 5个中断源均设置为低优先级中断。中断优先级管理遵循的基本原则是: 高优先级中断源 可中断可中断 正在执行的低优先级中断服务程序,同级或低优先级中断源不能中断正在执行的中断服务程序。 如果同一级的几个中断源同时向 CPU申请中断, CPU按自然优先级决定响应顺序。第 5章 单片机的中断初始化程序:SETB IT0 ; INT0脉冲触发方式SETB IT1 ; INT1脉冲触发方式MOV IE, #85H ; CPU响应, INT0、 INT1不屏蔽MOV IP, #04H ; INT1优先级高于 INT0注: 可以用位控方式编写。例:编写初始化程序,对 INT0、 INT1两个中断源采用脉冲触发方式向 CPU申请中断,且 INT1的优先级高于 INT0。PS PT1 PX1 PT0 PX0 INT0T0INT1T1串口第 5章 单片机的中断中断响应的过程中断服务程序的入口地址中断服务程序的组成中断请求的撤除三、中断操作应注意的几个问题第 5章 单片机的中断1.中断的响应过程: 中断查询 ; (每条指令执行完) 将相应的优先级状态触发器置 1; 由硬件清除相应的中断请求标志; 保护断点。 将对应的中断入口地址送入程序计数器 PC,使程序转向该中断入口地址去执行中断服务程序。 保护现场 ;(在保护现场前,一般要关中断) 中断服务;(即为相应的中断源服务) 恢复现场; (在恢复现场前要关中断) 返回。( CPU将压入到堆栈的断点地址弹回到程序计数器)第 5章 单片机的中断2. 中断响应会被阻止的情况 CPU正在执行同级或高一级的中断服务程序; 现行机器周期不是正在执行的指令的最后一个机器周期,即现行指令完成前不响应任何中断请求; 当前正在执行的是中断返回指令 RETI或访问特殊功能寄存器 IE或 IP的指令。 中断申请保持时间:中断查询在每个机器周期都要重复执行。如果 CPU响应中断的基本条件已满足,但由于上述 3个封锁条件之一而未被及时响应,待封锁中断的条件撤消后,若中断标志也已消失,则本次被拖延的这个中断请求就不会被响应。 第 5章 单片机的中断3. 中断源中断服务程序的入口地址第 5章 单片机的中断4.中断服务程序的建立 通常在中断入口地址单元处存放一条无条件转移指令,这样就可使中断服务程序灵活地安排在 64 KB程序存储器的任何空间。 若要在执行当前中断程序时禁止更高优先级中断,可先用软件关闭CPU中断,或禁止某中断源中断,在中断返回前再开放中断。 保护现场和恢复现场注: 1. 应注意在保护现场之前要关中断 ; 2.在保护现场之后根据需要开中断,允许更高级的中断请求。3. 在恢复现场之前也应关中断,恢复现场后再开中断。 CPU响应中断请求后,在中断返回 (RETI)前, 该中断请求信号必须撤除,否则会引起另外一次中断。第 5章 单片机的中断5. 中断请求的撤除 CPU响应中断后,能用硬件自动清除 :( 1) T0、 T1申请中断使 TF0、 TF1位置 1,响应中断后,由硬件自动清除中断申请位 TF0、 TF1 。( 2) INT0(INT1)电平触发方式,响应中断后,由硬件自动清除中断申请位 IE0、 IE1 。 但 INT0(INT1) 中断申请线的信号要用电路方法撤除。 由编写软件清除:串行口中断请求标志 TI和 RI不能由硬件自动清除,需要在中断服务程序中用软件来清除相应的中断请求标志。CLR TICLR RI第 5章 单片机的中断注: INT0, INT1外部中断源产生中断申请的申请与撤除 INT0(P3.2脚 )、 INT1(P3.3脚 )为低电平向 CPU发出中断申请; CPU采到低电平,使 IE0( IE1 )中断申请标志位置 1; CPU响应中断,使 IE0(IE1 )中断申请标志位置 0,撤出中断申请标志, 但不能使 INT0, INT1引脚的中断申请撤除。 由硬件电路实现清除:硬件电路实现中断申请线的撤出。 第 5章 单片机的中断a) 脉冲触发方式P3.2Vcc按动开关 K P3.2=“ 脉冲 ” ,产生中断申请;开关 K打开 P3.2=“1” ,自动撤销中断申请 中断申请电路设计第 5章 单片机的中断b)电平触发方式CLR P1.0 ; D触发器 Q=1SETB P1.0;撤出置 1 端1. 当外中断路产生中断申请, D触发器 Q=0, P3.2=0,向 CPU发生中断申请;2. CPU检测到 P3.2=0,响应中断申请;3. CPU响应中断后,但 P3.2中断申请线不能自动撤出;必须通过 P1.0用 D触发器 SD端使 Q置 1;第 5章 单片机的中断例 2:编写初始化程序,开放中断 INT0和 T0的溢出中断,禁止其它中断源的中断申

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论