资源预览内容
第1页 / 共57页
第2页 / 共57页
第3页 / 共57页
第4页 / 共57页
第5页 / 共57页
第6页 / 共57页
第7页 / 共57页
第8页 / 共57页
第9页 / 共57页
第10页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
电气工程学院电气工程学院Electrical Engineering Institute of NEDU第第5 5章章 80518051的中断系统及定时的中断系统及定时/ /计数器计数器 5.1 8051的中断系统5.2 8051的中断处理过程5.3 8051的定时计数器2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU5.1 80515.1 8051的中断系统的中断系统 5.1.1 8051的中断系统结构 一、中断的概念 计算机具有实时处理能力,依靠的是中断系统。 引起CPU中断的信号,称为中断源。实现中断功能的部件称为中断系统。2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU5.1.1 8051中断系统结构 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU 中断技术解决了快速CPU与慢速I/O设备的数据传送问题,优点如下: 并行操作。CPU与多个I/O设备并行工作,提高了计算机的利用率; 实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强; 可靠性高。CPU具有处理设备故障及掉电等突发性事件的能力,从而使系统可靠性提高。5.1.1 8051中断系统结构 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU二、8051中断系统的结构 8051的中断系统有5个中断源,2个优先级,可实现二级中断嵌套 。5.1.1 8051中断系统结构 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU5.1.1 8051中断系统结构 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU一、中断源1、 (P3.2):可由IT0选择其为低电平有效还是下降沿有效。2、 (P3.3):可由IT1选择其为低电平有效还是下降沿有效。3、定时/计数器T0溢出。4、定时/计数器T1溢出。5、串行口接收或发送。5.1.2 8051的中断源 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU二、中断触发方式控制 IT0:外部中断0触发方式控制位。 IT0=0,低电平触发 IT0=1,下降沿触发 IT1:外部中断1触发方式控制位。5.1.2 8051的中断源 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU三、中断请求标志1、TCON中的中断标志IE0:外部中断0中断请求标志位。 IE1:外部中断1中断请求标志位。TF0:定时/计数器T0溢出中断请求标志位。TF1:定时/计数器T1溢出中断请求标志位。以上中断请求标志在中断响应时,硬件自动清零5.1.2 8051的中断源 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU2、SCON中的中断请求标志RI: 串口接收中断标志。每接收完一个串行帧, 由硬件置位RI,RI须由软件清除。TI: 串口发送中断标志。每发送完一个串行帧, 由硬件置位TI。TI须由软件清除。 5.1.2 8051的中断源 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU一、中断允许控制 CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。5.1.3 8051中断的控制 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDUEX0(IE.0),外部中断0允许位;EX1(IE.2),外部中断1允许位;ET0(IE.1),定时/计数器T0中断允许位; ET1(IE.3),定时/计数器T1中断允许位;ES(IE.4),串行口中断允许位;EA (IE.7),CPU中断允许(总允许)位。5.1.3 8051中断的控制 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU二、中断优先级控制 两个中断优先级,可实现二级中断服务嵌套。每个中断源的中断优先级由中断优先级寄存器IP中的相应位来规定 。5.1.3 8051中断的控制 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDUPX0(IP.0),外部中断0优先级设定位;PT0(IP.1),定时/计数器T0优先级设定位;PX1(IP.2),外部中断0优先级设定位;PT1(IP.3),定时/计数器T1优先级设定位;PS (IP.4),串行口优先级设定位。5.1.3 8051中断的控制 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU 同一优先级中同时有多个中断请求时,有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定,排列如下:5.1.3 8051中断的控制 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU 8051单片机的中断优先级三条原则:1.同时收到高、低级请求,先响应高级;同时收到同级多个请求,优先响应权高的。2.中断过程不能被新的同级或低级请求中断。3.低级中断服务,能被高级请求中断。 中断系统有两个用户不能寻址的状态触发器。其中一个置1,表示正在响应高级中断,阻断后来所有中断请求;另一个置1,表示正在响应低级中断,阻断后来所有的低优先级中断请求。5.1.3 8051中断的控制 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU5.2 80515.2 8051单片机中断处理过程单片机中断处理过程 一、中断响应条件CPU响应中断的条件是: 中断源有中断请求; 此中断源的中断允许位为1; CPU开中断(即EA=1)。5.2.1 中断响应条件和时间 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU 遇以下条件之一,不产生(中断响应)LCALL指令: CPU正在处理同级或高级中断; CPU不是执行指令的最后一个机器周期; CPU正在执行RET、RETI指令或访问IE、IP。 二、中断响应时间中断响应时间,至少要3个完整的机器周期。5.2 8051单片机中断处理过程 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU相应优先级状态触发器置1;执行一条硬件LCALL指令;执行中断服务程序。 前两步中断逻辑自动完成。 5.2.2 中断响应过程 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU 5.2.3 中断返回RETI指令的具体功能是:PC断点出栈;相应中断优先级状态触发器清0。 注意,不能用RET指令代替RETI指令。在中断服务程序中PUSH指令与POP指令必须成对使用,否则不能正确返回断点 。2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU 电平触发方式 适合以低电平输入的外部中断请求,且中断服务程序能清除外部中断源的情况。 边沿触发方式 适合负脉冲形式输入的外部中断请求。5.2.3 中断返回2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU5.2.4 中断程序举例 P0口作为并行输入口,电平触发方式,中断服务程序通过P3.0清零D触发器,同时清除了IE0,;中断方式输入数据送外部RAM1000H开始单元2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDUORG 0000HSTART:LJMP MAIN ;跳转到主程序 ORG 0003H LJMP INTO ;转向中断服务程序 ORG 0030H ;主程序MAIN:CLR IT0 ;设为电平触发方式 SETB EA ;CPU开放中断 SETB EX0 ;允许中断 MOV DPTR,#1000H ;设置数据区地址指针 SJMP $5.2.4 中断程序举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDUORG 0200H;中断服务程序INT0: CLR P3.0;由P3.0输出0 NOP SETB P3.0;由P3.0输出1 MOV A,P1;输入数据 MOVX DPTR,A ;存入数据存储器 INC DPTR ;修改数据指针 RETI ;中断返回END5.2.4 中断程序举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU 例 外部中断源的扩展。 设有5个外部中断源,两个优先级,中断优先权排队顺序为:XI0、XI1、XI2、XI3、XI4。试设计它们与80C51单片机的接口。5.2.4 中断程序举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU ORG0000HLJMP MAINORG 0003H LJMP INSE0 ;转外部中断0服务程序入口 ORG 0013H LJMP INSE1 ;转外部中断1服务程序入口 ORG100HMAIN:SETB IT0SETB IT1SETB PX0SETB EX0SETB EX1SETB EASJMP $5.2.4 中断程序举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDUINSE0: ;XI0中断服务程序 RETI INSE1: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中断服务 RETIDV1: ;XI1中断服务程序 RETIDV2: ;XI2中断服务程序 RETIDV3: ;XI3中断服务程序 RETIDV4: ;XI4中断服务程序 RETIEND5.2.4 中断程序举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU5.3 8051的定时/计数器 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU5.3.1 定时/计数器的结构和工作原理 一、定时/计数器的结构 16位加1计数器,由高8位THx和低8位TLx两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制Tx的启、停及设置溢出标志。 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU5.3.1 定时/计数器的结构和工作原理 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU二、定时/计数器的工作原理 计数脉冲源,一个来自12/fosc(内部);一个来自Tx引脚(外部)。每来一个脉冲计数器加1,计数器溢出时TFx置1,向CPU发出中断请求。 计数初值=溢出值-计数值。5.3.1 定时/计数器的结构和工作原理 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU定时器计数初值的确定:TM:机器周期,TC:振荡周期TO:定时时间,N:计数值 X:计数初值 TM=12TC=12/fosc N=TO/TMX= -N5.3.1 定时/计数器的结构和工作原理 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU一、方式0 方式0为13位计数,由TL0的低5位和TH0的8位组成。TH0溢出时,置位TF0标志,向CPU发出中断请求。5.3.1 定时/计数器的结构和工作原理 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU振荡器12TLx(低5位)THx(高8位)TFx11TxTRxGATEINTxS2C/TTc中断请求5.3.1 定时/计数器的结构和工作原理 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU二、方式1计数位数是16位,由TL0作为低8位、TH0作为高8位。计数初值为: 5.3.1 定时/计数器的结构和工作原理2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU振荡器12TLx(低8位)THx(高8位)TFx11TxTRxGATEINTxS2C/TTc中断请求5.3.1 定时/计数器的结构和工作原理2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU三、方式三、方式2 2 方式2为自动重装初值的8位计数方式。计数个数与计数初值的关系为:适合于用作较精确的脉冲信号发生器。 5.3.1 定时/计数器的结构和工作原理2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU振荡器1211TxTRxGATEINTxC/TTMTLx(8位)THx(8位)TFx中断请求重装初值85.3.1 定时/计数器的结构和工作原理2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU四、方式3 两个独立的8位计数器TL0和TH0方式3只适用于定时/计数器T0。 5.3.1 定时/计数器的结构和工作原理2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU振荡器12TL0(8位)TF011T0TR0GATEINT0C/TTM中断请求TH0(8位)TF1中断请求fosc/12TR15.3.1 定时/计数器的结构和工作原理2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU TMOD设置工作方式;TCON控制启动和中断申请。一、工作方式寄存器TMOD 低四位用于T0,高四位用于T1。格式如下:5.3.2 定时/计数器的控制2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDUGATE:门控位GATE0时,TRx置1,启动定时/计数器工作;GATA1时,TRx置1,同时外部中断引脚 高电平时,启动定时/计数器工作,这种方式常用来测量外中断引脚上正脉冲的宽度。 :定时/计数模式选择位。 0定时; =1计数。5.3.2 定时/计数器的控制M1M0:工作方式设置位2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU二、控制寄存器TCONTFx:溢出中断请求标志位。响应中断后硬件自 动清0。TRx:Tx运行控制位。TRx=1时,Tx开始工作;TRx=0时,Tx停止工作。5.3.2 定时/计数器的控制2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU初始化工作: 对TMOD赋值,确定Tx的工作方式。 计算初值, 写入THx、TLx。 中断方式时,则对IE赋值,开放中断。 使TRx置位,启动定时/计数器。注:X=0,15.3.3 定时/计数器应用举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU例 利用定时/计数器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统时钟频率为12 MHz。解:1、计算计数初值X:TM=1S。NTO/ TM 10000X65536N55536D8F0H 2、求T0的方式控制字TMOD: M1M0=01,GATE=0, =0,方式控制字为01H;5.3.3 定时/计数器应用举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU 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 ;中断返回5.3.3 定时/计数器应用举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU例:4-1用INT1(P3.3)引脚查询方式测正脉冲宽度,结果存内部RAM50H,51H中(定时器1工作于方式1)TMOD=10010000B=90H5.3.3 定时/计数器应用举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDUMOV TMOD,#90HLOOP:MOV TH1,#0MOV TL1,0SETBTR1JNB P3.3,$ ;等正脉冲JBP3.3,$ ;计数器计数CLR TR1 ;关闭计数MOV 50H,TH1MOV 51H,TL1SJMP $5.3.3 定时/计数器应用举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU例4-4应用定时器T0的方式3分别产生200S和400 S定时,并使P1.0,P1.1 分别产生周期为400 S和800 S的方波,设fOSC=6MHZTM=2 S N1=To/TM=200/2=100X1=256-100=156=9CHN2=400/2=200X2=256-200=38HTMOD=00000011B=03H5.3.3 定时/计数器应用举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDUORG0000HLJMPMAINORG000BHINTS1:CPLP1.0MOVTL0,#9CHRETIORG001BHINTS2:CPLP1.1MOVTH0,#38HRETI5.3.3 定时/计数器应用举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDUORG100HMAIN:MOVTMOD,#03HMOVTL0,#9CHMOVTH0,#38HSETBTR0SETBTR1SETBET0SETBET1SETBEA;MOV IE,#8AHSJMP $END5.3.3 定时/计数器应用举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU例4-3:T0(P3.4)脉冲触发,P1.0输出500S同步负脉冲。实现单稳态触发器功能(设fOSC=6MHZ)T0P1.0方式2 N=TO/TM=250=FAH X=256-N=06H5.3.3 定时/计数器应用举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDUSETBTR0CONT:SETBP1.0MOV TMOD,#06HMOVTL0,#0FFHJNBTF0,$CLRTF0CLRP1.0MOVTMOD,#02HMOVTH0,#6JNBTF0,$CLRTF0SJMPCONT5.3.3 定时/计数器应用举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU 扩展方法:将定时/计数器设置为计数器方式,初值设定为满量程,外部中断源接到计数引脚。引脚下降沿信号,计数器加1产生溢出中断。 例如,利用T0扩展一个外部中断源。按方式2工作。例:用于外部中断扩展5.3.3 定时/计数器应用举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDULJMP MAINORG000BHLJMP INTSORG100HMAIN:MOV TMOD,#06H;置T0为计数器方式2 MOV TL0,#0FFH ;置计数初值 MOV TH0,#0FFH SETB TR0;启动T0工作 SETB EA;CPU开中断 SETB ET0;允许T0中断SJMP $INTS: RETIEND5.3.3 定时/计数器应用举例 2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU 思考题及习题1、80C51有几个中断源?各中断标志是如何产生的?又是如何复位的?CPU响应各中断时,其中断入口地址是多少?2、某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H。试编写主程序及中断服务程序(转至相应的入口即可)。3、外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?4、定时/计数器工作于定时和计数方式时有何异同点?2024/9/20电气工程学院电气工程学院Electrical Engineering Institute of NEDU4、当定时/计数器T0用作方式3时,定时/计数器T1可以工作在何种方式下?如何控制T1的开启和关闭?5、利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为12MHz。试设计程序。6、要求从P1.1引脚输出1000Hz方波,晶振频率为12MHz。试设计程序。7、试用定时/计数器T1对外部事件计数。要求每计数100,就将T1改成定时方式,控制P1.7输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为12MHz。8、利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯。编一个程序,使8个指示灯依次一个一个闪动,闪动频率为20次/秒(8个灯依次亮一遍为一个周期)。9、若晶振频率为12MHz,如何用T0来测量201s之间的方波周期?又如何测量频率为0.5MHz左右的脉冲频率?思考题及习题2024/9/20
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号