原文:
如何用3个I/O控制8个LED.可以另外加三极管.
这是你的图片:
我很赞同你对技术问题的认真态度.
但我也提出我的看法,楼主的八个指示灯要求是互不相关的,也就是互相独立的.要测试是否能够独立,最简单的办法就是让每一个灯单独的点亮,而让其他所有的
灯都不亮,看能否实现.D1-6是可以的,但是7-12这六个,至少有三个是亮的,1-6改变状态时,7-12将伴随着乱亮,对不对?
6个的话,较容易实现些.
1个LED有两种状态,亮和灭.8个一共有16种状态.
1个I/O口静态只有三种状态,高、低和高阻态.3个I/O静态只有9个状态,无法控制16个状态.因此要想简单控制,是无法做到的,特殊方法下,可以做到,但电路会复杂.
下图是3个控制6灯,低,上灯亮,高下灯亮,高阻灯灭.
这个3控6个LED ,这个4控8个LED.这个电路会好些.
赞同这种分析,其实,这种接法的另一个问题是对程序的消耗很大,端口一会为高,一会为低,一会又为高阻,而且很难找一个规律,虽然也是动态扫描,但是这种扫描要比138的扫描复杂得多,大家只是把它作为一种方法来分析探讨而已,不具备适用价值.
其实,就是采用138,也不是什么好办法,我认为最好的办法是采用4094或者是74LS164,也可以用595,占用端口很少,器件级联时端口数还可以无限扩展,程序的压力会大大减轻,而且由于是静态显示,亮度也会大大提高.
阅读(1407) | 评论(0) | 转发(0) |