深刻理解单片机上拉电阻(一)

[复制链接]
1322|22
 楼主| darklighttt 发表于 2020-4-27 09:49 | 显示全部楼层 |阅读模式
刚接触上拉/下拉电阻概念的时候,经常把下面的排阻:
2021177-20200426171136049-488985909.jpg (!!!!一般单片机外接LED显示电路只能设计成这样,为什么,第二讲再讲)
误认为是上拉电阻,其实不是这样的,这排电阻主要是限流起保护电路作用。

 楼主| darklighttt 发表于 2020-4-27 09:50 | 显示全部楼层
真实的上拉电阻是集成在芯片内部的,以I/O口上拉电阻为例,是这样的:

2021177-20200426175612461-874510024.jpg R为上拉电阻,通常很大为10k左右,为什么很大,下面会说

 楼主| darklighttt 发表于 2020-4-27 09:50 | 显示全部楼层
该电路类似于(1)单管共射放大电路直流通路(2)非门电路(拓展一下,这两个电路和本文无关)
(1)当没有输入时,三极管基极电流为0,三极管截止(不导通),电压通过上拉电阻R传导给I/O口输出高电平即out为高电平,则第一张图LED不发光。如图:
2021177-20200426212710418-980486943.jpg

这是protues仿真时运行的程序,GPIO默认输出高电平(红点代表高电平)
(2)当有输入时,三极管基极电流不为0,三极管处于放大状态(为什么处于放大状态:这是由于基极电阻和上拉电阻共同决定的,芯片厂商已经设计好,不用管)
此时IO口输出的电压为Vcc-I(e)*R≈0,即输出低电平,这样第一张图的LED就发光了。
以上就是上拉电阻的作用了,可以使IO即输出低电平也可以输出高电平。
(3)注:特别注意!!!in口有输入并不代表给I/O口赋值为1,同样,in口没有输出并不代表给I/O口赋值为0,赋值只是起到触发作用,可能里面有触发器(个人猜测)

gygp 发表于 2020-6-3 15:09 | 显示全部楼层
上拉电阻的作用其实就和上面那个电路有相似的地方。
chenci2013 发表于 2020-6-3 15:10 | 显示全部楼层
开漏的,不管它的驱动能力多大,相当于它是没有电源的
biechedan 发表于 2020-6-3 15:10 | 显示全部楼层
一般是根据单片机的型号而来  
wangdezhi 发表于 2020-6-3 15:10 | 显示全部楼层
该如何接上拉电阻?  
isseed 发表于 2020-6-3 15:11 | 显示全部楼层
一般就是将不确定的信号固定在高电平  
xietingfeng 发表于 2020-6-3 15:11 | 显示全部楼层
上拉电阻就是将不确定的信号端通过对正电源接一个电阻使该信号端暂时维持在高电平
suzhanhua 发表于 2020-6-3 15:11 | 显示全部楼层
把这个端口用作输出口驱动外部电路或作输入端口时,才用加上拉电阻
mituzu 发表于 2020-6-3 15:12 | 显示全部楼层
接多大的上拉电阻   
hellosdc 发表于 2020-6-3 15:12 | 显示全部楼层
当I/O口的驱动能力不够 加上拉可以增加驱动能力
uiint 发表于 2020-6-3 15:12 | 显示全部楼层
         
biechedan 发表于 2020-6-3 15:12 | 显示全部楼层
单片机的型号不同,引脚的灌电流能力也不同
chenci2013 发表于 2020-6-3 15:12 | 显示全部楼层
需要外部的电路提供  
wangdezhi 发表于 2020-6-3 15:12 | 显示全部楼层
IC本身没有内接电阻   
isseed 发表于 2020-6-3 15:12 | 显示全部楼层
或者是加大单片机的驱动能力。  
gygp 发表于 2020-6-3 15:12 | 显示全部楼层
加大输出引脚的驱动能力  
mituzu 发表于 2020-6-3 15:12 | 显示全部楼层
上拉电阻阻值如何确定?  
suzhanhua 发表于 2020-6-3 15:13 | 显示全部楼层
如果用来扩展总线或者数据线时,不用加上拉电阻。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

132

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部