80C51中断说明

中断响应过程

  1. 中断检测
    在每一个条指令结束后,系统自动检测中断请求信号.有过有中断请求中断允许位为真,则响应中断.
  2. 保护现场
    响应中断后,系统将当前PC指针压入堆栈,但是PSW和A中内容不会保存.如果需要保护则需要手动入栈.保护现场前需要关闭终端,防止有更高优先级中断发生而破坏现场
  3. 中断服务
    中断函数
  4. 清除中断标志位
  5. 恢复现场
    弹出堆栈内保护数据.在恢复时也要关闭中断.
  6. 中断返回
    弹出PC指针,继续进行原程序

中断源

名称 说明
INT0 外部中断0请求,P3.2输入,请求标志位IE0
INT1 外部中断1请求,P3.3输入,请求标志位IE1
T0 定时/计数器0溢出请求,请求标志位TF0
T1 定时/计数器1溢出请求,请求标志位TF1
串行口 完成一帧数据的发送和接收后请求中断,请求标志位TI或RI

中断控制寄存器

TCON

中断请求控制

位定义 位地址 说明
TF1 8FH 内部定时/计数器1溢出中断请求标志位
TR1 8EH 与中断无关
TF0 8DH 内部定时/计数器0溢出中断请求标志位
TR0 8CH 与中断无关
IE1 8BH 外部中断1请求标志位
IT1 8AH 外部中断1中断触发方式
IE0 89H 外部中断0请求标志位
IT0 88H 外部中断1中断触发方式

以IT0为例说明中断触发方式:

  • IT0=0
    低电平触发,低电平有效
  • IT0=1
    下降沿触发

SCON

串行口控制器

IE

中断允许控制

位定义 位地址 说明
EA AFH 总中断允许位
ES ACH 串行口中断允许位.
ET1 ABH 定时/计数器1中断允许位
EX1 AAH 外部中断1中断允许位
ET0 A9H 定时/计数器0中断允许位
EX0 A8H 外部中断0中断允许位

中断控制采用两级控制方式,EA为总开关,EA=0屏蔽所有中断;EA=1开放所有中断.
当EA=1后,其余中断允许方可响应中断,如果只有特定中断允许,但是总控位不允许,那么也不能响应中断

IP

中断优先级控制

位定义 位地址 说明
PS BC 串行中断优先级控制位
PT1 BB 定时/计数器1中断优先级控制位
PX1 BA 外部中断1优先级控制位
PT0 B9 定时/计数器0中断优先级控制位
PX0 B8 外部中断0优先级控制位

各中断优先级由用户控制,置1优先级最高
默认情况下优先级为
IE0 TF0 IE1 TF1 RI/TI

中断号

类型 中断号
外部中断0 0
定时/计数器0 1
外部中断1 2
定时/计数器1 3
串行口中 4
发布了161 篇原创文章 · 获赞 170 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/white_156/article/details/103181167