单片机汇编中断问题
发布网友
发布时间:2024-07-02 16:09
我来回答
共5个回答
热心网友
时间:2024-08-22 23:35
你如果是软件调试的话,没有中断源当然无法进入中断了
想看到效果只能通过设置断点然后置EX0位进入中断
如果是硬件调试
程序在STAR: AJMP $处一直等待,相当于死循环
而进入中断后,你中断一直没返回(RETI or IRET)
也就是你执行了 SJMPNEXT 后相当于还处在中断里面
在无中断嵌套的条件下,无法继续中断
还有一个写程序习惯上的问题
我觉得程序规范点是写法应该是先把寄存器初始化完成后再开始工作
譬如你先开了中断才配置IT0,虽然这个在执行上没多大问题
但应该养成良好的写程序习惯,这点只是建议。
热心网友
时间:2024-08-22 23:36
在SETB EA 之后再加上
SETB IT0
好运
热心网友
时间:2024-08-22 23:36
缺少 RETI 指令。
中断一次后,就一直处于中断状态,没有出来。
热心网友
时间:2024-08-22 23:37
中断返回应该是用reti,而不是sjmp
热心网友
时间:2024-08-22 23:38
为什么不用C呢,汇编太麻烦