找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

为什么单片机中断号改了,仿真结果却不受影响?

查看数: 1752 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-11-14 16:21

正文摘要:

请教大家:外部中断0控制第一个灯的亮灭,为什么中断号改成其他的数字,仿真结果依旧正确。

回复

ID:161164 发表于 2023-11-15 09:44
你的发现是合符单片机运作的
如果有学过汇编就会很好理解

interrupt 0的向量地址是0003H
interrupt 4的向量地址是0023H
你初始化了外中断0
当外中断0引脚收到信号时
CPU会响应中断申请
先保存现在的PC指针值
再把PC指针指向向量地址
由于编程上没有在0003H地址写中断函数
所以PC会一直累加
如果刚好0004H~0022H都没有代码
加到0023H(interrupt 4)
运行完中断函数后就会执行RETI指令
PC就取回中断前的保存值运行下去
但由于IE0没有被硬件清零
所以外中断0只会响应一次
ID:1099698 发表于 2023-11-15 07:42
c0f9a4 发表于 2023-11-14 21:06
加个工作寄存器组

请问怎么操作  我不会
ID:1099698 发表于 2023-11-15 07:40
npn 发表于 2023-11-14 22:01
interrupt 4 这是一个串口中断,你没有配置串口寄存器。

我的意思是我把中断号改了  仿真依然不受影响  不懂为什么
ID:1099698 发表于 2023-11-15 07:40
csmyldl 发表于 2023-11-14 19:04
不可能进入中断服务程序,肯定实现不了(我改成4不能进中断)

我改成0-4都可以我都懵了
ID:57657 发表于 2023-11-14 22:01
interrupt 4 这是一个串口中断,你没有配置串口寄存器。
ID:1099065 发表于 2023-11-14 21:06
加个工作寄存器组
ID:235200 发表于 2023-11-14 19:04
不可能进入中断服务程序,肯定实现不了(我改成4不能进中断)

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表