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

嵌入式入门学习——6Protues点亮数码管,认识位码和段码,分辨共阴还是共阳(数字时钟第一步)

0 系列文章入口

嵌入式入门学习——0快速入门,Let‘s Do It!
首先新建基于Arduino UNO的protues工程,见本系列第3篇文章
1 点“P”按钮找器件
2 输入“seg”或“digit”查找数码管器件
3 找到我们想要的6位7段数码管
在这里插入图片描述
4如图A、B…DP都是段码,1、2…6是位码,段码位码我不再这里解释了,网上教程很多,让我们试试他是共阴还是共阳,共阴还是共阳网上解释也很多,我这图上的接法少串连了一个限流电阻,实际这么接可能电流过大烧毁发光二极管,然后我们开始仿真发现没动静,那就把电源和地换个方向。
在这里插入图片描述
换了方向可见二极管都点亮了,顺便也可以知道具体引脚对应的位置。实际工作中如果遇到不确定型号的数码管也可以使用这种方法上电测试。
对了连接完成电路后要点击左下角的仿真按钮才能让电路开始工作哦。
在这里插入图片描述
知道这些了我们就可以用Arduino UNO控制LED显示了,下图展示了流水灯程序,可以直观的看出每位数字的每个段码被依次点亮,当段码为高电平(红色)位码为低电平(蓝色)LED就被点亮啦。
请添加图片描述
程序如下:

