TM1629A使用说明与驱动
1.特性说明
①显示模式 16 段×8 位
② 辉度调节电路(占空比8 级可调)
③ 串行接口(CLK,STB,DIO)
④内置上电复位电路
⑤振荡方式:RC 振荡(450KHz+5%)
2.管脚的定义与说明

符号 | 管脚名称 | 说明 |
---|
DIO | 数据输入 | 在时钟上升沿输入串行数据,从低位开始 |
STB | 片选 | 在低电平,才能处理数据,高电平,不接收。可以做为控制多个TM1829A芯片使用 |
CLK | 时钟输入 | 时钟上升沿输入串行数据。 |
SEG1~SEG16 | 输出(段) | 段输出,P管开漏输出 |
GRID1~GRID8 | 输出(位) | 位输出,N管开漏输出 |
VCC | 电源正极 | 5V±10% |
GND | 电源负极 | 系统地 |
3.显示寄存器地址和显示模式

4.指令说明
B7 | B6 | 指令 |
---|
0 | 1 | 数据命令设置 |
1 | 0 | 显示控制命令设置 |
1 | 1 | 地址命令设置 |
5.数据命令设置

6.地址设置说明

7.显示控制

8.串行传输数据格式

9.代码示范
typedef unsigned char u8;
typedef unsigned short u16;
u8 G8XUV_TM1629A_Write_Buffer[16]=0;
void TM1629A_SPI_Drive(u8 Byte)
{
u8 i;
for(i=0;i<8;i++)
{
_nop_();
TM1629A_DIN=Byte&0x01;
TM1629A_SCLK=1;
Byte=Byte>>1;
TM1629A_SCLK=0;
}
}
void TM1629A_Write_Reg(u8 Byte)
{
TM1629A_STB=0;
TM1629A_SPI_Drive(Byte);
TM1629A_STB=1;
}
void TM1629A_Write_Data(u8 *pBuf)
{
u8 i;
TM1629A_STB=0;
TM1629A_SPI_Drive(0XC0);
for(i=0;i<16;i++)
{
TM1629A_SPI_Drive(*pBuf++);
}
TM1629A_STB=1;
}
void TM1629_Init()
{
u8 x;
TM1629A_DIN = 1;
TM1629A_STB = 1;
TM1629A_SCLK= 0;
for(x=0;x<16;x++)
{
G8XUV_TM1629A_Write_Buffer[x]=0;
}
TM1629A_Write_Reg(0x88);
TM1629A_Write_Reg(0x40);
TM1629A_Write_Data(G8XUV_TM1629A_Write_Buffer);
}