杭州制作网站哪家好,商店软件下载,领导高度重视网站建设,万能浏览器下载一、基本概述
TM1620是一种LED#xff08;发光二极管显示器#xff09;驱动控制专用IC,内部集成有MCU数字接口、数据锁存
器、LED驱动等电路。本产品质量可靠、稳定性好、抗干扰能力强。主要适用于家电设备(智能热
水器、微波炉、洗衣机、空调、电磁炉)、机顶盒、电子称、…一、基本概述
TM1620是一种LED发光二极管显示器驱动控制专用IC,内部集成有MCU数字接口、数据锁存
器、LED驱动等电路。本产品质量可靠、稳定性好、抗干扰能力强。主要适用于家电设备(智能热
水器、微波炉、洗衣机、空调、电磁炉)、机顶盒、电子称、智能电表等数码管或LED显示设备。
二、基本的特性说明 采用CMOS工艺 显示模式8 段×6 位10段×4位 辉度调节电路8 级占空比可调 串行接口CLK,STB,DIN 振荡方式内置RC振荡 内置上电复位电路 内置数据锁存电路 内置针对LED反偏漏电导致暗亮问题优化电路 抗干扰能力强 封装形式SOP20 三、管脚定义 四、指令说明 五、应用电路
TM1620驱动共阴数码屏硬件电路图18 1、VDD、GND之间滤波电容在PCB板布线应尽量靠近TM1620芯片放置,加强滤波效果。
2、连接在DIN、CLK、STB通讯口上下拉三个100pF电容可以降低对通讯口的干扰。
3、因蓝光数码管的导通压降压约为3V,因此TM1620供电应选用5V。
六、电气参数 七、封装形式 本项目使用的是6位8段的数码管即0x020。
注意芯片显示寄存器在上电瞬间其内部保存的值可能是随机不确定的,此时我们直接发送开屏命令,将有可能出现显示乱码。所以建议对显示寄存器进行一次上电清零操作,即上电后向12位显存地址00H-0BH中全部写入数据0x00。具体操作方法是初始化TM1620时使用2数据命令中的自动地址增加命令依次给所有地址写0x00。
八、硬件电路 TM1620的STB、CLK、DIN引脚分别连接单片机的PC0、PC1、PC2引脚。 初始化
初始化TM1620的3个输出引脚
代码部分
定义结构体类型
typedef struct
{Brightness_level_t Brightness;void (*TM1620_Init)(void); //TM1620初始化void (*Disp)(Disp_NUM_t,uint8_t,Disp_DP_Status_t); //数码管显示
} Display_t;
写入字节函数
/** name TM1620_Write_Byte* brief TM1620写入字节* param dat - 待写入数据* retval None
*/
static void TM1620_Write_Byte(uint8_t dat)
{uint8_t i 0;CLR_STB;for(i0;i8;i){CLR_CLK;//准备数据位if((dat BIT0) BIT0) //BIT0为宏定义为0x01SET_DIN;elseCLR_DIN;dat dat 1; //移位为发送下一位做准备//拉高CLK发送数据 SET_CLK; __nop();}
}
TM1620初始化函数
/** name TM1620_Init* brief TM1620初始化* param None* retval None
*/
static void TM1620_Init()
{uint8_t i 0;//设置显示模式TM1620_Write_Byte(Disp_Mode_GRID6_SEG8); SET_STB; //设置地址自动增加模式TM1620_Write_Byte(Write_Data_Addr_Auto_Add); SET_STB;//利用循环清除显示寄存器地址TM1620_Write_Byte(Disp_SFR_Addr_00H); //首地址for(i0;iDisp_SFR_Addr_Num;i)TM1620_Write_Byte(0x00); SET_STB; //调节数码管辉度TM1620_Write_Byte(Display.Brightness);SET_STB;
}
数码管显示函数
/** name Disp* brief 数码管显示* param Disp_NUM: 数码管编号Dat 数据0~FDisp_DP_Status 小数点显示状态* retval None
*/
static void Disp(Disp_NUM_t Disp_NUM,uint8_t Dat,Disp_DP_Status_t Disp_DP_Status)
{//检查参数范围if(Dat 0x0F){System.Assert_Failed();}//设置显示模式TM1620_Write_Byte(Disp_Mode_GRID6_SEG8); SET_STB;//设置地址固定模式TM1620_Write_Byte(Write_Data_Addr_Fix); SET_STB;//写地址数码管编号TM1620_Write_Byte(Disp_NUM);//写数据并判断有无小数点if(Disp_DP_Status Disp_DP_ON)TM1620_Write_Byte(Disp_Decode[Dat] 0x80); //Disp_Decode数组存贮的是数码管显示“0”~“F”的译码。elseTM1620_Write_Byte(Disp_Decode[Dat]);SET_STB;//设置辉度TM1620_Write_Byte(Display.Brightness);SET_STB;
}
外部中断0回调函数
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{if(GPIO_Pin KEY1_Pin){LED.LED_Flip(LED2);switch(Display.Brightness){case Brightness_level_1: Display.Brightness Brightness_level_2; break;case Brightness_level_2: Display.Brightness Brightness_level_3; break;case Brightness_level_3: Display.Brightness Brightness_level_4; break;case Brightness_level_4: Display.Brightness Brightness_level_5; break;case Brightness_level_5: Display.Brightness Brightness_level_6; break;case Brightness_level_6: Display.Brightness Brightness_level_7; break;case Brightness_level_7: Display.Brightness Brightness_level_8; break;case Brightness_level_8: Display.Brightness Brightness_level_1; break;default: Display.Brightness Brightness_level_3;}}
}
九、立创商城供货信息