89C51单片机扩展8155芯片 proteus仿真 七段数码管不显示

程序如下:
ORG 0000HCOMMAND EQU 7F00H
PORTA EQU 7F01H
PORTB EQU 7F02H
PORTC EQU 7F03H
LJMP MAIN
ORG 0080HMAIN:
MOV SP,#0030H
MOV DPTR,#COMMAND
MOV A,#00000011B;设置为方式0且PA口输出,PB口输出
MOVX @DPTR,A
INC DPTR
MOV A,#00110011B;测试共阳极7段数码管
MOVX @DPTR,A
INC DPTR
MOV A,#00001111B
MOVX @DPTR,A
LJMP $
END
但是仿真时6个七段数码管都没有显示,不解。望指教

第1个回答  2013-02-25
汇编,看不懂
第2个回答  2017-06-16
测试程序的问题,重新设计编码。
第3个回答  2013-02-23
电路画的不仔细,总线的标号,都没有标上。追问

啊? 我什么地方的标号没有标?

追答

在粗蓝线上,应该标注 AD[0..7]、PA[0..7]......,


这样,总线,才能和 8255 器件内部的标号对应连接上。


你看看 PROTEUS 软件所带的例子,就知道了。

----

按照楼主的电路,调整了零件布局,增加了总线标号;

程序一个字也不改,楼主所期望的输出,就都出来了。


请看下图:

本回答被提问者采纳
第4个回答  2013-02-23
IO/M即P2.0你没有处理,加上试试。追问

MOV DPTR,#COMMAND
MOV A,#00000011B;设置为方式0且PA口输出,PB口输出
MOVX @DPTR,A
通过以上命令,我不是用MOVX指令将A中的内容送出到(7F00H)单元了吗?那样的话,应该能从P0,P2口读出地址来呀。可是为什么P0口无输出电平(仿真呈灰色),而P1.7也不是要求的低电平,反而为高电平(呈红色)呢?

第5个回答  2013-02-23
很想帮忙,但是,俺们学的基本上都是c语言编程了,追问

c语言也可以。帮忙解答一下吧

相似回答