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

【51单片机零基础-chapter4:LED数码管】

LED数码管本质是一种廉价的显示器,由多个发光二极管封装组成的8字形器件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果要显示6,那么需要点亮除了B以外的所有段,并且开发板上默认是共阴极
在这里插入图片描述
阳极A->G除了B全点亮,所以7,4,2,1,9,10全接正极:10111110
这个就是段码,表示显示的数据

静态LED显示

开发板上是四个一体的LED灯
在这里插入图片描述
每个LED单独引出一个共阴极(或阳极)端
但是所有的LED其余各个段连在一起
比如想第三个LED显示1
那么第一二四个LED灯共阴极接在正极上,所以保证它们不会亮
然后BC段全给1,其余接0,这时第三个LED因为一头连负极,一头的各段存在正极(BC段)那么只有第三个LED灯的BC段亮,即0110 0000这样子赋.
但这样子搞,只会同一时刻一组LED显示同一数字,因为下面的段是相同的(led共用引脚)

动态数码管显示

一组LED各自显示不同的数字
其实本质仍是静态的,因为共用引脚决定了同一时刻只能显示一个数字.
但是如果切换的够快,那么人眼分辨不出一组LED的不同数字不是在同一时刻,视觉上像是同时显示了不同数据(类似于OS的并发,切换的足够快,使每个用户(LED)感觉像是独占)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其中3个控制8个原理是三位二进制转十进制,转到谁,谁有效,给负电平,其余全1
C B A Y
位权 4 2 1 十进制
0 0 0 Y0->0111 1111
0 0 1 Y1->1011 1111
1 0 1 Y5->1111 1011

双向数据缓冲器
在这里插入图片描述
DIR方向,代表是左缓冲到右,还是右缓冲到左
接高电平,则左边缓冲到右遍.因为数码管显示一般是送数据(左到右)不需要读回来,所以一般是给高电平
在这里插入图片描述
VDD,GND正负极
OE使能,一般称CE
A0-B0,A1-B1,…,A7-B7

电容
在这里插入图片描述
8个电阻组成排阻,R是欧姆,限流电阻,防止数码管电流过大
在这里插入图片描述
总结
先选中某个LED的共阴极,通过138译码器
p22,p23,p24赋值,有三位二进制,转十进制x,则LEDx的共阴极接上低电平0,其余全1,只有LEDx满足条件,然后给p0口一个阳码数据,其中只有1的才是给了高电平
有高低电平,数码管段才会亮

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

让LED5显示6

led5,则共阴极5->二进制101,则p2的234赋值101;
显示6,则从段a到dp分别是1011 1110
由于从高位往低位读,则是0111 1101
转化为16进制(1+2+4 1+4+8=7 13 ,10为A,13为D):7 D

#include <REGX52.H>
//light LED5
void main(){//6=101P2_4=1;P2_3=0;P2_2=1;P0=0x7D;while(1){}
}

让LED显示985

