欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    单片机原理与接口技术课件MCS-51单片机中断系统.ppt

    • 资源ID:5937855       资源大小:367KB        全文页数:68页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机原理与接口技术课件MCS-51单片机中断系统.ppt

    1,*,单片机原理与接口技术,第6章 MCS-51单片机中断系统,2,*,(1)了解MCS-51单片机中断系统的内部结构。(2)熟悉MCS-51单片机中断系统的中断源和中断入口地址。(3)熟悉MCS-51单片机中断系统的工作方式和控制寄存器。(4)掌握MCS-51单片机中断服务程序的设计方法。,本章教学要求,3,*,本 章 目 录,6.1 中断概述6.1.1 CPU与外设的 输入/输出方式6.1.2 中断的概念6.2 MCS-51中断系统6.2.1 中断系统的内部结构,6.2.2 中断源与中断方式6.2.3 中断控制寄存器6.2.4 中断响应6.3 中断应用举例6.3.1 中断服务程序设计6.3.2 中断系统应用实例习题与思考题,4,*,6.1 中断概述,CPU与外部设备交换信息有以下几种方式:1)程序控制传送方式;(包括分为无条件传送方式和查询传送方式)2)中断传送方式;3)直接存储器存取(DMA)方式。,-CPU与外部设备交换信息,5,*,6.1.1 CPU与外设的输入/输出方式,无条件传送方式也称为同步程序传送,这种传送方式不需要交换状态信息,即不需要测试外部设备的状态,只需在程序中加入访问外设的指令,便可以根据需要随时实现数据传送,无条件传送方式适用于以下两类外部设备的输入输出:1)外设的工作速度非常快,足以和CPU同步工作。2)具有常驻的或变化缓慢的数据信号的外设。,1无条件传送方式,-无条件传送方式,6,*,2查询传送方式,通常把通过程序对外设状态的检测称之为“查询”,所以这种有条件的传送方式又叫做程序查询方式。查询的流程图如图所示。,6.1.1 CPU与外设的输入/输出方式,-查询传送方式,7,*,3直接存储器存取(DMA)方式,DMA(Direct Memory Access)方式是CPU让出数据总线(悬浮状态),使外部设备和存储器之间直接传送(不通过CPU)数据的方式。在下述两种情况时可考虑采用DMA方式:1)外设和存储器之间有大量的数据需要传送。2)外部设备的工作速度很快的情况。,6.1.1 CPU与外设的输入/输出方式,-DMA方式,8,*,4中断传送方式,中断方式则是在外设为数据传送作好准备之后,就向CPU发出中断请求信号(相当于通知CPU),CPU接收到中断请求信号之后立即作出响应,暂停正在执行的原程序(主程序),而转去为外设的数据输入输出服务,待服务完之后,程序返回,CPU再继续执行被中断的原程序。,6.1.1 CPU与外设的输入/输出方式,-中断传送方式,9,*,6.1.2 中断的概念,中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因而必须终止原程序的执行,转去完成相应的处理程序,待处理结束之后再返回继续执行被终止原程序的过程。如图6-2所示。实现这种中断功能的硬件系统和软件系统统称为中断系统。,-中断概念,10,*,主程序:CPU正常情况下运行的程序称为主程序。中断源:把向CPU提出中断申请的设备称为中断源。中断请求:由中断源向CPU所发出的请求中断的信号称中断请求。中断响应:CPU在满足条件情况下接受中断申请,终止现行程序执行转而为申请中断的对象服务称中断响应。中断服务程序:为服务对象服务的程序称为中断服务程序。断点:现行程序被中断的地址称为断点。中断返回:中断服务程序结束后返回到原来程序称中断返回。,6.1.2 中断的概念,-中断概念,11,*,(1)中断源(2)中断优先级控制(3)中断响应的过程,6.1.2 中断的概念,-中断系统的基本问题,1)检测中断2)保护现场3)中断服务4)清除中断标志位5)恢复现场6)中断返回,12,*,保护现场是指由于CPU执行中断处理程序时,可能要使用主程序中使用过的累加器、寄存器或标志位。为了使这些寄存器的值在中断服务程序中不被冲掉,在进入中断服务程序前,要将有关寄存器保护起来。在中断服务程序执行完时,还必须恢复原寄存器的内容及原程序中断处的地址。即恢复现场和恢复断点。保护现场和恢复现场是通过在中断服务程序中采用堆栈操作指令PUSH及POP实现的。而保护断点、恢复断点是由CPU响应中断和中断返回时自动完成的。,6.1.2 中断的概念,-保护现场和保护现场,13,*,6.2 MCS-51中断系统,6.2.1 中断系统的内部结构 MCS-51单片机的中断系统由与中断有关的特殊功能寄存器、中断入口、顺序查询逻辑电路组成。,-中断系统的内部结构,14,*,6.2.2 中断源与中断方式,MCS-51单片机的中断系统提供了5个中断源。,-中断源及种类,1中断源,15,*,通常,在实际应用中有以下几种情况可采取中断方式工作。(1)I/O设备。(2)硬件故障。(3)实时时钟。(4)为调试程序而设置的中断源。,-中断方式应用,6.2.2 中断源与中断方式,16,*,-中断方式,2中断方式 MCS-51单片机的中断系统有两种中断方式,即外部中断和内部中断。(1)外部中断 外部中断是指从单片机外部引脚INT0和INT1输入中断请求信号的中断,即外部中断源有两个。如输入/输出的中断请求、实时事件的中断请求、掉电和设备故障的中断请求都可以作为外部中断源,从引脚INT0和INT1输入。外部中断请求和有电平触发和跳变(边沿)触发两种触发方式。这两种触发方式可以通过对特殊功能寄存器TCON编程来选择。,6.2.2 中断源与中断方式,17,*,-中断方式,(2)内部中断 内部中断是单片机芯片内部产生的中断。MCS-51单片机(51子系列)的内部中断有定时/计数器T0和T1的溢出中断,串行口的发送/接收中断。,6.2.2 中断源与中断方式,18,*,6.2.3 中断控制寄存器,MCS-51中断系统在4个特殊功能寄存器控制下工作。这4个特殊功能寄存器是定时/计数器控制寄存器(TCON)、串行口控制寄存器(SCON)、中断允许控制寄存器(IE)和中断优先级控制寄存器(IP)。通过对这4个特殊功能寄存器的各位进行置位或复位操作,可实现各种中断控制功能。,19,*,6.2.3 中断控制寄存器,1)TCON中的中断请求标志位 TCON为定时/计数器控制寄存器,其字节地址为88H,可位寻址,位地址范围为88H8FH。这个寄存器有两个作用,即除了控制定时/计数器T0和T1的溢出中断外,还控制外部中断的触发方式和锁存外部中断请求标志位。TCON中的各位定义如图6-4所示。,-中断请求控制,1中断请求控制,20,*,IT0:选择外部中断0的中断触发方式。IT0=0,为电平触发方式,低电平有效;IT0=1,为边沿触发方式,P3.2引脚信号出现负跳变有效。IT1:选择外部中断1的中断触发方式。其功能与IT0类同。IE0:外部中断0的中断请求标志。当INT0输入端口有中断时IE0=1,由硬件置位。,6.2.3 中断控制寄存器,-TCON寄存器,21,*,IE1:外部中断INT1的中断请求标志。功能与IE0类似。TF0:片内定时/计数器0溢出中断请求标志。定时/计数器的核心为加法计数器,当定时/计数器T0发生定时或计数溢出时,由硬件置位TF0或TF1,向CPU申请中断,CPU响应中断后,会自动清零TF0或TF1。TF1:片内定时/计数器1溢出中断请求标志。功能与TF0类同。,6.2.3 中断控制寄存器,-TCON寄存器,22,*,中断请求标志IE0和IE1及中断信号的撤销问题 无论是采用边沿触发方式(IT0=1)还是电平触发方式(IT0=0),在CPU响应中断请求后,中断请求标志位IE0即由硬件自动清零。由于CPU对INT0引脚没有控制作用,在采用电平触发方式时中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清零的IE0标志位重新置1,这有可能再次引起中断而造成出错。所以,在中断响应后必须采用其他方法撤销该引脚上的低电平,以撤除外部中断请求信号,可以采用外接电路来撤除中断请求信号。中断请求标志位IE1的清零及中断请求信号的撤销问题与IE0类似。,6.2.3 中断控制寄存器,-中断撤销,23,*,例6-1 图6-5所示为对于外部中断采用电平触发方式时的撤除外部中断请求信号参考电路。,6.2.3 中断控制寄存器,-TCON寄存器,分析:外部中断请求信号通过D触发器加到单片机引脚INTx(x=0,1)上。当外部中断请求信号使D触发器的CLK端发生正跳变时,由于D端接地,Q端输出0,向单片机发出中断请求。CPU响应中断后,利用一根口线,如P1.0做应答线,在中断服务程序中用两条指令:ANL P1.0,#0FEHORL P1.0,#01H,24,*,6.2.3 中断控制寄存器,-TCON寄存器,ANL P1.0,#0FEHORL P1.0,#01H 通过以上两条命令来撤除中断请求。第1条指令使P1.0为0,而P1口其他各位的状态不变。由于P1.0与D触发器的置1端相连,故D触发器Q=1,撤除了中断请求信号。第2条指令将P1.0变成1,从而使以后产生的新的外部中断请求信号又能向单片机申请中断。,25,*,2)SCON中的中断请求标志位,SCON为串行口控制寄存器,其字节地址为98H,可以进行位寻址。串行口的接收和发送数据中断请求标志位(RI、TI)被锁存在串行口控制寄存器SCON中,其格式如图6-6所示。,6.2.3 中断控制寄存器,-SCON寄存器,26,*,TI:串行口发送中断请求标志位 CPU将一个数据写入发送缓冲器SBUF时,就启动发送,每发送完一帧串行数据后,硬件置位TI。但CPU响应中断时,并不清除TI中断标志,必须在中断服务程序中由软件对TI清0。RI:串行口接收中断请求标志位 在串行口允许接收时,每接收完一帧数据,由硬件自动将RI位置为1。CPU响应中断时,并不清除RI中断标志,也必须在中断服务程序中由软件对TI标志清0。,6.2.3 中断控制寄存器,-SCON寄存器,27,*,2中断允许控制,MCS-51对中断源的开放或屏蔽是由中断允许寄存器IE控制的,IE的字节地址为0A8H,可以按位寻址,当单片机复位时,IE被清为0。通过对IE的各位置1或清0操作,实现开放或屏蔽某个中断,其格式如图6-7所示。,6.2.3 中断控制寄存器,-IE寄存器,28,*,EA:总中断允许控制位。当EA=0时,屏蔽所有的中断;当EA=1时,开放所有的中断。ES:串行口中断允许控制位。当ES=0时,屏蔽串行口中断;当ES=1且EA=1时,开放串行口中断。ET1:定时/计数器T1的中断允许控制位。当ET1=0时,屏蔽T1的溢出中断;当ET1=1且EA=1时,开放T1的溢出中断。,6.2.3 中断控制寄存器,-IE寄存器,29,*,EX1:外部中断1的中断允许控制位。当EX1=0时,屏蔽外部中断1的中断;当EX1=1 且 EA=1时,开放外部中断1的中断。ET0:定时/计数器T0的中断允许控制位。功能与ET1相同。EX0:外部中断0的中断允许控制位。功能与EX1相同。单片机复位以后,IE被清0,所有的中断请求被禁止。由用户程序对IE相应的位置1或清0,即可允许或禁止各中断源的中断申请。改变IE的内容,即可由位操作指令来实现(即SETB bit;CLR bit),也可用字节操作指令实现(即MOV IE,#data;ORL IE,#data;MOV IE,A等)。,6.2.3 中断控制寄存器,-IE寄存器,30,*,(1)用位操作指令CLREX0;禁止外部中断0中断CLREX1;禁止外部中断1中断CLRES;禁止串行口中断SETBET0;允许定时/计数器T0中断SETBET1;允许定时/计数器T1中断SETBEA;CPU开中断,6.2.3 中断控制寄存器,例6-2 若允许片内2个定时/计数器中断,禁止其它中断源的中断请求,试编写出设置IE的相应程序。,(2)用字节操作指令 MOV IE,#8AH 或 MOV A8H,#8AH;IE寄存器的字节 地址为A8H,-IE的设置,31,*,3中断优先级控制,8051有2个中断优先级,每一个中断请求源均可编程为高优先级中断或低优先级中断,从而实现2级中断嵌套。,6.2.3 中断控制寄存器,-2级中断嵌套,32,*,1)正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,一直到该中断服务程序结束,返回了主程序且执行了主程序中的一条指令后,CPU才响应新的中断请求。2)正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。3)CPU同时接收到几个中断请求时,首先响应优先级最高的中断请求。,6.2.3 中断控制寄存器,-中断优先级控制,以上所述可归纳为下面3条基本规则:,33,*,-中断优先级寄存器IP,1)PS:串行口中断优先级控制位PS=1,设定串行口为高优先级;PS=0,设定串行口为低优先级。2)PT1:定时器T1中断优先级控制位PT1=1,设定T1为高优先级;PT1=0,设定T1为低优先级。,6.2.3 中断控制寄存器,在MCS-51内部提供了一个中断优先级控制寄存器(IP)。其字节地址为B8H,既可按字节形式访问,又可按位形式访问,其位地址范围为0B8H0BFH。,34,*,-中断优先级寄存器IP,3)PX1:外部中断1中断优先级控制位PX1=1,设定外部中断1为高优先级;PX1=0,设定外部中断1为低优先级。4)PT0:定时器T0中断优先级控制位PT0=1,设定T0为高优先级;PT0=0,设定T0为低优先级。5)PX0:外部中断0中断优先级控制位PX0=1,设定外部中断0为高优先级;PX0=0,设定外部中断0为低优先级。,6.2.3 中断控制寄存器,35,*,在同时收到几个同一优先级的中断请求时,哪一个中断请求能优先得到响应,取决于内部查询次序,这相当于在同一个优先级内,还同时存在按次序决定的第二优先级结构,其查询次序见表6-2所示。,6.2.3 中断控制寄存器,-中断优先级控制,36,*,(1)用位操作指令CLRPS;串行口、定时/计数器T0、T1为低优先级CLRPT0CLRPT1SETBPX0;外中断0、1为 高优先级SETBPX1,6.2.3 中断控制寄存器,例6-3 设置IP寄存器的初始值,使得MCS-51的片内中断为低优先级,片外中断为高优先级。,(2)用字节操作指令 MOV IP,#05H 或 MOV B8H,#05H;IP寄存器的字 节地址为B8H,-中断优先级设置,37,*,例6-4 某程序中对IE、IP的初始化为:MOVIE,#8FHMOVIP,#06H则此时该系统中:1)CPU中断允许;2)允许外部中断0、外部中断1、定时器0和定时器1提出的中断申请,屏蔽串口中断;3)允许中断源的中断优先次序为:定时/计数器0外部中断1外部中断0定时/计数器1,6.2.3 中断控制寄存器,-中断优先级设置,38,*,6.2.4 中断响应,单片机响应中断的条件为中断源有请求且CPU开中断(即EA=1)。(1)无同级或高级中断正在处理。(2)现行指令执行到最后1个机器周期且已结束。(3)若现行指令为RETI或访问特殊功能寄存器IE、IP的指令时,执行完该指令且紧随其后的另一条指令也已执行完毕。,-中断响应的条件,1中断响应的条件,39,*,-中断响应过程,CPU响应中断后,由硬件自动执行如下的功能操作:(1)根据中断请求源的优先级高低,对相应的优先级状态触发器置1,硬件自动生成常调用指令LCALL addr16。(2)保护断点,即把程序计数器PC的内容压入堆栈保存。(3)清除相应的中断请求标志位。(4)把被响应的中断源所对应的中断服务程序入口地址(中断矢量)送入PC,从而转入相应的中断服务程序执行。,6.2.4 中断响应,2中断响应过程,上述调用指令 LCALL addr16 中的addr16是程序存储区中相应的中断入口地址。例如对于外中断1的响应,系统自动生成的长调用指令为:LCALL 0013H,40,*,MCS-51系统的中断服务程序的入口地址即中断矢量也是由硬件自动生成的。各中断源与它所对应的中断服务程序入口地址见表6-3所示。,6.2.4 中断响应,-中断服务程序的入口地址,41,*,由于MCS-51系列单片机的相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,通常是在相应的中断服务程序入口地址中放一条长跳转指令LJMP,这样就可以转到64KB的任何可用区域。若在2KB范围内转移,则可存放AJMP指令。,6.2.4 中断响应,-中断服务程序部署,42,*,电平触发方式适合于外部中断输入以低电平输入且中断服务程序能清除外部中断请求源的情况。例如,并行接口芯片8255的中断请求线在接受读或写操作后即被复位,因此,以其去请求电平触发方式的中断比较方便。边沿触发方式适合于以负脉冲形式输入的外部中断请求,如ADC0809的转换结束标志信号EOC为正脉冲,经反相后就可以作为MCS-51单片机的中断输入。,6.2.4 中断响应,-中断信号的极性,43,*,ORG 0000HAJMP MAINORG 0003HLJMP INT0ORG 0100HMAIN:,6.2.4 中断响应,例6-5 设外部中断0提出申请,且主程序中需对累加器A、DPTR、R0 和 R1 进行保护,则程序如下:,ORG1000H;1000H为;中断入口地址INT0:PUSH ACCPUSH DPHPUSH DPLPOP DPLPOP DPHPOP ACCRETI,-保护现场,44,*,在中断服务程序中,PUSH指令与POP指令必须成对使用,否则不能正确返回断点。而且最后一条指令必须为中断返回指令RETI,RETI的具体功能是:1)将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序;2)将相应中断优先级状态触发器清0,通知中断系统,中断服务程序已执行完毕。如果有多个中断源,就对应有多个“ORG 中断入口地址”,且这多个“ORG 中断入口地址”必须依次由小到大排列。,6.2.4 中断响应,-PUSH和POP指令的功能,45,*,-中断响应时间,所谓中断响应时间是指CPU检测到中断请求信号到转入中断服务程序入口所需要的机器周期数。MCS-51单片机响应中断的最短时间为3个机器周期。若CPU检测到中断请求信号时间正好是一条指令的最后一个机器周期,则不需等待就可以立即响应。所谓响应中断就是由内部硬件执行一条长调用指令,需要2个机器周期,加上检测需要1个机器周期,一共需要3个机器周期才开始执行中断服务程序。,6.2.4 中断响应,3中断响应时间,46,*,中断响应的最长时间由下列情况所决定:若中断检测时正在执行RETI或访问IE或IP指令的第一个机器周期,这样包括检测在内需要2个机器周期(以上三条指令需两个机器周期);若紧接着要执行的指令恰好是执行时间最长的乘除法指令,其执行时间均为4个机器周期;再用2个机器周期执行一条长调用指令才转入中断服务程序。这样,总共需要8个机器周期。,6.2.4 中断响应,-中断响应最长时间,47,*,如果已经在处理同级或更高级中断,外部中断请求的响应时间取决于正在执行的中断服务程序的处理时间,这种情况下,响应时间就无法计算。因此,在1个单一中断的系统里,MCS-51单片机对外部中断请求的响应时间为38个机器周期。,6.2.4 中断响应,-中断响应最长时间,48,*,6.3 中断应用举例,中断系统虽然是硬件系统,但中断系统的应用需要硬件系统和软件系统相互配合才能正确使用。在设计中断服务程序时需要注意以下几个问题。在主程序的初始化程序段中:(1)设置中断允许控制寄存器IE(2)设置中断优先级寄存器IP(3)若是外部中断源,还要设置中断请求的触发方式IT1或IT0在中断服务程序中:(1)现场保护和现场恢复(2)开中断和关中断(3)中断返回,-设计中断服务程序需要注意,49,*,6.3.1 中断服务程序设计,1)设置中断允许控制寄存器IE,允许相应的中断源请求中断。2)设置中断优先级寄存器IP,确定并分配所使用的中断源的优先级。3)若是外部中断源,还要设置中断请求的触发方式IT1或IT0,以决定采用电平触发方式还是边沿触发方式。4)编写中断服务程序,处理中断请求。一般将前3条都放在主程序的初始化程序段中。,1中断服务程序设计的基本任务,-中断服务程序的任务,50,*,(1)现场保护和现场恢复(2)开中断和关中断(3)中断返回,6.3.1 中断服务程序设计,2中断服务程序的流程,-中断服务程序的流程,51,*,6.3.2 中断系统应用实例,例6-6 中断初始化程序举例。分析:假设允许外部中断0和1中断,并设定外部中断0为高级中断,外部中断1为低级中断,外部中断0采用边沿触发方式,外部中断1采用电平触发方式。对应的主程序中程序段如下:SETBEA;CPU开中断SETBET0;允许外中断0产生中断SETBET1;允许外中断1产生中断SETBPX0;外中断0为高级中断CLRPX1;外中断1为低级中断SETBIT0;外中断0为跳沿触发方式 CLRIT1;外中断0为电平触发方式,-例6-6,52,*,图6-11为采用单外部中断源的数据采集系统示意图。将P1口设置成数据输入口,外围设备每准备好一个数据时,发出一个选通信号(正脉冲),使D触发器Q端置1,产生中断请求信号,P3.0用于撤除中断请求信号,从而清除IE0标志。,6.3.2 中断系统应用实例,例6-7 单外部中断源示例,-例6-7,53,*,汇编语言程序代码如下:ORG 0000HSTART:LJMP MAIN;跳转到主程序 ORG 0003H LJMP INT0;转向中断服务程序 ORG 0030H;主程序MAIN:CLR IT0;设为电平触发方式 SETB EA;CPU开放中断 SETB EX0;允许INT0中断 SJMP$,6.3.2 中断系统应用实例,-例6-7,54,*,ORG 0200H;中断服务程序INT0:PUSHPSW;保护现场 PUSH ACC CLRP3.0;由P3.0输出0,NOP;使/Q变为1,NOP;撤除中断请求信号 SETBP3.0;由P3.0输出1,使D触发器能够工作 MOVA,P1;输入数据 MOVX DPTR,A;存入数据存储器 INCDPTR;修改数据指针,指向下一个单元 POPACC;恢复现场 POPPSW RETI;中断返回,6.3.2 中断系统应用实例,-例6-7,55,*,分析:定时/计数器T0和T1除作为定时/计数器使用外,也可作为扩展外部中断使用。方法是:将T0和T1设置为计数方式,初值为FFH。一旦外部信号从计数器引脚输入一个负跳变信号,计数器加1,产生溢出中断,从而可以转去处理该外部中断源的请求。因此可以把P3.4和P3.5作为外部中断请求输入线,而溢出标志位相当于外部中断请求标志位。下面程序为采用定时/计数器T1在方式2下作为外中断源的方法。,6.3.2 中断系统应用实例,例6-8 定时/计数器作为外部中断源的方法,-例6-8,56,*,汇编语言程序代码如下:MOV TMOD,#60H;T0方式2MOV TH1,#0FFHMOV TL1,#0FFH;置初值SETB TR0;启动计数器SETB EA;CPU中断开放SETB ET0;允许T0中断 当连在P3.5上的外部输入线发生负跳变时,TL1加1溢出,TF1置1,向CPU发出中断申请。同时TH1的内容送TL1,即恢复计数初值0FFH。这样,P3.4引脚上的每次负跳变都将TF1置1,向CPU发出中断请求,CPU响应中断请求时,转去执行外部中断服务程序,其入口地址为001BH,此时P3.5相当于边沿触发的外中断源输入线。,6.3.2 中断系统应用实例,-例6-8,57,*,当外部中断源多于两个时,可以采用硬件申请与软件查询方法,把多个中断源通过或非门引入外部中断源输入端,同时又连到某I/O口。这样,每个“源”都可能引起中断,但在中断服务程序中通过软件查询,便可确定哪一个是正在申请的中断源,其查询的次序则由中断源优先级决定。这样就可实现多个外部中断源的扩展。,6.3.2 中断系统应用实例,例6-9 中断和查询结合的方法扩展多个外中断源,-例6-9,58,*,图6-12中的LED可实现系统的故障显示。当系统的各部分工作正常时,4个故障源输入端全为低电平,显示灯全熄灭。只有当某部分出现故障时,则对应的输入线由低电平变为高电平,从而引起8051的中断,在中断服务中通过查询即可判断故障源,并进行相应的LED显示。,6.3.2 中断系统应用实例,-例6-9,59,*,;汇编语言主程序:ORG0000H;复位入口地址AJMPMAIN;转主程序ORG0003H;外部0中断入口AJMPIO;转中断服务程序MAIN:ANLP1,#0AAH;置P1口输出全为0SETBIT0;外部中断0为边沿触发中断方式SETBEX0;允许外部中断0中断SETBEA;CPU开中断LOOP1:SJMP LOOP1;等待中断,6.3.2 中断系统应用实例,-例6-9,60,*,;汇编语言中断服务程序:IO:JNBP1.1,L1;查询中断源,P1.1为0转L1执行SETBP1.0;P1.0送出1使对应的灯点亮 L1:JNBP1.3,L2 SETBP1.2 L2:JNBP1.5,L3SETBP1.4 L3:JNBP1.7,L4SETBP1.6 L4:RETI;返回主程序END,6.3.2 中断系统应用实例,-例6-9,61,*,例6-10 结合如图6-13所示电路,编写由P1口控制发光二极管状态的程序。分析:要求P1口输出控制8只发光二极管呈循环点亮状态,当开关S按下时,发光二极管全部熄灭一段时间,然后回到原来的循环点亮状态。,6.3.2 中断系统应用实例,-例6-10,62,*,;汇编语言主程序:ORG0000H;复位入口地址AJMPST;转主程序ORG0003H;外部0中断入口AJMPSER;转中断服务程序 ORG0100HST:MOVSP,#40HMOVIE,#81HMOVIP,#01HMOVTCON,#00HMOVA,#01H;ACC初始化RES:MOVP1,A;显示RLA;循环移位LCALLDEL;延时保持SJMPRES;循环,6.3.2 中断系统应用实例,-例6-10,63,*,;汇编语言中断服务程序:SER:PUSHACC;存当前的ACC值MOV30H,R1;存延时;程序的计数值MOV31H,R2MOVP1,#00H;把二极;管熄灭MOVR3,#10;保持LOOP:LCALLDELDJNZR3,LOOPMOVR1,30H;取延时;程序的计数值MOVR2,31H,6.3.2 中断系统应用实例,-例6-10,POPACC;取当前的ACC值MOVP1,ACCRETI;中断返回DEL:MOVR1,#123;延时程序DEL1:MOVR2,#200DEL2:DJNZR2,DEL2DJNZR1,DEL1RETEND,64,*,习题与思考题,6-1简述中断、中断源、中断嵌套及中断优先级的含义。6-2MCS-51单片机提供了几个中断源?有几级中断优先级别?各中断标志是如何产生的又如何清除这些中断标志?各中断源所对应的中断矢量地址是多少?6-3外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?,65,*,6-4 试分析以下几种中断优先级的排列顺序(级别由高到低)是否可能?若可能,则应如何设置中断源的中断级别?否则,请简述不可能的理由。1)定时器T0溢出中断,定时T1溢出中断,外中断1NT0,外中断INT1,串行口中断 2)串行口中断,外中断1NT0,定时器T0溢出中断,外中断INT1,定时器T1溢出中断;,习题与思考题,66,*,3)外中断INT0,定时器T1溢出中断,外中断INT1,定时器T0溢出中断,串行口中断;4)外中断INT0,外中断INT1,串行口中断,定时器T0溢出中断,定时器T1溢出中断;5)串行口中断,定时器T0溢出中断,外中断INT0,外中断INT1,定时器T1溢出中断;6)外中断INT0,外中断INT1,定时器T0溢出中断,串行口中断,外中断INT1,串行口中断。,习题与思考题,67,*,6-5MCS-51中断响应时间是否固定?为什么?6-6MCS-51 中若要扩充6个中断源,可采用哪些方法?如何确定它们的优先级?6-7试叙述中断的作用和中断的全过程。6-8当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?,习题与思考题,68,*,6-9 在下列各种中断方式中,需要外加电路实现中断撤除的为:1)定时中断2)脉冲方式的外部中断3)外部串行中断4)电平方式的外部中断6-10某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H。试编写主程序及中断服务程序(转至相应的入口即可)。,习题与思考题,

    注意事项

    本文(单片机原理与接口技术课件MCS-51单片机中断系统.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开