传统 51 单片机 IO 接口只可以作为标准双向 IO 接口,如果用其来驱动 LED 只能用灌电流的方式或是用三极管外扩驱动电路。

 

灌电流方式:LED 正极接 VCC,负极接 IO 口。IO 为高电平是 LED 两极电平相同,没有电流,LED 熄灭;IO 为低电平时,电流从 VCC 流入 IO,LED 点亮。但是当你吧 LED 正极接在 IO 接口,负极接 GND 时,将 IO 接口置于高电平,LED 会亮,但因为 IO 接口上拉能力不足而使亮度不理想,可以用下面介绍的方式解决这个问题。

 

推挽工作方式:LED 正负极分别接在两个 IO 口上,然后设置正极 IO 接口为推挽输出,负极 IO 接口为标准双向灌电流输入。推挽方式具有强上拉能力,可以实现高电平驱动 LED。

 

IO 口的四种使用方法

从 I/O 口的特性上看,标准 51 的 P0 口在作为 I/O 口使用时,是开漏结构,在实际应用中通常要添加上拉电阻 1、P2、P3 都是准双向 I/O,内部有上拉电阻,既可作为输入又可以作为输出。而 LPC900 系列单片机的 I/O 口特性有一定的不同,它们可以被配置成 4 种不同的工作模式:准双向 I/O、推挽输出、高阻输入、开漏。

 

准双向 I/O 模式与标准 51 相比,虽然在内部结构上是不同的,但在用法上类同,比如要作为输入时都必须先写“1”置成高电平,然后才能去读引脚的电平状态。!!!!!为什么是这样子?见下面分析。

 

推挽输出的特点是不论输出高电平还是低电平都能驱动较大的电流,比如输出高电平时可以直接点亮 LED(要串联几百欧限流电阻),而在准双向 I/O 模式下很难办到。

 

高阻输入模式的特点是只能作为输入使用,但是可以获得比较高的输入阻抗,这在模拟比较器和 ADC 应用中是必需的。

 

开漏模式与准双向模式相似,但是没有内部上拉电阻。开漏模式的优点是电气兼容性好,外部上拉电阻接 3V 电源,就能和 3V 逻辑器件接口,如果上拉电阻接 5V 电源,又可以与 5V 逻辑器件接口。此外,开漏模式还可以方便地实现“线与”逻辑功能。

 

对于上面疑问的解释,有这样一个资料:

 

高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。

 

电路分析时高阻态可做开路理解。你可以把它看作输出(输入)电阻非常大。他的极限可以认为悬空。

 

高阻态的典型应用:

 

1、在总线连接的结构上。总线上挂有多个设备,设备与总线以高阻的形式连接。这样在设备不占用总线时自动释放总线,以方便其他设备获得总线的使用权。

 

2、大部分单片机 I/O 使用时都可以设置为高阻输入,如凌阳,AVR 等等。高阻输入可以认为输入电阻是无穷大的,认为 I/O 对前级影响极小,而且不产生电流(不衰减),而且在一定程度上也增加了芯片的抗电压冲击能力。