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

刚接触上拉/下拉电阻概念的时候,经常把下面的排阻:

(!!!!一般单片机外接LED显示电路只能设计成这样,为什么,第二讲再讲)

误认为是上拉电阻,其实不是这样的,这排电阻主要是限流起保护电路作用。

真实的上拉电阻是集成在芯片内部的,以I/O口上拉电阻为例,是这样的:

R为上拉电阻,通常很大为10k左右,为什么很大,下面会说

该电路类似于(1)单管共射放大电路直流通路(2)非门电路(拓展一下,这两个电路和本文无关)

(1)当没有输入时,三极管基极电流为0,三极管截止(不导通),电压通过上拉电阻R传导给I/O口输出高电平即out为高电平,则第一张图LED不发光如图:

 

 这是protues仿真时运行的程序,GPIO默认输出高电平(红点代表高电平)

(2)当有输入时,三极管基极电流不为0,三极管处于放大状态(为什么处于放大状态:这是由于基极电阻和上拉电阻共同决定的,芯片厂商已经设计好,不用管)

此时IO口输出的电压为Vcc-I(e)*R≈0,即输出低电平,这样第一张图的LED就发光了。

以上就是上拉电阻的作用了,可以使IO即输出低电平也可以输出高电平。

(3)注:特别注意!!!in口有输入并不代表给I/O口赋值为1,同样,in口没有输出并不代表给I/O口赋值为0,赋值只是起到触发作用,可能里面有触发器(个人猜测)

posted @ 2020-04-26 21:50  guyjyc  阅读(1058)  评论(0)    收藏  举报