懂单片机的大虾请进!

来源:百度知道 编辑:UC知道 时间:2024/05/31 15:37:21
有个问题想问一下:
MOV A,#55
MOV B,#10
DIV AB
运行这段小指令,请问A是等于5,B是等于5,能这样用十进制算吗?
我用protue仿真时出现了这个,不知道怎么回事
SIMULATION LOG
==============
Design: D:\交通灯protue电路 - 复制.DSN
Doc. no.: <NONE>
Revision: <NONE>
Author: <NONE>
Created: 09/01/22
Modified: 09/01/22

Compiling source files...
Build completed OK.
Compiling netlist...
ERROR [ROOT10] : Duplicate part reference: D2.
Simulation FAILED due to netlist compiler error(s).

AT89C51有内置电源吗,没有的话该怎么接??

指令是没错的,当然可以用十进制算,不过结果都是用十六进制存储的。
0000H~0002H是启动地址区,0003H,000BH,0013H,001BH,0023H分别是中断入口地址,中断区每个都有8个单位区间,例如:外部中断0的地址为:0003H~000AH,所以一般我们在中断地址区只加一条跳转指令ajmp XXX

补充:电源肯定要接的,有power,您应该看的懂,找的到的。至于这个错误,我猜想是D2这个数据线或端口有重复,请您检查下电路图。至于其它人说的DIV AB这条语句绝对是没错的。

希望我的回答对你有帮助,谢谢^_^

0000H--0030H 中断源的 中断入口地址 在 0B 13 1B 等, 如果没有用到中断,没关系.
看一下指令表, 书上打印错误, 很有可能.

最好装个 KEIL C51 或 伟福 , 软件模拟仿真一下, 很明了!

可以啊。但是“DIV AB”这条汇编指令,似乎写得不对。

DIV AB不对,是指可能应该写成:DIV A,B

但结果是按16进制存储的。

语法有问题啊,看清楚DIV的指令格式