按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
际上对于CMOS电路;上拉电阻的阻值用1M的也是可以的;但是要注意上拉电阻的阻值太大的时候;容易产生干扰;尤其是线路板的线条很长的时候;这种干扰更严重;这种情况下上拉电阻不宜过大;一般要小于100K;有时候甚至小于10K。
根据以上分析;上拉电阻的阻值的选取是有很多讲究的;不能乱用;具体情况比较复杂;如果你是个莱鸟;那么你尽量用小一些的;这样牺牲一些电源功耗。不过最好请教一下有关人员。
我也不是很懂。不过;我是这么想的;请老丐多指教!
假如P0口驱动的是一排(8个)发光二极管吧。
那么当二极管发光时;它两端的电压为0。7V(一般二极导通后的电压为0。7V);工作电流10mA
而我们单片机的工作电压一般为5V;那么它接的上拉电阻为:R=(5V…0。7V)/10mA=430欧。
所以我认为应该为400欧左右。不知道对不对呀。
照楼上朋友的思路;我想应该是(因发光二极管的电压一般是1。8V左右;)200欧姆左右
发光二极管正常工作时二端电压是在1。8V左右。
强调:P口仅仅适合接共阳LED;不适合接共阴;如果一定要共阴;必须先用驱动电路驱动。
能用共阳就能用共阳
其实道理一样的
当你共阳的时候电流其实也是从正电源流入P口的;
共阳接法
假设限流电阻用1K的话;那流入P口电流约是(VCC…2)/1K=3MA
共阴接法
上拉电阻也选用1K;P口高阻状态时LED是亮的;这时候流过P口电流为零
流过LED电流和上面共阳接法一样;也是3MA
当LED灭的时候;电流全部从P口流入;即3MA电流全部被P口吸收;LED不亮
既然共阳接法P口能吸入3MA电流;为什么共阴接法就不行呢!!
其实我看过很多电路图就是这样接的。。。
楼主其实没说清楚
比如驱动LED的时候;应该分二种情况
比如用共阳接法和共阴接法;
共阳的时候LED正端接正电源;负端通过一个限流电阻接P口;这时不用接上拉电阻;只要这个限流电阻取合适就可以了
发光管亮的时候电流就是从电源正——LED——限流电阻——P口;P口为低电位
发光管灭的时候没有电流流过;P口为高电位或高阻状态
共阴接法;LED负端接地;正端直接P口;这时候要接上拉电阻;这个上拉电阻是提供LED发光用的;
发光管亮的时候电流是从电源正——上拉电阻——LED——地。这时上拉电阻也是限流用的。P口为高电位或高阻状态
发光管暗的时候电流是从电源正——上拉电阻——P口;这时LED无电流流过;P口为低电位;限流电阻上流过电流全部从P口流入。
其他情况就不细分析了
要从单片机的输出驱动能力开始讲起。单片机输出驱动分为高电平驱动和低电平驱动两种方式;所谓高电平驱动;就是端口输出高电平时的驱动能力;所谓低电平驱动;就是端口输出低电平时的驱动能力;当单片机输出高电平时;其驱动能力实际上是*端口的上拉电阻来驱动的;实际测试表明;51单片机的上拉电阻的阻值在330K左右;也就是说如果*高电平驱动;本质上就是*330K的上拉电阻来提供电流的;当然该电流是非常小的;小的甚至连发光二极管也难以点亮;如果要保证LED正常发光;必须要外接一个1K左右的上拉电阻;如果是一个led还好;要是10个、20个led的话;就要接10个、20个1K的上拉电阻;接电阻的本身是可以的;问题是接了上拉电阻以后;每当端口变为低电平0的时候;那么就有10个、20个上拉电阻被无用的导通;假设每个电阻的电流为5mA计算;20个电阻就是100mA;这将造成电源效率的严重下降;导致发热;纹波增大;以至于造成单片机工作不稳;因此很少有采用高电平直接驱动led的;高电平驱动led实际上就是共阴。低电平驱动就不同了;端口为低电平0时;端口内部的开关管导通;可以驱动高达30多毫安的驱动电流;可以直接驱动led等负载;当端口为低电平0时;尽管内部的上拉电阻也是消耗电流的;但是由于内部的上拉电阻很大;有330K;因此消耗电流极小;基本上不会影响电源效率;不会造成无用功的大量消耗;因此51单片机是不能用高电平直接驱动led的;只能用地电平直接驱动led;即只能用共阳数码管;而不能直接用共阴数码管。
欢迎进入老古论坛对论坛中关于I/O口上拉电阻阻值问题的讨论进行讨论