目录

  • 1 单片机概述
    • 1.1 单片机概述
  • 2 单片机预备知识
    • 2.1 keil4使用教程
    • 2.2 利用Proteus和keil仿真51单片机流水灯
    • 2.3 PROTEUS中文手册
    • 2.4 芯片手册
    • 2.5 KEIL及PROTEUS软件下载
    • 2.6 单片机预备知识
  • 3 单片机结构与原理
    • 3.1 单片机最小系统
    • 3.2 使用Altium Designer绘制单片机最小电路原理图
    • 3.3 电源、晶振和复位电路
    • 3.4 单片机上下拉电阻
    • 3.5 单片机结构与原理
  • 4 C51语言
    • 4.1 4.1二进制、十进制和十六进制
    • 4.2 4.2 C 语言变量类型和范围
    • 4.3 4.3 C 语言基本运算符
    • 4.4 4.4 C 语言 for 循环语句
    • 4.5 4.5 C 语言 while 循环语句
    • 4.6 4.6 C 语言函数的简单介绍
    • 4.7 4.7 单片机延时方法(Keil 软件延时)
    • 4.8 C51语言
  • 5 LED灯实例
    • 5.1 工程仿真实例
    • 5.2 单片机 LED 灯闪烁程序
    • 5.3 单片机 LED 流水灯程序
    • 5.4 LED灯实例
    • 5.5 独立按键控制LED灯
  • 6 数码管/键盘实例
    • 6.1 单片机按键介绍
    • 6.2 单片机按键消抖程序
    • 6.3 单片机矩阵按键的扫描
    • 6.4 键 盘
    • 6.5 点亮数码管
    • 6.6 数码管的显示原理
    • 6.7 数码管实例
  • 7 中断系统
    • 7.1 51单片机中断详解(上)
    • 7.2 51单片机中断详解(中)
    • 7.3 51单片机中断详解(下)
    • 7.4 INT0中断计数实例
    • 7.5 中断系统
  • 8 定时/计数器
    • 8.1 51单片机定时计数器
    • 8.2 TIME0控制LED闪烁
    • 8.3 定时器 计数器
    • 8.4 实例一
    • 8.5 实例二
    • 8.6 实验-用计数器/中断实现 100 以内的按键计数
  • 9 串行通信
    • 9.1 51单片机串口通信
    • 9.2 单片机之间双向通信
    • 9.3 串行通信
  • 10 LCD1602实例
    • 10.1 1602液晶
    • 10.2 1602实验
  • 11 IIC总线技术
    • 11.1 51单片机IIC
    • 11.2 IIC总线实例
    • 11.3 I2C串行总线
  • 12 A/D&D/A转换
    • 12.1 单片机AD和DA
    • 12.2 ADC0808模数转换实例
    • 12.3 DAC0832数模转换实例
    • 12.4 D A 与 A D转换器
51单片机中断详解(上)

一.中断的概念

  1. 中断发生
    CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理

  2. 中断响应和中断服务
    CPU暂时中断当前的工作,转去处理事件B

  3. 中断返回
    待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A
    这一过程称为中断

二.中断过程示意图


三.MCS51中断系统的结构

MCS51的中断系统有5个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套

中断编号中断名中断源
0外部中断0IE0(P3.2)
1定时器0溢出中断TF0
2外部中断1IE1(P3.3)
3定时器1溢出中断TF1
4串行口中断RI

四.中断寄存器

单片机有10个寄存器主要与中断程序的书写控制有关

  1. 中断允许控制寄存器IE

  2. 定时器控制寄存器TCON

  3. 串口控制寄存器SCON

  4. 中断优先控制寄存器IP

  5. 定时器工作方式控制寄存器TMOD

  6. 定时器初值赋予寄存器(TH0/TH1,TL0/TL1)

五.部分寄存器详解

1.中断允许控制寄存器(IE)

EX0:外部中断0允许位;
ET0:定时/计数器T0中断允许位;
EX1:外部中断1允许位;
ET1:定时/计数器T1中断允许位;
ES :串行口中断允许位;
EA :CPU中断允许(总允许)位。
2.定时器/计数器控制寄存器控制寄存器(TCON)

IT0:外部中断0触发方式控制位
当IT0=0时,为电平触发方式(低电平有效)
当IT0=1时,为边沿触发方式(下降沿有效)
IE0:外部中断0中断请求标志位
IT1:外部中断1触发方式控制位
IE1:外部中断1中断请求标志位
TF0:定时/计数器T0溢出中断请求标志位
TF1:定时/计数器T1溢出中断请求标志位
3.串行口控制寄存器(SCON)

RI:串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。注意,RI必须由软件清除。
TI:串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。
4.中断优先级控制寄存器(IP)

PX0:外部中断0优先级设定位
PT0:定时/计数器T0优先级设定位
PX1:外部中断0优先级设定位
PT1:定时/计数器T1优先级设定位
PS :串行口优先级设定位
PT2:定时/计数器T2优先级设定位

六.中断响应条件

  1. 中断源有中断请求

  2. 此中断源的中断允许位为1

  3. 开中断(即EA=1)