专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

51单片机不为人知的IO口之谜

作者:佚名   来源:本站原创   点击数:  更新时间:2012年10月31日   【字体:

1.准双向口输出数据时:

准双向口输出类型可用作输出和输入功能而不需重新配置口线输出状态。这是因为当口线输出为1时驱动能力很弱,允许外部装置将其拉低。当引脚输出为低时,它的驱动能力很强,可吸收相当大的电流。准双向口有3个上拉晶体管适应不同的需要。在3个上拉晶体管中,有1个“极弱上拉”,当口线锁存为1时打开。当引脚悬空时,这个极弱的上拉源产生很弱的上拉电流将引脚上拉为高电平。第2个上拉晶体管称为“弱上拉”,当口线寄存器为1且引脚本身也为1时打开。此上拉提供基本驱动电流使准双向口输出为1。如果一个引脚输出为1而由外部装置下拉到低时,弱上拉关闭而“极弱上拉”维持开状态,为了把这个引脚强拉为低,外部装置必须有足够的灌电流能力使引脚上的电压将到门槛电压以下。第3个上拉晶体管称为“强上拉”。当口线锁存器由0到1跳变时,这个上拉用来加快准双向口由逻辑0到逻辑1转换。当发生这种情况时,强上拉打开约2个机器周期以使引脚能够迅速地上拉到高电平。准双向口输出如下图所示,

那么以上介绍的输出状态,我们可以通过设置STC单片机的相关特殊寄存器实现。


 


2.当准双向口作为输入引脚时(读取引脚状态)

此时我们首先需要将口所存数据“1”,这是为什么呢?大家仔细分析下这个电路,当口所存数据“0”时,强上拉的下面的管是导通的,那么端口引脚就相当与地直接相连,这样高电平信号将会被强制拉低输入数据将无法正确检测!
 

关闭窗口

相关文章