最普通的行列矩阵式驱动,可以用 N+M 个 IO 驱动 N*M 个 LED。而这种被叫做 Charlieplexing 的方法可以
用 N 个 IO 驱动 N*(N-1)个 LED。也就是说要驱动 6 个 LED,用行列式需要 5 个口,而这种方法只要 3 个。L
ED 也多,节省的 IO 越多。比方说驱动 20 个 LED,行列式要用 9 个,而这种只要 5 个。
这么做有个前提,IO 口要有三种状态:高电平输出、低电平输出、高阻输入,利用“行列分时复用”的思
想,设计电路。
(原文件名:untitled3.jpg)
(原文件名:untitled4.jpg)
其实这也不是什么新的技术了,在网上,我找到了好多关于这方面的文章:
Charlieplexing - Reduced
Pin-Count LED
Display Multiplexing
http://www.maxim-ic.com/appnotes.cfm/appnote_number/1880
Tips ''''n Tricks 8-pin
FLASH PIC
Microcontrollers
http://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf
40040b.pdf:点击此处下载 ourdev_427559.pdf(文件大小:935K) (原文件名:40040b.pdf)
how to drive
a lot
of LEDs from a few
microcontroller pins
http://www.instructables.com/id/E5COF05YF6EP287ITF/
connect 6
leds using 3
microcontroller pins
http://www.scienceprog.com/connect-6-leds-using-3-microcontroller-pins/