程序实现功能:
1、上电后,数码管间隔50ms计数;
2、触摸按键1调节数码管亮度,8个等级;
目录
1、硬件电路
1.1数码管
1.2TIM1620 驱动电路
二、技术讲解
2.1概述
TM1620是一种LED(发光二极管显示器)驱动控制专用IC,内部集成有MCU数字接口、数据锁存器、 LED驱动等电路。
2.2特性
• 采用CMOS工艺
• 显示模式(8 段× 6 位~10段× 4位)
• 辉度调节电路(8 级占空比可调)
• 串行接口(CLK,STB,DIN)
• 振荡方式:内置RC振荡
• 内置上电复位电路
• 内置数据锁存电路
• 内置针对LED反偏漏电导致暗亮问题优化电路
• 抗干扰能力强
• 封装形式: SOP20
2.3引脚说明
TIM1620需要通过引脚CLK、DIN、STB 控制串行数据传输,所以优先配置好GPIO串口,具体配置如下图所示:
3.指令说明及配置
3.1显示模式命令设置
该指令用来设置选择段和位的个数(4~6 位,8~10 段) 。当该指令被执行时,显示被强制关闭。 在显示模式不变时,显存内的数据不会被改变,显示控制命令控制显示开关。如下图所示:
为了移植方便,在我们的显示函数声明部分,将所以可能的选项枚举出来,具体代码如下:
/显示模式
typedef enum
{
Disp_Mode_GRID4_SEG10 = 0x00,
Disp_Mode_GRID5_SEG9 = 0x01,
Disp_Mode_GRID6_SEG8 = 0x02,
} Disp_Mode_t;
3.2写数据地址模式
该指令用来设置数据写和读,B1和B0位不允许设置01或11。具体如下图所示:
为了移植方便,在我们的显示函数声明部分,将所以可能的选项枚举出来,具体代码如下:
//写数据模式
typedef enum
{
Write_Data_Addr_Fix = 0x44,
Write_Data_Addr_Auto_Add = 0x40,
} Write_Data_Addr_Mode_t;
3.3显示控制命令设置
该指令用来设置显示的开关以及显示亮度调节。共有8级辉度可供选择进行调节。如下图所示: