|
嗯,你還是漏了一個問題沒有回答清楚:你有幾個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等等。見附件。 |
|