第六章 51系列单片机中断系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

主程序 中断响应 中断请求 执行主 程序 断点 继续执行 主程序 执行 中断 处理 程序
中断返回
6.1.2 单片机中断的功能
1. 实现CPU与外部设备速度的配合
CPU与外部设备产生速度上的矛盾,解决这一问题可以有两种办法。
一、查询法: 计算机向外设传送一个数据 外设接收完毕回一个应答信号 计算机查询到应答信号就可以传送第二个数据
2. 定时器中断源
常规MCS-51单片机有两个16位定时器/计数器,它们都 可以分别用于定时或计数。
定时: 定时器/计数器对单片机内部的机器周期脉冲进 行累计,直到溢出,即发出中断请求。 计数: 对单片机外部引入的脉冲进行进行计数,外部脉 冲从单片机的引脚T0(P3.4)和T1(P3.5)输入。当外部输 入的脉冲发生负跳变时,计数器加1,当计数器值满时,发出 中断请求。定时器T0和T1的中断请求标志为TF0和TF1。
EA
ES
ET1
EX1
ET0 EX0
EA —— 中断允许总控制 位 (CPU开中断控制位) EA = 0 中断全部关闭 EA = 1 中断开启,各中 断由各自的控制位控制。
ET0(ET1) —— 定时器0(或 定时器1)中断允许控制位 ET0(ET1) = 0 定时器0 (或定时器1)中断禁止 ET0(ET1) = 1 定时器0 (或定时器1)中断允许
8CH TR0
8BH 8AH IE1 IT1
89H
88H
IE0
IT0
TF0(IF1)——定时器T0(T1) 溢出标志位 TF0(TF1)=0,定时器未发 生 溢出 TF0(TF1)=1,定时器发生溢 出。 用户可以查询该位用来判断定 时器是否发生溢出。
外中断0 (1)请求方式控制位 IT0(IT1)= 0 电平方式,低电平有效 IT0(IT1)= 1 脉冲方式,脉冲下降沿有效 该位为用户设置位,使用软件置1或清0。可 以使用位操作指令直接设置TCON的某些位。 例如:SETB IT0 设置INT0为脉冲方式 CLR IT1 设置INT1为电平方式
具体是定时还是计数,是由程序设定的。
3. 串行通信中断源
单片机需要进行多机通信。并口通信将大量占用单片机资源, 采用串行通信是比较流行的方法。
每当串行口发送或接收完一组数据时,都要产生一个中断请 求。其中断请求标志为TI和RI。
小结:
中断源: 共有五个中断源,分别是外部中断两个、定时中断两 个和串行中断一个,它们是: 外部中断0--INT0,由P3.2提供, 外部中断1—INT1,由P3.3提供, 外部中断有两种信号方式,即电平方式 和脉冲方式。 T0溢出中断; 由片内定时/计数器0提供 T1溢出中断; 由片内定时/计数器1提供 串行口中断RI/TI; 由片内串行口提供
6.2.2 单片机中断控制寄存器 与中断控制有关的控制寄存器有四个:
TCON----定时器控制寄存器, IE----中断允许控制寄存器, IP----中断优先级控制寄存器, SCON----串行口控制寄存器。
1.定时控制寄存器TCON
D7 D6 D5 D4 D3 D2 D1 D0 TF1 TF0 IE1 IT1 IE0 IT0
3 中断的响应 中断的响应:就是单片机进入中断服务程序处理中断任务的过程。 单片机响应中断是由硬件自动生成一条长调用指令 LCALL addr16。其中addr16是调用程序的地址,对应于不同的 中断源有不同的地址: 0003H —— 外中断0服务程序入口地址 000BH —— 定时器0服务程序入口地址 0013H —— 外中断1服务程序入口地址 001BH —— 定时器1服务程序入口地址 0023H —— 串行中断服务程序入口地址 上述入口地址,用户程序往往安排一条无条件转移指 令LJMP addr16或AJMP addr11,以转到真正的中断服务程序 上去。 在转入中断服务程序之前,单片机硬件自动把下一条 将要执行主程序的地址(断点)压入堆栈,以便执行完中断服 务程序后,返回当前程序,继续当前工作。
设置了中断优先级,可以实现中断的嵌套,即在单片 机响应中断的情况下,还可以响应更高级别的中断请求。 MCS-51系列的中断优先控制原则是: (1)高级别的中断请求可以打断低级别的中断服务,低 级别的中断请求不能打断高级别的中断服务。 (2)同级别的中断不能相互打断。 (3)如果多个同级中断发生请求,单片机按照它的查询 次 序依次响应,单片机查询次序为:
4 中断请求的撤销
一次中断请求只能执行一次中断服务,那么中断响应后, 就应该清除中断请求信号和中断请求标志,否则中断就会不停 地响应,重复地执行。 1) 定时器中断自动撤销 定时中断响应后,单片机硬件会自动把定时中断请求标志 (TF0和TF1)擦除掉,因此定时中断的请求是自动撤销的,用 户不用关心。
除了外中断以外,其他中断的信号都发生在单片机内 部,由硬件自动设置请求标志,因此不存在中断请求的采样 问题。
2 中断的查询 MCS-51单片机具有五个中断源,共有六个中断请求标志: IE0 —— 外中断0请求标志 TF0 —— 定时器0中断请求标志 IE1 —— 外中断1请求标志 TF1 —— 定时器1中断请求标志 TI —— 串行口发送中断请求标志 RI —— 串行口接收中断请求标志 单片机在每一个机器周期的最后一个状态,按前述顺 序对各标志进行查询,若查询到某标志位为1,则单片机在下 一个机器周期开始响应中断。
2.串行口控制寄存器SCON (字节地址98H)
串行发送中断请求标志,当串行 口发送完一帧串行数据后,该位 自动置1,在程序进入中断服务后, 应该用软件将其清0。
9AH TI 98H RI
串行接收中断请求标志,当接 收完一帧串行数据后,该位自 动置1,在程序进入中断服务后, 应该用软件将其清0。
3.中断允许控制寄存器IE(字节地址A8H)
INT0
T0
INT1
T1
串行中断
6.2.3 单片机中断的设置 用户只有在程序中设置上述四个特殊功能寄存器的某些 “位”,才能合理地使用单片机的中断资源。 以上四个寄存器既可以使用字节操作指令,也可以使用 位操作指令。 例如: 欲打开定时器0的中断,并设置为高优先级,使用字节操 作指令的程序段为: MOV IE , #82H MOV IP , #02H 使用位操作指令的程序段为: SETB EA SETB ET0 SETB PT0 其他中断的设置与此类似。
中断常识:
(1)计算机在处理常规事物的过程中,有更加重要的 事件发生了,计算机立即停下当前的常规工作,转去处理重 大事件,即进入中断服务(处理)程序。 (2)进入中断服务程序之后,要立即将常规程序中的 重要资料保存起来,以便处理完中断后,能够顺利返回,并 继续执行常规程序。 (3)重要事件有时也要分等级,在MCS-51单片机系 统中,一般分两级,即低级和高级。在计算机处理低级中断 时,如果遇到高级重大事件发生,也要停下低级中断,转去 处理高级中断,这就是中断的嵌套。 (4)单片机应用系统的中断事件是程序设计人员预测 出来的,中断服务程序也是程序开发人员根据预测事件的处 理办法而编写出来的。
EX0(EX1) —— 外中断0 (或外中断1)允许控制位 EX0(EX1) = 0 外中断0 (或外中断1)中断禁止 EX0(EX1) = 1 外中断0 (或外中断1)中断允许
ES —串行中断允许控制位 ES = 0 串行中断禁止 ES = 1 串行中断允许
AFH
ACH ABH AAH
A9H A8H
一般加装所示电路,并通过响应软件来撤销电平请求信号。
Q输出端
SD为置1端, 高电平有效 D端是逻辑输入端, 固定为低电平 CP为时钟输入端, 接外中断信号
当外中断请求发生时,将D端的低电平送到Q端,形成中断请求信 号。中断响应后,由软件对SD进行操作,将Q端恢复为高电平。 在中断服务程序中增加如下指令: (1) SETB P1.0 ; P1.0输出高电平,始终将Q端置1,永久封锁外中
6.3
中断处理过程
1
中断的采样(对于外中断而言)
单片机在每一个机器周期先对外中断输入引脚INT0 (P3.2)和INT1(P3.3)进行采样。 若采样为高电平,表示没有中断请求,外中断请求标 志IE0和IE1继续为0; 若采样为低电平,表示有中断请求,单片机自动设置 中断请求标志,将IE0或IE1改写为1,以便单片机查询。
4.中断优先级控制寄存器(IP) 字节地址:B8H
串行中断优 先设置位
BCH PS
定时器0中断 优先设置位
B9H PT0 B8H PX0
外中断0优 先设置位
BBH BAH PT1 PX1
定时器1中断 优先设置位
外中断1优 先设置位
MCS-51单片机的中断只有两个优先级,以上五个位的默 认设置为0(低优先级),用户可以使用软件置1(高优先级) 或清0。该寄存器具有位寻址能力,可以使用位操作指令直 接设置。
外部的中断请求有两种信号方式,一种是电平方式,另一 种是脉冲方式。
电平方式 :低电平有效,单片机每一个机器周期都要对外 部中断进行采样,如果采样到INT0或INT1引脚为低电平,就 有可能激发中断(视中断是否开启等因素而决定响应)。
脉冲方式: 脉冲的下降沿有效,如果单片机在前一个机器 周期采样为高电平,后一个机器周期采样为低电平,即为有效 中断请求。 电平方式存在一个请求撤销问题,使电路稍复杂些。脉冲 方式没有中断请求信号的撤销问题,使用比较方便。这两种方 式是程序开发人员根据需要而设置的,单片机默认为电平方式 。
以上各位使用软件置1或清0。该寄存器具有位寻址能 力,可以使用位操作指令直接设置。 例如: SETB EA 为总开中断(CPU开中断) CLR EA 为总关中断(CPU关中断) 欲开放外部 INT0 中断,程序中应写入: SETB EA ; 开中断(CPU开中断) SETB EX0 ;INT0开中断 图6.2-1 中断允许控制示意图
中断请求标志
触发方 0 低电平 式选择 1 下降沿
定时控制寄存器TCON(字节地址88H)
外中断0 (1)请求标志 当CPU采样到INT0 (1)出现有效中断请求时,该 位由硬件自行设置为1,待中断响应后,该位自动清0。 该位一般为单片机硬件查询用,也可以软件查询。
8FH TF1
8EH TR1
8DH TF0
缺点:大量占用了CPU的时间,让CPU忙于查询应答信号。在要求 不高的单片机应用系统中可以采用这种方法。
二、中断法
传送大量数据时,外设向 计算机发出中断请求
计算机转去中断服务程序
外设接收数据
计算机干常 规工作
外设接收完一组数据后, 就向计算机发出请求
计算机再转去中断,开始传送第二组数据
2. 实现实时控制
第6章
51系列单片机的中断系统
本章主要介绍51系列单片机中断系统问题, 本章将介绍以下具体内容:
中断系统----中断源、中断方式 、中断控制寄 存器、中断响应、中断请求的撤除。
6.1
中断系统的概念
6.1.1 中断系统
中断应用在: 处理实时控制、故障自动诊断、计算机与 外围设备之间进行数据传送、进行人机对话等场合。 中断:是计算机的一种资源共享技术。中断技术就是解决这 种多项任务共享一个CPU资源的最好办法。
3. 实现故障的及时发现和处理 4. 实现与设备的人机对话
6 . 2 51系列单片机中断系统结构及中断控制
6.2.1 单片机中断源
外部中百度文库2个
常规MCS-51单片 机具有5个中断源 定时器中断2个 串行通信中断1个
1. 外中断源 外中断是由外部事件引发中断的,有2个中断源,分别是外中 断0和外中断1。 它们的中断请求信号分别由单片机的引脚INT0(P3.2)和INT1 (P3.3)输入。使用了P3口的第二功能。其中断请求标志为IE0和 IE1。
2)外中断的撤销 外中断的撤销分中断请求标志的撤销和中断请求信号的 撤销两种情况。 中断请求标志(IE0和IE1):在中断响应后由硬件自动 清0,即外中断请求标志也是自动撤销的。
外中断请求信号分两种情况:
对于脉冲请求方式,单片机在前一个机器周期采样为高 电平,后一个机器周期采样为低电平,才是有效请求信号, 这种情况一般是不会重复出现的,所以脉冲请求信号是自 动撤销的。 电平请求方式,只要采样为低电平都是有效中断请求, 所以还需要增加硬件电路,在响应中断后让 INT0(P3.2)或 INT1(P3.3)恢复为高电平。
相关文档
最新文档