单片机原理及其接口技术 教学课件 ppt 作者 严洁 主编 第5章 中断

上传人:E**** 文档编号:89490010 上传时间:2019-05-25 格式:PPT 页数:33 大小:4.67MB
返回 下载 相关 举报
单片机原理及其接口技术 教学课件 ppt 作者 严洁 主编 第5章 中断_第1页
第1页 / 共33页
单片机原理及其接口技术 教学课件 ppt 作者 严洁 主编 第5章 中断_第2页
第2页 / 共33页
单片机原理及其接口技术 教学课件 ppt 作者 严洁 主编 第5章 中断_第3页
第3页 / 共33页
单片机原理及其接口技术 教学课件 ppt 作者 严洁 主编 第5章 中断_第4页
第4页 / 共33页
单片机原理及其接口技术 教学课件 ppt 作者 严洁 主编 第5章 中断_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《单片机原理及其接口技术 教学课件 ppt 作者 严洁 主编 第5章 中断》由会员分享,可在线阅读,更多相关《单片机原理及其接口技术 教学课件 ppt 作者 严洁 主编 第5章 中断(33页珍藏版)》请在金锄头文库上搜索。

1、5.1 中 断 5.2 定时器/计数器 5.3 串行接口,5.1 中断,5.1.1 概述,一、中断的概念 CPU暂停现行程序的运行而转为意外事件或特殊请求服务的过程叫做中断。CPU中止当前程序的执行,而去执行相应的处理程序,待处理结束后,再回来继续执行被中止了的原程序。 中断之后所执行的处理程序通常称之为中断服务程序或中断处理子程序,原来运行的程序称为主程序。主程序被断开的存储器位置称为断点地址,它是PC的当前值。 调用中断服务程序的过程类似于调用子程序,主要区别在于:调用子程序指令在程序中是事先安排好的,可以确定调用时间;而何时调用中断服务程序事先却不知道。因为中断的发生是由外部或内部随机事

2、件决定的,其时刻是在程序设计时是无法预知的。另外子程序的存放位置由用户设定,而每个中断服务程序的存放位置是固定的,称中断矢量,中断时自动转入中断服务程序的执行,相当由硬件调用子程序。 二、引入中断的优点 1、分时操作 2、实现实时处理 3、故障处理,5.1 中断,5.1.1 概述,三、中断源 引发中断的原因或向CPU发出中断请求的来源称为中断源。通常的中断源有:外设、定时时钟、故障源等。8051有3类共5个中断源: 外部中断源2个:外部中断0、外部中断1,它们的中断请求信号分别由引脚(P3.2)和(P3.3)从外部引入。中断矢量表中存储器位置为0003H和0013H; 定时/计数中断源2个:定

3、时器T0和定时器T1的中断请求TF0(TCON.5)、TF1(TCON.7)。计数器发生计数溢出时从内部产生。在中断向量表中固定存放在000BH和001BH; 串行中断源1个。发送或接收中断请求TI(SCON.1)或RI(SCON.0)。当串行口发送或接收一帧数据时,内部产生中断请求。这一中断在中断矢量表中的0023H。,5.1.2 8051中断处理步骤,CPU须在执行完当前指令后,将程序计数器PC的内容压入堆栈,保护断点地址; 根据不同的中断源,程序转向相应中断矢量表; CPU从中断中断矢量表得到中断服务程序的入口地址,去执行中断服务程序,直到返回指令“RETI”为止; 中断返回指令从堆栈把

4、断点地址弹出,送回到程序计数器PC中去,继续执行原来的程序。,5.1 中断,5.1.3 8051中断控制,用户通过向控制寄存器写入不同的内容可以对各中断进行控制。向控制寄存器写入的内容称控制字。写入控制字的过程称初始化。那些可以通过初始化写入控制字的端口称控制寄存器。,一、中断请求标志与请求方式控制 8051单片机的5个中断源发出中断时产生的中断标志,分别存放在定时控制寄存器TCON和串行口控制寄存器SCON的各位中,作为有中断申请尚未处理或正在处理的记录,处理完毕自动或通过软件清除。 1、定时器/计数器控制寄存器TCON(Timer Control),5.1 中断,5.1.3 8051中断控

