打印

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

[复制链接]
2677|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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 | 只看该作者
一般是的

使用特权

评论回复
5
PaperKite| | 2011-9-25 08:40 | 只看该作者
FET截止后才能正确读入高电平

p0.jpg (42.65 KB )

p0.jpg

p1口.jpg (38.71 KB )

p1口.jpg

使用特权

评论回复
6
aaron96031| | 2011-9-25 14:38 | 只看该作者
说得很有道理,LZ多看书吧,多动手

使用特权

评论回复
7
linbei1988| | 2011-9-25 15:38 | 只看该作者
51的IO口结构决定的

使用特权

评论回复
8
1003704680|  楼主 | 2011-9-25 16:28 | 只看该作者
2# aihe


我觉得我的程序是给P0口写0了,再读P0口的话应该无效猜对,为什么还是能读出来呢?
我有点愚钝,请大侠指教!!

使用特权

评论回复
9
1003704680|  楼主 | 2011-9-25 16:29 | 只看该作者
3# NE5532

就是动手做的结果,和我想象的不一样,可能是哪个地方没弄透,请指教!

使用特权

评论回复
10
1003704680|  楼主 | 2011-9-25 16:32 | 只看该作者
5# PaperKite

谢谢,我感觉我能理解您说的。但是我不理解我的程序为什么会产生那样的效果。也许还是哪个地方没弄透吧,请指点~

使用特权

评论回复
11
mxh0506| | 2011-9-25 16:36 | 只看该作者
5L的解释很透彻!这是所谓的“准双向”口的弊病,在51之外,基本上没见过。

使用特权

评论回复
12
1003704680|  楼主 | 2011-9-25 16:41 | 只看该作者
11# mxh0506
我希望您能帮我解释下我的程序所产生的现象

使用特权

评论回复
13
NE5532| | 2011-9-25 21:20 | 只看该作者
3# NE5532  

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


你自己都说了读之前要拉高,P0为啥要写0?

使用特权

评论回复
14
流行音乐| | 2011-9-25 21:26 | 只看该作者
我在QQ群中见到一个在工地看守钢筋的人也已经在搞嵌入式开发了,做这行门槛很低,速来。

使用特权

评论回复
15
NE5532| | 2011-9-25 21:32 | 只看该作者
我在QQ群中见到一个在工地看守钢筋的人也已经在搞嵌入式开发了,做这行门槛很低,速来。
流行音乐 发表于 2011-9-25 21:26


这个倒不见得,不要忘了爱迪生是干啥出身的。现在一些叫兽搞出来的所谓学术成果才让人看了想哭。

使用特权

评论回复
16
1003704680|  楼主 | 2011-9-25 22:45 | 只看该作者
13# NE5532

我才知道这一点的,就想验证一下。先仿真了,不是想象的结果;然后就用开发板试了,还不是想要的结果,就来向大家请教了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

554

主题

1007

帖子

2

粉丝