1 硬件

2 软件环境

ArduinoIDE_31422

3 TM1637芯片

TM1637是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU&数字接口、数据锁存器、LED高压驱动、键盘扫描等电路。主要应用于电磁炉、微波炉及小家电产品的显示屏驱动。

4 TM1637数码管模块

该模块有商品出售,所以该电路图只示意各管脚连接关系,未列出其它辅助原件。

5 时钟数码管

6 TM1637和Arduino uno 的接线关系

TM1637

Arduino uno

CLK

2

DIO

3

VCC

5V

GND

GND

7 程序

//unsigned char LED[4];       //用于LED的4位显示缓存int CLK = 2;int DIO = 3; ////sbit CLK= P3^4;   //定义模拟IIC总线的时钟线//sbit DIO = P3^5;   //定义模拟IIC总线的数据线unsigned char tab[] ={0x3F,/*0*/0x06,/*1*/0x5B,/*2*/0x4F,/*3*/0x66,/*4*/0x6D,/*5*/0x7D,/*6*/0x07,/*7*/0x7F,/*8*/0x6F,/*9*/0x77,/*10 A*/0x7C,/*11 b*/0x58,/*12 c*/0x5E,/*13 d*/0x79,/*14 E*/0x71,/*15 F*/0x76,/*16 H*/0x38,/*17 L*/0x54,/*18 n*/0x73,/*19 P*/0x3E,/*20 U*/0x00,/*21 黑屏*/};void setup (){pinMode(CLK,OUTPUT);pinMode(DIO,OUTPUT); //让管脚为输出状态}void loop(){/*LED[0]=1;LED[1]=2;LED[2]=3;LED[3]=4;*///unsigned char data_add4=1;while(1){//DIO=1;//digitalWrite(DIO,HIGH);TM1637_display(0x01,0x02,0x03,0x04,0x00);//演示怎样按顺序显示// LED4_Display ();delay(500);TM1637_display(0x01,0x02,0x03,0x04,0x01);//演示怎样让两个点儿闪烁delay(500);unsigned char i;for(i=1;i<=9;i++)//演示按地址显示{display_fix(0x03,i);delay(500);}}}//IIC开始void TM1637_start(void){digitalWrite(CLK,HIGH);digitalWrite(DIO,HIGH);delay(2);digitalWrite(DIO,LOW);}//IIC应答void TM1637_ack(void){char i;digitalWrite(CLK,LOW);delay(5);while(DIO==1&&(i<250))i++;digitalWrite(CLK,HIGH);delay(2);digitalWrite(CLK,LOW);}//IIC停止void TM1637_stop(void){digitalWrite(CLK,LOW);       delay(2);       digitalWrite(DIO,LOW);       delay(2);digitalWrite(CLK,HIGH);delay(2);digitalWrite(DIO,HIGH);delay(2);}//写数据函数void TM1637_Write(unsigned char DATA)  {unsigned char i;  for(i=0;i<8;i++)       {digitalWrite(CLK,LOW);if(DATA & 0x01)digitalWrite(DIO,HIGH);elsedigitalWrite(DIO,LOW);delay(3);DATA=DATA>>1;digitalWrite(CLK,HIGH);delay(3);} }//按顺序显示void TM1637_display(unsigned char a,unsigned char b,unsigned char c,unsigned char d,unsigned char h){TM1637_start();TM1637_Write(0x40);//写数据+自动地址加1+普通模式TM1637_ack();TM1637_stop();TM1637_start();TM1637_Write(0xc0);//设置显示首地址即第一个LEDTM1637_ack();TM1637_Write(tab[a]);TM1637_ack();TM1637_Write(tab[b]|h<<7);//h为1时显示时钟中间的两点TM1637_ack();TM1637_Write(tab[c]);TM1637_ack();TM1637_Write(tab[d]);TM1637_ack();TM1637_stop();TM1637_start();TM1637_Write(0x89);//开显示,2/16亮度TM1637_ack();TM1637_stop();}//指定地址写入数据void display_fix(unsigned char add,unsigned char DispData){TM1637_start();TM1637_Write(0x40);TM1637_ack();TM1637_stop();TM1637_start();TM1637_Write(0xc0|add);//设置显示地址TM1637_ack();TM1637_Write(tab[DispData]);//写入数据如果第2个加0x80则显示两小点TM1637_ack();TM1637_stop();TM1637_start();TM1637_Write(0x89);TM1637_ack();TM1637_stop();}