5、制,一、中断请求标志与请求方式控制 2、串行口控制寄存器SCON(Serial Control) 寄存器地址为98H,可位寻址,位地址为9FH98H。 其中与中断有关的标志位共有两位: TI串行口发送中断请求标志位。在方式1下,当发送完一帧数据后,在停止位发送前由硬件置1;在转向中断服务程序后,用软件清0。 串行口发送查询状态位。当发送完一帧数据后,在停止位发送前由硬件置1;软件清0。 RI串行口接收中断请求标志位。在方式1下,当接收完一帧数据后,在停止位接收后由硬件置1;在转向中断服务程序后,用软件清0。 串行口接收查询状态位,当接收完一帧数据后,在停止位接收后由硬件置1;软件清0。 串行中

6、断请求由TI和RI的逻辑或得到。就是说,无论是发送标志还是接收标志,都会产生串行中断请求。,5.1 中断,5.1.3 8051中断控制,二、中断允许控制寄存器IE(Interrupt Enable) 寄存器地址A8H,可位寻址,位地址A8HAFH。 功能:中断请求允许或禁止。其中与中断有关的控制位共6位 8051单片机通过IE对中断的开放和关闭实行两级控制,就是以EA位为总控制位,各中断源的中断允许为分控制位。它们为串联控制,即只有当总控制位和分控制位都为“1”时,对应中断源才被开放。,5.1 中断,5.1.3 8051中断控制,三、中断优先级控制寄存器IP(Interrupt Priorit

7、y) 1、中断优先级 多个中断源排队,CPU按照其要求的轻重缓急处理,称中断优先级。 2、中断优先级控制原则 (1) 不同级的中断源同时申请中断时先高后低; (2) 同级的中断源同时申请中断时事先规定; (3) 处理低级中断又收到高级中断请求时停低转高; (4) 处理高级中断又收到低级中断请求时高不理低。 3、中断优先级寄存器IP(Interrupt Priority) 8051单片机中断系统具有高、低两个优先级别,只允许两层中断嵌套。5个中断源的优先级别由中断优先级控制寄存器IP控制。IP寄存器地址为B8H,可位寻址,位地址为B8HBFH。,5.1 中断,5.1.3 8051中断控制,三、中

8、断优先级控制寄存器IP(Interrupt Priority) 当该位为0时,其优先级为低;当该位为1时,其优先级为高。系统复位后,IP000000B,将所有中断源设置为低优先级中断。此时,CPU对5个中断源的查询次序为: 例如,如果将IP中设置为12H,则PS和PT0均为高优先级中断,但当这两个中断源同时发出中断申请时,CPU仍然先响应自然优先级高的PT0的中断申请。,5.1.3 8051中断控制,例5-1 要使用外部中断0,脉冲触发,高优先级,初始化程序如下: ORG 0000H AJMP MAIN ;转至主程序执行 ORG 0003H AJMP EINT0 ;转至中断服务程序执行 ORG

9、 0030H MAIN:MOV SP,#60H ;建立堆栈指针 SETB IT0 ;设外中断0为脉冲触发方式 SETB PX0 ;设外中断0为高优先级 SETB EA ;开中断 SETB EX0 ;允许外中断0中断 ORG 0100H EINT0: RETI END,5.1.4 8051中断程序的设计及应用,一、中断初始化程序设计 用户在使用中断前需要先通过程序设置以上寄存器以确定:中断触发方式、中断开放、中断允许、中断优先级等,这被称为中断初始化。同时要对中断矢量表进行安排。并设置堆栈指针SP的初值。 二、中断服务程序设计 1、中断矢量的第一句常为一跳转指令,转移到中断处理程序执行; 2、现

10、场保护在中断处理程序的前面,现场恢复必须在中断服务程序的最后段,常使用堆栈操作进行,注意先进后出的顺序。因为中断发生的时刻是随机的,中断处理程序中使用到的寄存器或存储器都应尽量进行保护; 3、中断处理程序最后一条指令必须是中断返回指令RETI。,例5-3 采用外部中断实现。按奇数次按钮发光二极管亮,按偶数次按钮发光二极管灭,如此反复。 解: 选择脉冲触发方式: ORG 0000H LJMP MAIN ORG 0003H LJMP ISR_X0 ORG 0200H MAIN: SETB IT0 ;脉冲触发方式 SETB EA ;开中断 SETB EX0 ;允许外部中断0中断 SJMP $ ;等待

11、中断 ORG 0300H ISR_X0:CPL P1.0 ;控制发光二极管开闭 RETI END,5.2 定时器/计数器,5.2.1 概述,一、定时器/计数器的基本功能 1、定时功能 利用计算机定时可分软件和硬件两类。 软件定时是靠执行一个循环程序以获得时间的延迟。软件定时的特点是时间精确,且不需外加硬件电路。但软件定时要占用CPU,增加了CPU的开销。硬件定时可采用专门的定时器芯片完成。软件编程的方法是利用系统时钟构成时间基准,对其计数就构成一段延时。计数值通过程序设定,改变计数值也就改变了定时时间。 2、计数功能 由于采用计数方法实现定时,一般可编程定时器都兼有计数功能,可对外部脉冲进行计

12、数。 二、定时器/计数器的工作原理 定时器/计数器实质上是一个计数器。8051是加1计数,对计数器设置计数初值,发启动计数命令,计数器对计数脉冲计数,每来一个计数脉冲,其内容加1,当二进制计数值达到全1后,再来一个计数脉冲溢出,表示计数工作完成。 如加1计数器的位数是8位,最大计数值是28256,每次计数到256就会产生溢出。如灌装生产线中需要包装一打12瓶饮料,要求每计数到12产生溢出。因此加1计数值需要预置,即计数不是从0开始,而是从一个固定值开始。如果要计数12,预先在加1计数器里放进244,加12个脉冲就到了256溢出,这个244被称为预置值。,三、8051定时器/计数器的结构 定时器

13、/计数器的核心是两个16位的加1计数器T0和T1,分别由两个8位专用寄存器构成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。加1计数器的工作方式是可编程的,其工作方式由一个8位的定时器方式寄存器TMOD和一个8位的定时器控制寄存器TCON的内容确定。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。加1计数器的初值和工作方式控制字是由CPU通过指令经数据总线送达的。当定时器/计数器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。两个定时器/计数器都具有定时和计数功能。,5.2.1 概述,一、工作方式1,5.2.2 定时器/计数器的工作方式,二、工作方式

14、2,5.2.2 定时器/计数器的工作方式,工作方式2具有自动加载功能,即自动加载计数初值,因此也可以说方式2是自动重装工作方式。在这种方式下,把16为计数器分为两部分,即TL1用作8位计数器,TH1用以保持初值。在程序初始化时,TL1和TH1由软件赋予相同的初值。一旦TL1计数溢出,则置位TF1,并将TH1中的初值再装入TL1,继续计数,循环重复不止。 这种工作方式可省去用户软件中重装常数的程序,并可产生相当精度的定时时间,特别适用于作串行口波特率发生器。但这种工作方式是8位计数结构,计数值有限,最大只能到256次。,5.2.3 定时器/计数器的控制寄存器,定时器/计数器是一种可编程器件,所以

15、开始工作之前,CPU必须将一些命令(称为控制字)写入定时器/计数器。将控制字写入定时器/计数器的过程叫定时器/计数器的初始化。在初始化程序中,要将工作方式控制字写入方式寄存器TMOD,工作状态控制字(或相关位)写入控制寄存器TCON,并在需要时通过中断优先级控制寄存器IP确定中断优先级。,一、定时器/计数器工作方式控制寄存器TMOD(Timer Mode) T0和T1使用同一寄存器TMOD来设定不同的操作方式。TMOD是8位的寄存器,其低4位供T0使用,其高4位留作T1使用。字节地址为89H。,5.2.3 定时器/计数器的控制寄存器,5.2.4 定时器/计数器初始化,(1)确定工作方式:对TM

16、OD进行赋值; (2)预置定时或计数的初值:直接将初始值写入TH0、TL0或TH1、TL1; (3)根据需要允许定时器/计数器的中断:直接对IE对应位赋值; (4)启动定时器/计数器:若规定用软件启动,则可把TR0或TR1置1;若规定由外中断引脚电平启动,则需给外引脚加启动电平。当实现了启动要求之后,定时器/计数器即按规定的工作方式和初值开始计数或定时。,5.2.5 应用举例,5.2.5 应用举例,指令“JBC TF1,LOOP”的作用等价于“JB TF1,LOOP”、“LOOP:CLR TF1”,5.2.5 应用举例,5.2.5 应用举例,5.3 串行接口,5.3.1 串行通信基础知识,一、串行通信与并行通信 计算机与外界的信息交换称为数据通信。数据通信方式有两种:串行通信与并行通信。 并行通信中,一个并行数据占多少位二进制数,就要多少根传输线,即信息传输线的根数和传送的数据位数相等,数据所有位的传输同时进行,通信速度快。 串行通信的仅需一到两根传输线,逐位按顺序传送,故在长距离传

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

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

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