当前位置: 首页 > news >正文

一种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(i=0;i<8;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(i=0;i<Disp_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;}}
}

九、立创商城供货信息

相关文章:

一种LED驱动专用控制电路

一、基本概述 TM1620是一种LED&#xff08;发光二极管显示器&#xff09;驱动控制专用IC,内部集成有MCU数字接口、数据锁存 器、LED驱动等电路。本产品质量可靠、稳定性好、抗干扰能力强。主要适用于家电设备(智能热 水器、微波炉、洗衣机、空调、电磁炉)、机顶盒、电子称、…...

Matlab进阶绘图第33期—双曲面图

在《Matlab论文插图绘制模板第56期—曲面图&#xff08;Surf&#xff09;》中&#xff0c;我分享过曲面图的绘制模板。 然而&#xff0c;有的时候&#xff0c;需要在一张图上绘制两个及以上的曲面图&#xff0c;且每个曲面图使用不同的配色方案。 在Matlab中&#xff0c;一张…...

【Linux】23、内存超详细介绍

文章目录 零、资料一、内存映射1.1 TLB1.2 多级页表1.3 大页 二、虚拟内存空间分布2.1 用户空间的段2.2 内存分配和回收2.2.1 小对象2.2.2 释放 三、查看内存使用情况3.1 Buffer 和 Cache3.1.1 proc 文件系统3.1.2 案例3.1.2.1 场景 1&#xff1a;磁盘和文件写案例3.1.2.2 场景…...

官网IDM下载和安装的详细步骤

目录 一、IDM是什么 二、下载安装 三、解决下载超时的问题 四、谷歌浏览器打开IDM插件 谷歌浏览器下载官网&#x1f447; 五、测试 六、资源包获取 一、IDM是什么 IDM&#xff08;internet download manager&#xff09;是一个互联网下载工具插件&#xff0c;常见于用…...

【面经八股】搜广推方向:常见面试题(三)

【面经&八股】搜广推方向:常见面试题(三) 文章目录 【面经&八股】搜广推方向:常见面试题(三)1. 如何解决数据不平衡2. 假设检验的两类错误3. 为什么快排比堆排快4. RMSE、MSE、MAE5. 双塔模型的应用6. XGBoost如果损失函数没有二阶导,该怎么办7. AUC是如何实现的…...

[NOIP2006]明明的随机数

一、题目 登录—专业IT笔试面试备考平台_牛客网 二、代码 set去重&#xff0c;再利用vector进行排序 std::set是一个自带排序功能的容器&#xff0c;它已经按照一定的规则&#xff08;默认是元素的小于比较&#xff09;对元素进行了排序。因此&#xff0c;你不能直接对std::s…...

auth模块

一. auth模块前戏 # 引入:其实我们在创建好一个django项目之后直接执行数据库迁移命令会自动生成很多表 例如:django_sessionauth_user我们知道django在启动之后就可以直接访问admin路由&#xff0c;需要输入用户名和密码&#xff0c;数据参考的就是auth_user表,并且还必须是管…...

H5ke12--3--iframe--编辑邮箱的制作

下面我们来window.iframes[] frames是一个全局变量&#xff0c;它是一个对象数组&#xff0c;其中包含当前窗口中的所有框架&#xff08;如果存在&#xff09;。 在这段代码中&#xff0c;let frameframes[0];是将第一个框架赋值给变量frame。通过frame.document.designMode&q…...

Python面经【3】

零、可迭代对象 可迭代对象是迭代器和生成器的基础&#xff0c;简单来说&#xff0c;可以使用for循环遍历的对象就是可迭代对象&#xff0c;比如常见的list、set和dict。在python中&#xff0c;可迭代对象是指实现了__iter__()方法的对象&#xff0c;当我们使用for循环遍历一个…...

Python集合类型

目录 目标 版本 官方文档 集合分类 实战 创建 循环 常用方法 目标 掌握set和frozenset两种集合的使用方法&#xff0c;包括&#xff1a;创建、交集、并集、差集等操作。 版本 Python 3.12.0 官方文档 Set Types — set, frozensethttps://docs.python.org/3/library/s…...

