单片机读IO口之前一定要拉高IO口吗?

[复制链接]
3481|15
 楼主| 1003704680 发表于 2011-9-24 19:44 | 显示全部楼层 |阅读模式
本帖最后由 1003704680 于 2011-9-25 16:43 编辑

看了理论知识,感觉很有道理。
但是
#include <reg52.h>
void main()
{
    P0=0;
    while(1)
    P2=P0;
}

程序启动之后我将P0^7接了高,测P2^7,也是高,而其他引脚都是低……
为什么我没写1也能读出来呢??
aihe 发表于 2011-9-24 20:31 | 显示全部楼层
书读少了,没理解透
NE5532 发表于 2011-9-24 22:25 | 显示全部楼层
楼主不要再看书了,越看越糊涂,动手做吧。
金字塔陷阱 发表于 2011-9-24 22:41 | 显示全部楼层
一般是的
PaperKite 发表于 2011-9-25 08:40 | 显示全部楼层
FET截止后才能正确读入高电平

本帖子中包含更多资源

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

×
aaron96031 发表于 2011-9-25 14:38 | 显示全部楼层
说得很有道理,LZ多看书吧,多动手
linbei1988 发表于 2011-9-25 15:38 | 显示全部楼层
51的IO口结构决定的
 楼主| 1003704680 发表于 2011-9-25 16:28 | 显示全部楼层
2# aihe


我觉得我的程序是给P0口写0了,再读P0口的话应该无效猜对,为什么还是能读出来呢?
我有点愚钝,请大侠指教!!
 楼主| 1003704680 发表于 2011-9-25 16:29 | 显示全部楼层
3# NE5532

就是动手做的结果,和我想象的不一样,可能是哪个地方没弄透,请指教!
 楼主| 1003704680 发表于 2011-9-25 16:32 | 显示全部楼层
5# PaperKite

谢谢,我感觉我能理解您说的。但是我不理解我的程序为什么会产生那样的效果。也许还是哪个地方没弄透吧,请指点~
mxh0506 发表于 2011-9-25 16:36 | 显示全部楼层
5L的解释很透彻!这是所谓的“准双向”口的弊病,在51之外,基本上没见过。
 楼主| 1003704680 发表于 2011-9-25 16:41 | 显示全部楼层
11# mxh0506
我希望您能帮我解释下我的程序所产生的现象
NE5532 发表于 2011-9-25 21:20 | 显示全部楼层
3# NE5532  

就是动手做的结果,和我想象的不一样,可能是哪个地方没弄透,请指教!
1003704680 发表于 2011-9-25 16:29


你自己都说了读之前要拉高,P0为啥要写0?
流行音乐 发表于 2011-9-25 21:26 | 显示全部楼层
我在QQ群中见到一个在工地看守钢筋的人也已经在搞嵌入式开发了,做这行门槛很低,速来。
NE5532 发表于 2011-9-25 21:32 | 显示全部楼层
我在QQ群中见到一个在工地看守钢筋的人也已经在搞嵌入式开发了,做这行门槛很低,速来。
流行音乐 发表于 2011-9-25 21:26


这个倒不见得,不要忘了爱迪生是干啥出身的。现在一些叫兽搞出来的所谓学术成果才让人看了想哭。
 楼主| 1003704680 发表于 2011-9-25 22:45 | 显示全部楼层
13# NE5532

我才知道这一点的,就想验证一下。先仿真了,不是想象的结果;然后就用开发板试了,还不是想要的结果,就来向大家请教了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

554

主题

1007

帖子

2

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