单片机和汇编问题

来源:百度知道 编辑:UC知道 时间:2024/09/23 05:43:45
我想让0 1 4 5口的流水灯亮,2 3 6 7灭.用了下面的句子,
ORG 0000H;
AJMP MAIN;
ORG 0030H;
MAIN:MOV R2,#33H;
MOV P0,#33H;
END
为什么下载到板子上面,所有的二极管都是一闪一闪的,没有我想要的现象?哪里出问题了?跟晶振有关系么?
还有MOV 80H,#ccH;这个句子为什么运行是错的?
mov 80H,#33H就可以...

ORG 0000H;
AJMP MAIN;
ORG 0030H;
MAIN:MOV R2,#33H;
MOV P0,#33H;
END

你这程序是有问题的,你程序将从第一句一直往下执行,执行到 MOV P0,#33H之后你想想它跑哪里去了???
因为没有转移,程序一直往下执行,即 单片机的 PC继续增加,因为你后续的程序没有定义,也就不确定,程序肯定是跑飞了!肯定乱了,先好好考虑一下吧!

和晶振没啥关系
感觉你程序有问题 要流水灯就这几句 哪里能实现呀
延时都没有

MOV P0,#33H;

sjmp $ ;加上这句,就会稳定(固定)显示了

END

MOV 80H,#CCH改为MOV 80H,#0CCH
a~f前必须加0
MOV P0,#33H后加JMP $进入死循环