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指令返回主程序。
相关推荐
学嵌入式的小杨同学21 小时前
STM32 进阶封神之路(三十三):W25Q64 任意长度写入深度实战 —— 从页限制到工业级通用读写(附完整代码 + 避坑指南)
stm32·单片机·嵌入式硬件·架构·硬件架构·嵌入式·flash
Hello_Embed1 天前
嵌入式上位机开发入门(三):TCP 编程 —— Server 端实现
笔记·单片机·网络协议·tcp/ip·嵌入式
Hello World . .1 天前
ARM裸机学习6——UART
arm开发·单片机·嵌入式硬件
Zarek枫煜1 天前
[特殊字符] C3语言:传承C之高效,突破C之局限
c语言·开发语言·c++·单片机·嵌入式硬件·物联网·算法
Lugas Luo1 天前
SATA 硬盘识别延时:协议层与内核机制分析
linux·嵌入式硬件
somi71 天前
ARM-10-I.MX6U ADC
arm开发·嵌入式硬件·adc·自用
nfsf1 天前
【ZMCT103C电流互感器应用原理图 交流电流】
嵌入式硬件
进击的小头1 天前
01_第一篇:到底什么是嵌入式芯片?与通用CPU_GPU_DSP的核心区别
单片机·嵌入式硬件
hoiii1871 天前
STM32 RS232串口通讯实验
stm32·单片机·嵌入式硬件
可乐鸡翅好好吃1 天前
Keil更改RAM地址
网络·单片机·嵌入式硬件