微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 89c51中断的问题

89c51中断的问题

时间:10-02 整理:3721RD 点击:
89c51单片机:
要求:
(1)P1口连接8个LED,P0.0连接开关K0,用以控制循环方向;
(2)P0.1~P0.3连接开关K1~K3,设置8档速度,控制灯的移动速度;

(3)P0.4连接开关K4控制移动的启动与停止,K4=0时,灯在全灭,K4=1时按上面的要求正常工作,此功能采用中断方式控制。



系统要搭建复位电路和振荡电路。


没用中断之前是可以的,可是改成中断以后为啥就不行了啊 求问各位大神

还有求各位大神求教中断的学习方法






1、代码第11行“HERE:SJMP HERE" 是死循环,程序运行到这句后,除了进中断就只能卡在这条指令上。
2、代码第27行到39行,应该是一个子函数DELAY,但这个函数只有入口,没有出口”RET“。假如你把上面的死循环问题解决了,也会在第39行之后跑飞。对于CPU来说,第41行的那几个数字,也是指令。
3、从第3张图看,你的代码并不能编译成功,至少存在一个错误

不要让程序一直在中断里面运行。

如果p0.4不是0,不就跳出中断了吗

额,好不容易看到一个内容稍微有点了解的帖子,结果是汇编

你的P0.4是开关,会长时间保持在0,就会一直在中断里面。中断的用法一般是触发之后进中断,然后做一个处理,比如置标志位之类的,然后立刻就出中断,一般没有在中断里面运行很长时间的用法。

你的P0.4是开关,会长时间保持在0,就会一直在中断里面。中断的用法一般是触发之后进中断,然后做一个处理,比如置标志位之类的,然后立刻就出中断,一般没有在中断里面运行很长时间的用法。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top