准双向口

       准双向口就是在作为输入前,必须向这个端口写“1”的这个准备动作,所以叫准双向口。

       真正的双向口不需要任何预操作可直接读入读出。因为双向口有悬浮态。


       因为P1、P2、P3有固定的内部上拉电阻,所以有时称它们为准双向口。当用作输入时被拉高,当外部拉低时(低电平)会拉电流电流。而P0口则是真双向口,因为作为输入时它是悬浮的(因为没有上拉电阻)。

       “准”就是“基本上的意思”,也就是“准双向口”不是真正的双向口。


       当P0口用于一般I/O口时,内部接Vcc的那个开关管是与引脚(端口)脱离联系的,这个时候,只有拉地的那个开关管起作用,P0口作为输出,是必须外接上拉电阻的,不然就无法输出高电平;如果P0口作为输入,则必须先对端口写1,使拉地的开关管断开,这个时候,如果不接上拉电阻,则是高阻状态。

       双向与准双向,根本原则是双向包含了高阻这个状态,而不在于是否需要先写1或者不写,P1~P3口因为有内部上拉电阻,因此无论如何不是双向;P0口内部无上拉电阻,在处于数据/地址功能时,自动完成3态的转换,是双向,处于一般I/O口时,如果不接外部上拉,而且先向端口写了1,那么就处于高阻状态,此时,它也是一个人为的双向口,这与它处于地址/数据功能时的自动双向有区别,以及与P1~P3处于输入时输出锁存器为1是有区别的,跟I²C总线上那种漏极开路或者集电极开路结构差不多,通过上拉电阻(或下拉电阻)来提供一种电平的驱动。

       P0的驱动能力是单个其余口的两倍。


       给锁存器写1,那么锁存器的反向端就输出0,那么和它相接的MOS管也就在截止状态,也就是呈高阻状态,这样P0口上数据就会从读引脚的三态缓冲器上正确的输入,如果不写1,那么锁存器上次锁存的可能为0,那么反向端可能出现1,这样和反向端相接的MOS管就导通,也就是直接拉到地,那么不管你的P0口上输入什么信号都会拉成低电平,输入就错了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值