LED驱动控制专用电路

news/2024/7/7 21:29:55

一、基本概述

TM1628是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用IC,内部集成有MCU 数

字接口、数据锁存器、LED 驱动、键盘扫描等电路。本产品质量可靠、稳定性好、抗干扰能力强。

主要适用于家电设备(智能热水器、微波炉、洗衣机、空调、电磁炉)、机顶盒、电子称、智能电

表等数码管或LED显示设备。

二、特性说明

  • 采用CMOS工艺

  • 多种显示模式(10 段×7 位 ~ 13段×4 位)

  • 最大支持矩阵按键10×2

  • 辉度调节电路(8 级占空比可调)

  • 串行接口(CLK,STB,DIO)

  • 振荡方式:内置RC振荡

  • 内置上电复位电路

  • 内置数据锁存电路

  • 抗干扰能力强

  • 封装形式:SOP28

三、引脚定义

四、指令说明

五、显示

六、应用电路

七、封装尺寸

电路原理图设计

程序代码
.c文件
#include "TM1628.h"
 
 
u8 const CODE[]={0xC0,0xC2,0xC4,0xC6,0xC8,0xCA,0xCC};//GRID1 GRID2 GRID3 GRID4 GRID5 GRID6 GRID7     
 
/*************************************
函数名称:Tm1628init
函数说明:TM1628初始化
函数参数:NULL
函数返回:NULL
*************************************/
void Tm1628init(void)
{
	GPIO_InitTypeDef  GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);     
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_5;   
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //
	GPIO_Init(GPIOB, &GPIO_InitStructure);     //
	GPIO_SetBits(GPIOB,GPIO_Pin_5);
	
		
	Tm1628_ClearDisplay(); //清屏
	Tm1628_GrayScale(2); 	 //亮度2
}
 
/*************************************
函数名称:Tm1628_Write_Bit
函数说明:写单个字节
函数参数:命令返回
函数返回:NULL
*************************************/
void Tm1628_Write_Bit(uint8_t data)
{
	uint8_t i;
	
	for(i = 0; i < 8; i++)
	{
		if((data & 0x01) == 1)
		{
			Tm1628_DIO_H;
		}
		else
		{
			Tm1628_DIO_L;
		}
		Tm1628_CKL_L;
		Tm1628_CKL_H;
		data = data >> 1;
	}
}
 
/*************************************
函数名称:Tm1628_Write_Command
函数说明:写命令
函数参数:命令参数
函数返回:NULL
*************************************/
void Tm1628_Write_Command(u8 unm)
{
	Tm1628_STB_H;
	Tm1628_STB_L;
	Tm1628_Write_Bit(unm);
}
 
 
/*************************************
函数名称:Tm1628_Continuous
函数说明:固定写显示
函数参数:(1)add 地址    (2)data 数据  
函数返回:NULL
*************************************/
 
void Tm1628_Continuous(uint8_t add,uint8_t data)
{
	Tm1628_Write_Command(0x03);
	Tm1628_Write_Command(0x44);
	Tm1628_Write_Command(add);
	Tm1628_Write_Bit(data);
	Tm1628_Write_Command(0x8F);
	Tm1628_STB_H;
}
 
 
/*************************************
函数名称:Tm1628_ClearDisplay
函数说明:清屏
函数参数:NULL
函数返回:NULL
*************************************/
 
 
void Tm1628_ClearDisplay(void)
{
	uint8_t i;
	
	
	Tm1628_Write_Command(0x03);   //7位10段
	for(i = 0; i < 7; i++)
	{
		Tm1628_Write_Command(CODE[i]);
		Tm1628_Write_Bit(0x00);
		Tm1628_STB_H;
	}
	
}
 
 
/*************************************
函数名称:Tm1628_GrayScale
函数说明:用于亮度调节 0 - 9
函数参数:亮度 0 - 9
函数返回:NULL
*************************************/
void Tm1628_GrayScale(uint8_t data)
{
	switch(data)
	{
		case(0): Tm1628_Write_Command(GrayScale_ON);   break;
		case(1): Tm1628_Write_Command(GrayScale1); 	   break;
		case(2): Tm1628_Write_Command(GrayScale2);     break;
		case(3): Tm1628_Write_Command(GrayScale3);     break;
		case(4): Tm1628_Write_Command(GrayScale4);     break;
		case(5): Tm1628_Write_Command(GrayScale5);     break;
		case(6): Tm1628_Write_Command(GrayScale6);     break;
		case(7): Tm1628_Write_Command(GrayScale7);     break;
		case(8): Tm1628_Write_Command(GrayScale8);     break;
	}
 
}

