80C51中断系统

上传人:hy****d 文档编号:242967598 上传时间:2024-09-13 格式:PPT 页数:44 大小:1.28MB
返回 下载 相关 举报
80C51中断系统_第1页
第1页 / 共44页
80C51中断系统_第2页
第2页 / 共44页
80C51中断系统_第3页
第3页 / 共44页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,5.1 80C51的中断系统,5.2 80C51的中断处理过程,5.3 80C51的定时/计数器,第5章 80C51的中断系统及定时/计数器,本章内容:,1,5.1 80C51的中断系统,5.1.1 80C51的中断系统结构,中断的概念,看电视,中断处理,中断请求,实际生活,中断返回,电话铃响,接听电话,看电视,主程序,计算机,事件发生,事件处理,主程序,2,中断解决了快速主机与慢速I/O设备的数据传送,还具有如下优点:,分时操作,。,CPU,可以分时为多个,I/O,设备服务,提高了计算机的利用率;,实时响应,。,CPU,能够及时处理应用系统的随机事件,系统的实时性大大增强;,可靠性高,。,CPU,具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。,3,80C51,中断系统的结构,IE0,EX0,TF0,IE1,TF1,TI,ES,ET1,EX1,ET0,RI,IP,硬件查询,高级,低级,中断入口,中断源,INT0,INT1,中断入口,中断源,1,0,IE,PX0,PS,PT1,PX1,PT0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,EA,1,1,SCON,1,1,T0,T1,RX,TX,IT0,IT1,0,0,TCON,4,5.1.2 80C51的中断源,INT1,由,IT1,选择为低电平有效还是下降沿有效。,此,引脚上出现有效的中断信号时,中断标志,IE1,置,1,申请中断。,INT0,由,IT0,选择为低电平有效还是下降沿有效。,此,引脚上出现有效的中断信号时,中断标志,IE0,置,1,,申请中断。,中断源,5,TF0,,,T0,溢出中断请求标志。当,T0,发生溢出时,置位,TF0,,并向,CPU,申请中断。,TF1,,,T1,溢出中断请求标志。当,T1,发生溢出时,置位,TF1,,并向,CPU,申请中断。,RI,、,TI,,串行口中断请求标志。当串行口接收完一帧数据时置位,RI,或当串行口发送完一帧数据时置位,TI,,向,CPU,申请中断。,6,中断请求标志,IT0,,外中断,0,触发方式控制位。,=0,,电平触发方式。,=1,,边沿触发方式(下降沿有效)。,IE0,,外中断,0,中断请求标志位。,TF0,,,T0,溢出中断请求标志位。,TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0,TCON,(88H),IT1 、IE1、 TF1类同,TCON,的中断标志,7,SCON,的中断标志,RI,,接收中断标志位。,TI,,发送中断标志位。,TI RI,SCON,(98H),注意:,RI和TI由硬件置位、,由软件清除。,8,中断允许控制,5.1.3 80C51中断的控制,EX0,外中断0允许位;,ET0,T0中断允许位;,EX1,外中断0允许位;,ET1,T1中断允许位;,ES ,串口中断允许位;,EA , CPU中断允许(总允许)位。,EA ES ET1 EX1 ET0 EX0,IE,(A8H),9,中断优先级控制,PX0,外中断0优先级设定位;,PT0,T0优先级设定位;,PX1,外中断0优先级设定位;,PT1,T1优先级设定位;,PS ,串口优先级设定位。,PS PT1 PX1 PT0 PX0,IP,(B8H),10,同一优先级的优先权排队如下表,:,11,中断优先级三条原则:,同时收到,几个中断时,,响应,优先级别,最高,的,中断过程,不能被同级、低优先级所中断,低优先级,中断服务,,能被高优先级中断,有2个优先级状态触发器:,高,优先级状态触发器,低,优先级状态触发器,12,5.2,80C51单片机中断处理过程,中断响应条件,有中断请求;,对应中断允许位为,1,;,开中断(即,EA=1,)。,同时满足时,才可能响应中断,。,5.2.1 中断响应条件和时间,13,中断服务的进入,:,每个周期的,S5P2,,采样,各中断源。采样值在,下一个周期,按优先级和内部顺序,查询,。,某中断在,上一个周期的,S5P2,被置,1,,它将于,查询周期被发现,。,CPU,便执行一条硬件,LCALL,指令,转向中断向量的特定地址单元,,进入相应的中断程序,。,14,硬件受阻,不产生LCALL的几种情况,:,正在处理,同级,或,高优先级,中断;,当前查询的机器周期,不是,所执行指令的,最后一个机器周期,。,正执行的指令为,RET,、,RETI,或任何,访问,IE,或,IP,的指令(只有在这些指令后面,至少再执行一条指令时,才能接受中断请求)。,受阻未得到响应的中断,若条件消失时该中断标志已不再有效,该中断将不被响应。,15,中断响应时间,中断响应(从标志置1到进入相应的中断服务),至少要,3个,完整的机器周期。,16,相应优先级,状态触发器置,1,执行硬件,LCALL,指令,把,PC,的内容入栈,相应中断服务程序的,入口送,PC,执行,中断服务程序,。,5.2.2 中断响应过程,中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。,17,5.2.3 中断返回,RETI,的功能:,将压入堆栈的,断点地址从栈顶弹回,PC,将优先级,状态触发器清,0,注意:,不能用,RET,指令代替,RETI,指令。,中断服务程序中,PUSH,与,POP,须成对使用,18,电平触发方式:,中断标志随中断引脚电平而变化,,中断请求的响应速度快。,但,有效电平必须保持到响应,时,避免漏掉;,在中断服务程序结束之前,必须撤消该有效电平,,避免中断返回后再次产生中断,。,此方式适于外中断输入,低电平,,且中断服务程序,能清除外中断请求源,的情况。(,如,8255的中断请求线在读或写后即被复位,以其去请求电平触发方式的中断比较方便,)。,19,边沿触发方式:,采到有效边沿后,则在,IE0,或,IE1,中将锁存一个,1,。即便是,CPU,暂时不能响应,,该标志也不会丢失,,直到响应此中断时才清零。,负脉冲宽度至少要保持一个机器周期。,此方式适于以,负脉冲,形式输入的外部中断请求(,如ADC0809的EOC为正脉冲,经反相后就可以作为80C51的中断输入,)。,20,5.2.4 中断程序举例,P1,P3.0,Q,D,CLK,CLR,选通信号,+5V,INT0,数据,80C51,Vcc,例:单外中断源,21,ORG 0000H,START:LJMP MAIN ;跳转到主程序,ORG 0003H,LJMP INTO ;转中断服务程序,ORG 0030H ;主程序,MAIN:CLR IT0 ;设为电平触发方式,SETB EA ;CPU开放中断,SETB EX0 ;允许中断,MOV DPTR,#1000H ;设置数据区指针, ,主程序:,22,ORG 0200H,INT0:PUSH PSW ;保护现场,PUSH ACC,CLR P3.0 ;由P3.0输出0,NOP,NOP,SETB P3.0 ;由P3.0输出1,撤除,MOV A,P1 ;输入数据,MOVX DPTR,A ;存入数据存储器,INC DPTR ;修改指针,指向下一单元, ,POP ACC ;恢复现场,POP PSW,RETI ;中断返回,中断服务程序:,23,例 5个外部中断源系统,P1.3,XI0,80C51,1,1,1,1,1,P1.0,INT0,INT1,XI1,XI2,XI3,XI4,+5V,24,ORG 0003H,LJMP INSE0 ;转外部中断0服务程序入口,ORG 0013H,LJMP INSE1 ;转外部中断1服务程序入口, , ,INSE0: PUSH PSW ;XI0中断服务程序,PUSH ACC, , ,POP ACC,POP PSW,RETI,25,INSE1:PUSH PSW ;中断服务程序,PUSH ACC,JB P1.0,DV1 ;P1.0为1,转XI1中断服务程序,JB P1.1,DV2 ;P1.1为1,转XI2中断服务程序,JB P1.2,DV3 ;P1.2为1,转XI3中断服务程序,JB P1.3,DV4 ;P1.3为1,转XI4中断服务程序,INRET:POP ACC,POP PSW,RETI,DV1: ;XI1中断服务程序,AJMP INRET,DV2: ;XI2中断服务程序,AJMP INRET,DV3: ;XI3中断服务程序,AJMP INRET,DV4: ;XI4中断服务程序,AJMP INRET,26,5.3,80C51的定时/计数器,实现定时常用的三种方法:,软件定时:占用,CPU,时间,效率低。,用,555,电路:不可编程。,可编程芯片:功能强,需要另外扩展。,单片机内部有2个16位的定时/计数器:使用灵活,编程方便,。优先选用,27,5.3.1,定时/计数器的结构和工作原理,加,1,计数器(高,8,位、低,8,位),TMOD,,工作方式设置;,TCON,,启动、停止及设置溢出标志,。,定时,/,计数器的结构,28,定时,/,计数器的工作原理,计数器脉冲来源:,振荡器,脉冲经过,12,分频,T0,或,T1,引脚的,外部脉冲,计数值,:溢出时计数器值计数初值。,计数器,全,1,时,再输入,1,个脉冲就,回零,,并发生,溢出,(,TCON,中,TF0,或,TF1,置,1,),,发中断请求,。,29,定时,模式,对内部机器周期计数,定时时间,t,计数值,N x Tcy,计数,模式,对外部事件脉冲计数,计数脉冲周期要,大于,2,Tcy,30,5.3.2 定时/计数器的控制,TMOD:工作方式;TCON控制启动和中断申请。,工作方式寄存器,TMOD,GATE C / T M1 M0 GATE C / T M1 M0,TMOD,(89H),T0,T1,M1,、,M0,:,工作方式设置位,0 0:13位计数器,0 1:16位计数器,1 0:可自动重装的8位计数器,1 1:T0分为2个8位计数器;T1此时停止工作,31,C/T,:,计数器,/,定时器选择位,= 0,, 片内时钟定时器,= 1,, 外部事件计数器,GATE,:,门控位,= 0,,启动,/,停止仅由软件对,TRx,位写“,1”/“0”,控制,= 1,启动/停止由软件对TRx位写“1”/“0” 和在外中断INTx引脚出现信号的高/低共同控制,32,控制寄存器,TCON,TCON,(88H),TF1 TR1 TF0 TR0,IE1 IT1 IE0 IT0,TFx:,溢出标志位,= 0,, 计数未满,= 1,,,计数溢出,在进入中断服务程序时会自动清零;但在查询方式时必须软件清零。,TRx:,运行控制位,=0,,停止计数,=1,,启动计数;,33,5.3.3 定时/计数器的工作方式,方式,0,13,位计数。由,TL0,的低,5,位和,TH0,的,8,位组成。,TH0,溢出时,置位,TF0,标志,向,CPU,发出中断请求。,34,计数个数:,N,t / Tcy,初值:,X,2,13,N,GATE=0,时,仅由,TR0,控制与门的开启;,GATE=1,时,与门开启由,INTx,引脚信号和,TR0,共同控制。,TR0=1,时,,INTx,引脚的高电平启动计数,低电平停止计数,。,门控位,GATE,具有特殊的作用(测量外中断引脚上正脉冲的宽度),35,方式,1,16,位计数,由,TL0,作为低,8,位、,TH0,作为高,8,位 。,初值:X2,16,N,36,方式,2,自动重装初值的,8,位计数方式,,适合于用作较精确的脉冲信号发生器。,初值:X2,8,N,37,方式,3,T0,分成为两个独立的,8,位计数器,TL0,和,TH0,,,T1,处于方式,3,时停止计数。,38,5.3.4 定时/计数器用于外部中断扩展,例:用T0扩展外部中断源,MOV TMOD,#06H,MOV TL0,#0FFH,MOV TH0,#0FFH,SETB TR0,SETB EA,SETB ET0,在计数方式下,初值设为满程,外部中断源接计数引脚。输入一下降沿信号,计数器加1后便产溢出中断。,;置T0为计数器方式2,;置计数初值,;,;启动T0工作,;CPU开中断,;允许T0中断,39,5.3.5 定时/计数器应用举例,初始化程序应完成如下工作:,确定,工作方式,(对,TMOD,赋值),计算,初值,(写入,TH0,、,TL0,或,TH1,、,TL1,),开中断,(对,IE,赋值),启动,定时,/,计数器(,TR0,或,TR1,置位),例: 用T0的方式1产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波。采用中断方式,设系统时钟频率为12 MHz。,40,解:,1、计算计数初值X:,晶振为12 MHz,所以Tcy为1,s。,Nt/ Tcy 1010,-3,/,110,-6,=,10000,X655361000055536,D8F0,H,即应将D8H送入TH0中,F0H送入TL0中,2、求T0的方式控制字TMOD:,M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;,41,ORG 0000H,LJMP MAIN ;跳转到主程序,ORG 000BH ;T0的中断入口地址,LJMP DVT0 ;转向中断服务程序,ORG 0100H,MAIN:MOV TMOD,#01H ;置T0工作于方式1,MOV TH0,#0D8H ;装入计数初值,MOV TL0,#0F0H,SETB ET0 ;T0开中断,SETB EA ;CPU开中断,SETB TR0 ;启动T0,SJMP $ ;等待中断,DVT0:CPL P1.0 ;P1.0取反输出,MOV TH0,#0D8H ;重新装入计数值,MOV TL0,#0F0H,RETI ;中断返回,END,42,思考题及习题,1、80C51有几个中断源?各中断标志是如何产生的?又是如何复位的?CPU响应各中断时,其中断入口地址是多少?,2、某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H。试编写主程序及中断服务程序(转至相应的入口即可)。,3、外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?,4、定时/计数器工作于定时和计数方式时有何异同点?,5、定时/计数器的4种工作方式各有何特点?,6、要求定时/计数器的运行控制完全由TR1、TR0确定和完全由、高低电平控制时,其初始化编程应作何处理?,7、当定时/计数器T0用作方式3时,定时/计数器T1可以工作在何种方式下?如何控制T1的开启和关闭?,43,8、利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为12MHz。试设计程序。,9、要求从P1.1引脚输出1000Hz方波,晶振频率为12MHz。试设计程序。,10、试用定时/计数器T1对外部事件计数。要求每计数100,就将T1改成定时方式,控制P1.7输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为12MHz。,11、利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯。编一个程序,使8个指示灯依次一个一个闪动,闪动频率为20次/秒(8个灯依次亮一遍为一个周期)。,12、若晶振频率为12MHz,如何用T0来测量201s之间的方波周期?又如何测量频率为0.5MHz左右的脉冲频率?,44,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!