STC8H 外部中断工作过程

STC8H 外部中断工作过程 - 动态演示
STC8H

外部中断工作过程演示

STC8H系列单片机 · 中断机制可视化
INT0 → 0x0003 INT1 → 0x0013 INT2 → 0x0033 INT3 → 0x003B INT4 → 0x0043 EA总使能
芯片引脚视图
STC8H Microcontroller DIP-40 / LQFP-44 P3.0 INT4 P3.1 TXD P3.2 INT0 P3.3 INT1 P3.4 T0 P3.5 T1 P3.6 INT2 P3.7 INT3 GND VCC INT Logic Edge Detect Priority Arb
🔶 橙色引脚 = 外部中断引脚
当前选中: INT0 (P3.2)
中断处理流程
0
正常运行主程序
CPU顺序执行主程序指令,PC正常递增
1
外部引脚边沿检测
检测到下降沿信号(引脚电平变化)
2
硬件置位中断标志
IE0 = 1,向CPU发出中断请求
3
CPU检查中断条件
检查 EA=1 且 EX0=1,条件满足
4
完成当前指令
CPU执行完当前机器周期后准备响应中断
5
硬件保存现场(压栈)
SP←SP+2,PC压入堆栈保存返回地址
6
跳转到中断向量
PC ← 0x0003(INT0中断向量地址)
7
执行中断服务程序 ISR
执行用户编写的中断处理代码,处理外部事件
8
执行 RETI 指令
从堆栈恢复PC,硬件清除中断标志
9
返回主程序继续执行
从断点处继续运行,中断处理完成 ✓
关键寄存器状态
IE (中断使能寄存器) — 0xA8
EA=总中断使能 | EX0~EX4=外部中断使能
TCON (定时器/中断控制) — 0x88
IT0/IT1=触发方式 | IE0/IE1=中断标志位
INT_CLKO (扩展中断控制) — 0x8F
EX2/EX3/EX4=INT2~INT4使能(仅下降沿触发)
SP (堆栈指针) — 0x81
当前值: 0x07
💡 中断标志由硬件自动置位/清除
时序波形图(逻辑分析仪视图)
█ 引脚电平█ 中断标志█ ISR执行█ 主程序
就绪 — 等待触发

本站所有文章、数据、图片来源于网络,仅供学习使用,如有侵权,联系删除!