请教一个汇编程序的问题

[复制链接]
3205|11
 楼主| chinaupu 发表于 2010-8-4 20:45 | 显示全部楼层 |阅读模式
本帖最后由 chinaupu 于 2010-8-4 20:53 编辑

源程序是这样:

  ORG  0000H
  LJMP MAIN
  ORG  0030H

MAIN: MOV  P0,#00H
  MOV  P1,#00H
  MOV  P2,#00H
  MOV  P3,#00H
  ACALL DELAY

  MOV  P0,#0FFH
  MOV  P1,#0FFH
  MOV  P2,#0FFH
  MOV  P3,#0FFH
  JMP  MAIN

DELAY: MOV  R7,#250
D1:  MOV  R6,#250
  DJNZ R6,$
  DJNZ R7,D1
  RET
  END


为什么在keil中执行  
  MOV  P0,#0FFH
  MOV  P1,#0FFH
  MOV  P2,#0FFH
  MOV  P3,#0FFH
P0口的Pins显示的是00000000
而P1,P2,P3的Pins显示的是11111111

本帖子中包含更多资源

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

×
ayb_ice 发表于 2010-8-5 08:51 | 显示全部楼层
P0做GPIO要加上拉电阻
new1988 发表于 2010-8-5 09:30 | 显示全部楼层
由于传统的51单片机的P0口是漏极开路,在没接上拉电阻时为高阻态。所以在做普通IO口时需要接上拉电阻
 楼主| chinaupu 发表于 2010-8-5 09:45 | 显示全部楼层
嗯,经过LS的启发,我在21ic看到一篇**
http://blog.21ic.com/user1/5443/archives/2009/55244.html
冷漠 发表于 2010-8-5 10:21 | 显示全部楼层

uV2, uV3显示结果与uV4 不一样。Keil与ARM 观点不一样。

本帖最后由 冷漠 于 2010-8-5 15:33 编辑

我选的89C52,keil -uV2 模拟调试 P0与P1,P2,P3状态显示一致。




再看uV4显示结果:(高阻对什么输入/输出——TTL,CMOS……来说可能是“0”?)各家都有自己的理由,没有定式,都是高手,……

本帖子中包含更多资源

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

×
ayb_ice 发表于 2010-8-5 11:41 | 显示全部楼层
LS
高手就是不一样
123jj 发表于 2010-8-5 13:21 | 显示全部楼层
赞一下,冷漠大虾
一棵小草 发表于 2010-8-5 15:06 | 显示全部楼层
恩,强人
pumafire 发表于 2010-8-5 22:54 | 显示全部楼层
厉害,哈
 楼主| chinaupu 发表于 2010-8-6 09:31 | 显示全部楼层
顶冷漠大虾
ayb_ice 发表于 2010-8-6 09:56 | 显示全部楼层
怎么我的UV3和UV4和LZ的效果一样

看来我不是高手

本帖子中包含更多资源

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

×
highgear 发表于 2010-8-6 10:09 | 显示全部楼层
顶 2楼 和 3 楼。
高阻态在仿真时无论显示什么都没有意义。如果一定要显示什么, 还是显示 0 更好, 这样至少有个警醒。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

67

帖子

1

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