您现在所在的是:

单片机论坛

回帖:0个,阅读:1044 [上一页] [1] [下一页]
912
sfmcu
文章数:44
年度积分:50
历史总积分:912
注册时间:2006/8/22
发站内信
08年优秀博客奖
发表于:2009/2/8 9:29:18
#0楼
 在作为输入时,p0口处于悬浮状态,需要自己接上拉电阻,p0为 真正的双向口,
p1 p2 p3口做为输入时,内部已有上拉电阻,称p1 p2 p3 为准双向口  
   
"准"就是"基本上"的意思.
   p0口是双向指的是它被用作地址/数据端口时,只有在这个时候,p0口才处于两个开关管推挽状态,当两个开关管都关闭时,才会出现高阻状态.
当p0口用于一般i/o口时,内部接vcc的那个开关管是与引脚(端口)脱离联系的,这个时候,只有拉地的那个开关管其作用,p0口作为输出,是必须外接上拉电阻的,不然就无法输出高电平;如果p0口作为输入,则必须先对端口写1,使拉地的开关管断开,这个时候,如果不接上拉电阻,则是高阻状态,就是一个双向口,如果接上拉电阻,则本身输出高电平,对输入信号的逻辑无影响(注意是对逻辑无影响,对实际参数有无影响我不确定,但是我认为是有的).
双向与准双向,根本原则是双向包含了高阻这个状态,而不在于是否需要先写1或者不写,p1~p3口因为有内部上拉电阻,因此无论如何不是双向;p0口内部无上拉电阻,在处于数据/地址功能时,自动完成3态的转换,是双向,处于一般i/o口时,如果不接外部上拉,而且先向端口写了1,那么就处于高阻状态,此时,它也是一个人为的双向口,这与它处于地址/数据功能时的自动双向有区别,以及与p1~p3处于输入时输出锁存器为1是有区别的。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=75785&Name=sfmcu

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002