TM1640是一款LED驱动控制专用电路,性能可靠,价格低廉。可以驱动8段16位数码管或者8×16组LED,主要应用于电子产品LED显示屏驱动。使用TM1640可以让单片机从繁琐的动态扫描中解放出来,专心处理实时数据,实乃仪表类开发的必备良品。
Arduino这个小玩具因其自带IDE定制的开发环境,既不用设置寄存器,也不用写一长串GPIO的配置,拿过来就操,用来测试芯片的驱动非常简单方便,作为一个嵌入系统开发者,手里有一个3.3V/5V兼容的Arduino Uno plus的话,简直就是一个万能测试器。
例程如下:
/*BG2RHE 2019.04 TM1640流水灯测试程序
* 硬件配置:
* Arduino的数字9口接TM1640的时钟输入SCLK,数字8口接TM1640的数据输入DIN。
* TM1640的C8H段上接8个LED。
*/
#define SCL 9
#define DIN 8
u8 c = 0x01; /*LED初始化值*/
void setup() {
pinMode(SCL, OUTPUT);
pinMode(DIN, OUTPUT);
TM1640_start();
TM1640_write(0x44); /*固定地址数据命令*/
TM1640_write(0x88); /*显示控制命令:1/16级亮度*/
TM1640_end();
}
void loop() {
delay(100);
TM1640_start();
TM1640_write(0xC8); /*LED显存地址*/
TM1640_write(c); /*LED显示值*/
c <<= 1;
if (c