发表于: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
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