紧急求助,希望在线的各位帮忙看看

[复制链接]
6110|36
 楼主| 徐小剑 发表于 2009-10-3 17:16 | 显示全部楼层 |阅读模式

请教各位上面的这张仿真图要用怎么样使用汇编语言实现P0的输出产生变化
我试了和多遍都不行,谢谢了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
chen3bing 发表于 2009-10-3 17:42 | 显示全部楼层
数码管是共阴极吗?
lanzeex 发表于 2009-10-3 19:08 | 显示全部楼层
COM-AN:共阳
COM-CAT:共阴
CC:共阴
CA:共阳
 楼主| 徐小剑 发表于 2009-10-3 19:34 | 显示全部楼层
对呀,是共阴的
chen3bing 发表于 2009-10-3 20:14 | 显示全部楼层
不懂。用P1口可以。
qiuming 发表于 2009-10-3 22:26 | 显示全部楼层
悄胡排阻的值估计取得太大了,要小,你用1K试试.
songbangyan 发表于 2009-10-3 23:01 | 显示全部楼层
单片机没有复位电路,还有就是上拉电阻也许不是很合适。
 楼主| 徐小剑 发表于 2009-10-3 23:18 | 显示全部楼层
本帖最后由 徐小剑 于 2009-10-4 15:09 编辑

试过了,改为1k也是这样子!!
我当时用的程序是:
                  ORG  0000H
                  MAIN:
                           ORG   0030H
                           MOV   P0,#00111111B
                           END
就是没有显示,很古怪!!
 楼主| 徐小剑 发表于 2009-10-3 23:19 | 显示全部楼层
单片机没有复位电路,还有就是上拉电阻也许不是很合适。
songbangyan 发表于 2009-10-3 23:01

我用的是proteus仿真的,根本就不用复位电路
328500920 发表于 2009-10-3 23:39 | 显示全部楼层
MOV   P0,#00111111H
兄弟   二进制应该用  #00111111B  吧
lyjian 发表于 2009-10-4 08:12 | 显示全部楼层
本帖最后由 lyjian 于 2009-10-4 08:21 编辑

ORG  0000H
                 MAIN:
删除这一条             ORG   0030H
                           MOV   P0,#00111111B
增加一条指令      SJMP   $  
                         END
lanzeex 发表于 2009-10-4 08:16 | 显示全部楼层
程序问题,
        ORG        0000H
        LJMP        MAIN
        ORG        0030H
MAIN:
        MOV        P0, #03FH
        END
zhaoyu2005 发表于 2009-10-4 08:34 | 显示全部楼层
换成共阳的数码管试试,标准51单片机的口,是准双向的,低电平驱动能力可以,高电平不行,尤其P0作为普通IO口时,更不行,作为总线时驱动能力可以。
dtmcp 发表于 2009-10-4 08:37 | 显示全部楼层
好菜,硬件都设计错了,还在调软件,
(1),数码管要串电阻,而不是接上拉电阻;
(2),P0口是OC输出,而不是PP输出;
(3) 任何芯片的灌电流能力远大于拉电流能力;
(4) 作个共阳的多简单,直接可以用P0口
chen3bing 发表于 2009-10-4 09:07 | 显示全部楼层
学习了。
IC_99 发表于 2009-10-4 10:00 | 显示全部楼层
学习了
lanzeex 发表于 2009-10-4 10:22 | 显示全部楼层
硬件没问题,P0口,这样接共阴也行,他不能显是软件问题。。
xukaiguo 发表于 2009-10-4 10:52 | 显示全部楼层
硬件只能说不太合理,软件那么没头没尾的怎么执行?完全靠仿真器单步一下吗?否则走不到这条指令,即使走到这儿,下一步也不知飞哪去了
不亦心 发表于 2009-10-4 10:59 | 显示全部楼层
小兄弟
这样的问题你应该自己仔细检查
刚开始学可以多看看别人的程序怎么写的。
你写的这段程序 问题1,PC怎么由00H跳到30H
问题2:二进制和十六进制都能搞错,太粗心了吧
问题3:单片机是个工作狂,要么不工作,要么以工作就不停歇,所以你得让他一直执行程序。
(当然仿真的时候不要这句完全可以达到仿真目的,但实际中不行)
试试下面的程序
   ORG     0000H
     SJMP    MAIN
     ORG     0030H
     MAIN:   MOV   P0,#3FH
     SJMP    MAIN
     END
另外硬件上面的问题就是灌电流和拉电流问题(仿真时可以不考虑,但实际中一般不这样设计),要养成平时仿真就按实际要求来的习惯
新好男孩 发表于 2009-10-4 12:58 | 显示全部楼层
是刷新频率的问题吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

323

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部