MCS-51 单片机包含多种中断源,分别对应不同的硬件功能,以下是常用的中断源:

  1. 外部中断 INT0 和 INT1
    • 入口地址:INT0 为 0x0003,INT1 为 0x0013
    • 开启/关闭控制:由 IE 寄存器的 IE0 和 IE1 位控制,分别为 BIT6 和 BIT7。
  2. 定时器/计数器中断
    • 入口地址:定时器 0 为 0x000B,定时器 1 为 0x001B
    • 开启/关闭控制:由 IE 寄存器的 ET0 和 ET1 位控制,分别为 BIT1 和 BIT3。
  3. 串口中断
    • 入口地址:0x0023
    • 开启/关闭控制:由 IE 寄存器的 ES 位控制,为 BIT4。

中断开启/关闭控制位说明:

  • IE 寄存器所有位为 0 表示禁止所有中断。
  • 将 IE 寄存器的某个控制位设置为 1,即可开启对应中断源。

BIT6 说明:

BIT6 指的是 MCS-51 单片机中某个 8 位寄存器的第 6 位。在 IE 寄存器中,BIT6 表示外部中断 INT0 的允许标志位。当 IE 寄存器的 BIT6 被设置为 1 时,即 IE=0x80 时,允许外部中断 INT0 产生中断响应。

使 MCS-51 响应定时器 T1 中断和串口中断:

为了使 MCS-51 能够响应定时器 T1 中断和串口中断,需要将 IE 寄存器的 BIT4 和 BIT5 分别设置为 1,其余位保持不变,即 IE = 0x90

IE 寄存器各位的含义:

  • BIT7: EA, 全局中断允许位 (1-开启全局中断,0-关闭全局中断)
  • BIT6: ET2, 定时器 2 中断允许位 (1-允许 T2 中断,0-禁止 T2 中断)
  • BIT5: ES, 串行口中断允许位 (1-允许串口中断,0-禁止串口中断)
  • BIT4: ET1, 定时器 1 中断允许位 (1-允许 T1 中断,0-禁止 T1 中断)
  • BIT3: EX1, 外部中断 1 允许位 (1-允许 INT1 中断,0-禁止 INT1 中断)
  • BIT2: ET0, 定时器 0 中断允许位 (1-允许 T0 中断,0-禁止 T0 中断)
  • BIT1: EX0, 外部中断 0 允许位 (1-允许 INT0 中断,0-禁止 INT0 中断)
  • BIT0: 未使用,恒为 0

定时/计数器工作原理:

定时/计数器用作定时器时,其定时时间与以下因素有关:

  1. 定时器的计数器初值 (THx 和 TLx 寄存器的值)
  2. 定时器的工作模式 (模式 0-3)
  3. 定时器的时钟源 (外部时钟源或内部时钟源)
  4. 系统时钟频率

作为计数器时,对外界计数频率有限制,其最大计数频率取决于系统时钟频率和计数器位数。例如,当系统时钟频率为 12MHz,计数器为 8 位时,最大计数频率为 12MHz/256=46.875kHz。如果计数器位数增加,最大计数频率将相应减小。此外,计数器的计数方向 (递增或递减) 以及计数器的重载方式 (自动重载或不重载) 也会影响其计数范围和计数频率。

MCS-51 单片机中断源详解:类型、入口地址、控制寄存器

原文地址: https://www.cveoy.top/t/topic/gDZe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录