关于单片机的I/O驱动问题

     不少人说我对于电子这个行业没什么天分,但是我热爱电子学。我始终记住这么一句话:电子学迷人的地方就是能够采用次等元件实现高质量的电路。

我对电子学的热爱不亚于编程,如果说编程更加需要缜密的思维,那么电子设计就需要创造性的思维,我不是说编程不需要创造性思维,而是电子设计

的创造性思维更加具有破坏性。

     入正题。首先单片机px口的内部上拉都是弱上拉,何谓弱上拉,简单的来说,弱上拉即是上拉电阻很大,那么电阻大,在电源不变的情况下,电流就小

嘛,所谓弱指的是电流弱。其实弱上拉是制造工艺确定的,单片机内部的上拉电阻是用mos管做的,那么就不可能把阻值做的很小,很可能是并联了几个

mos管才使阻值大得不那么明显,既然无法使用强上拉,那么只能用弱上拉勉强凑合着用,只要外围电路设计得当,这不是什么大问题来的。。。

  由于有些单片机内部是弱上拉,那么驱动能力很可能会不足,例如LED灯正常工作电流是5mA到20mA,假设你想用拉电流来驱动LED,(拉电流驱动

即是LED的正极接单片机的I/O端,负极接地端),当单片机输出高电平时,如果上拉电阻是10K(可能比这个还要大),那么5v/10k=0.5ma,很明显0.5ma的电流是不足以驱动LED的,如果你坚持,可以加一级缓冲级,用三极管把拉电流放大再来驱动LED.

  为了简化电路设计,很多人选择用灌电流来驱动LED,即是LED正端接外围5V正电源,负端接I/O,那么流过LED的电流可以很大,但是最好有个限制,

毕竟流过LED的电流也会流进单片机的I/O口,mos管有个最大允许电流,为了不超过这个值,所以最好装个限流电阻,而且毕竟LED太亮也不好的嘛。

posted @ 2012-05-10 21:59  一维  阅读(772)  评论(0编辑  收藏  举报