|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 damengshu 于 2021-12-24 15:37 编辑
6 }0 m, Q6 @2 C6 i
& C6 c5 t3 X3 f1 N" b( C% M$ a+ q传统51单片机IO接口只可以作为标准双向IO接口,如果用其来驱动LED只能用灌电流的方式或是用三极管外扩驱动电路。
/ u: V) c7 j! p" @灌电流方式:LED正极接VCC,负极接IO口。IO为高电平是LED两极电平相同,没有电流,LED熄灭;IO为低电平时,电流从VCC流入IO,LED点亮。但是当你吧LED正极接在IO接口,负极接GND时,将IO接口置于高电平,LED会亮,但因为IO接口上拉能力不足而使亮度不理想,可以用下面介绍的方式解决这个问题。
5 L6 x9 g G/ s. N6 C, h/ b& I, |" S) x' r6 d- @! [6 h- {2 ?: E1 b
- k) l8 c" q4 n f4 o: Y8 h% G
推挽工作方式:LED正负极分别接在两个IO口上,然后设置正极IO接口为推挽输出,负极IO接口为标准双向灌电流输入。推挽方式具有强上拉能力,可以实现高电平驱动LED。
% b$ H! U0 z }" W( a* ]" p' X1 U5 n) u- }# t B
' i! D% m$ Z$ J9 g; T0 B! r& @IO口的四种使用方法
) h" h2 X8 q+ i5 p从I/O口的特性上看,标准51的P0口在作为I/O口使用时,是开漏结构,在实际应用中通常要添加上拉电阻p1、P2、P3都是准双向I/O,内部有上拉电阻,既可作为输入又可以作为输出。而LPC900系列单片机的I/O口特性有一定的不同,它们可以被配置成4种不同的工作模式:准双向I/O、推挽输出、高阻输入、开漏。
2 j" k* W9 e' H准双向I/O模式与标准51相比,虽然在内部结构上是不同的,但在用法上类同,比如要作为输入时都必须先写“1”置成高电平,然后才能去读引脚的电平状态。!!!!!为什么是这样子?见下面分析。
% D8 p2 C1 \4 F2 v* o; s$ Y) L
% ], e# s2 U7 r* j! u2 p8 L, H8 @5 G7 j. {* D3 _8 h
推挽输出的特点是不论输出高电平还是低电平都能驱动较大的电流,比如输出高电平时可以直接点亮LED(要串联几百欧限流电阻),而在准双向I/O模式下很难办到。- X3 f$ y. b/ C# E! p
3 J! x( N+ }0 G/ R. p% G
: {: m" I9 L+ v5 W! z
高阻输入模式的特点是只能作为输入使用,但是可以获得比较高的输入阻抗,这在模拟比较器和ADC应用中是必需的。
0 B/ @. G2 m" h8 c, n0 |/ J4 F0 @5 M1 N7 f9 ~
9 c. _% a2 _! p2 ~: h' W" U开漏模式与准双向模式相似,但是没有内部上拉电阻。开漏模式的优点是电气兼容性好,外部上拉电阻接3V电源,就能和3V逻辑器件接口,如果上拉电阻接5V电源,又可以与5V逻辑器件接口。此外,开漏模式还可以方便地实现“线与”逻辑功能。
/ K% b' k6 P6 p9 T, F0 t1 D! y
) K+ a8 M2 N; U e) y$ y% o% M2 v* N- x! i
对于上面疑问的解释,有这样一个资料:
N: Y6 G) G8 ]. J, {3 m高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。
: P2 b0 M0 f5 i9 \4 D- e
9 k7 o6 I' e- b U) S7 E1 I0 V, I: L8 S4 X+ P
电路分析时高阻态可做开路理解。你可以把它看作输出(输入)电阻非常大。他的极限可以认为悬空。5 b. {; m- l H9 `7 r
* v6 {6 a3 z3 g
+ A3 X# ?: H9 w( t高阻态的典型应用:
9 l% b; ?9 g& K5 E1、在总线连接的结构上。总线上挂有多个设备,设备与总线以高阻的形式连接。这样在设备不占用总线时自动释放总线,以方便其他设备获得总线的使用权。8 [2 P8 e. b7 K0 }' w: h1 A
2、大部分单片机I/O使用时都可以设置为高阻输入,如凌阳,AVR等等。高阻输入可以认为输入电阻是无穷大的,认为I/O对前级影响极小,而且不产生电流(不衰减),而且在一定程度上也增加了芯片的抗电压冲击能力。7 E. d( a. ]6 N& F
' Z& k% }% C6 I
|
|