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

【Proteus仿真】【Arduino单片机】数码管显示

文章目录

  • 一、功能简介
  • 二、软件设计
  • 三、实验现象
  • 联系作者


一、功能简介

本项目使用Proteus8仿真Arduino单片机控制器,使用TM1637、共阳数码管等。
主要功能:
系统运行后,数码管显示数字、字符。


二、软件设计

/*
作者:嗨小易(QQ:3443792007)*/#define CLK 2
#define DIO 3#include "GyverTM1637.h"
GyverTM1637 disp(CLK, DIO);uint32_t Now, clocktimer;
boolean flag;void setup() {Serial.begin(9600);disp.clear();disp.brightness(7);  // яркость, 0 - 7 (минимум - максимум)}void loop() {normClock();scrollClock();twistClock();scrolls();twists();  ints();fadeBlink();
}void twists() {disp.clear();delay(200);for (byte i = 0; i < 10; i++) {disp.twist(3, i, 20);delay(300);}// скрутка массива БАЙТbyte troll[4] = {_L, _O, _L, _empty};disp.scrollByte(troll, 100);delay(500);
}void twistClock() {byte hrs = 21, mins = 55;uint32_t tmr;Now = millis();while (millis () - Now < 5000) {   // каждые 10 секундif (millis() - tmr > 500) {       // каждые полсекундыtmr = millis();flag = !flag;disp.point(flag);   // выкл/выкл точкиif (flag) {// ***** часы! ****mins ++;if (mins > 59) {mins = 0;hrs++;if (hrs > 24) hrs = 0;}// ***** часы! ****byte dispTime[] = {(byte)hrs / 10, (byte)hrs % 10, (byte)mins / 10, (byte)mins % 10};disp.twist(dispTime, 35);    // выводим время массивом}}}disp.point(0);   // выкл точки
}void scrolls() {disp.clear();delay(1000);for (byte i = 0; i < 10; i++) {disp.scroll(3, i, 50);delay(300);}// прокрутка массива БАЙТbyte troll[4] = {_t, _r, _o, _l};disp.scrollByte(troll, 100);delay(500);
}void fadeBlink() {// пишем HELLdisp.displayByte(_H, _E, _L, _L);Now = millis();while (millis () - Now < 3000) {    // 3 секундыfor (int i = 7; i > 0; i--) {disp.brightness(i);   // меняем яркостьdelay(40);}for (int i = 0; i < 8; i++) {disp.brightness(i);   // меняем яркостьdelay(40);}}
}void scrollClock() {byte hrs = 15, mins = 0;uint32_t tmr;Now = millis();while (millis () - Now < 5000) {   // каждые 10 секундif (millis() - tmr > 500) {       // каждые полсекундыtmr = millis();flag = !flag;disp.point(flag);   // выкл/выкл точкиif (flag) {// ***** часы! ****mins ++;if (mins > 59) {mins = 0;hrs++;if (hrs > 24) hrs = 0;}// ***** часы! ****byte dispTime[] = {(byte)hrs / 10, (byte)hrs % 10, (byte)mins / 10, (byte)mins % 10};disp.scroll(dispTime, 70);    // выводим время массивом}}}disp.point(0);   // выкл точки
}void normClock() {byte hrs = 15, mins = 0;uint32_t tmr;Now = millis();while (millis () - Now < 5000) {   // 10 секундif (millis() - tmr > 500) {       // каждые полсекундыtmr = millis();flag = !flag;disp.point(flag);   // выкл/выкл точки// ***** часы! ****mins ++;if (mins > 59) {mins = 0;hrs++;if (hrs > 24) hrs = 0;}// ***** часы! ****disp.displayClock(hrs, mins);   // выводим время функцией часов}}disp.point(0);   // выкл точки
}void ints() {// тупо отправляем цифрыdisp.displayInt(-999);delay(200);disp.displayInt(-99);delay(200);disp.displayInt(-9);delay(200);disp.displayInt(0);delay(200);disp.displayInt(6);delay(200);disp.displayInt(66);delay(200);disp.displayInt(666);delay(200);disp.displayInt(6666);delay(200);
}

三、实验现象

B站演示视频:https://space.bilibili.com/444388619

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

联系作者

视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

http://www.lryc.cn/news/225019.html

相关文章:

  • 【Bug】Python利用matplotlib绘图无法显示中文解决办法
  • Docsify 顶部的导航是如何配置
  • 最详细的LightGBM参数介绍与深入分析
  • blender动画制作全流程软件
  • mac的可清除空间(时间机器)
  • 【深度学习】可交互讲解图神经网络GNN
  • 网工内推 | 运维工程师,软考认证优先,全额社保
  • 查找或替换excel换行符ctrl+j和word中的换行符^p,^l
  • pytorch_神经网络构建5
  • 安卓常见设计模式5------桥接模式(Kotlin版)
  • tomcat web.xml文件中的session-config
  • Hadoop知识点全面总结
  • MSVCP140_CODECVT_IDS.dll丢失怎么办?推荐三个解决方法帮你解决
  • 问题描述:64位计算机的寻址能力是多少TB
  • 【算法 | 数论 No.1】AcWing1246. 等差数列
  • 竞赛 目标检测-行人车辆检测流量计数
  • 秋招进入尾声了,还有哪些公司和岗位可以投递?
  • CSS 文字溢出省略号显示
  • POD创建与删除简单描述
  • AndroidStudio打包报错记录(commons-logging,keystore password was incorrect)
  • 如何构建企业数据资产?数据资产如何入资产负债表 ?
  • 代码随想录算法训练营Day 47 || 198.打家劫舍、213.打家劫舍II、337.打家劫舍 III
  • (论文阅读24/100)Visual Tracking with Fully Convolutional Networks
  • 第10章 文件和异常
  • 【云栖2023】张治国:MaxCompute架构升级及开放性解读
  • 【经验模态分解】4.信号由时域向频域的转换
  • STM32的M4内核在keil上面float访问就hard_fault原因
  • 【LeetCode】217. 存在重复元素
  • 【Redis缓存架构实战常见问题剖析】
  • mac M2 pytorch_geometric安装