基于TM1620的数码管驱动电路
- 格式:docx
- 大小:198.50 KB
- 文档页数:3
一、概述TM1629B是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用IC,内部集成有MCU 数字接口、数据锁存器、LED驱动、键盘扫描等电路。
本产品质量可靠、稳定性好、抗干扰能力强。
主要适用于家电设备(智能热水器、微波炉、洗衣机、空调、电磁炉)、机顶盒、电子称、智能电表等数码管或LED显示设备。
二、特性说明•采用CMOS工艺•••••••••三、四、管脚说明五、指令说明:指令用来设置显示模式和LED驱动器的状态。
在STB下降沿后由DIN输入的第一个字节作为指令。
经过译码,取最高B7、B6两位比特位以区别不同的指令。
B7 B6 指令0 1 数据命令设置1 0 显示控制命令设置1 1 地址命令设置如果在指令或数据传输时STB被置为高电平,串行通讯被初始化,并且正在传送的指令或数据无效(之前传送的指令或数据保持有效)。
(1)(2)(3)地址命令设置:该指令用来设置显示寄存器的地址。
最多有效地址为16位(00H-0FH),如果地址设为10H或更高,数据被忽略,直到有效地址被设定。
上电时,地址默认设为00H。
,写▲注意:芯片显示寄存器在上电瞬间其内部保存的值可能是随机不确定的,此时客户直接发送开屏命令,将有可能出现显示乱码。
所以我司建议客户对显示寄存器进行一次上电清零操作,即上电后向16位显存地址(00H-0FH)中全部写入数据0x00。
七、显示:1、驱动共阴数码管:图(8)图8给出共阳极数码管的连接示意图,如果让该数码管显示“0”,需要向地址单元00H(GRID1)、02H(GRID2)、04H(GRID3)、06H(GRID4)、08H(GRID5)、0AH(GRID6)里面分别写数据01H,其余的地址0CH(GRID7)、 0EH(GRID8)单元全部写数据00H。
每一个SEG1-SEG8对应的数据如下表格。
▲注意:1、TM1629B最多可以读4个字节,不允许多读。
2、读数据字节只能按顺序从BYTE1-BYTE4读取,不可跨字节读。
一: 概述T M 1726是4*36 L C D 显示驱动控制专用电路,最多可以显示144段。
内部集成有M C U两线数字接口、数据锁存器、L C D 驱动等电路。
支持1/3b a s e ,1/2b a s e ,L I N E 翻转,F R A M E 翻转,支持3V /5V 的L C D 屏。
所有设置均通过2线串行接口传输数据。
主要应用于段码L C D 显示屏产品驱动。
二: 特性说明• 采用低功耗C M O S 工艺• 36X4点L C D 驱动 • 1/2或1/3L C D 驱动偏压可选 • 支持F R A M E 和L I N E 两种驱动波形,选用F R A M E 功耗更低 • 串行接口(S D A ,S C L ) • 振荡方式:内置R C 振荡,典型振荡频率为95K H Z • 封装形式:S S O P 48、L Q F P 44。
三:原理框图VDD8(数据)COM <3:0>5(地址)SEG<35:0>显示控制字(内部框图)GND图1:原理框图电源 上电复位 内部 RC 振荡命令解析四:引脚排列和引脚说明1: S S O P48引脚排列NCCOM3NC COM2NC COM1COM0SCL SEG35NC SEG34SEG0 SEG33SEG1 SEG32SEG2 SEG31SEG3 SEG30SEG4 SEG29SEG5 SEG28SEG6 SEG27SEG7 SEG26SEG8 SEG25SEG9 SEG2418 31 SEG23SEG11 19 30 SEG2220 29 SEG2121 28 SEG2022 27 SEG19SEG15 23 26 SEG18SEG16 24 25 SEG17图2:T M1726-S S O P48引脚排列图VDDG ND SDA SCLK SEG0SEG1SEG2SEG3SEG4SEG5SEG6S E G 7S E G 8S E G 9S E G 10S E G 11S E G 12S E G 13S E G 14S E G 15S E G 16S E G 17SEG18SEG19SEG20SEG21SEG22SEG23 SEG24SEG25SEG26SEG27SEG28S E G 29S E G 30S E G 31S E G 32S E G 33 S E G 34 S E G 35C O M 0C O M 1C O M 2C O M 3图3:T M 1726-L Q F P 44引脚排列2:引脚说明引脚序号 引脚名称功能描述5 S D A 2线串行通讯数据输入6 S C L 2线串行通讯时钟输入44-47 C O M 0-C O M 3 位驱动 8-43 S E G 0-S E G 35 段驱动 2 G N D 地 1 V D D 电源 3,4,7,48 N C不连接五:显示R A M 分布该寄存器存储通过串行接口从外部器件送到T M 1726的数据,地址从00-11H 共18个字节单元,分别与芯片S E G 和C O M 管脚所接的L C D 灯对应,地址分配如下表: B 0 B 1 B 2 B 3 B 4 B 5 B 6 B 7 R A M 地址 C O M 0 C O M 1 C O M 2 C O M 3 C O M 0 C O M 1 C O M 2 C O M 3 00H S E G 0 S E G 1 01H S E G 2 S E G 3 02H S E G 4 S E G 5 03H S E G 6 S E G 7 04H S E G 8 S E G 9 05H S E G 10 S E G 11 06H S E G 12 S E G 13 07H S E G 14 S E G 15 08H S E G 16 S E G 17 09H S E G 18 S E G 19 0A H S E G 20 S E G 21 0B H S E G 22 S E G 23 0C H S E G 24 S E G 25 0D H S E G 26 S E G 27 0E H S E G 28 S E G 29 0F H S E G 30 S E G 31 10H S E G 32 S E G 33 11H S E G 34 S E G 35表1:R A M 地址分配六: 通讯协议T M 1726采用2线串行传输协议通讯。
LED 驱动控制专用电路一、 概述TM1628TM1628 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内 部集成有MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。
本产品性能优 良,质量可靠。
主要应用于VCR、VCD、DVD 及家庭影院等产品的显示屏驱动。
采用SOP28 的封装形式。
二、 特性说明• • • • • • • • 采用功率CMOS 工艺 多种显示模式(11 段×7 位 ~ 14 段×4 位) 键扫描(10×2) 辉度调节电路(占空比8 级可调) 串行接口(CLK,STB,DIO) 振荡方式:内置RC 振荡(450KHz+5%) 内置上电复位电路 封装形式:SOP28三、 管脚定义:1 2 3 4 5 6 7 8 9 10 11 12 13 14NC DIO CLK STB KEY1 KEY2 VDD SEG1/KS1 SEG2/KS2 SEG3/KS3 SEG4/KS4 SEG5/KS5 SEG6/KS6 SEG7/KS7GND GRID1 GRID2 GND GRID3 GRID4 GND VDD SEG14/GRID5 SEG13/GRID6 SEG12/GRID7 SEG10/KS10 SEG9/KS9 SEG8/KS828 27 26 25 24 23 22 21 20 19 18 17 16 15四、管脚功能定义:-1-LED 驱动控制专用电路符号 管脚名称 说明TM1628DIO数据输入/输出在时钟上升沿输入/输出串行数据,从低位开始。
输出为N-ch open drain 在上升或下降沿初始化串行接口,随后等待接收指 令。
STB 为低后的第一个字节作为指令,当处理指 令时, 当前其它处理被终止。
当STB 为高时, CLK 被 忽略 在上升沿读取串行数据,下降沿输出数据 输入该脚的数据在显示周期结束后被 锁存 段输出(也用作键扫描),p管开漏输出 位输出,N管开漏输出 段/位复用输出 5V±10% 接系统地 内部未连线STB片选CLK KEY1~KEY2 Seg1/KS1~ Seg10/KS10 Grid1~ Grid4 Seg12/Grid7 ~ Seg14/Grid5 VDD VSS NC时钟输入 键扫数据输入 输出(段) 输出(位) 输出(段/位) 逻辑电源 逻辑地 空脚▲ 注意:DIO口输出数据时为N管开漏输出,在读键的时候需要外接1K-10K的上拉电阻。
一、概述TM1628是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用IC,内部集成有MCU 数字接口、数据锁存器、LED 驱动、键盘扫描等电路。
本产品质量可靠、稳定性好、抗干扰能力强。
主要适用于家电设备(智能热水器、微波炉、洗衣机、空调、电磁炉)、机顶盒、电子称、智能电表等数码管或LED显示设备。
二、特性说明•采用CMOS工艺•多种显示模式(10 段×7 位~ 13段×4 位)••••••••三、四、管脚功能定义:五、指令说明:指令用来设置显示模式和LED驱动器的状态。
在STB如果在指令或数据传输时STB被置为高电平,串行通讯被初始化,并且正在传送的指令或数据无效(之前传送7位10(3)显示控制命令设置:该指令用来设置显示的开关以及显示亮度调节。
共有8级辉度可供选择进行调节。
略,六、 显示寄存器地址:该寄存器存储通过串行接口接收从外部器件传送到TM1628的数据,最多有效地址从00H-0DH 共14字节单元,分别与芯片SEG 和GRID 管脚对应,具体分配如图(2):写, (图(7)图7给出共阴极数码管的连接示意图,如果让该数码管显示“0”,只需要向00H (GRID1)地址中从低位开2、驱动共阳极数码管:、该芯片最大支持的键扫矩阵为10×2bit,如下所示:图(3)键扫数据储存地址如下所示,先发读按键命令后,开始读取5字节的按键数据BYTE1—BYTE5,读数据从低位开始输出,其中B7和B6位为无效位固定输出为0。
芯片K和KS引脚对应的按键按下时,相对应的字节内的BIT位为1。
▲注意:1、TM1628最多可以读5个字节,不允许多读。
按下时,九、(1需要27位10.....图(10)如图(10)可知,芯片内部按键扫描原理如下:芯片从SEG1/KS1开始逐渐扫描到SEG10/KS10结束,并且SEG1/KS1-SEG8/KS8在一个周期内完成,SEG9/KS9-SEG10/KS10在下一个周期内完成。
一、概述TM1650是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用IC,内部集成有MCU 数字接口、数据锁存器、LED驱动、键盘扫描等电路。
本产品质量可靠、稳定性好、抗干扰能力强。
主要适用于机顶盒、家电设备(智能热水器、微波炉、洗衣机、空调、电磁炉)、电子称、智能电表等数码管,可适用于24小时长期连续工作的应用场合。
二、特性说明•两种显示模式(8段×4 位和 7 段×4 位)•支持单个按键7x4bit(28个按键)和组合按键(4个)• 8••高速2••••支持••三、四、管脚功能定义:1结束信号:保持CLK为“1”电平,DAT从“0”跳“1”,认为是结束信号,如(图1)E段;2、ACK信号如果本次通讯正常,芯片在串行通讯的第8个时钟下降沿后,TM1650主动把DAT拉低。
直到检测到CLK来了上升沿,DAT释放为输入状态(对芯片而言),如(图1)D段。
3、写“1”和写“0”写“1”:保持DAT为“1”电平,CLK从“0”跳到“1”,再从“1”跳到“0”,则认为是写入“1”如(图1)B段。
写“0”:保持DAT为“0”电平,CLK从“0”跳到“1”,再从“1”跳到“0”,则认为是写入“0”如(图1) C段。
4、 一个字节(8位)数据传输格式12345678B7B6B5B4B3B2B1B0DATCLK图2一个字节数据的传输格式如图2,数据发送时MSB 在前,LSB 在后,即高位先进。
微处理器的数据通过2线串行接口和TM1650通信,当CLK 是高电平时,DAT 上的信号必须保持不变;只有CLK 上的时钟信号为低电平时,DAT 上的信号才能改变。
数据输入的开始条件是CLK 为高电平时,DAT 由高变低;结束条件是CLK 为高时,DAT 由低电平变为高电平。
5、 写显示操作6SCL 7图5 读按键时序command :读按键命令4FH ;key_data :读按键数据(一个字节)。
4位数码管mcu驱动电路
想象一下,你家里有个电子小闹钟,上面会显示时间,那些数字亮闪闪的,是不
是很神奇?这,就和要说的数码管有点关系。数码管就像是一个小小的魔法盒子,它
能把数字和一些符号亮出来给我们看。
那4位数码管,就好比是有4个这样的魔法盒子排在一起。比如说,要显示一个
年份“2023”,这4个数码管就会分别显示出“2”“0”“2”“3”这几个数字,是
不是很厉害?
可是,数码管自己可不会随便就亮起来显示数字,这时候就需要一个“小管家”
来帮忙,这个“小管家”就是mcu。mcu就像一个聪明的小脑袋,它知道什么时候该让
数码管亮,亮哪个数字。
举个例子,就好比你要去开电视,你得按遥控器上的按钮,遥控器就会告诉电视
该做什么。mcu就有点像这个遥控器,它会给数码管发送一些“指令”,告诉它:
“你现在该亮数字‘5’!”然后数码管就乖乖地亮起来显示“5”。
那mcu和数码管之间是怎么“聊天”,怎么传递这些指令的?这就需要一个特殊
的“小路”,也就是驱动电路。驱动电路就像是一条连接mcu和数码管的小电线,让
它们能够顺利地交流。
比如说,当mcu想让数码管显示数字“8”的时候,它就会通过驱动电路给数码管
送去一些小小的“电流信号”,这些信号就像小密码一样,数码管收到后,就知道自
己该把代表“8”的那几个小灯点亮,这样我们就能看到数字“8”。
基于TM1620的数码管驱动电路
TM1620 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。
本产品性能优良,质量可靠。
主要应用于VCR、VCD、DVD 及家庭影院等产品的显示屏驱动。
TM1620最大的有点简单好用,硬件电路简单,不需要限流电阻,亮度软件可调,芯片内部自带扫描电路,只需要将要显示的内容写入寄存器,即可稳定显示,非常方面。
驱动代码如下:
TM1620.c文件
#include "TM1620.h"
sbit STB = P2^5;
sbit CLK = P2^6;
sbit DIO = P2^7;
unsigned char const dofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};// 显示段码值0123456789-
static void delay5us(void) //误差-0.026765046296us
{
uint8 a;
for(a=12;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}
void TM16_Wdata(uint8 dat)
{
uint8 i;
CLK = 1;
DIO = 1;
for(i=0;i<8;i++)
{
CLK = 0;
DIO = (bit)(dat&0x01);
delay5us();
CLK = 1;
dat>>=1;
delay5us();
}
CLK = 1;
DIO = 1;
}
void TM16_Wcmd(uint8 cmd)
{
STB = 0;
TM16_Wdata(cmd);
STB = 1;
delay5us();
}
void Init_TM1620(void)
{
TM16_Wcmd(0x02);
TM16_Wcmd(0x44);
}
void Display(uint16 num,bit sw,uint8 point)
{
uint8 i;
if(num>9999)
{
for(i=0;i<4;i++)
{
STB = 0;
TM16_Wdata(0xC0+6-2*i);//计算地址
TM16_Wdata(dofly[10]);
STB = 1;
}
}
else
{
for(i=0;i<4;i++)
{
STB = 0;
TM16_Wdata(0xC0+6-2*i);//计算地址
if(3-i == point-1)
{
TM16_Wdata(dofly[num%10]|0x80);
}
else
{
TM16_Wdata(dofly[num%10]);
}
num /= 10;
STB = 1;
}
}
if(sw)
{
TM16_Wcmd(0x88);
}
else
{
TM16_Wcmd(0x80);
}
}
TM1620.h文件
#ifndef __TM1620_H_
#define __TM1620_H_
#include "STC12C5A.h"
#define DIS_MODE_D0
#define DIS_MODE_H 1
void Init_TM1620(void);
void Display(uint16 num,bit sw,uint8 point);
void Display_limit(uint16 num,bit mode,bit flicker);
#endif。