TM1638的8个LED灯和8个数码管的使用

news2024/11/27 11:31:02

一、模块介绍

请添加图片描述

上图为使用的模块,顶部8个LED,8个数码管;中间TM1638芯片,右侧是8个二极管(非发光二极管);最下方是8个按键。

电路图如下图所示

请添加图片描述

二、TM1638

1、数据传输格式

在这里插入图片描述

在传输数据时,先将STB拉低,传输的每1个Bits数据都是在时钟的上升沿操作,即先将CLK拉低,如果需要传输0,则将DIO拉低,传输1则将DIO拉高,最后再将CLK拉高。在传输完成后,即上图中传输完8bits,最后将STB拉高。

拉高:电平置为1

拉低:电平置为0

2、数据传输的两种地址模式

数据传输时有两种模式可供选择,一种是地址增加模式,另一种是固定地址模式。两种模式设置将在[3.1 数据命令设置](#3.1 数据命令设置)中介绍。

2.1 地址增加模式

在这里插入图片描述

此命令模式下,可传输多个数据Data1n,Data1会传输至Command3设置的地址内,后面的数据Data2n写入后续的地址,地址自动加1。

其中前面的Command1、Command2如果与之前传输保持一致,也可不设置,直接跳过。

2.2 固定地址模式

在这里插入图片描述

其与地址增加模式的区别就是每个数据对应一个地址,且传输完一组需要将STB拉高,然后再拉底传输下一组。

3、指令说明

在这里插入图片描述

3.1 数据命令设置

在这里插入图片描述

如表中,传输数据为 0x44 表示为使用固定地址模式且写数据到寄存器,0x40 则表示自动地址增加模式且写数据到寄存器。

0x44 表示十六进制,二进制为 0100 0100 也就对应上表的第4行加第1行。

0x40 表示十六进制,二进制为 0100 0000 也就对应上表的第3行加第1行。

3.2 地址命令设置

在这里插入图片描述

这一部分的地址需要结合寄存器地址进行介绍。

3.3 显示控制

在这里插入图片描述

设置8个数码管和8个LED灯的开关和亮度。0x8f,则表示显示开,且脉冲宽度为14/16(即亮度为最大)。

4、寄存器地址

在这里插入图片描述

  1. 00HL、00HU、01HL、01HU 寄存器地址都可表示 GRID1 。

    (1)其中 HL 和 HU 分别表示为:

    ​ Ⅰ. HL 是指数码管显示寄存器(Display Data Register),该寄存器用于设置数码管的显示内容。

    ​ Ⅱ. HU 是指数码管控制寄存器(Display Control Register),该寄存器用于控制数码管的显示方式和闪烁效果。

    ​ 这部分区别似乎在这个模块中并没有显示出来。

    (2)00 和 01 的区别

    ​ 上表中左边 00(0000 0000)、02(0000 0010)、04(0000 0100)、…、0E(0000 1110)其低位都为 0

    ​ 上表中右边 01(0000 0001)、03(0000 0011)、05(0000 0101)、…、0F(0000 1111)其地位都为 1

    我的理解就是:

    当使用左边的地址,也就是最低为 1 时,其寄存器地址表示为 seg8 seg7 seg6 seg5 seg4 seg3 seg2 seg1,即 0000 0101 表示 seg1 和 seg3 为1,其他位为 0

    而当使用右边的地址时,在本模块中,最低为用来控制 seg9的(也就是控制顶部的8个LED灯),其他位都是无效的,当最低位为1时,seg9为1,LED灯亮,为0时,seg9为0,LED灯灭。其他位可为任意值。

    即使用 00H 表示 GRID1, 如果 0x01,表示 seg1 为 1, 其他为 0

    而使用 01H 表示 GRID1,传输 0x01,表示的就是 seg9 为1。

    上表中左边的是用来控制数码管的,右边是用来控制顶部的LED灯的。

在设置 GRIDx 地址时,需要结合[3.2 地址命令设置](#3.2 地址命令设置)进行使用,即 00H 传输的地址为 0xc0(1100 0000)。

不符合[3.2 地址命令设置](#3.2 地址命令设置)的地址(最高的两位不为1的地址)都是无效地址,都会控制最后一个数码管。

5、具体使用

5.1 LED灯

在这里插入图片描述

LED灯分别对应着GR1~8,与SEG9相连,且只有SEG9为1时灯才会亮。

例如:想要点亮LED2,则地址对应为GR2,对应的4、寄存器地址右边的地址,为 03H,再结合[3.2 地址命令设置](#3.2 地址命令设置),写入的数据应为 0xc3(1100 0011)。然后再将seg9置为1,也就是数据的最低位为1即可,ox01(0000 0001)、0x03(0000 0011)、…、0xff(1111 1111)都可实现点亮LED2。

注意:每次只能控制一个LED灯,既不能同时使 GR1 和 GR2 为1,如果想要多个LED灯同时亮,分别操作即可,即需要点亮LED1~3,就先点亮LED1,再点亮LED2,最后点亮LED3。它们并不会相互影响,4、寄存器地址表中的地址00H到OFH对应着16个寄存器地址,每个地址里面有8位,而最低位为1的是控制8个LED灯的,最低为0的就是控制数码管的,对他们操作不会产生影响(我的理解)

5.2 数码管

在这里插入图片描述
在这里插入图片描述

GR1~8分别对应数码管的位置1~8,即第一个数码管对应GR1、…、第八个数码管对应GR8。

单个数码管是由8个LED构成,分别为a、b、c、d、e、f、g、DB(左下角的点),它们又分别对应SEG1~8。

例如:想要使第二个数码管显示“0”,则地址对应为GR2,对应的4、寄存器地址左边的地址,为 02H,再结合[3.2 地址命令设置](#3.2 地址命令设置),写入的数据应为 0xc2(1100 0010)。然后显示数字“0”,则需要点亮a、b、c、d、e、f,他们分别对应seg1~6,即写入的数据为 0x3f(0011 1111)。

以上内容仅为个人理解,可能存在错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1008803.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java“牵手”快手商品详情数据,快手商品详情接口,快手API接口申请指南

快手商城是快手小店平台和快手进口电商平台的公域导购场景,也是快手的在线购物平台。 用户打开快手APP后点击"商城"即可进入,在商城首页信息流、商城品类频道(如女装、百货、家电频道等,其中,部分频道的商品…

如何用思维导图做笔记

思维导图是一个强大的学习工具,可以帮助我们更好地整理和梳理学习内容。好的笔记可以帮助我们在考试前夕事半功倍。大大提高效率。秒变学霸小达人。 今天我们就结合思维导图,告诉大家如何做出一份出色的思维导图笔记。 5R笔记法是一种用于学习和记笔记…

day6_C++

day6_C 模板 栈模板 队列思维导图 模板 栈 stack.h #ifndef STACK_H #define STACK_H#include <iostream> #include <cstring>using namespace std;#define MAX 5template<typename T> class Stack { public:/*构造函数*/Stack();/*拷贝构造函数*/Stack(co…

看板管理:以可视化方式确定任务优先级

确定工作的优先级是我们今天都要面对的挑战。若处理不当&#xff0c;我们就可能试图一心多用&#xff0c;从而严重损害工作效率。 使用看板方法来设定工作优先级是一种非常直观、快速的方法。 确定工作优先级的看板方法 看板工作流程管理方法的核心在于工作可视化。工作被划…

邀请函 | 什么是全协议存算一体化解决方案?

近日&#xff0c;趋动科技与 XSKY星辰天合联合推出了针对教育行业的全协议存算一体化解决方案&#xff0c;实现了最小规模&#xff08;3 节点&#xff09;的人工智能算力和存力资源池化的基础设施平台建设&#xff0c;帮助客户共享数据中心内所有服务器商的 GPU 算力以及存力&a…

不定积分的基本公式与换元积分法

不定积分的基本公式 不定积分的基本公式如下&#xff1a; 常数函数积分&#xff1a;∫0dxC。幂函数积分&#xff1a;∫x^α dx[x^(α1)]/(α1)C&#xff08;α≠-1&#xff09;。一次二项式积分&#xff1a;∫x/(abx)dx(bx-aln|abx|)/b^2C。二次二项式积分&#xff1a;∫x^2/(…

【小程序】基于SpringBoot开发的餐厅点餐系统

文章目录 系统介绍后端管理&#xff1a;微信小程序&#xff1a;功能展示 系统介绍 开发工具 IDEA、vscode、微信开发者工具 后台框架 SpringBoot 前端框架 vue、uniapp 后端管理&#xff1a; 管理员可以添加&#xff0c;修改&#xff0c;删除员工信息。 分类管理&#xff…

Python实现猎人猎物优化算法(HPO)优化Catboost分类模型(CatBoostClassifier算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 猎人猎物优化搜索算法(Hunter–prey optimizer, HPO)是由Naruei& Keynia于2022年提出的一种最新的…

AgentGPT:基于GPT-4的开源AI自动化机器人工具

【产品介绍】 AgentGPT是一个基于GPT-4的开源AI自动化机器人工具&#xff0c;可以让你在浏览器中配置和部署自主的 AI机器人。你可以给机器人设置一个名字和一个目标&#xff0c;然后点击部署按钮&#xff0c;就可以看到机器人进行的行为和输出&#xff0c;完全不需要人为干涉的…

【自动化测试】接口自动化测试工具有哪些?

Jmeter jmeter完成接口脚本,Ant完成脚本执行并收集结果生成报告,最后利用jenkins完成脚本的自动集成运行。 Postman或者newman javahttpclient&#xff0c;通过代码实现 JavaRestassored pythonrullib2 pythonrequests httprunner yapi 轻量 代码实现框架 pythonrequest…

PY32F003F18之PWM互补输出

PY32F003F18中有一个“数字比较器”&#xff0c;这是我的叫法&#xff0c;为了便于和模拟比较器区分。它用作PWM输出功能。 一、比较通道1电路图 二、PWM工作模式 PWM的工作模式&#xff1a; 1、PWM边沿对齐模式 计数器工作在"边沿对齐模式" 设置"TIMx控制寄存…

C语言 -- 零基础入门详解

文章目录 引言1. 第一个C语言程序&#xff1a;HelloWorld1.1 编写C语言代码&#xff1a;hello.c1.2 代码分析 2. 数据类型2.1 常量与变量2.1.1 关键字2.1.2 数据类型2.1.3 常量2.1.4 变量2.1.5 使用示例 2.2 整型&#xff1a;int2.2.1 整型变量的定义和输出2.2.2 整型变量的输入…

How to control the model in the webots usingthe ros controller ?

这里写自定义目录标题 how to use controller in Ros to control the model built in the Webots ?section 1: install ubantu 20.04 and webots 2021b ? how to use controller in Ros to control the model built in the Webots ? section 1: install ubantu 20.04 and w…

Ecrett Music:AI音乐创作软件

【产品介绍】 Ecrett Music是一个由人工智能驱动的AI音乐创作软件&#xff0c;可以帮助内容创作者快速、简单、便宜地制作出适合自己的无版权音乐。无论你是做游戏、视频、播客还是其他类型的内容&#xff0c;都可以在Ecrett Music上选择场景、情绪或风格&#xff0c;然后点击一…

算法--冒泡排序

算法步骤 /*** 冒泡排序** version 1.0* date 2023/09/01 15:23:58*/ public class Bubble {/*** 升序冒泡排序** param a 待排序的数组* date 2023/9/1 15:29:10*/public static void sortAes(int[] a) {for (int i a.length - 1; i > 0; i--) {for (int j 0; j < i;…

redis集群hashTag简述

概述 单体redis一般性能可以满足大部分场景的要求了&#xff0c;但是当业务体量起来的时候&#xff0c;就会要求高可用了。 此时一般会将单机redis扩充至集群,一般3主3从 redis集群中master之间各自存储部分数据&#xff0c;master和slave之间数据则是相同的. Redis会把每一…

Cocos独立游戏开发框架(18):配置管理器

引言 本系列是《8年主程手把手打造Cocos独立游戏开发框架》&#xff0c;欢迎大家关注分享收藏订阅。 在游戏开发中&#xff0c;配置是一个重要的角色&#xff0c;他常常由策划去驱动&#xff0c;调整和优化&#xff0c;使得游戏的难度和设定更加符合玩家们的体验&#xff0c;…

如果回到5年前,20几岁的时候,想对过去的自己说点什么

今天跟大家聊一聊,如果回到5年前,10年前,怎么看待当年的自己 与此同时,对于未来3到5年,又有一个什么样的期待,自言自语几句的 对于未来,真的没有办法去预测,尽管如雷军鸡汤里的,永远要相信,美好的事情即将发生,但是不可否认的是,你永远也不知道惊喜和意外哪个先到 但是对于已经…

高级IO-epoll

文章目录 1. I/O多路转接之poll1.1 代码样例1.2 poll优缺点 2. I/O多路转接之epoll2.1 epoll的相关系统调用 3. epoll工作原理3.1 epoll的优点 4. 代码样例4.1 初始化服务器4.2 启动服务器 5. epoll工作方式6. epoll的使用场景 1. I/O多路转接之poll poll函数解决了&#xff0…

delphi 自带的dbgrid表格控件增加下选框

在表格里用combobox很正常 自带的dbgrid加也很方便&#xff0c;环境是xe10 procedure TfrmBaseInfo.LoadDesk; varssql: string;i: Integer;column: TColumn; beginssql : select * from desk_info ;qry_desk.Connection : dmMain.FDConnection1;qry_desk.Close;qry_desk.S…