关于stc单片机I/O驱动电流的问题
之前我将单片机串口与lcd串口连起来,但单片机一直不能向lcd发数据。后来师兄就在TXD上加了上拉电阻就可以了。单片机手册上说I/O的驱动能力达到20mA。那当这个I/O...
之前我将单片机串口与lcd串口连起来,但单片机一直不能向lcd发数据。后来师兄就在TXD上加了上拉电阻就可以了。单片机手册上说I/O的驱动能力达到20mA。那当这个I/O口用作串口时的驱动电流也是这么大吗?加了上拉电阻,难道是20mA的电流驱动不了液晶的串口,所以还要加上拉电阻?还是说单片机的串口根本没有驱动电流,所以必须外接上拉电阻?
展开
展开全部
呵呵……高中物理电路部分没好好学吧。这个类似于电源的内阻。
输出电流越大,消耗在内部的电压压降就越大。输出电压=5v-内部压降。
51单片机的上拉管典型阻值20k,若外部开路,在内部的压降=0,输出就是5v,
如果io接个5k电阻到gnd,那么外部电阻的电压=5v÷(5+20)×5=1v,而外部5v电阻上的电流也才1v/5k=200ua。
所以你接100r的电阻,io的输出电压更本就很小了,更本达不到5v÷100r=50ma的水平,
一般来说高电平输出能力也就100-200ua,低电平输出能力8ma-10ma(at89c2051等io已强化,可吸入20ma电流)。这么小的电流驱动数码管,你就自己看吧。所以才加三极管驱动。
数码管20ma的电流一般是偏大的,静态显示时,一般选5-15ma即可。动态显示可适当加大至20ma左右,不然亮度偏低。
一般三级管的静态放大值取100就可以估算。比如驱动一个5v线圈继电器。线圈内阻是120r,估算驱动电流有40ma,单片机一般只能输出10ma,驱动不了。那么考三极管驱动,基极驱动电流=40ma/100=400ua>200ua,
若使用pnp型三极管,则使用低电平驱动,基极电阻=(5-0.7)v÷0.4ma=10k,
若使用npn型三极管,使用高电平驱动,200ua电流不够,要使用上啦电阻产生至少200ua电流,上啦电阻=(5-0.7)v/0.2ma=21.5k
这些计算值都是临界值,要保险点就在这个值的基础上稍微选小一点就ok
输出电流越大,消耗在内部的电压压降就越大。输出电压=5v-内部压降。
51单片机的上拉管典型阻值20k,若外部开路,在内部的压降=0,输出就是5v,
如果io接个5k电阻到gnd,那么外部电阻的电压=5v÷(5+20)×5=1v,而外部5v电阻上的电流也才1v/5k=200ua。
所以你接100r的电阻,io的输出电压更本就很小了,更本达不到5v÷100r=50ma的水平,
一般来说高电平输出能力也就100-200ua,低电平输出能力8ma-10ma(at89c2051等io已强化,可吸入20ma电流)。这么小的电流驱动数码管,你就自己看吧。所以才加三极管驱动。
数码管20ma的电流一般是偏大的,静态显示时,一般选5-15ma即可。动态显示可适当加大至20ma左右,不然亮度偏低。
一般三级管的静态放大值取100就可以估算。比如驱动一个5v线圈继电器。线圈内阻是120r,估算驱动电流有40ma,单片机一般只能输出10ma,驱动不了。那么考三极管驱动,基极驱动电流=40ma/100=400ua>200ua,
若使用pnp型三极管,则使用低电平驱动,基极电阻=(5-0.7)v÷0.4ma=10k,
若使用npn型三极管,使用高电平驱动,200ua电流不够,要使用上啦电阻产生至少200ua电流,上啦电阻=(5-0.7)v/0.2ma=21.5k
这些计算值都是临界值,要保险点就在这个值的基础上稍微选小一点就ok
展开全部
一般lcd驱动电流不是通信口来提供的,通信口只负责数据交换。你这个现象可能是因为单片机电压达不到标准(STC单片机上拉能力不行的灌电流是20ma)和传输线路远导致数字信号衰弱,受到干扰很容易就凸显出来,加个上拉电阻或者总线收发器可以有效解决这个问题。
追问
外接上拉电阻的作用就是为了增加拉电流,才足以发送数据。不是为了驱动负载,跟负载无关。。。我这样理解对吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单片机手册上说I/O的驱动能力达到20mA,
是指单片机I/O的 灌电流(灌入电流)而其 拉电流(流出电流)是很小的
是指单片机I/O的 灌电流(灌入电流)而其 拉电流(流出电流)是很小的
更多追问追答
追问
灌电流是说给I/O灌入电流的意思吗?就是指的下拉能力?
追答
这么理解也可以
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
STC默认IO口是高阻,没上拉的,要置1得配置下工作模式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询