#include <REGX52.H>
unsigned char lednum[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void light(unsigned char location,num);
void Delay(unsigned char x);void main(){while(1){light(1,9);Delay(10);light(2,8);Delay(10);light(3,5);Delay(10);light(6,2);Delay(10);light(7,1);Delay(10);light(8,1);Delay(10);}
}void light(unsigned char location,num){switch(location){case 1:P2_4=1;P2_3=1;P2_2=1; break;case 2:P2_4=1;P2_3=1;P2_2=0; break;case 3:P2_4=1;P2_3=0;P2_2=1; break;case 4:P2_4=1;P2_3=0;P2_2=0; break;case 5:P2_4=0;P2_3=1;P2_2=1; break;case 6:P2_4=0;P2_3=1;P2_2=0; break;case 7:P2_4=0;P2_3=0;P2_2=1; break;case 8:P2_4=0;P2_3=0;P2_2=0; break;}P0=lednum[num];
}
void Delay(unsigned char x)		//@12.000MHz
{while(x--){unsigned char i, j;i = 2;j = 239;do{while (--j);} while (--i);}
}

数码管消影

逻辑:位选,段选,位选,…
单片机速度过快会导致数据窜位
需要每次段选完后清零,但不能马上清零,否则导致灯光过暗
Delay(1);P0=0x00;

#include <REGX52.H>
unsigned char lednum[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void light(unsigned char location,num);
void Delay(unsigned char x);void main(){while(1){light(1,9);Delay(1);light(2,8);Delay(1);light(3,5);Delay(1);light(6,2);Delay(1);light(7,1);Delay(1);light(8,1);Delay(1);}
}void light(unsigned char location,num){switch(location){case 1:P2_4=1;P2_3=1;P2_2=1; break;case 2:P2_4=1;P2_3=1;P2_2=0; break;case 3:P2_4=1;P2_3=0;P2_2=1; break;case 4:P2_4=1;P2_3=0;P2_2=0; break;case 5:P2_4=0;P2_3=1;P2_2=1; break;case 6:P2_4=0;P2_3=1;P2_2=0; break;case 7:P2_4=0;P2_3=0;P2_2=1; break;case 8:P2_4=0;P2_3=0;P2_2=0; break;}P0=lednum[num];//消影Delay(1);P0=0x00;
}
void Delay(unsigned char x)		//@12.000MHz
{while(x--){unsigned char i, j;i = 2;j = 239;do{while (--j);} while (--i);}
}

相关文章:

【51单片机零基础-chapter4:LED数码管】

LED数码管本质是一种廉价的显示器,由多个发光二极管封装组成的8字形器件 如果要显示6,那么需要点亮除了B以外的所有段,并且开发板上默认是共阴极 阳极A->G除了B全点亮,所以7,4,2,1,9,10全接正极:10111110 这个就是段码,表示显示的数据 静态LED显示 开发板上是四个一体…...

【网络】什么是路由协议(Routing Protocols)?常见的路由协议包括RIP、OSPF、EIGRP和BGP

路由协议(Routing Protocols) 像 google map RIP &#xff08;Routing Information Protocol&#xff09;:跳数 超了就废了 OSPF&#xff08;Open Shortest Path First&#xff09; 就好像拿着map找最短距离(跳数) EIGRP&#xff08;Enhanced Interior Gateway Routing Protoco…...

Unity3D ILRuntime开发原则与接口绑定详解

引言 ILRuntime是一款基于C#的热更新框架&#xff0c;使用IL2CPP技术将C#代码转换成C代码&#xff0c;支持动态编译和执行代码&#xff0c;适用于Unity3D的所有平台&#xff0c;包括Android、iOS、Windows、Mac等。本文将详细介绍ILRuntime在Unity3D中的开发原则及接口绑定技术…...

闻泰科技涨停-操盘训练营实战-选股和操作技术解密

如上图&#xff0c;闻泰科技&#xff0c;今日涨停&#xff0c;这是前两天分享布局的一个潜伏短线的标的。 选股思路&#xff1a; 1.主图指标三条智能辅助线粘合聚拢&#xff0c;即将选择方向 2.上图红色框住部分&#xff0c;在三线聚拢位置&#xff0c;震荡筑底&#xff0c;…...

我用AI学Android Jetpack Compose之开篇

最近突发奇想&#xff0c;想学一下Jetpack Compose&#xff0c;打算用Ai学&#xff0c;学最新的技术应该要到官网学&#xff0c;不过Compose已经出来一段时间了&#xff0c;Ai肯定学过了&#xff0c;用Ai来学&#xff0c;应该问题不大&#xff0c;学习过程记录下来&#xff0c;…...

25考研王道数据机构课后习题-----顺序表链表部分

文章目录 1.顺序表题目2.链表相关题目3.我的个人总结 声明&#xff1a;以下内容来自于B站知名up主白话拆解数据结构&#xff0c;望获悉&#xff1b; 1.顺序表题目 下面的这个说的是&#xff1a;下面的哪一个是组成我们的顺序表的有限序列&#xff0c;这个应该是数据元素&#x…...

新能源电动汽车动力电池技术

新能源电动汽车动力电池技术是新能源汽车发展的核心之一&#xff0c;以下是动力电池技术的一些关键方面&#xff1a; 技术进展 能量密度提升&#xff1a;近年来&#xff0c;动力电池的能量密度有了显著提升&#xff0c;从2010年的100Wh/kg提高到2024年的300Wh/kg。能量密度的…...

修复 ITunes 在 Windows 或 Mac 上不断崩溃的问题 [100% 有效]

对于 iDevice 用户来说&#xff0c;只能通过 iTunes 在 iDevice 和计算机之间传输文件的困境一直是一个紧迫的问题。所有 iPhone 用户可能都知道&#xff0c;iTunes 并不是一款高效的应用程序&#xff0c;有时性能会很差&#xff0c;例如在 iDevices 和计算机之间传输文件时不断…...

Android设备使用AOA协议进行主机与配件模式通信

1.使用TYPC-C数据线连接两台华为手机&#xff1a; TYPE-C线&#xff0c;先连接下图右边的ACCESSORY 再连接左边的HOST 此时左边的HOST(白色) 会给右边的ACCESSORY(黑色) 充电 接着打开左连接的HostChart会自动调起授权&#xff0c;然后会启动右边的AccessoryChart USB HOS…...

Python爬虫入门实例:Python7个爬虫小案例(附源码)

引言 随着互联网的快速发展&#xff0c;数据成为了新时代的石油。Python作为一种高效、易学的编程语言&#xff0c;在数据采集领域有着广泛的应用。本文将详细讲解Python爬虫的原理、常用库以及实战案例&#xff0c;帮助读者掌握爬虫技能。 一、爬虫原理 爬虫&#xff0c;又…...

生成对抗网络 (Generative Adversarial Network, GAN) 算法MNIST图像生成任务及CelebA图像超分辨率任务

生成对抗网络 (Generative Adversarial Network, GAN) 算法详解与PyTorch实现 目录 生成对抗网络 (Generative Adversarial Network, GAN) 算法详解与PyTorch实现1. 生成对抗网络 (GAN) 算法概述1.1 生成器与判别器1.2 GAN的优势2. GAN的核心技术2.1 目标函数2.2 生成器2.3 判别…...

快速排序排序方法演示及算法分析(附代码和实例)

基本思想&#xff1a; 任取一个元素&#xff08;比如第一个&#xff09;为中心&#xff0c;称为枢轴&#xff08;pivot&#xff09;所有比它小的元素一律前放&#xff0c;比它大的元素后放&#xff0c;形成左右两个子表对各子表重新选择中心元素并以此规则调整直到每个子表的元…...

库迪困境:供应链补救失效背后的市场错配

作者 | 曾响铃 文 | 响铃说 近日&#xff0c;红餐网证实了库迪咖啡暂停便捷店招商的消息。库迪官方回应称&#xff0c;店中店模式招商只是按下了暂停键&#xff0c;不排除未来重启的可能。 但一批被“暂停”的便捷店加盟商&#xff0c;不知道等不等起库迪的未来重启。 小红…...

解决openpyxl操纵带公式的excel或者csv之后,pandas无法读取数值的问题

1 功能特点 openpyxl&#xff1a; 这是一个专门用于操作Excel文件&#xff08;.xlsx/.xlsm&#xff09;的库。它提供了丰富的功能来读取、写入和修改Excel文件的各个元素&#xff0c;如单元格、行、列、工作表等。例如&#xff0c;可以通过openpyxl轻松地创建一个新的Excel工作…...

基于傅立叶神经网络(FNN)与物理信息神经网络(PINN)求解泊松方程(附Pytorch源代码)

基于傅立叶神经网络(FNN)与物理信息神经网络(PINN)求解泊松方程 一、引言 偏微分方程(Partial Differential Equation, PDE)在科学与工程领域有着广泛的应用。传统数值方法(如有限差分法、有限元法)在求解这类问题时,尽管已经非常成熟,但随着问题复杂度的增加,其计…...

小程序组件 —— 28 组件案例 - 推荐商品区域 - 实现结构样式

这一节目标是实现底部推荐商品的结构和样式&#xff0c;由于这里要求横向滚动&#xff0c;所以需要使用上节介绍的 scroll-view 功能&#xff0c;并使用 scroll-x 属性支持横向滚动&#xff0c;推荐商品区域中的每一个商品是一个单独的 view&#xff0c;每个view 中需要写三个组…...

Flink读写Kafka(DataStream API)

在Flink里,已经预定义了kafka connector,使用该connector我们可以读写kafka,并且能实现exactly once的语义。 要使用需要引入相关的maven依赖,在这里,因为读写kafka,就会涉及一个问题,kafka-client和broker的版本兼容问题,不过因为kafka client和broker的双向兼容的良…...

SCAU期末笔记 - 数据库系统概念往年试卷解析

数据库搞得人一头雾水&#xff0c;题型太多太杂&#xff0c;已经准备摆烂了。就刷刷往年试卷&#xff0c;挂不挂听天由命。 2019年 Question 1 选择题 1. R ∩ S R∩S R∩S等于一下哪个选项&#xff1f; 画个文氏图秒了 所以选A. R ∩ S R − ( R − S ) R∩SR-(R-S) R∩…...

flutter在windows平台中运行报错

PS D:\F\luichun> flutter run当运行flutter项目时&#xff0c;【解决如下报错】 /C:/flutter/packages/flutter/lib/src/painting/star_border.dart:530:27: Error: The getter Matrix4 isnt defined for the class _StarGenerator.- _StarGenerator is from package:flut…...

HTML——75. 内联框架

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>内联框架</title><style type"text/css">iframe{width: 100%;height: 500px;}</style></head><body><!--iframe元素会创建包含…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...