@Tinbur物联网


利用Arduino实现数码管显示功能

1.实现功能的代码

1.1数码管显示滚动自定义字符串

#include <SevenSegmentTM1637.h>SevenSegmentTM1637  display(5,4);void setup(){display.begin();
}void loop(){display.setBacklight(50);display.print("123456");}

1.2数码管显示自定义的时间

#include <SevenSegmentExtended.h>
#include <SevenSegmentTM1637.h>SevenSegmentExtended  display(5,4);void setup(){display.begin();display.setBacklight(20);
}void loop(){display.printTime(12,30,HIGH);}

1.3数码管显示秒表

#include <EEPROM.h>
#include <SevenSegmentTM1637.h>
#include <avr/pgmspace.h>
#include <TimerOne.h>SevenSegmentTM1637  display(5,4);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 0void 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(){display.begin();display.setBacklight(20);tm1637.set();tm1637.init();
Timer1.initialize(10000);Timer1.attachInterrupt(TimingISR2);}void loop(){stopwatchStart();if(Update == ON){TimeUpdate2();tm1637.display(TimeDisp);}
}

2.以下使用可视化编程的截图

2.1数码管滚动字符串

2.2数码管显示自定义时间

2.3数码管显示秒表的功能

3.实现的效果

3.1实现滚动字符视频

数码管实现滚动字符串

3.2 实现自定义的时间

3.3实现秒表的视频

实现数码管秒表

利用Arduino实现数码管显示功能相关推荐

  1. LabVIEW控制Arduino驱动数码管(基础篇—11)

    目录 1.实验目的 2.实验环境 3.程序设计 4.实验演示 1.实验目的 利用LIAT中的数码管显示函数库,通过LabVIEW软件控制Arduino Uno控制板,将特定的数据显示在单个数码管上,实 ...

  2. 利用Arduino IDE对ATMEGA8等单片机编程

    简 介: 根据 Programming ATmega8 Using Arduino IDE - Arduino Project Hub 所描述的方法,测试了在Arduino IDE中增加对于ATmeg ...

  3. 利用Arduino Nano 对于另外的Arduino控制板下载Bootloader

    简 介: 测试了利用Nano板对于基于MEGA328的Arduino的Bootloader下载,在此基础之上,利用了FT232TL的USB-TTL UART模块对测试MEGA328下载执行程序. 关键 ...

  4. 利用Arduino对路由器进行调试,居然这么简单!

    本文讲的是利用Arduino对路由器进行调试,居然这么简单!, 在生产嵌入式系统,如路由器或网络摄像头时,制造商就已预留了一些调试端口.不过对于一般的用户来说,这些预留的调试端口显然是用不到的,因为它 ...

  5. Arduino:数码管显示原理详解和Proteus仿真实验

    Arduino:数码管显示原理详解和Proteus仿真实验 Proteus仿真 数码管介绍 数码管是半导体发光元件,其基本单元是发光二极管.根据段数,数码管分为七段管和八段管. 八段管比七段管还多一个 ...

  6. 单片机实验——改进型交通信号灯设计,交通信号系统是保障交通安全高效的重要设施,为了利于司机更好的判断,很多交通信号灯系统在原来的系统基础上设置了倒计时显示器。本实验利用7段数码管作倒计时显示器

    实验内容及要求 交通信号系统是保障交通安全高效的重要设施,为了利于司机更好的判断,很多交通信号灯系统在原来的系统基础上设置了倒计时显示器.本实验利用7段数码管作倒计时显示器,设计一个改进型的交通信号灯 ...

  7. 如何利用Arduino和TFT LCD操控NeoPixel LED灯条

    原文地址:https://circuitdigest.com/microcontroller-projects/neopixel-rgb-led-strip-with-arduino 如何利用Ardu ...

  8. 利用Arduino uno控制24BYJ-48电机正反转停止( 不使用步进库实现方法三)

    利用Arduino uno控制24BYJ-48电机正反转停止( 不使用步进库实现方法三) 24BYJ48步进电机 本文不涉及指定圈数的转动,旨在控制步进正反转以及停止的控制.(知道其原理,实现指定圈数 ...

  9. 利用Arduino uno控制24BYJ-48电机正反转停止( 不使用步进库实现方法二)

    利用Arduino uno控制24BYJ-48电机正反转停止( 不使用步进库实现方法二) 继续写第二种方法,主要是受到之前写流水灯的程序原理启发. 24BYJ48步进电机 本文不涉及指定圈数的转动,旨 ...

最新文章

  1. awk处理文件内容格式
  2. 【Scratch】青少年蓝桥杯_每日一题_6.01_画春花
  3. 产品经理的成长历程(宏观)
  4. C#实现窗口最小化到系统托盘
  5. Linq to xml:使用 XSLT 转换 XML 树
  6. NLP基础:n-gram语言模型和神经网络语言模型
  7. 最小生成树--Boruvka算法
  8. GMF 教程 Mindmap 6
  9. botnet的追踪和追寻专题
  10. redis主从和集群搭建
  11. selenium元素定位——下拉选择框
  12. httpget和ajax,javascript - HTTP中的get、post请求和ajax的get、post请求是一个东西吗?...
  13. HTML5期末大作业:关于旅游主题网站设计——开心网旅游网页源码(15页) HTML+CSS+JavaScript
  14. 可行性研究报告【列文】2022-5.6
  15. 后勤事务繁杂低效?三步骤解决企业行政管理难题
  16. 中国大学最卷的专业,让我读上了
  17. JAVA登录界面学生和老师_学生信息管理系统之第三篇登录界面java代码
  18. 解决CSDN markdown编辑器插入图片去除水印
  19. 【开源】23个优秀的机器学习数据集
  20. 使用ssr退出后,电脑能连上无线网,但是不能上网的解决方法

热门文章

  1. Qt开发之中国象棋篇(四):棋子移动(上)
  2. Hadoop文件存储格式
  3. Stochastic Image Denoising By Sampling from the Posterior Distribution (Paper reading)
  4. STM32F103ZET6+RA8875+Emwin显示和触摸移植
  5. js判断是否为Chrome/Safari/火狐/360/搜狗浏览器等
  6. oracle只存两天的数据,Oracle去重而保存时间最新的数据
  7. 《格瑞斯特》游戏设定
  8. 数字化升级的技术原力:数据编织+决策智能
  9. java爬虫面试题_Java 网络爬虫基础知识入门解析
  10. ReactNative进阶(二十八):ES6 Symbol 用法