第五章 MCS-51单片机中断系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机有两级中断优先级 可实现两级中断嵌套 单片机有两级中断优先级, 两级中断嵌套。 ★ 51单片机有两级中断优先级,可实现两级中断嵌套。 只有在执行低级中断程序时,出现高级中断申请, ★ 只有在执行低级中断程序时,出现高级中断申请,才 会有两级中断嵌套。 会有两级中断嵌套。 如果同时出现多个同一优先级中断,CPU内部硬件逻 ● 如果同时出现多个同一优先级中断,CPU内部硬件逻 辑按自然优先级排队依此响应。 自然优先级排队依此响应 辑按自然优先级排队依此响应。
EA 1 0 0 ES 0 ET1 0 EX1 0 ET0 1 EX0 1 = 83H
MOV IE,#83H 或 , MOV IE,#10000011B ,
11
Interrupt Preference
2、中断优先级寄存器IP 中断优先级寄存器IP
IP为一8位特殊功能寄存器,地址为B8H IP为一8位特殊功能寄存器,地址为B8H 为一 每个中断源均可设置为高优先级或低优先级: 每个中断源均可设置为高优先级或低优先级: 设置为1时 设置为 时,该中断源为高优先级 设置为0时,该中断源为低优先级 设置为 时
程 序 断 继 续 转
、中断
ຫໍສະໝຸດ Baidu
程
中 断 程 序 回
程序 的
2
注意
中断与子程序调用的不同点
子程序调用是固定的 专用指令,位置固定。 固定的, ● 子程序调用是固定的,专用指令,位置固定。 中断的执行是随机的,没有调用指令,任何位置。 ● 中断的执行是随机的,没有调用指令,任何位置。 随机的 3、中断工作方式的优点: 中断工作方式的优点: 优点 1)外设与CPU可并行工作 外设与CPU可并行工作 CPU CPU与多个外设同时工作, CPU与多个外设同时工作,互不干扰 与多个外设同时工作 2)实现了实时处理、实时控制 实现了实时处理、 CPU能及时处理外部信息,如数据采集,监控 CPU能及时处理外部信息,如数据采集, 能及时处理外部信息 3)能及时处理随机故障
INT1 ---Interrupt Trigger, ITX---Interrupt Trigger,外部中断触发方式控制位 外部中断有两种触发方式,通过设置 实现。 外部中断有两种触发方式,通过设置IT0、IT1实现。 、 实现 设置IT0=0时——电平触发方式,低电平有效。 时 电平触发方式, 设置 电平触发方式 低电平有效。 设置IT0=1时——为边沿触发方式,下降沿有效。 时 为边沿触发方式, 设置 为边沿触发方式 下降沿有效。
中断源
3、定时器0溢出中断--T0 定时器0溢出中断--T0 -是内部中断,无外部输入。定时器T0溢出, T0溢出 是内部中断,无外部输入。定时器T0溢出,使标志 TF0置 CPU申请中断 申请中断。 位TF0置1,向CPU申请中断。 4、定时器1溢出中断—T1 定时器1溢出中断 T1 T0类似 T1溢出 TF1置 类似, 溢出, CPU申请中断 申请中断。 与T0类似,T1溢出,TF1置1,向CPU申请中断。 串行口中断—S 5、串行口中断 S 当串行口接收完一帧数据,中断标志位RI RI置 当串行口接收完一帧数据,中断标志位RI置1 当串行口发送完一帧数据,中断标志位TI TI置 当串行口发送完一帧数据,中断标志位TI置1
IT0=1时 下降沿触发,CPU响应中断 硬件自动清IE0=0 响应中断, ★ IT0=1时,下降沿触发,CPU响应中断,硬件自动清IE0=0 IT0=0时 低电平触发,CPU响应中断不会自动清除IE0标志位 响应中断不会自动清除IE0标志位, ★ IT0=0时,低电平触发,CPU响应中断不会自动清除IE0标志位, 必须撤消INT0引脚上的低电平信号,即使INT0=1 才能使IE0=0 INT0引脚上的低电平信号 INT0=1, IE0=0。 必须撤消INT0引脚上的低电平信号,即使INT0=1,才能使IE0=0。 相当于有硬件连接的: 相当于有硬件连接的: INT0 IE0 1 15
6
TCON (88H)
D7 TF1
D6 TR1
D5 TF0
D4 TR0
D3 IE1
D2 IT1
D1 IE0
D0 IT0
定时器Timer 定时器
外部中断Interrupt 外部中断
高四位用于定时器,低四位用于外部中断 高四位用于定时器,低四位用于外部中断 1)TF1—Timer Flowing,定时器 溢出中断标志位 ,定时器T1溢出中断标志位 T1溢出 硬件自动置标志位TF1=1 CPU响应中断 溢出, TF1=1, 响应中断, T1溢出,硬件自动置标志位TF1=1,CPU响应中断, 硬件自动清TF1=0 TF1=0。 硬件自动清TF1=0。 定时器T0溢出中断标志位 2)TF0—定时器 溢出中断标志位 定时器 3)IE1—Interrupt External,外部中断 中断标志位 ,外部中断1中断标志位 P3.3上有有效的中断信号 硬件置位IE1=1 上有有效的中断信号, 若P3.3上有有效的中断信号,硬件置位IE1=1 外部中断0( 4)IE0—外部中断 (P3.2)中断标志位 外部中断 ) 另外4位中,TR0、TR1用于定时器T0和T1的启 用于定时器T0 的启/ 另外4位中,TR0、TR1用于定时器T0和T1的启/停控制 IT0、IT1用于设置外部中断的触发方式 IT0、IT1用于设置外部中断的触发方式 7
返回
2、SCON中的中断标志位 中的中断标志位
Control,为 位特殊功能寄存器,地址为98H Serial Control,为8位特殊功能寄存器,地址为98H 与中断有关的为低两位
SCON (98H) D7 D6 D5 D4 D3 D2 D1 TI D0 RI
1)TI—串行口发送中断标志位 TI 串行口发送中断标志位,Transfer Interrupt 串行口发送中断标志位 CPU发送完一帧数据 硬件置位TI=1 响应中断, 发送完一帧数据, TI=1, CPU发送完一帧数据,硬件置位TI=1,响应中断,不 能硬件自动清TF1=0 必须用软件清0 TF1=0, 能硬件自动清TF1=0,必须用软件清0。 RI—串行口接收中断标志位 串行口接收中断标志位, 2)RI 串行口接收中断标志位,Receive Interrupt CPU接收完一帧数据 硬件置位RI=1 必须用软件清0 接收完一帧数据, RI=1, CPU接收完一帧数据,硬件置位RI=1,必须用软件清0
10
举例
用字节操作指令或用位操作指 令对IE IE进行初始化设置的方法 令对IE进行初始化设置的方法
例:设允许T0中断和外部中断 中断,禁止其它中断 设允许 中断和外部中断0中断, 中断和外部中断 中断 用位操作指令编程如下: ★ 用位操作指令编程如下: 允许T0 T0中断 SETB ET0 ;允许T0中断 允许INT0 INT0中断 SETB EX0 ;允许INT0中断 SETB EA ;开总开关 用字节操作指令编程如下: ★ 用字节操作指令编程如下:
IE (A8H) D7 EA 总控位 D6 D5 D4 ES S D3 ET1 T1 D2 EX1 INT1 D1 ET0 T0 D0 EX0 INT0
9
IE (A8H)
D7 EA
D6
D5
D4 ES
D3 ET1
D2 EX1
D1 ET0
D0 EX0
EA---Enable Amount,中断总允许位 EA---Enable Amount, --EA=1,CPU开中断 EA=0,关中断, 开中断; EA=1,CPU开中断;EA=0,关中断,禁止所有中断 ES-----Enable Serial, ES---Enable Serial,串行口中断允许位 ES=1,允许串行口中断;ES=0, ES=1,允许串行口中断;ES=0,禁止串行口中断 ET1-----Enable Timer1,定时器T1 T1溢出中断允许位 ET1---Enable Timer1,定时器T1溢出中断允许位 ET1=1,允许T1中断; ET1=0,禁止T1 T1中断 T1中断 ET1=1,允许T1中断; ET1=0,禁止T1中断 EX1-----Enable eXternal,外部中断1 EX1---Enable eXternal,外部中断1中断允许位 EX1=1,允许外部中断1中断;EX1=0, EX1=1,允许外部中断1中断;EX1=0,禁止 ET0-----Enable Timer0,定时器T0中断允许位,类似ET1 T0中断允许位 ET0---Enable Timer0,定时器T0中断允许位,类似ET1 EX0-----Enable eXternal0,外部中断0允许位,类似EX1 EX0---Enable eXternal0,外部中断0允许位,类似EX1
3
二、中断源
CPU提出中断请求的设备或部件叫中断源 ● 向CPU提出中断请求的设备或部件叫中断源 来源有输入输出设备、实时时钟、硬件故障等。 ● 来源有输入输出设备、实时时钟、硬件故障等。 MCS-51有 种类型的中断源: MCS-51有5种类型的中断源: 外部中断2个——INT0、INT1 外部中断 个 、 内部中断3 定时器溢出中断, 内部中断3个——定时器溢出中断,串行口中断 定时器溢出中断 外部中断0--INT0(P3.2) INT0 1、外部中断0--INT0(P3.2) P3.2引脚输入 一旦输入有效中断信号, 引脚输入, 由P3.2引脚输入,一旦输入有效中断信号,便使标 志位IE0 IE0置 并向CPU申请中断。 CPU申请中断 志位IE0置1,并向CPU申请中断。 外部中断1 INT1 P3.3) INT1( 2、外部中断1—INT1(P3.3) 4 INT0类似 P3.3有中断信号 IE1置 类似, 有中断信号, 申请中断。 与INT0类似,P3.3有中断信号,IE1置1,申请中断。
中断及中断源 中断控制 中断响应过程 中断程序设计
1
§5-1 中断及中断源
一、中断(Interrupt)
1、CPU在执行程序时,CPU以外的设备请求停止现程序 CPU在执行程序时,CPU以外的设备请求停止现程序 在执行程序时 的执行,转去处理外设事件,处理后再回到原地执行, 的执行,转去处理外设事件,处理后再回到原地执行, 这一过程叫中断。 这一过程叫中断。 主
8
§5-2 中断控制
中断是可控的, 中断是可控的,由软件设置实现对中断功能的控制 IE——中断允许寄存器,用于中断的开放或禁止 中断允许寄存器, 中断允许寄存器 IP——中断优先级寄存器,用于中断响应优先管理 中断优先级寄存器, IP 中断优先级寄存器
1、中断允许寄存器IE 中断允许寄存器IE
Enable,为一8位寄存器,地址为A8H Interrupt Enable,为一8位寄存器,地址为A8H
1、TCON中的中断标志位 中的中断标志位
Timer Control,为8位特殊功能寄存器,地址88H Control,为 位特殊功能寄存器,地址88H ● 用4位放定时器T0、T1,外部中断INT0、INT1的 位放定时器T0 T1,外部中断INT0 INT1的 T0、 INT0、 中断标志位。 中断标志位。 ● TCON用来控制定时器的启/停和外部中断管理。 TCON用来控制定时器的启 停和外部中断管理。 用来控制定时器的启/ ● TCON可读可写,可位操作。 TCON可读可写 可位操作。 可读可写,
IP (B8H) 管理原 则 D7 D6 D5 D4 PS S D3 PT1 T1 D2 PX1 INT1 D1 PT0 T0 D0 PX0 INT0
★ 高优先级中断源可中断正在执行的低优先级中断 ★ 同级或低优先级中断不能中断正在执行的中断
12
中断嵌套
主 程 序 断点 返回 返回 转移 转移 程 序
5
三、中断标志位
每个中断源都有一个对应的中断标志位, 每个中断源都有一个对应的中断标志位,中断标志 位在两个特殊功能寄存器中 TCON——定时器控制寄存器,存放有4个标志位 定时器控制寄存器,存放有 个标志位 定时器控制寄存器 SCON——串行口控制寄存器,存放有2个标志位 串行口控制寄存器,存放有2 串行口控制寄存器
13
自然优先级
中断源 外部中断0 外部中断 定时器T0溢出中断 定时器 溢出中断 外部中断1 外部中断 定时器T1溢出中断 定时器 溢出中断 串行口中断 最低级 同级自然优先级 最高级
14
外部中断触发方式
TCON (88H) D7 TF1 D6 TR1 D5 TF0 D4 TR0 D3 IE1 D2 IT1 D1 IE0 D0 IT0 INT0