首先要先理解一下上拉电阻、下拉电阻的概念。假设有下面这么一个电路,MCU需要检测开关的通断。
当开关闭合时,MCU IO检测到0,但是当时开关开启时,IO引脚处于floating状态,容易受干扰而处于未知状态。 这时可以在IO口上加一个电阻到Vdd,这样开关断开时就能保证电平是固定的高电平1,这个电阻就叫做上拉电阻。 下拉电阻类似,它的作用是开关断开时,保证电平是固定的低电平0。 那么这个阻值该用多大呢? 首先阻值不能太小,因为太小,开关闭合时会产生较大的电流,会引起一来功耗大,二来也不安全。试想一下电阻为0是什么后果。 另外阻值也不能太大,阻值太大,上拉/下拉的作用就变弱,越大越接近于开路,开关断开时IO就越接近于浮空状态,就越容易受干扰。试想一下阻值无穷大是什么效果。 所以这个电阻既不太大,也不太小,一般是几K到几十K大小,兼顾了功耗和上下拉作用。 这里就引入了强弱的概念,弱就是阻值大,强就是阻值小。
| | 上拉 | 下拉 | 弱 | 电阻大,电流小,上拉效果弱 | 电阻大,电流小,下拉效果弱 | 强 | 电阻小,电流大,上拉效果强 | 电阻小,电流大,下拉效果强 |
注意这只是个相对概念。
|