《51单片机应用开发从入门到精通》——2.7 中断的控制及设置

简介:

本节书摘来自异步社区《51单片机应用开发从入门到精通》一书中的第2章,第2.7节,作者 张华杰,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.7 中断的控制及设置

中断系统结构如图2-6所示,从图可见,中断控制的实质是对4个特殊功能寄存器TCON、SCON、IE和IP进行管理和控制。只要按照人们的要求对这些寄存器的相应位进行设置(存入0或1,一般设置1为开通),就能完成对中断的有效管理和控制。

2.7.1 中断允许控制寄存器IE

1.IE的格式及位的含义

寄存器IE的地址为A8H,作用是控制各中断源的开放与关闭。它实行两级控制,IE中有个总的控制位EA,当EA = 0时,屏蔽所有的中断请求;而当EA = 1时,CPU开放总中断。


screenshot

各个中断源的请求是否被开放,还要看IE中各个中断源自己的中断允许控制位的状态。IE的格式及各位的含义如图2-7所示。


screenshot

  • EA:中断允许总控制位。EA = 0时,中断总禁止,关闭所有中断;EA = 1,中断总允许。中断总允许后各中断的禁止或允许则由中断源的中断允许控制位进行设置。它们之间的关系类似于电表控制盘上的总开关及各户的分开关一样。
  • EX0:外部中断0(INT0)允许控制位。EX0 = 0时,禁止外部中断0中断;EX0 = 1时,允许外部中断0中断。
  • EX1:外部中断1(INT1)允许控制位,其功能与EX0类同。
  • ET0:定时器/计数器T0的溢出中断允许控制位。ET0 = 0时,禁止定时器/计数器T0中断;ET0 = 1时,允许定时器/计数器T0中断。
  • ET1:定时器/计数器T1的溢出中断允许控制位,其功能与ET0类同。
  • ES:串行中断允许控制位。ES = 0时,禁止串行中断;ES = 1时,允许串行中断。

2.IE的设置举例

假如程序需要使用外部中断0(INT0),只要将寄存器IE的外部中断允许控制位和中断允许总控制位设置为1即可,可通过下面的语句来实现:

MOV  IE, #10000001B   ;INT0中断开通

2.7.2 中断优先级控制寄存器IP

1.IP的格式及位的含义

寄存器IP的地址为B8H,作用是控制中断的优先级,其格式及各位的含义如图2-8所示。


screenshot

  • PX0:外部中断0优先级设置位。
  • PX1:外部中断1优先级设置位。
  • PT0:定时器/计数器中断0优先级设置位。
  • PT1:定时器/计数器中断1优先级设置位。
  • PS:串行中断优先级设置位。

中断优先级只分高与低两个级别,各位为0时,为低优先级;各位为1时,为高优先级。

2.IP的设置举例

假如程序需要使外部中断0为高优先级,只要将IP的第一位设置为1即可,可通过下面的语句来实现:

MOV  IP, #00000001B           ;INT0中断优先

3.中断优先级控制原则

(1)低优先级中断请求不能打断高优先级的中断处理;反之,则可以。

(2)如果一个中断请求已被响应,则同级的其他中断响应被禁止。

(3)如果同级的多个中断请求同时出现,则按次序从高到低依次为:外部中断0、定时/计数中断0、外部中断1、定时/计数中断1、串行中断。

2.7.3 定时器控制寄存器TCON

1.TCON的格式及位的含义

寄存器TCON的地址为88H。TCON既有定时器/计数器的控制功能,又有中断控制功能。其中,与中断有关的控制位共6位,其格式及各位的含义如图2-9所示。


screenshot

  • IT0:选择外部中断INT0的中断触发方式,IT0 = 0时采用电平触发方式;IT0 = 1时采用脉冲触发方式。
  • IT1:选择外部中断INT1的中断触发方式,其功能与IT0类同。
  • IE0:外部中断INT0的中断请求标志位。当检测到INT0引脚有中断请求信号时,此位由硬件置1;在中断响应完成后转向中断处理子程序时,再由硬件自动清0。
  • IE1:外部中断INT1的中断请求标志位,其功能与IE0类似。
  • TF0:片内定时器/计数器0溢出中断请求标志位。当定时器/计数器0溢出发生时,此位由硬件置1;在中断响应完成后转向中断处理子程序时,再由硬件自动清0。
  • TF1:片内定时器/计数器1溢出中断请求标志位,其功能与TF0类同。

2.TCON的设置举例

从上面寄存器各位的含意可以看出,在对寄存器TCON的设置上只要注意设置触发方式即可。

例如,程序需要使用外部中断INT0,并采用电平触发方式。此时只要将TCON的第一位设置为0即可,通过下面语句来实现:

MOV  TCON, #00000000B  ;设置INT0为电平触发

2.7.4 串行口控制寄存器SCON

寄存器SCON的地址为98H,其中与中断有关的控制位共两位,其格式及各位的含义如图2-10所示。


screenshot

  • TI:串行口发送中断请求标志位。当发送完一帧串行数据后,由硬件置1;在转向中断处理程序后,用软件清0。
  • RI:串行口接收中断请求标志位。当接收完一帧串行数据后,由硬件置1;在转向中断处理程序后,用软件清0。
相关文章
|
4月前
|
物联网
STC51单片机-实验开发装置仿真-物联网应用系统设计
STC51单片机-实验开发装置仿真-物联网应用系统设计
53 0
|
4月前
|
物联网
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
42 0
|
4月前
|
物联网 人机交互 开发工具
STC51单片机-阵列LED显示-物联网应用系统设计项目开发
STC51单片机-阵列LED显示-物联网应用系统设计项目开发
78 0
|
4月前
|
物联网
STC51单片机-中断控制LED-物联网应用系统设计项目开发
STC51单片机-中断控制LED-物联网应用系统设计项目开发
53 0
|
1月前
|
传感器 物联网 C语言
单片机在智能家居中的应用:以LED灯控制为例
单片机在智能家居中的应用:以LED灯控制为例
53 0
单片机在智能家居中的应用:以LED灯控制为例
|
1月前
|
网络协议 机器人 中间件
单片机和FreeRTOS上跑机器人ROS的应用
单片机和FreeRTOS上跑机器人ROS的应用
58 0
|
4月前
|
监控 物联网
STC51单片机-双机串口通讯-物联网应用系统设计
STC51单片机-双机串口通讯-物联网应用系统设计
69 0
|
4月前
|
物联网
STC51单片机-常用的转换、功率接口电路设计(A/D、D/A)-物联网应用系统设计项目开发
STC51单片机-常用的转换、功率接口电路设计(A/D、D/A)-物联网应用系统设计项目开发
41 0
|
4月前
|
物联网 芯片
STC51单片机-应用系统并行扩展电路设计(存储器扩展)-物联网应用系统设计
STC51单片机-应用系统并行扩展电路设计(存储器扩展)-物联网应用系统设计
40 0