|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 damengshu 于 2021-12-24 15:37 编辑
/ ^. D$ e$ S8 s7 M$ B, Z* V# r; \: d. b6 W# V. N% x% i, x! M
传统51单片机IO接口只可以作为标准双向IO接口,如果用其来驱动LED只能用灌电流的方式或是用三极管外扩驱动电路。
/ `8 _2 J8 W* D& c' R' B灌电流方式:LED正极接VCC,负极接IO口。IO为高电平是LED两极电平相同,没有电流,LED熄灭;IO为低电平时,电流从VCC流入IO,LED点亮。但是当你吧LED正极接在IO接口,负极接GND时,将IO接口置于高电平,LED会亮,但因为IO接口上拉能力不足而使亮度不理想,可以用下面介绍的方式解决这个问题。
- r1 s& {7 U; |/ x* r5 i3 \: D
- c7 ^" t( ]' ]! I) ~ k2 Z# }# ^6 i5 t7 D. \
推挽工作方式:LED正负极分别接在两个IO口上,然后设置正极IO接口为推挽输出,负极IO接口为标准双向灌电流输入。推挽方式具有强上拉能力,可以实现高电平驱动LED。 M7 M3 g$ @% A9 r. l6 {! U" d# L3 Y
/ |% S& J9 ^* b& o7 p
8 |# c# s, N. ^
IO口的四种使用方法0 h) x, a- V: |
从I/O口的特性上看,标准51的P0口在作为I/O口使用时,是开漏结构,在实际应用中通常要添加上拉电阻p1、P2、P3都是准双向I/O,内部有上拉电阻,既可作为输入又可以作为输出。而LPC900系列单片机的I/O口特性有一定的不同,它们可以被配置成4种不同的工作模式:准双向I/O、推挽输出、高阻输入、开漏。) a, |8 x' I# F. F
准双向I/O模式与标准51相比,虽然在内部结构上是不同的,但在用法上类同,比如要作为输入时都必须先写“1”置成高电平,然后才能去读引脚的电平状态。!!!!!为什么是这样子?见下面分析。
% `7 _2 q1 V. v1 U' o
) W Z6 l1 s# [* C( C* J7 ]$ L- b: D$ z
推挽输出的特点是不论输出高电平还是低电平都能驱动较大的电流,比如输出高电平时可以直接点亮LED(要串联几百欧限流电阻),而在准双向I/O模式下很难办到。
# f6 Y+ O1 ]5 l: ~) @( T5 _6 y
& Q- W- C( d8 i, x% g5 r1 o+ V1 Z( O/ m; t
高阻输入模式的特点是只能作为输入使用,但是可以获得比较高的输入阻抗,这在模拟比较器和ADC应用中是必需的。
3 U: E' L U/ X! B5 \! y
- a" n9 Q7 S8 b
8 Z- Y& F* e% G y开漏模式与准双向模式相似,但是没有内部上拉电阻。开漏模式的优点是电气兼容性好,外部上拉电阻接3V电源,就能和3V逻辑器件接口,如果上拉电阻接5V电源,又可以与5V逻辑器件接口。此外,开漏模式还可以方便地实现“线与”逻辑功能。
) W; U+ O) a4 g4 Q r5 h
) x# t8 z7 R5 o
# G1 _# |2 L$ W8 L对于上面疑问的解释,有这样一个资料:+ g- E! {1 g0 z
高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。
: Q+ D% f1 |! K# N8 a
) C J; z' H6 G! ?0 \$ P+ c! k7 Y7 M2 r J4 ?8 n6 h
电路分析时高阻态可做开路理解。你可以把它看作输出(输入)电阻非常大。他的极限可以认为悬空。
8 }+ X6 j4 \' ^6 c v2 m* {$ v! z! H! y
t+ ~3 I! t0 L* e- l* L; `
高阻态的典型应用:4 e) S# K6 V4 z. K0 [, ~
1、在总线连接的结构上。总线上挂有多个设备,设备与总线以高阻的形式连接。这样在设备不占用总线时自动释放总线,以方便其他设备获得总线的使用权。
}4 Q8 ~0 {5 L. F" y2、大部分单片机I/O使用时都可以设置为高阻输入,如凌阳,AVR等等。高阻输入可以认为输入电阻是无穷大的,认为I/O对前级影响极小,而且不产生电流(不衰减),而且在一定程度上也增加了芯片的抗电压冲击能力。
1 b* [0 W4 f C- a4 ?* ]1 {8 D3 ?( g0 x# l
|
|