89c51外扩8255,接6个共阴数码管后在proteus上仿真怎么都不亮是怎么回事,求解答。

各个I/O口地址都查过了,不会有错程序如下ORG0000H;这是程序LJMPSTARTORG1000HSTART:MOV20H,#3EH;UMOV21H,#06H;1MO... 各个I/O口地址都查过了,不会有错程序如下
ORG 0000H ;这是程序
LJMP START
ORG 1000H
START:
MOV 20H,#3EH ;U
MOV 21H,#06H ;1
MOV 22H,#7DH ;6
MOV 23H,#07H ;7
MOV 24H,#5BH ;2
MOV 25H,#5BH ;2
MOV A,#80H ;控制A、B口输出
MOV DPTR,#0FF7FH
MOVX @DPTR,A
MAIN:
MOV R0,#0FEH;位选初值
MOV R1,#20H ;段码初值
MOV R2,#06H ;每轮循环次数
CIRCLE:
MOV DPTR,#0FF7CH ;PA地址
MOV A,R0
MOVX @DPTR,A
INC DPTR ;PB地址
MOV A,@R1
MOVX @DPTR,A
ACALL DELAY1 ;延时1ms
INC R1
MOV A,R0
RL A
MOV R0,A
DJNZ R2,CIRCLE
SJMP MAIN
DELAY1: ;延时1ms子程序
MOV 10H,#50
LOOP1:
MOV 11H,#10
LOOP2:
DJNZ 11H,LOOP2
DJNZ 10H,LOOP1
RET
END
展开
 我来答
lycdl
高粉答主

2018-11-27 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2万
采纳率:94%
帮助的人:4924万
展开全部

是你的仿真图画的有问题,有点乱。再仔细检查一下吧。你的程序没有问题,下面的仿真图就是用你的程序测试的,一点也没有改动。是符合你程序要显示的内容的。你可以参照下面的仿真图,重新整理一下。导线太多了,拐弯也太多了。导线不好画时,可以用网络标号,参照下图,就采用了网络标号画的仿真图,就显得很清楚。主要是8255没有输出,那PA,PB,PC口的引脚电平全为红色电平,应该有变化的才对。

最后,补充一句,P0口是做数据线用的,是不用加上拉电阻的,与这个无关。

追答
请采纳
tony_sgt
2018-11-27 · TA获得超过8423个赞
知道大有可为答主
回答量:5330
采纳率:66%
帮助的人:1205万
展开全部
除了P0口当IO要加上拉电阻之外,单片机也要有运行程序才能仿真
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jtlywqb
2018-11-27 · TA获得超过615个赞
知道小有建树答主
回答量:1371
采纳率:80%
帮助的人:178万
展开全部
记得如果用p0口需要上拉电阻,你加上试一下。
更多追问追答
追问
我看书上都是直接连的,外扩I/O口不需要吧
追答
记得只有p0口需要,外扩I/O我没事过,但接LCD的时候是需要的。你试一下再说吧,而且仿真和实际电路还是有区别的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式