|
发表于 2011-7-25 09:10:08
|
显示全部楼层
嗯,你还是漏了一个问题没有回答清楚:你有几个IO口可供使用?51单片机,少的有10余个口,多的有上百个口的,呵呵。
算了,就按照你在首帖所讲,只有一个Prot,即8个IO口,要点亮16个LED,那么有好几种方案:
1、交叉阵列方式。
8个口分两组,4条控制高电平输出,4条控制接地,4x4正好是16颗。
2、移位串行控制。
加一片移位串并转换IC,比如7CHC595,那么你只需要3个IO口即可控制8个LED灯独立的亮和灭,可以任意的闪烁。3个IO口分别控制清零、数据、时钟信号线。
在此基础上,再级联一颗595,就可以控制16颗LED,以此类推。
3、串口扩展。
有不少的串口转换IC,可以通过UART/SPI/I2C等接口进行通讯,接口之间相互转换,还可以扩展IO口,比如飞利浦的sc16is7xx系列、TI的tca5405、三洋的LA79200V等等。见附件。 |
|