新闻中心

EEPW首页>嵌入式系统>设计应用> 单片机的I/O口输出电流问题

单片机的I/O口输出电流问题

作者: 时间:2016-11-25 来源:网络 收藏
问:单片机除P0口外,其他输出都是5V吧?那么用来驱动数码管为什么还需要加三极管驱动?比方说加100欧的电阻,那么电流就高达5V/100欧=50mA,而数码管才20mA?我搞不懂。。。再者三极管怎么都没标明电流放大倍数?
答:这个类似于 电源的内阻。
输出电流越大,消耗在内部的电压压降就越大。输出电压=5V-内部压降。51单片机的上拉管典型阻值20k,若外部开路,在内部的压降=0,输出就是5V,如果IO接个5k电阻到GND,那么外部电阻的电压=5V÷(5+20)×5=1V,而外部5K电阻上的电流才1V/5k=200uA。所以你接100欧的电阻,IO的输出电压更本就很小了,根本达不到5V÷100欧=50mA的水平,一般来说高电平输出能力也就100-200uA,低电平输出能力8mA-10mA (AT89C2051等IO已强化,可吸入20mA电流)。这么小的电流驱动数码管,你就自己看吧,所以才加三极管驱动。数码管20mA的电流一般是偏大的,静态显示时,一般选5-15mA即可。动态显示可适当加大至20mA左右,不然亮度偏低。一般三级管的静态放大值取100就可以估算。比如驱动一个5V(额定电压)线圈继电器。线圈内阻是120欧,估算驱动电流有5V/120欧=40mA,单片机一般只能输出10mA,驱动不了。那么靠三极管驱动,基极驱动电流=40mA/100=400uA>200uA,
若使用PNP型三极管,则使用低电平驱动,基极电阻=(5-0.7)V÷0.4mA=10k,若使用NPN型三极管,则使用高电平驱动,如上面所说,输出能力最多200uA,达不到400uA,要使用上拉电阻产生至少200uA电流,上拉电阻=(5-0.7)V/0.2mA=21.5k这些计算值都是临界值,要保险点就在这个值的基础上稍微选小一点就ok


评论


技术专区

关闭