最普通的行列矩阵式驱动,可以用N+M个IO驱动N*M个LED。而这种被叫做Charlieplexing的方法可以用N个IO驱动N*(N-1)个LED。也就是说要驱动6个LED,用行列式需要5个口,而这种方法只要3个。LED也多,节省的IO越多。比方说驱动20个LED,行列式要用9个,而这种只要5个。
这么做有个前提,IO口要有三种状态:高电平输出、低电平输出、高阻输入,利用“行列分时复用”的思想,设计电路。
其实这也不是什么新的技术了,在网上,我找到了好多关于这方面的文章:
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
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/
Copyright © 2008
来源:https://www.cnblogs.com/xlander/archive/2007/05/29/1858616.html