TM1637驱动4位时钟数码管的Arduino 程序相关推荐

  1. Arduion 驱动4位LED数码管

    本示例演示如何使用Arduion UNO开发板驱动4位共阳极数码管,可自定义码值表定义数码管可显示的字符.示例中,可显示小数数字及一些字母. 共阳:低电平点亮 共阴:高电平点亮 4位数码管本尊清晰裸照 ...

  2. ESP32 TM1637显示4位数码管

    文章目录 简介 结果 源码 简介 TM1637驱动4位数码管(4 digital display)是一种比较常用的模块,也是比较常见的数码管驱动方式.为了在数码管上显示信息,尝试了库TM1637(不能 ...

  3. 【正点原子FPGA连载】第三十一章RTC实时时钟数码管显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  4. 【Proteus仿真】51单片机+74HC164驱动两个四位数码管

    [Proteus仿真]51单片机+74HC164驱动两个四位数码管 Proteus仿真 程序代码 #include <STC89C5xRC.H>sbit DAT=P1^1; sbit CL ...

  5. Arduino UNO驱动TM1637四位时钟数码管显示时间

    Arduino UNO驱动TM1637四位时钟数码管显示时间 一.TM1637简介 二.引脚定义 三.Arduino UNO与数码管模块接线 四.测试代码 五.实验结果 一.TM1637简介 TM16 ...

  6. TM1637驱动数码管

    TM1637是一种带键盘扫描接口的<span style="font-family:Calibri;">LED(</span>发光二极管显示器<spa ...

  7. 物联网开发笔记(75)- 使用Micropython开发ESP32开发板之控制tm1637时钟数码管显示

    一.目的 这一节我们学习如何使用我们的ESP32开发板来控制4位tm1637时钟数码管显示. 二.环境 ESP32 + 4位tm1637时钟数码管(wokwi仿真也可) + Thonny IDE + ...

  8. STM32F103C8T6 I/O口驱动4位共阳数码管

    STM32F103C8T6 I/O口驱动4位共阳数码管 看了网上很多的资料.很少有单独讲解STM32 I/O口直接驱动数码管的资料,有的网上还禁用了JTAG和SWD口,对很多刚入门的学者会造成不必要的 ...

  9. c语言595驱动数码管,74hc595驱动4位数码管电路连接图及程序解析 - 全文

    本设计使用了一个4位的数码管,为共阳型,为了节省单片机的IO口,使用了两片74HC595作为数码管的驱动芯片,共占用3个IO口.74HC595部分电路图如下: 与单片机相连接的三个脚分别为: HC_D ...

最新文章

  1. 浅谈单图像三维重建算法
  2. 使用C#格式化字符串
  3. Acwing756. 蛇形矩阵:模拟
  4. 【学习笔记】JAVA IO与NIO(new IO)的对比与不同IO模型的理解
  5. 198. House Robber
  6. unity3d 不规则外发光描边_Shader案例之内发光和边缘泛光效果
  7. 在JVM之下–类加载器
  8. Linux操作Oracle(6)——Oracle11g OPatch 打补丁全纪录【Oracle11g windowsX64位环境+OPatch11.2.0.3.28】及资源下载
  9. 特斯拉中国工厂2020投产,还可能为完全自动驾驶更新硬件
  10. python基础教程3下载-Python基础教程第3版中国PDF电子书免费下载
  11. mime类型总结 input_type=file限制
  12. Python3对多股票的投资组合进行分析
  13. AR涂涂乐⭐七、(end)取消“识别成功”提示面片、加入太阳系及其交互功能、退出按钮设置
  14. 空气净化器上亚马逊需要提交UL867测试报告
  15. 新型工业路由器,为进入智能工业时代加快步伐
  16. 操作系统实验报告_ucore_lab1
  17. python将两张图片拼接成一张图_python实现两张图片拼接为一张图片并保存
  18. D. Sonya and Matrix
  19. vue显示日历插件_一个干净轻巧的插件,用于显示属性日历
  20. 宅急送项目开发过程及问题?

热门文章

  1. 计算机中c盘和硬盘有什么关系,都是硬盘分区 C盘和D盘到底有什么区别?
  2. 模拟cmos集成电路(7)
  3. Mendix一练一动: Mendix Studio Pro连接外围数据库(SQL Server)实现增删改查
  4. MacOS 安装 JDK1.8
  5. 关于Google Map 叠加层之Polyline(折线)、Polygon(多边形)、InfoWindow(信息窗口)
  6. node.js使用Sequelize实现多表连接查询
  7. sqlite奇怪错误SQL logic error
  8. Post请求body为list,校验里面的对象
  9. 装机之 BIOS、EFI与UEFI详解
  10. 内存对齐以及如何关闭内存对齐