void clearall()
{for(int seg=0;seg<8;seg++){digitalWrite(seg, LOW);   // 段码清零}for(int num=8;num<14;num++){digitalWrite(num, HIGH);   // 位码清零}}
void setup() {for(int seg=0;seg<8;seg++){pinMode(seg, OUTPUT); // 设置为输出模式digitalWrite(seg, LOW);   // 段码清零}for(int num=8;num<14;num++){pinMode(num, OUTPUT); // 设置为输出模式digitalWrite(num, HIGH);   // 位码清零}
}
void loop() {for(int j=8;j<14;j++){digitalWrite(j, LOW);   // 依次将位选设置成低电平for(int i=0;i<8;i++){digitalWrite(i, HIGH);   // 依次把段选设置为高电平delay(100);} clearall();}
}

不过这样控制可不优雅,这样要显示数字也太难了吧,还要去算那个数字由哪些段码组成,比如8就是0xFE(不显示小数点)7就是0xE0(只显示A、B、C对应的LED),而且Arduino还不支持C51或者STM32那样按组给GPIO赋值只能用循环的方式挨个比特赋值。下期教程引入第三方库SevSeg,让我们优雅的显示数字吧。顺便看看这个库底层是怎么设计的。

相关文章:

嵌入式入门学习——6Protues点亮数码管,认识位码和段码,分辨共阴还是共阳(数字时钟第一步)

0 系列文章入口 嵌入式入门学习——0快速入门&#xff0c;Let‘s Do It&#xff01; 首先新建基于Arduino UNO的protues工程&#xff0c;见本系列第3篇文章 1 点“P”按钮找器件 2 输入“seg”或“digit”查找数码管器件 3 找到我们想要的6位7段数码管 4如图A、B…DP都是段码…...

poisson过程——随机模拟(Python和R实现)

Python实现 exponential()使用&#xff0c;自动poisson过程实现。 import numpy as np import matplotlib.pyplot as plt# Parameters lambda_rate 5 # rate parameter (events per time unit) T 10 # total time# Generate Poisson process times np.random.exponential(…...

100 种下划线 / 覆盖层动画 | 终极 CSS(层叠样式表)集合

还在为你的菜单项和链接寻找动画效果而感到疲惫吗&#xff1f; 不用再找了&#xff01;这里列出了 100 多种不同的动画。从简单的到更复杂的&#xff0c;你肯定能找到自己想要的。 无需 SVG&#xff08;可缩放矢量图形&#xff09;&#xff0c;无需 JavaScript&#xff08;脚…...

华为ICT大赛2024-2025网络赛道考试分析

华为ICT大赛2024-2025正在报名中&#xff0c;网络赛道的同学如何备考&#xff0c;了解考试内容呢&#xff1f; 一、考试概况 华为ICT大赛分为4个赛段&#xff0c;分别为省赛初赛、省赛复赛、中国总决赛&#xff0c;全球总决赛。其中对应的能力级别分别如下&#xff1a; 省赛…...

linux 效率化 - 输入法 - fcitx5

安装 Fcitx5 1. 卸载 ibus 框架 由于 ibus 和 fcitx 可能会冲突&#xff0c;先卸载 ibus&#xff08;暂未确认原因&#xff09; sudo apt remove --purge ibus2. 安装 fcitx5 输入法框架 sudo apt update sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk…...

YOLOv11改进策略【卷积层】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构

一、本文介绍 本文记录的是基于RepVit的YOLOv11轻量化改进方法研究。RepVit的网络结构借鉴ViT的设计理念,通过分离的token mixe和channel mixer减少推理时的计算和内存成本,同时减少扩展比率并增加宽度,降低延迟,并通过加倍通道来弥补参数大幅减少的问题,提高了准确性。本…...

一天认识一个硬件之路由器

今天来给大家分享一下路由器的知识&#xff0c;先来说一下什么是路由器&#xff0c;路由器是一种计算机网络设备&#xff0c;它的主要作用是在不同的网络之间转发数据包&#xff0c;实现数据的传输和共享&#xff0c;介绍完了什么是路由器&#xff0c;再来介绍一下路由器的定义…...

【scene_manager】与 MoveIt 机器人的规划场景进行交互

scene_manager Scene Manager包是由 Robotnik 创建的 ROS 包&#xff0c;旨在帮助构建和与 MoveIt 机器人的规划场景进行交互。 背景信息 MoveIt 规划场景 是一个用于存储机器人周围世界的表示&#xff08;外部碰撞&#xff09;以及机器人自身状态&#xff08;内部碰撞和当…...

数据结构单向链表的插入和删除(一)

链表 一、链表结构&#xff1a; &#xff08;物理存储结构上不连续&#xff0c;逻辑上连续&#xff1b;大小不固定&#xff09;二、单链表&#xff1a;三、单项链表的代码实现&#xff1a;四、开发可用的链表&#xff1a;四、单链表的效率分析&#xff1a; 一、链表结构&#x…...

鸿蒙网络编程系列30-断点续传下载文件示例

1. 断点续传简介 在文件的下载中&#xff0c;特别是大文件的下载中&#xff0c;可能会出现各种原因导致的下载暂停情况&#xff0c;如果不做特殊处理&#xff0c;下次还需要从头开始下载&#xff0c;既浪费了时间&#xff0c;又浪费了流量。不过&#xff0c;HTTP协议通过Range…...

深入拆解TomcatJetty(二)

深入拆解Tomcat&Jetty&#xff08;二&#xff09; 专栏地址&#xff1a;https://time.geekbang.org/column/intro/100027701 1、Tomcat支持的IO模型和应用层协议 IO模型&#xff1a; NIO&#xff1a;非阻塞 I/O&#xff0c;采用 Java NIO 类库实现。NIO2&#xff1a;异…...

单元化架构,分布式系统的新王!

0 关键收获 单元化架构通过减少故障的爆炸半径来增加系统弹性单元化架构是那些任何停机时间都被认为是不可接受的&#xff0c;或者可以显著影响最终用户的系统的一个好选择单元化架构通过强制使用固定大小的单元作为部署单元&#xff0c;并倾向于扩展而不是扩展的方法&#xf…...

【力扣打卡系列】滑动窗口与双指针(乘积小于K的子数组)

坚持按题型打卡&刷&梳理力扣算法题系列&#xff0c;语言为go&#xff0c;Day6 乘积小于K的子数组 题目描述解题思路 双指针移动&#xff0c;遍历右端点right&#xff0c;滑动左端点left子数组的个数&#xff1a;固定右端点r&#xff0c;子数组的个数其实就是从l到r的元…...

浅谈微前端【qiankun】的应用

一、为什么要使用微前端 微前端的核心理念是将一个大型的单体前端应用拆分成多个独立的小型应用&#xff0c;以便各个应用能够独立开发、部署和更新。这带来了以下几个好处&#xff1a; 独立开发与部署&#xff1a;各个团队可以独立开发自己的子应用&#xff0c;快速上线新功能…...

【JavaEE】——四次挥手,TCP状态转换,滑动窗口,流量控制

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;断开连接的本质 二&#xff1a;四次挥手 1&#xff1a;FIN 2&#xff1a;过程梳理 …...

D42【python 接口自动化学习】- python基础之函数

day42 高阶函数 学习日期&#xff1a;20241019 学习目标&#xff1a;函数&#xfe63;- 55 高阶函数&#xff1a;函数对象与函数调用的用法区别 学习笔记&#xff1a; 函数对象和函数调用 # 函数对象和函数调用 def foo():print(foo display)# 函数对象 a foo print(a) # &…...

GitLab 老旧版本如何升级?

极狐GitLab 正式对外推出 GitLab 专业升级服务 https://dl.gitlab.cn/cm33bsfv&#xff01; 专业的技术人员为您的 GitLab 老旧版本实例进行专业升级&#xff01;服务详情可以在官网查看详细解读&#xff01; 那些因为老旧版本而被攻击的例子 话不多说&#xff0c;直接上图&a…...

现今 CSS3 最强二维布局系统 Grid 网格布局

深入学习 CSS3 目前最强大的布局系统 Grid 网格布局 Grid 网格布局的基本认识 Grid 网格布局: Grid 布局是一个基于网格的二位布局系统&#xff0c;是目前 CSS 最强的布局系统&#xff0c;它可以同时对列和行进行处理&#xff08;它将网页划分成一个个网格&#xff0c;可以任…...

【图解版】力扣第146题:LRU缓存

力扣第146题&#xff1a;LRU缓存 一、LRU算法1. 基本概念2. LRU 和 LFU 的区别&#xff1a;3. 为什么 LRU 不需要记录使用频率&#xff1f; 二、Golang代码实现三、代码图解1. LRUCache、DLinkedNode两个结构体2. 初始化结构体对象3. addToHead函数4. removeNode函数5. moveToH…...

数据库知识点整理

DDL DDL-数据库操作 show databases ------------ 查看所有数据库 select database(); ----------查看当前数据库 create database 数据库名&#xff1b;---- 创建数据库 use 数据库名&#xff1b; --------------使用数据库 drop database 数据库名&#xff1b;--…...

Python集合怎么去重_Set数据结构特性与交并差集合运算

set()去重不生效因只支持不可变类型&#xff0c;含列表、字典等会报TypeError&#xff1b;需转为可哈希形式如tuple(sorted(d.items()))&#xff1b;自定义类须实现__hash__和__eq__&#xff1b;set无序&#xff0c;保序用dict.fromkeys()&#xff1b;符号运算要求两边为set&am…...

如何计算SEO页面优化的费用_SEO页面优化费用如何收取

如何计算SEO页面优化的费用_SEO页面优化费用如何收取 在当今数字化时代&#xff0c;网站的SEO优化成为了提升网站流量和品牌知名度的关键因素。SEO页面优化的费用如何计算和收取&#xff0c;这个问题困扰着许多初学者和企业主。本文将详细解析如何计算SEO页面优化的费用&#…...

基于django的社区设备报修住户反馈智能预测系统设计_1pyj28qj

前言本论文的研究目的是以Django架构为基础&#xff0c;建立一套针对住宅设施维修需求的住宅物业维修信息的智能预测系统。随着我国城镇化进程的持续推进&#xff0c;社区规模越来越大&#xff0c;传统的社区设施维修与信息处理模式已经很难满足现代化社区高效便捷管理的需要。…...

游戏开发者必备免费源码网,一键搭建

一、全场景覆盖&#xff1a;从休闲小游戏到商业级项目 源码分享网的源码资源库堪称“游戏开发的全家桶”&#xff0c;覆盖了从前端交互到后端逻辑、从移动端到网页端的完整技术栈。无论是想要快速验证创意的休闲小游戏&#xff0c;还是需要搭建商业级游戏平台&#xff0c;这里…...

深入解析 JamTools:免费开源聚合工具的技术架构与跨平台实现

在软件技术快速发展的今天&#xff0c;聚合工具软件因其集成化、高效化的特点受到越来越多用户的青睐。 JamTools 作为一款完全免费开源的聚合工具软件&#xff0c;不仅在功能上满足了用户的多样化需求&#xff0c;在技术实现上也有诸多值得探讨的亮点。 本文将从技术架构、跨平…...

C#基于S7.Net组件实现西门子PLC通信上位机功能说明

C#与西门子plc通讯上位机 c#软件 工控软件 1.该程可以实现CSharp与西门子全系列plc(200&#xff0c;200smart&#xff0c;300&#xff0c;1200&#xff0c;1500)的以太网s7通讯&#xff0c;通讯传输快稳定。 2.该程序采用s7以太网通讯方式&#xff0c;本人经过几个星期的测试&…...

用Quartus原理图搭个抢答器:从74175到数码管,一个FPGA初学者的完整项目复盘

从零构建FPGA抢答器&#xff1a;一位工程师的74系列芯片实战手记 第一次接触FPGA开发时&#xff0c;我被Quartus原理图界面上那些密密麻麻的逻辑门和连线吓得不轻。直到把课堂上学到的数字电路知识真正落地成一个抢答器项目&#xff0c;才突然理解了那些看似抽象的触发器、计数…...

从社交推荐到药物发现:GAT(图注意力网络)在5个工业级场景下的落地实践

从社交推荐到药物发现&#xff1a;GAT在5个工业级场景下的落地实践 当AlphaFold2用图神经网络破解蛋白质折叠难题时&#xff0c;工业界突然意识到&#xff1a;图注意力网络&#xff08;GAT&#xff09;早已不再是学术玩具。在社交平台每天处理数十亿次关系推理的推荐系统里&…...

如何快速上手libcds:10分钟掌握并发数据结构基础

如何快速上手libcds&#xff1a;10分钟掌握并发数据结构基础 【免费下载链接】libcds A C library of Concurrent Data Structures 项目地址: https://gitcode.com/gh_mirrors/li/libcds libcds是一个强大的C并发数据结构库&#xff0c;专为多线程环境设计&#xff0c;提…...

git-split-diffs自定义主题开发:创建属于你的终端diff主题

git-split-diffs自定义主题开发&#xff1a;创建属于你的终端diff主题 【免费下载链接】git-split-diffs Syntax highlighted side-by-side diffs in your terminal 项目地址: https://gitcode.com/gh_mirrors/gi/git-split-diffs git-split-diffs是一款强大的终端工具&…...