找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 936|回复: 7
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
请教大家:外部中断0控制第一个灯的亮灭,为什么中断号改成其他的数字,仿真结果依旧正确。

程序.png (140.98 KB, 下载次数: 46)

程序.png

仿真电路.png (38.65 KB, 下载次数: 49)

仿真电路.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2023-11-14 19:04 | 只看该作者
不可能进入中断服务程序,肯定实现不了(我改成4不能进中断)
回复

使用道具 举报

板凳
ID:1099065 发表于 2023-11-14 21:06 来自手机 | 只看该作者
加个工作寄存器组
回复

使用道具 举报

地板
ID:57657 发表于 2023-11-14 22:01 | 只看该作者
interrupt 4 这是一个串口中断,你没有配置串口寄存器。
回复

使用道具 举报

5#
ID:1099698 发表于 2023-11-15 07:40 | 只看该作者
csmyldl 发表于 2023-11-14 19:04
不可能进入中断服务程序,肯定实现不了(我改成4不能进中断)

我改成0-4都可以我都懵了
回复

使用道具 举报

6#
ID:1099698 发表于 2023-11-15 07:40 | 只看该作者
npn 发表于 2023-11-14 22:01
interrupt 4 这是一个串口中断,你没有配置串口寄存器。

我的意思是我把中断号改了  仿真依然不受影响  不懂为什么
回复

使用道具 举报

7#
ID:1099698 发表于 2023-11-15 07:42 | 只看该作者
c0f9a4 发表于 2023-11-14 21:06
加个工作寄存器组

请问怎么操作  我不会
回复

使用道具 举报

8#
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只会响应一次
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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