|
收藏
漏级开路即高阻状态,适用于输入
/
输出,其可独立输入
/
输出低电平和高阻状态,若需要产生高电平,则需使用外
部上拉电阻或使用如
LCX245
等电平转换芯片。有些朋友,尤其是未学过此方面知识的朋友,在实际工作中将
I/O
口设置为漏开,并想输出高电平,但向口线上写
1
后对方并未认出高电平,但用万用表测量引脚确有电压,这种
认为是不对的,对于高阻状态来说,测量电压是无意义的,正确的方法应是外加上拉电阻,上拉电阻的阻值
=
上拉
电压
/
芯片引脚最大灌(拉)电流。
推挽方式可完全独立产生高低电平,
推挽方式为低阻,
这样,才能保证口线上不分走电压或分走极小的电压(可忽
略)
,
保证输出与电源相同的高电平,
推挽适用于输出而不适用于输入,
因为若对推挽
(低阻)
加高电平后,
I=U/R
,
I
会很大,将造成口的烧毁。
对与
C8051F
的很多型号片子,将
I/O
口设置为推挽方式的做法为:
PnMDOUT=0xff
,
Pn=0x00
,这样设置
I/O
口
为推挽,并输出低电平(可降低功耗)
将
I/O
口设置为漏开方式的做法为:
PnMDOUT=0x00
,
Pn=0x11
,这样设
置
I/O
口为漏开。
如果学过三极管放大电路一定知道,
前置单管放大器和功放末级放大电路的区别。
单片机内部的逻辑经过内部的逻
辑运算后需要输出到外面,
外面的器件可能需要较大的电流才能推动,
因此在单片机的输出端口必须有一个驱动电
路。
这种驱动电路有两种形式
:
其中的一种是采用一只
N
型三极管(
npn
或
n
沟道),以
npn
三极管为例,就是
e
接地,
b
接内部的逻辑运算,
c
引出,
b
受内部驱动可以控制三极管是否导通但如果三极管的
c
极一直悬空,尽管
b
极上发生高低变化,
c
极上也
不会有高低变化,因此在这种条件下必须在外部提供一个电阻,电阻的一端接
c(
引出脚)另一端接电源,这样当
三极管的
b
有高电压是三极管导通,
c
电压为低,当
b
为低电压时三极管不通,
c
极在电阻的拉动下为高电压,这
种驱动电路有个特点:低电压是三极管驱动的,高电压是电阻驱动的(上下不对称),三极管导通时的
ec
内阻很
小,因此可以提供很大的电流,可以直接驱动
led
甚至继电器,但电阻的驱动是有限的,最大高电平输出电流