TM1629A使用说明与驱动
1.特性说明
①显示模式 16 段×8 位
② 辉度调节电路(占空比8 级可调)
③ 串行接口(CLK,STB,DIO)
④内置上电复位电路
⑤振荡方式:RC 振荡(450KHz+5%)
2.管脚的定义与说明
![在这里插入图片描述](https://img-blog.csdnimg.cn/4101daee9cb3413d9cb87f48082bf5d0.png#pic_center)
符号 | 管脚名称 | 说明 |
---|
DIO | 数据输入 | 在时钟上升沿输入串行数据,从低位开始 |
STB | 片选 | 在低电平,才能处理数据,高电平,不接收。可以做为控制多个TM1829A芯片使用 |
CLK | 时钟输入 | 时钟上升沿输入串行数据。 |
SEG1~SEG16 | 输出(段) | 段输出,P管开漏输出 |
GRID1~GRID8 | 输出(位) | 位输出,N管开漏输出 |
VCC | 电源正极 | 5V±10% |
GND | 电源负极 | 系统地 |
3.显示寄存器地址和显示模式
![在这里插入图片描述](https://img-blog.csdnimg.cn/b1b76354883146a1b36c1b8525d1fd35.png#pic_center)
4.指令说明
B7 | B6 | 指令 |
---|
0 | 1 | 数据命令设置 |
1 | 0 | 显示控制命令设置 |
1 | 1 | 地址命令设置 |
5.数据命令设置
![在这里插入图片描述](https://img-blog.csdnimg.cn/98c8f599fd7f4cdb8b7e69d149067673.png#pic_center)
6.地址设置说明
![在这里插入图片描述](https://img-blog.csdnimg.cn/11257da8655941288ae66d2e8c4148f3.png#pic_center)
7.显示控制
![在这里插入图片描述](https://img-blog.csdnimg.cn/e6eed0d7b6b24e9dae6d070850fdf571.png#pic_center)
8.串行传输数据格式
![在这里插入图片描述](https://img-blog.csdnimg.cn/e41b98a0dced49f9ad5a09aad01d8610.png#pic_center)
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);
}