Mixly数码管TM1637时钟实验

  • 实验一:实现滚动显示自定义字符串
  • 实验二:实现显示自定义时间
  • 实验三:实现显示秒表

实验一:实现滚动显示自定义字符串

Mixly程序源码截图:

核心代码:

#include <SevenSegmentTM1637.h>SevenSegmentTM1637  display(5,6);void setup(){display.begin();display.setBacklight(100);
}void loop(){while (true) {display.print("ABC123FE5");}}

实验效果图:

实验效果视频:

Mixly实现滚动字符串

实验二:实现显示自定义时间

Mixly程序源码截图:

核心代码:

#include <SevenSegmentExtended.h>
#include <SevenSegmentTM1637.h>SevenSegmentExtended  display(5,6);void setup(){display.begin();display.setBacklight(20);
}void loop(){while (true) {display.printTime(10,35,HIGH);}}

实验效果图:

实验三:实现显示秒表

Mixly程序源码截图:

核心代码:

#include <EEPROM.h>
#include <avr/pgmspace.h>
#include <TimerOne.h>
#include <TM1637.h>int8_t TimeDisp[] = {0x00,0x00,0x00,0x00};
unsigned char ClockPoint = 1;
unsigned char Update;
unsigned char microsecond_10 = 0;
unsigned char second;
unsigned char _microsecond_10 = 0;
unsigned char _second;
unsigned int eepromaddr;
boolean Flag_ReadTime;#define ON 1
#define OFF 0TM1637 tm1637(5,6);
void TimeUpdate2(void)
{
if(ClockPoint)tm1637.point(POINT_ON);
else tm1637.point(POINT_OFF);
TimeDisp[2] = _microsecond_10 / 10;
TimeDisp[3] = _microsecond_10 % 10;
TimeDisp[0] = _second / 10;
TimeDisp[1]= _second % 10;
Update = OFF;
}void TimingISR2()
{
microsecond_10 ++;
Update = ON;
if(microsecond_10 == 100)
{
second ++;
if(second == 60)
{
second = 0;
}
microsecond_10 = 0;
}
ClockPoint =(~ClockPoint) & 0x01;
if(Flag_ReadTime == 0){_microsecond_10 = microsecond_10;
_second = second;  }
}void readTime(){
Flag_ReadTime = 1;
if(eepromaddr == 0)
{
Serial.println("The time had been read");
_microsecond_10 = 0;_second = 0;
}
else{
_second = EEPROM.read(-- eepromaddr);
_microsecond_10 = EEPROM.read(-- eepromaddr);
Serial.println("List the time");
}
Update = ON;
}
void saveTime()
{EEPROM.write(eepromaddr ++,microsecond_10);
EEPROM.write(eepromaddr ++,second);
}void stopwatchPause()
{
TCCR1B &= ~(_BV(CS10) | _BV(CS11) | _BV(CS12));
}void stopwatchReset()
{stopwatchPause();
Flag_ReadTime = 0;
_microsecond_10 = 0;
_second = 0;
microsecond_10 = 0;
second = 0;
Update = ON;
}void stopwatchStart()
{Flag_ReadTime = 0;
TCCR1B |=Timer1.clockSelectBits;
}void setup(){tm1637.init();tm1637.set();tm1637.init();
Timer1.initialize(10000);Timer1.attachInterrupt(TimingISR2);
}
void loop(){stopwatchStart();if(Update == ON){TimeUpdate2();tm1637.display(TimeDisp);}
}

实验效果图:

实验效果视频:

Mixly数码管实现秒表