.h文件
#ifndef __TM1628_H
#define __TM1628_H
 
 
#include "sys.h"
#include "delay.h"
 
 
#define Tm1628_CKL_H GPIO_WriteBit(GPIOB,GPIO_Pin_6,Bit_SET)
#define Tm1628_CKL_L GPIO_WriteBit(GPIOB,GPIO_Pin_6,Bit_RESET)
 
 
#define Tm1628_DIO_H GPIO_WriteBit(GPIOB,GPIO_Pin_7,Bit_SET)
#define Tm1628_DIO_L GPIO_WriteBit(GPIOB,GPIO_Pin_7,Bit_RESET)
 
 
#define Tm1628_STB_H GPIO_WriteBit(GPIOB,GPIO_Pin_5,Bit_SET)
#define Tm1628_STB_L GPIO_WriteBit(GPIOB,GPIO_Pin_5,Bit_RESET)
 
 
#define GrayScale_OFF 0x80 //关显示
#define GrayScale_ON 0x81 //开显示
 
 
 
 
#define GrayScale1   0x88 //灰度等级1
#define GrayScale2   0x89 //灰度等级2
#define GrayScale3   0x8A //灰度等级3
#define GrayScale4   0x8B //灰度等级4
#define GrayScale5   0x8C //灰度等级5
#define GrayScale6   0x8D //灰度等级6
#define GrayScale7   0x8E //灰度等级7
#define GrayScale8   0x8F //灰度等级8
 
 
void Tm1628init(void);   //TM1628初始化
void Tm1628_Fixed(uint8_t data, uint8_t add); //固定写地址 data 地址 add 数据
void Tm1628_Continuous(uint8_t add,uint8_t data); 
void Tm1628_ClearDisplay(void); //清屏
void Tm1628_GrayScale(uint8_t data); //亮度调节
void Tm1628_Write_Command(u8 unm);
	    
#endif

main主函数
 
int main(void)
{
    RCC_Configuration();	
    Tm1628init();//TM1628初始化程序
    while(1)
	{
			Tm1628_Continuous(0xCA,0xFF);	//GRID6
			Tm1628_Continuous(0xC8,0xFF);	//GRID5
			Tm1628_Continuous(0xC6,0xFF);	//GRID4
			Tm1628_Continuous(0xC4,0xFF); //GRID3 
			Tm1628_Continuous(0xC2,0xFF);	//GRID2
			Tm1628_Continuous(0xC0,0xFF); //GRID1
	} 
}
实物效果


http://lihuaxi.xjx100.cn/news/1829174.html

相关文章

初学ARM嵌入式开发有什么好书值得去学习?

初学ARM嵌入式开发有什么好书值得去学习&#xff1f; 以一个从业者的角度来讲&#xff0c;嵌入式覆盖的范围还是比较广的&#xff0c;比如简单单片机&#xff0c;ARM系列&#xff0c;有无操作系统等。复杂程度也不断增加。 刚刚踏入这个行业的时候&#xff0c;算是从零做起。建…

使用正则表达式来判断一个字符串只是否包含数字

使用正则表达式来判断一个字符串只是否包含数字 1、第一种 import java.util.regex.Pattern;public class Main {public static void main(String[] args) {String inputString "12345";if (containsOnlyDigits(inputString)) {System.out.println("字符串只…

【Java 进阶篇】Jedis 操作 String:Redis中的基础数据类型

在Redis中&#xff0c;String是最基础的数据类型之一&#xff0c;而Jedis作为Java开发者与Redis交互的利器&#xff0c;提供了丰富的API来操作String。本文将深入介绍Jedis如何操作Redis中的String类型数据&#xff0c;通过生动的代码示例和详细的解释&#xff0c;让你轻松掌握…

OSG粒子系统与阴影-雾效模拟(1)

虚拟现实中有很多效果&#xff0c;如雨效、雪效、雾效等&#xff0c;这些都可以通过粒子系统来实现。一个真实的粒子系统的模式能使三维场景达到更好的效果。 本章对OSG粒子系统的使用以及生成自定义粒子系统的方法进行了详细介绍最后还附带说明了阴影的使用方法。在实时的场景…

【Spring】MyBatis的操作数据库

目录 一&#xff0c;准备工作 1.1 创建工程 1.2 准备数据 1.3 数据库连接字符串 1.4 创建持久层接口UserInfoMapper 1.5 单元测试 二&#xff0c;注解的基础操作 2.1 打印日志 2.2 参数传递 2.3 增&#xff08;Insert&#xff09; 2.4 删&#xff08;Delete&#x…

修改YOLOv5的模型结构第三弹

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制&#x1f680; 文章来源&#xff1a;K同学的学习圈子 文章目录 任务任务拆解 开始修改C2模块修改yolo.py修改模型配置文件 模型训练 上次已…

python编写简单登录系统(密码混淆加密)

输入非123的数字会显示输入123选项&#xff0c;输入空格或者回车会报错&#xff0c;因为choice设置成int型先输入2个正常账户进去预防了用户名为空&#xff0c;密码为空或者小于3个&#xff0c;用户名已存在3种情况只有用户名和对应的密码都输入正确才能登录成功输入选项3退出代…

OpenCV快速入门:特征点检测与匹配

文章目录 前言一、角点检测1.1 角点特征1.1.1 角点特征概念1.1.2 角点的特点1.1.3 关键点绘制代码实现1.1.4 函数解析 1.2 Harris角点检测1.2.1 Harris角点检测原理1.2.2 Harris角点检测公式1.2.3 代码实现1.2.4 函数解析 1.3 Shi-Tomasi角点检测1.3.1 Shi-Tomasi角点检测原理1…