【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设计,视频分享,技术交流。
相关文章:
【Proteus仿真】【Arduino单片机】数码管显示
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用TM1637、共阳数码管等。 主要功能: 系统运行后,数码管显示数字、字符。 二、软件设计 /* 作者:嗨小易&am…...
【Bug】Python利用matplotlib绘图无法显示中文解决办法
一,问题描述 当利用matplotlib进行图形绘制时,图表标题,坐标轴,标签中文无法显示,显示为方框,并报错 运行窗口报错: 这是中文字体格式未导入的缘故。 二,解决方案 在代码import部…...
Docsify 顶部的导航是如何配置
如下图,我们在 Docsify 的文档中配置了一个顶部导航。 下面的步骤对顶部导航的配置进行简要介绍。 配置 有 2 个地方需要这个地方进行配置。 首先需要在 index.html 文件中的 loadNavbar: true, 配置上。 然后再在项目中添加一个 _navbar.md 文件。 在这个文件中…...
最详细的LightGBM参数介绍与深入分析
前言 我使用LightGBM有一段时间了,它一直是我处理大多数表格数据问题的首选算法。它有很多强大的功能,如果你还没有看过的话,我建议你去了解一下。 但我一直对了解哪些参数对性能影响最大,以及如何调整LightGBM参数以发挥最大作用…...
blender动画制作全流程软件
blender官网下载地址 Download — blender.org Blender是一款功能强大的免费开源的3D动画制作软件。它具有广泛的功能和工具,适用于从简单的2D动画到复杂的3D渲染和特效的各种需求。 以下是Blender的一些主要特点: 建模工具:Blender提供了一…...
mac的可清除空间(时间机器)
看到这个可用82GB(458.3MB可清除) 顿时感觉清爽,之前的还是可用82GB(65GB可清除),安装个xcode都安装不上,费解半天,怎么都解决不了这个问题,就是买磁盘情理软件也解决不了…...
【深度学习】可交互讲解图神经网络GNN
在正式开始前,先找准图神经网络GNN(Graph Neural Network)的位置。 图神经网络GNN是深度学习的一个分支。 深度学习的四个分支对应了四种常见的数据格式,前馈神经网络FNN处理表格数据,表格数据可以是特征向量,卷积神经网络CNN处理…...
网工内推 | 运维工程师,软考认证优先,全额社保
01 北京中科网威信息技术有限公司 招聘岗位:运维工程师 职责描述: 1 熟悉网络安全标准,等级保护管理制度 2 负责等级保护管理制度的的企业管理要求编写; 3 熟系网络组网和相关安全产品; 4 负责用户需求挖掘、分析和…...
查找或替换excel换行符ctrl+j和word中的换行符^p,^l
一、excel中 直接上图。使用ctrlh调出替换,查找内容里按ctrlj(会出现一个闪的小点),即为换行符。 二、word中 在word中,^p和^l分别代表换行符(enter)和手动换行符(使用shiftenter&…...
pytorch_神经网络构建5
文章目录 生成对抗网络自动编码器变分自动编码器重参数GANS自动编码器变分自动编码器gans网络Least Squares GANDeep Convolutional GANs 生成对抗网络 这起源于一种思想,假如有一个生成器,从原始图片那里学习东西,一个判别器来判别图片是真实的还是生成的, 假如生成的东西能以…...
安卓常见设计模式5------桥接模式(Kotlin版)
1. W1 是什么,什么是桥接模式? 桥接模式是一种结构性模式。 桥接模式旨在将抽象与实现解耦,使它们可以独立地变化。可以这么理解,面向对象编程是单继承多实现的,如果我们有一个可扩展类,和多个相关的可扩展…...
tomcat web.xml文件中的session-config
<session-config>这个元素为该应用中创建的所有session定义默认超时时间,单位是分钟。这个值必须是整数。如果是0或者负数,表示不超时。如果该元素没有设置,容器设置一个默认值。 例如: <session-config><session…...
Hadoop知识点全面总结
文章目录 什么是HadoopHadoop发行版介绍Hadoop版本演变历史Hadoop3.x的细节优化Hadoop三大核心组件介绍HDFS体系结构NameNode介绍总结 SecondaryNameNode介绍DataNode介绍DataNode总结 MapReduce介绍分布式计算介绍MapReduce原理剖析MapReduce之Map阶段MapReduce之Reduce阶段 实…...
MSVCP140_CODECVT_IDS.dll丢失怎么办?推荐三个解决方法帮你解决
MSVCP140_CODECVT_IDS.dll是Microsoft Visual C 2015 Redistributable的一个组件,它包含了一些运行时库文件。当您在运行某些程序时,可能会遇到“msvcp140_codecvt_ids.dll丢失”的错误提示。为了解决这个问题,您可以尝试以下三种方法&#x…...
问题描述:64位计算机的寻址能力是多少TB
问题描述:64位计算机的寻址能力是多少TB 我在看到一个32位电脑的寻址能力计算时,看到是这么计算的。 虚拟内存的大小受到计算机地址位数的限制, 那么32位电脑的寻址能力计算应该是这样 为什么网上百度到的是16TB呢,如下图所示 中…...
【算法 | 数论 No.1】AcWing1246. 等差数列
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【AcWing算法提高学习专栏】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程&a…...
竞赛 目标检测-行人车辆检测流量计数
文章目录 前言1\. 目标检测概况1.1 什么是目标检测?1.2 发展阶段 2\. 行人检测2.1 行人检测简介2.2 行人检测技术难点2.3 行人检测实现效果2.4 关键代码-训练过程 最后 前言 🔥 优质竞赛项目系列,今天要分享的是 行人车辆目标检测计数系统 …...
秋招进入尾声了,还有哪些公司和岗位可以投递?
24届秋招基本已经进入尾声了,接下来就是秋招补录了,最近在微信群看到一些同学再问哪些公司还在招人的。 在这里跟大家分享一份2024届秋招信息汇总表,目前已更新2000家,不仅有互联网公司,还有外企、国企、各类研究所&am…...
CSS 文字溢出省略号显示
1. 单行文本溢出显示省略号 需要满足三个条件,添加对应的代码: (1)先强制一行内显示文本; (2)超出的部分隐藏; (3)文字用省略号来替代省略的部分…...
POD创建与删除简单描述
创建一个 Pod 的过程可以分为以下几个步骤: 用户使用 kubectl create 命令或 YAML 文件向 API 服务器发送创建 Pod 的请求。API 服务器将请求转换为 Kubernetes 的内部对象,并将 Pod 的状态设置为 Pending。调度器根据 Pod 的资源需求和节点的资源情况&…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