Mixly数码管TM1637时钟实验相关推荐

  1. 黑金AX301开发板学习(3)——动态数码管的时钟实验

    开发板的使用是AX301,学习资料可以在我的另一篇文章中找到.链接在如下:https://blog.csdn.net/qq_24213087/article/details/108238682 一.动 ...

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

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

  3. 【FPGA】数码管电子时钟(可设置时间和闹钟)

    目录 前言 一丶需求分析 1.设置时间 2.设置闹钟 二丶工程源码 1.counter 2.seg_driver 3.key_debounce 4.beep 5.顶层模块 三丶模块原理图 四丶管脚信息 ...

  4. Arduino 数码管 硬件 4位数码管 TM1637驱动芯片 库文件 示例

    Arduino 数码管 硬件 4位数码管 TM1637驱动芯片 库文件 示例 4位数码管:这里用的是TM1637驱动的数码管 备注:此章节会用到库的概念和内容. 该模块有四个引脚,意义如下: GND: ...

  5. 基于VHDL的数字时钟实验报告

    数字时钟实验报告 [实验目的]: 设计一个24小时制数字钟,要求能显示时,分,秒,并且可以手动调整时和分 [试验中所用器材]: 开发环境MAX-PLUSII,ZY11EDA13BE 试验系统, VHD ...

  6. 51单片机七段数码管显示时钟无按键控制—①—74HC595版

    参考链接: 51单片机七段数码管显示时钟加按键控制-③-74HC595版 51单片机七段数码管显示时钟加按键控制-②-74HC595版 文章目录 一.实验内容: 二.实验分析: 三.仿真图: 四.源代 ...

  7. c语言实验报告世界时钟,基于LCD的电子时钟实验报告.doc

    PAGE \* MERGEFORMAT 3 河海大学物联网工程学院 课程设计报告 题 目 基于LCD的电子时钟实验 专业.学号 电信 . 授课班号 完成时间 2013.07.05 课程设计(报告)任务 ...

  8. 25 linux ndk 头文件_正点原子Linux第二十五章RTC实时时钟实验

    1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 第二十五章RTC实时时钟实验 实时时钟是很常用的一个外设 ...

  9. 89c51,8255,6个led数码管显示时钟的汇编语言程序,汇编语言要求编写一个时钟程序 用八位数码管实现时分秒的计时功能...

    我以前做的一个6位数码管的时钟程序,你可以看看,其实6位足够了. KEYVALEQU 30H KEYTMEQU 31H KEYSCANEQU 32H DATEQU 33H SCANLEDEQU 39H ...

最新文章

  1. SAP Retail MM41 维护商品主数据,报错 - 估价范围 NM01 还没有生产式的物料帐簿 – 之对策
  2. IIS7 Request format is unrecognized.
  3. ABAP报表中负值展示问题的处理方法
  4. 6-4 建立学生信息链表 (20 分)
  5. 页面性能优化参考建议
  6. IDEA : IDEA 打开使用内存监控
  7. 还在这样学 Python?怪不得白费力!
  8. CentOS SELinux
  9. 企业管理的实质和核心是人的管理
  10. Spring Boot2.x 的Druid连接池配置[附带监控]
  11. matlab生成正交试验,正交表的构造方法及Matlab实现.pdf
  12. ESP8266与ESP8285开发时有什么区别
  13. java 根号x_java如和开根号
  14. android 动态仿磁贴,UWP开发:给App加上动态磁贴
  15. Python | peewee.InterfaceError
  16. Matlab肤色分割
  17. 北京大学优秀计算机论文,计算机系在ESEC/FSE'20上发表的论文获得ACM SIGSOFT杰出论文奖...
  18. 一文读懂十大数据存储加密技术
  19. Google 搜素技巧
  20. 17个最有用的PHP脚本(和5个出色的免费脚本)

热门文章

  1. 有向无环图—拓扑序列
  2. 服务器远程连接多个账号,如何删除服务器登录的多个活动远程桌面连接?
  3. 容器化(docker)
  4. 限制字符输入数功能(jQ版和原生JS版)
  5. C语言学习(十二)C语言中的字符(宽字符与窄字符)、从字符谈谈C语言的编码、转义字符
  6. 三维重建 阈值分割 3D可视化 医学图像分割 CT图像分割及重建系统 可视化编程技术及应用
  7. 年底打新将空前白热化:闭眼赚钱谁会放过?
  8. vue跳转链接(新页签)
  9. Python 获取当前系统时间
  10. Python趣味算法入门 - 百钱百鸡