500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/38/1140077251.gif');}" onmousewheel="return imgzoom(this);">500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/38/1140077818.gif');}" onmousewheel="return imgzoom(this);">500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/38/1140077982.gif');}" onmousewheel="return imgzoom(this);">
请大家帮我看看,这个电路总共要驱动96个发光二极管,每个发光二极管的的驱动电流达到20mA的时候,可以达到比较理想的发光效果.由于驱动的发光二极管的数量较多,所以我采取行列扫描方式,即使用P0口做扫描行线,P1,P2口做扫描列线.由此产生的问题是:如果采取我目前的电路,假设96个发光管全部点亮,那么上P0口将承受18mA的灌电流(P0口理论上最大可以承受20mA的灌电流);而每片74HC04(每一片带48个负载)的拉电流也将达到16mA,显然是74HC04所不能提供的.据74HC04的资料指出其最大的拉电流只有4mA,如果按照资料上的说明,那么每一个负载最多只能分配0.083mA,如果我调整9013的基极电阻,使其基极电流为0.083mA,能够使9013达到饱和状态吗?
请各位高手赐教,使9012,9013达到饱和状态的最小基极电流是多少?
还有没有更好的方案解决我所面临的状况,附上电路图,小弟在这里跪求了
多路发光二极管的驱动问题
全部回复(8)
正序查看
倒序查看
现在还没有回复呢,说说你的想法
500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/38/1140228777.jpg');}" onmousewheel="return imgzoom(this);">
看了半天,还是没搞清楚你的意思.你看这个电路可以吗?只画了8X5作为示意.每次先选定一行,比如P10为高电平,然后把显示数据由P0口输出,0时LED亮,1时灭.20ms内要把所有行扫描一遍,这样人眼才不会感觉到闪烁.以你的要求要12行,那么每行选通的时间最多为1.6ms.即每个LED在20ms内有1.6ms时间发光.假设每个LED电流为20mA,则P0口驱动的每个三极管也只有20mA,而行选通的三极管最大有8x20=160mA.
使三极管达到饱和的基极电流Ibs=Ics/β,在这里要尽量选用β高的管子.单片机的I/O口有能力把三极管驱动到饱和,但要注意基极电阻的选择.
看了半天,还是没搞清楚你的意思.你看这个电路可以吗?只画了8X5作为示意.每次先选定一行,比如P10为高电平,然后把显示数据由P0口输出,0时LED亮,1时灭.20ms内要把所有行扫描一遍,这样人眼才不会感觉到闪烁.以你的要求要12行,那么每行选通的时间最多为1.6ms.即每个LED在20ms内有1.6ms时间发光.假设每个LED电流为20mA,则P0口驱动的每个三极管也只有20mA,而行选通的三极管最大有8x20=160mA.
使三极管达到饱和的基极电流Ibs=Ics/β,在这里要尽量选用β高的管子.单片机的I/O口有能力把三极管驱动到饱和,但要注意基极电阻的选择.
0
回复
提示
@ghsdwf
[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/38/1140228777.jpg');}"onmousewheel="returnimgzoom(this);">看了半天,还是没搞清楚你的意思.你看这个电路可以吗?只画了8X5作为示意.每次先选定一行,比如P10为高电平,然后把显示数据由P0口输出,0时LED亮,1时灭.20ms内要把所有行扫描一遍,这样人眼才不会感觉到闪烁.以你的要求要12行,那么每行选通的时间最多为1.6ms.即每个LED在20ms内有1.6ms时间发光.假设每个LED电流为20mA,则P0口驱动的每个三极管也只有20mA,而行选通的三极管最大有8x20=160mA.使三极管达到饱和的基极电流Ibs=Ics/β,在这里要尽量选用β高的管子.单片机的I/O口有能力把三极管驱动到饱和,但要注意基极电阻的选择.
感谢楼上两位兄弟的回复,其实我要驱动的发光二极管的实际个数有144个,如何保证亮度是个很饶头的问题
0
回复
提示