STC/Ai8051U 中断列表

中断表格-查询📖

中断号 中断向量 中断类型
0 0003 H INT0
1 000B H 定时器0
2 0013 H INT1
3 001B H 定时器1
4 0023 H 串口1
5 002B H ADC
6 0033 H LVD
8 0043 H 串口2
9 004B H SPI
10 0053 H INT2
11 005B H INT3
12 0063 H 定时器2
13 006B H NULL
14 0073 H 系统内部中断
15 007B H 系统内部中断
16 0083 H INT4
17 008B H 串口3
18 0093 H 串口4
19 009B H 定时器3
20 00A3 H 定时器4
21 00AB H 比较器
24 00C3 H I2C
25 00CB H USB
26 00D3 H PWMA
27 00DB H PWMB
28 00E3 H CAN1
29 00EB H CAN2
30 00F3 H LIN
36 0123 H RTC
37 012B H P0口中断
38 0133 H P1口中断
39 013B H P2口中断
40 0143 H P3口中断
41 014B H P4口中断
42 0153 H P5口中断
43 015B H P6口中断
44 0163 H P7口中断
45 016B H P8口中断
46 0173 H P9口中断
47 017BH M2M DMA中断
48 0183H ADC DMA中断
49 018BH SPI DMA中断
50 0193H URIIT DMA中断
51 019BH URIR DMA中断
52 01A3H UR2T DMA中断
53 01ABH UR2R DMA中断
54 01B3H UR3T DMA中断
55 01BBH UR3R DMA中断
56 01C3H UR4T DMA中断
57 01CBH UR4R DMA中断
58 01D3H TFT彩屏DMA中断
59 01DBH TFT彩屏中断
60 01E3H I2CT DMA中断
61 01EBH I2CR DMA中断
62 01F3H I2S中断
63 01FBH I2ST DMA中断
64 0203H I2SR DMA中断

如果中断超出31以后需要如下操作(Keil4/5)!

这个方法的核心是借用13号保留中断向量,解决中断号不匹配的报错,以下是完整流程和对应的文件内容:

一、操作流程

  1. 修改中断服务函数的中断号:将原中断号改为"13"(13号是保留中断,可借用);
  2. 添加汇编文件重定向中断向量:新建汇编文件,将目标中断的入口地址(如PWM5中断的0103H)跳转到13号中断的入口地址(006BH);
  3. 编译验证:Keil会自动将13号中断映射到实际中断服务函数,完成中断响应。

二、对应文件内容

1. C文件(如Demo.c

c 复制代码
#include <Ai8051U.h>
#include <intrins.h>

#define FOSC 42000000UL
#define BAUD 65536 - FOSC/115200/4  // 波特率计算

// 将中断服务函数的中断号改为13
void PWM5_ISR(void) __interrupt 13  
{
    // 此处写PWM5中断的处理逻辑
}

void main(void)
{
    P_SW2 = 0xe80;
    WTST = 0x00;
    CCOCON = 0x00;
    // 其他初始化代码...
    while(1);
}

2. 汇编文件(如Isr.asm

asm 复制代码
        CSBG    AT  0103H   ; 定位到PWM5中断的入口地址0103H
        LJMP    006BH      ; 跳转到13号中断的入口地址006BH
        END

三、原理说明

  • 硬件触发PWM5中断时,会自动跳转到0103H地址;
  • 汇编文件中LJMP 006BH会将执行流跳转到13号中断的入口地址006BH
  • Keil编译后,006BH处会自动生成LJMP PWM5_ISR,最终跳转到实际的中断服务函数;
  • 中断执行完成后,通过RETI指令返回主程序。
相关推荐
fanged18 分钟前
Datasheet学习6(光机)
嵌入式硬件
芯岭技术郦1 小时前
高性能的 32 位 ARM® Cortex®-M0+内核PY32F002A
单片机·嵌入式硬件
破晓单片机2 小时前
060、STM32项目分享:养老智能手环系统
stm32·单片机·嵌入式硬件
H__Rick2 小时前
C51学习-DAY4
嵌入式硬件·学习·51单片机·硬件工程
csg11073 小时前
PIC16F1947驱动CH376芯片实现SD卡数据存储
单片机·嵌入式硬件·物联网·自动化
H__Rick3 小时前
C51学习-DAY8
单片机·嵌入式硬件·学习
youcans_3 小时前
从零搭建 STM32 VSCode 开发环境
vscode·stm32·单片机·嵌入式硬件
ye150127774554 小时前
220V降5V0.3A电源芯片WT5104
单片机·嵌入式硬件·其他·硬件工程
第二层皮-合肥4 小时前
【数据采集专栏】输入阻抗
单片机·嵌入式硬件
風清掦4 小时前
【STM32学习笔记-15】FLASH 闪存(Claude)
笔记·stm32·单片机·嵌入式硬件·学习