上拉电阻和下拉电阻的作用 提高电路稳定性,避免引起误动作。第一图中的按键如果不通过电阻上拉到高电平,那么在上电瞬间可能就发生误动作,因为在上电瞬间单片机的引脚电平是不确定的,上拉电阻R12的存在保证了其引脚处于高电平状态,而不会发生误动作。 提高输出管脚的带载能力。受其他外围电路的影响单片机在输出高电平时能力不足,达不到VCC状态,这会影响整个系统的正常工作,上拉电阻的存在就可以使管脚的驱动能力增强。这里特别强调如下:带片上I2C资源的单片机,其SCL和SDA引脚是开漏引脚,如果当做普通的GPIO来用的话,你会发现该引脚输出高电平极不稳定甚至因为负载的关系都无法正常输出高电平,这时候就需要在这两个引脚上加上拉电阻了。 该用上拉电阻还是下拉电阻?对于输入端来说,上拉或者下拉都可以,这取决于你希望输入端的电平的常态,是高电平就用上拉电阻,是低电平就用下拉电阻。 对于输出端来说,如果是集电极或者漏极对电源正极开路,就必须使用上拉电阻将电平固定在高电平;如果是发射极或者源极对电源负极开路,就必须使用下拉电阻将电平固定在低电平;如果是三态输出端(推挽输出),在高阻态的时候,要输出高电平就用上拉电阻,要输出低电平就用下拉电阻。 上拉电阻和下拉电阻阻值选多大?对于输出端: 需要考虑负载电流和输出端的极限电流,主要考虑能够提供足够的负载电流就好。 阻值越大负载电流越小,反之越大。 对于输入端: 阻值的选取,直接影响信号传输的抗干扰性,一般来说,会使用1K~10K的电阻,当然也可以超出这个范围。 阻值越小,抗干扰越强,但需要更大的输入功率(P=U*U/R)使得系统功耗过大。 阻值越大,抗干扰越弱,但仅需要很小的输入功率(P=U*U/R)使得系统很节能。 想使用较大的阻值,降低功耗,需要尽可能缩短信号传输的距离。 如果你有示波器,在加入上拉或者下拉电阻的输入端,进行测量,将阻值从大到小进行变化,你会看到在不输入任何信号的时候,杂讯的波幅会越来越小,也就是信噪比越来越高。 |