npm install报错常用解题思路

最近刚接手一个“新”项目&#xff0c;让我很无语。明明是去年起的项目&#xff0c;但是它所用的部分技术栈非常旧&#xff0c;我启动项目&#xff0c;控制台一堆warning报错&#xff0c;然后项目结构也很让我不适应&#xff0c;很多地方都可以用文件夹包一下来方便定位。哎&am…...

conda: error: argument COMMAND: invalid choice

简介 使用conda activate 时&#xff0c;可能会报&#xff1a;conda: error: argument COMMAND: invalid choice: ‘activate’ (choose from ‘clean’, ‘compare’, ‘config’, ‘create’, ‘info’, ‘init’, ‘install’, ‘list’, ‘notices’, ‘package’, ‘remo…...

数仓成本下降近一半,StarRocks 存算分离助力云览科技业务出海

成都云览科技有限公司倾力打造了凤凰浏览器&#xff0c;专注于为海外用户提供服务&#xff0c;公司致力于构建一个全球性的数字内容连接入口&#xff0c;为用户带来更为优质、高效、个性化的浏览体验。 作为数据驱动的高科技公司&#xff0c;从数据中挖掘价值一直是公司核心任务…...

Apache基线检查

一、确保对OS根目录禁用覆盖 当 AllowOverride 指令设置为 None 时,Apache 将禁止在该目录下使用 .htaccess 文件来覆盖任何配置项。这意味着,除非您在主配置文件中显式地指定,否则该目录下的任何 .htaccess 文件都将被忽略。 禁用 .htaccess 文件可以提高服务器的安全性,因…...

flink的集成测试

背景 日常测试中我们使用flink的TestHarness只能测试单个算子&#xff0c;很多情况下我们需要集成测试来测试真正的问题&#xff0c;所以在flink中进行集成测试还是非常有必要的&#xff0c;本文就来记录下如何在flink中进行集成测试 flink中进行集成测试 flink中进行集成测…...

gitee推荐-1Panel

以下内容来源于gitee。 gitee地址&#xff1a;1Panel: &#x1f525; &#x1f525; &#x1f525; 现代化、开源的 Linux 服务器运维管理面板。 大概和宝塔类似,但支持docker。在线体验&#xff1a;https://demo.1panel.cn/ 稍微试了下&#xff0c;没找到apache&#xff0c;…...

GEE 22:基于GEE实现物种分布模型(更新中。。。。。。)

物种分布模型 1. 数据点准备1.1 数据加载1.2 去除指定距离内的重复点1.3 定义研究区范围1.4 选择预测因子 1. 数据点准备 1.1 数据加载 首先需要将CSV文件导入到GEE平台中&#xff0c;同样也可以导入shp格式文件。 // 1.Loading and cleaning your species data *************…...

阿里云windwos 安装oracle数据库,外部用工具连接不上,只能在服务器本机通过127.0.0.1 连接

1. 首先检查阿里云服务器安全组端口是否开放 oracle 数据库端口 2. 其次找到oracle 安装的目录&#xff0c;打开这俩个文件&#xff0c;将localhost 修改为 服务器本机名称 3.重启oracle 监听服务&#xff0c;就可以连接了...

UniApp 中的 image 属性讲解

在 UniApp 中&#xff0c;image 是用于显示图片的组件&#xff0c;它具有多种属性&#xff0c;可以控制图片的展示方式和行为。下面我将为您讲解一些常用的 image 属性。 基本属性 src&#xff1a;指定要显示的图片资源路径&#xff0c;可以是本地路径或远程 URL。mode&#…...

卷积神经网络(CNN)车牌识别

文章目录 一、前言二、前期工作1. 设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;2. 导入数据3. 查看数据3.数据可视化4.标签数字化 二、构建一个tf.data.Dataset1.预处理函数2.加载数据3.配置数据 三、搭建网络模型四、设置动态学习率五、编译六、训练八、保存和…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...