上拉电阻、下拉电阻的一些理解
最近在做课程设计,到了总结收尾阶段,可爱的LBQ同学就提出了一个很可爱的问题。原文是如图所示,其实LBQ同学的意思就是我们的实际电路是直接连51单片机的IO口的,没有加上拉电阻,程序可以正常跑通,但有些资料却强调说单片机的IO口使用时要加上拉、下拉电阻。
以下就以LBQ同学的可爱问题解释一下上下拉电阻吧。
事不宜迟,马上进入正题
首先声明一下:我们这次用的是STC89C52RC这款单片机,有点古老,但又很经典哈哈。这款芯片复位后引脚状态:P1/P2/P3是准双向口/弱上拉(后面再解释弱上拉,其实很简单),P0口是漏极开漏输出,做总线扩展不用加上拉电阻,做普通IO口用要加上拉电阻。
- 什么是上拉下拉电阻?
很简单,如图是(画得有点丑,将就一下哈),上拉电阻是一个电阻的一端接电源,另一端接IO口的引脚。下拉也一样,一个电阻的一端接地,另一端接IO口的引脚。
- 上拉是指通过一个连接在单片机IO口和电源之间的电阻将不确定或高电平驱动能力不够的电位控制在高电平。就好比如我们这次课程设计的电机驱动IC,在调试程序的时候发现给单片机IO的的高电平一直被拉低了,到不了5v,只有零点几伏,导致直流减速电机一直启动不了,后来加了一个9.1K的上拉电阻之后就可以正常启动电机了.上拉电阻越大,驱动能力越强,抗干扰能力越强,功耗也越大.在高速电路中,对信号上升沿有一定的抑制作用,需要注意.
- 下拉是通过一个连接在单片机IO口可电源之间的电阻将不确定或低电平驱动能力不够的电位控制在低电平。下拉电阻有另外一个很好的作用,匹配阻抗,虽然暂时还没遇到,不过配配阻抗是个细活。
- 上拉下拉的电阻阻值范围一般再1kΩ~10kΩ之间,电阻越大,功耗也会越大.
- 弱上拉和强上拉的说法不是很规范!上拉电阻阻值小时,可称为强上拉,反之,称为弱上拉.一开始我们说到51单片机复位后P1/P2/P3处于弱上拉就是这种情况,这种弱上拉只适合一些驱动一些IIC、UART通讯总线,遇到类似电机这种需要很强驱动能力和长时间大电流大电压外设来说就需要再单片机外部再加上拉电阻了,以提高它的驱动能力。弱上拉和强上拉的说法不是很规范!上拉电阻阻值小时,可称为强上拉,反之,称为弱上拉.一开始我们说到51单片机复位后P1/P2/P3处于弱上拉就是这种情况,这种弱上拉只适合一些驱动一些IIC、UART通讯总线,遇到类似电机、LCD液晶屏这种需要很强驱动能力和长时间大电流大电压外设来说就需要再单片机外部再加上拉电阻了,以提高它的驱动能力。
- 所以矩阵键盘这种外设不像直流减速电机那样,需要的驱动能力并不是很大,有内部的弱上拉使用已经足够了,如果再外界上外电阻也不是不可以,但会增加的功耗,我们支持绿色环保,所以就不加上拉电阻了哈哈。
- 简单的说明一下上下拉电阻,如有错误,还望各前辈多多指教,同时也希望LBQ同学能够大彻大悟,哈哈。