51单片机之数码管

2023-05-16

1.静态数码管原理图

在这里插入图片描述

LED数码管根据LED的不同接法分为两类:共阴和共阳
为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。
共阴数码管码表
0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d
0 1 2 3 4 5
0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c
6 7 8 9 A B
0x39 , 0x5e , 0x79 , 0x71 , 0x00
C D E F 无显示
静态显示原理
LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。
开发板电路图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
74H573锁存器在这里插入图片描述

  1. OE为使能端,当他为低电平的时候, 锁存器开始工
  2. VCC和GND为电源和地端
  3. LE为锁存端,当LE为高电平的时候,Q0-Q7都跟D0-D7状态一样,当LE为低电平的时候,Q0-Q7都锁存数据,无论D0-D7怎么变化,Q0-Q7都保持锁存之前的那个状态。
#include "reg52.h"  
#include<intrins.h>  
typedef unsigned int u16;   
typedef unsigned char u8;    
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit beep=P1^5;
u16 code ta[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(u16 i)
{
 while(i--); 
}
void DigDisplay1()
{
    u8 i;
 u8 j;
 j=0;
 for(i=0;i<8;i++)
 {
     switch(i)
  {        
   case(0):
      LSC=0;LSB=0;LSA=0;P0=ta[1];break;
      case(1):
      LSC=0;LSB=0;LSA=1;P0=ta[2];break;
   case(2):
      LSC=0;LSB=1;LSA=0;P0=ta[3];break;
      case(3):
      LSC=0;LSB=1;LSA=1;P0=ta[4];break;
   case(4):
      LSC=1;LSB=0;LSA=0;P0=ta[5];break;
   case(5):
      LSC=1;LSB=0;LSA=1;P0=ta[6];break;
   case(6):
      LSC=1;LSB=1;LSA=0;P0=ta[7];break;
   case(7):
      LSA=1;LSB=1;LSC=1;P0=ta[8];break;
  }
  delay(100);
  P0=0x00;
 }
}
void main()
{
 u8 i;
 while(1)
 {    
   DigDisplay1();
 }  
} 
         添加摘要           

1.静态数码管原理图

在这里插入图片描述

LED数码管根据LED的不同接法分为两类:共阴和共阳
为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。
共阴数码管码表
0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d
0 1 2 3 4 5
0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c
6 7 8 9 A B
0x39 , 0x5e , 0x79 , 0x71 , 0x00
C D E F 无显示
静态显示原理
LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。
开发板电路图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
74H573锁存器在这里插入图片描述

  1. OE为使能端,当他为低电平的时候, 锁存器开始工
  2. VCC和GND为电源和地端
  3. LE为锁存端,当LE为高电平的时候,Q0-Q7都跟D0-D7状态一样,当LE为低电平的时候,Q0-Q7都锁存数据,无论D0-D7怎么变化,Q0-Q7都保持锁存之前的那个状态。
#include "reg52.h"  
#include<intrins.h>  
typedef unsigned int u16;   
typedef unsigned char u8;    
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit beep=P1^5;
u16 code ta[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//分别为0 1 2 3 4 5 6 7 8 9(码表)
void delay(u16 i)             //延时函数
{
while(i--); 
}
void DigDisplay1()
{
    u8 i;
 u8 j;
 j=0;
for(i=0;i<8;i++)
{
switch(i)
{        
case(0):
LSC=0;LSB=0;LSA=0;P0=ta[1];break;
case(1):
LSC=0;LSB=0;LSA=1;P0=ta[2];break;
case(2):
LSC=0;LSB=1;LSA=0;P0=ta[3];break;
case(3):
LSC=0;LSB=1;LSA=1;P0=ta[4];break;
case(4):
LSC=1;LSB=0;LSA=0;P0=ta[5];break;
case(5):
LSC=1;LSB=0;LSA=1;P0=ta[6];break;
case(6):
LSC=1;LSB=1;LSA=0;P0=ta[7];break;
case(7):
LSA=1;LSB=1;LSC=1;P0=ta[8];break;
}
delay(100);
P0=0x00;
}
}
void main()
{
 u8 i;
while(1)
{    
DigDisplay1();
}  
} 

P2.2,P2.3,P2.4管脚一起控制第几个数码管点亮(从右边数)

LSC(P2.4)LSB(P2.3)LSA(P2.2)第i个数码管
0001
0012
0103
0114
1005
1016
1107
1118

P0控制数码管显示的数字和字母
添加摘要

1.静态数码管原理图

在这里插入图片描述

LED数码管根据LED的不同接法分为两类:共阴和共阳
为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。
共阴数码管码表
0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d
0 1 2 3 4 5
0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c
6 7 8 9 A B
0x39 , 0x5e , 0x79 , 0x71 , 0x00
C D E F 无显示
静态显示原理
LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。
开发板电路图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
74H573锁存器在这里插入图片描述

  1. OE为使能端,当他为低电平的时候, 锁存器开始工
  2. VCC和GND为电源和地端
  3. LE为锁存端,当LE为高电平的时候,Q0-Q7都跟D0-D7状态一样,当LE为低电平的时候,Q0-Q7都锁存数据,无论D0-D7怎么变化,Q0-Q7都保持锁存之前的那个状态。
#include "reg52.h"  
#include<intrins.h>  
typedef unsigned int u16;   
typedef unsigned char u8;    
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit beep=P1^5;
u16 code ta[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//分别为0 1 2 3 4 5 6 7 8 9(码表)
void delay(u16 i)             //延时函数
{
while(i--); 
}
void DigDisplay1()
{
    u8 i;
 u8 j;
 j=0;
for(i=0;i<8;i++)
{
switch(i)
{        
case(0):
LSC=0;LSB=0;LSA=0;P0=ta[1];break;
case(1):
LSC=0;LSB=0;LSA=1;P0=ta[2];break;
case(2):
LSC=0;LSB=1;LSA=0;P0=ta[3];break;
case(3):
LSC=0;LSB=1;LSA=1;P0=ta[4];break;
case(4):
LSC=1;LSB=0;LSA=0;P0=ta[5];break;
case(5):
LSC=1;LSB=0;LSA=1;P0=ta[6];break;
case(6):
LSC=1;LSB=1;LSA=0;P0=ta[7];break;
case(7):
LSA=1;LSB=1;LSC=1;P0=ta[8];break;
}
delay(100);
P0=0x00;
}
}
void main()
{
 u8 i;
while(1)
{    
DigDisplay1();
}  
} 

P2.2,P2.3,P2.4管脚一起控制第几个数码管点亮(从右边数)

LSC(P2.4)LSB(P2.3)LSA(P2.2)第i个数码管
0001
0012
0103
0114
1005
1016
1107
1118

P0控制数码管显示的数字和字母

P0显示P0显示
0x3f00x6f9
0x0610x77A
0x5b20x7cB
0x4f30x39C
0x6640x5eD
0x6d50x79E
0x7d60x71F
0x0770x00
0x7f8

2.数码管动态显示原理

动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

51单片机之数码管 的相关文章

  • 控制理论总结

    经典控制理论 xff1b 现代控制理论线性控制理论 xff1b 非线性控制理论最优控制 xff1b 预测控制 xff1b 鲁棒控制数字控制系统 xff1b 连续控制系统随动系统 xff1b 自动控制系统的分类 一 按给定信号的形式不同 xf
  • H无穷控制

    H无穷优化控制问题可归纳为 xff1a 求出一个使系统内部稳定的控制器K s xff0c 使闭环传函Tzw的无穷范数极小 LQG的弱点 xff1a 对控制的一个主要挑战使多变量控制系统设计 xff0c 因为MIMO系统的传函是一个矩阵 LQ
  • 增益调度控制

    增益调度方法在良性 Well Behaved 非线性系统中应用的比较普遍 xff0c 所谓良性非线性系统是指系统的行为特性能由一系列选定的局部线性化模型充分描述 增益调度控制方法的一个显著优点就是它能够充分利用现有的成熟的线性控制理论为非线
  • UORB讲解

    Pixhawk 飞控系统是基于ARM的四轴以上飞行器的飞行控制器 xff0c 它的前身是PX4 IMU xff0c Pixhawk 把之前的IMU进行了完整的重构 xff0c 最新版本是2 4 3 而对应的Pixhawk 1 x版本与2 x
  • gorm的Raw与scan

    gorm的Raw与scan Raw 中文 xff1a 原生的 作用 xff1a 在写gorm语句时候用来写Raw sql语句 xff08 原生sql语句 xff09 gorm官方介绍Scan https gorm io zh CN docs
  • MavLink

    2 1 MAVLink xff08 Micro Air Vehicle Link xff09 是一种用于小型无人载具的通信协议 xff0c 于2009年首次发布 该协议广泛应用于地面站 xff08 Ground Control Statio
  • 飞控接收到的每一条MAVLink消息包都会上传到uORB消息池中吗?

    1 飞控接收到的每一条MAVLink消息包都会上传到uORB消息池中吗 xff1f 2 如何自定义 xff08 选择 配置 xff09 发送给QGC的MAVLink消息 xff1f
  • 滤波、传感器融合、IMU合GPS可以测量哪些物理量

    目录 结论IMU加速度计陀螺仪GPS 原理加速度计陀螺仪GPS 传感器融合滤波算法线性互补滤波卡尔曼滤波KF扩展卡尔曼滤波EKF 小结 结论 IMU paxhawk pixhack自带的IMU xff08 惯性测量模块 xff09 包含以下
  • 学习过程中提出的疑问

    目录 如何在simulink中编译两个应用并烧录到飞控中 xff1f 如何自定义地面站QGC接收到的MAVLink消息 xff1f xff08 MAVLink inspector xff09 航点 航路生成器 xff1f 如何在simuli
  • PX4学习笔记

    目录 网址PX4 io网页指导Pixhawk PX4 APM ArduPilot关系硬件照片 示意图逻辑图 集多旋翼控制框架软件框架 辅助工具 软件 使用方法source insight新建工程 导入PX4源码source insight
  • H无穷控制理论与应用案例分析

    0 知识背景 概念 定义 内稳定 xff1a BIBO稳定 xff1a 镇定 xff1a 对于一个控制系统来说 xff0c 如果通过某种反馈可以使系统实现渐近稳定 xff0c 即闭环系统极点具有负实部 xff0c 则称该系统是能镇定的 信号
  • ADRC从入门到放弃0

    ADRC xff1a 自抗扰控制器 其中 xff0c 在对自抗扰理论的 研究中 xff0c 引入了带宽概念这一个崭新的思路 xff0c 极大的简化了自抗扰技术使用时参数整定 的问题 xff0c 同时时域分析的方法可以发现利用带宽的概念还有利
  • 直升机建模

    目录 引子tips模型的组成 引子 duck不必陷入细节 xff0c 比如坐标转换 xff0c 忽而略微小项目 tips x 表示两个向量的叉乘 模型的组成 刚体运动学 xff1a 描述平移运动与转动运动 xff0c 即位移 xff08 线
  • 模糊PID(自适应模糊PID、fuzzy PID)的基本原理及应用举例 by 研三笔记

    目录 1 控制框图2 概述3 基本原理3 1 一些基本的概念 定义3 2 模糊化3 3 模糊推理3 4 清晰化 xff08 解模糊 反模糊化 xff09 3 5 模糊PID3 6 使用 fis文件 4 利用matlab模糊控制工具箱设计模糊
  • 3d目标检测

    目录 知网论文阅读笔记关键词 key words现状 摘要 碎片知识点3D检测算法分类根据其使用的数据类型为三类 xff1a 按照点云不同的特征表达方式分类 1 xff1a 其他分类方法 1 xff1a 根据传感器分类 2 xff1a 根据
  • kex_exchange_identification: Connection closed by remote hostConnection closed by ::1 port 22

    kex exchange identification Connection closed by remote hostConnection closed by 1 port 22 缘起 拉代码仓库出错 xff0c 还挺常见 https 错
  • 基于线性矩阵不等式LMI的鲁棒H无穷控制算法设计,多性能指标的H无穷控制算法推导,多面体模型

    catalogue 关键字一些符号和特殊表示预备知识正文 xff08 一 xff09 不确定系统的数学表示 xff08 二 xff09 线性时不变定常系统的LMI稳定性定理 xff08 判据 xff09 2 1 系统模型2 2 当u 61
  • python与其他语言的不同之处--语法拾遗

    八戒你说呢 基本语法空行的使用行与缩进import 与 from import命令行参数变量的使用列表Tuple xff08 元组 xff09 Set xff08 集合 xff09 Dictionary xff08 字典 xff09 Pyt
  • 深度学习入门篇1

    1 目前流行的深度学习框架简介 深度学习框架 xff08 点击跳转 xff09 2 神经网络工具箱torch autograd与torch nn torch autograd库虽然实现了自动求导与梯度反向传播 xff0c 但如果我们要完成一
  • 3D点云的基本操作(基于PCL编程)

    知识储备 右手系 右手 xff0c 拇指 xff0c 食指 xff0c 中指 xff0c 分别是x y z的正方向 左手系则同理 旋转矩阵 本质 xff1a 两个坐标系之间的旋转关系 用途 xff1a 旋转点云 原理 xff1a 设传感器的

随机推荐

  • uCOS-III 应用开发指南—基于 STM32F103系列

    uCOS III 应用开发指南 基于 STM32F103系列 嵌入式经典教材 实例截图 文件 xff1a 590m com f 25127180 490253580 defdec xff08 访问密码 xff1a 551685 xff09
  • 无人机飞行控制源码(android)

    旨在为大学生 航模爱好者 创客提供可二次开发的迷你四轴飞行器原型 是一个完全开源的项目 xff0c 包括源代码 xff0c 原理图 xff0c 设计思路等 可以通过它学习四轴飞行器相关知识 xff0c 也可以在上面进行二次开发 xff0c
  • 通过git下载github分支(最详细)

    文章目录 一 git下载指定分支代码到本地A 前提 xff1a B 具体步骤 xff1a 二 git下载github所有分支代码到本地具体步骤 xff1a 一 git下载指定分支代码到本地 任务一 xff1a 下载地址为https gith
  • CSS基线对齐的理解以及处理

    相信大家都会遇到同行不同盒子中文本的内容不能对齐的情况 xff0c 而不知道这是为何 xff1f 其实这是因为基线对齐的原因 什么是基线对齐 xff1f 先让我们来看一张图片 xff1a 到这里我们的疑惑是不是少了一些 xff1f 基线对齐
  • Eigen求解大型稀疏对称矩阵(Cholesky分解)

    参考自Eigen文档 代码如下 xff1a span class token macro property span class token directive hash span span class token directive ke
  • CMake的基本使用方法与install命令

    源代码 main cpp文件如下 span class token macro property span class token directive hash span span class token directive keyword
  • docker常用命令总结

    docker常用命令总结 span class token function uname span span class token parameter variable r span span class token comment 查看
  • 基于STC15的飞控设计(1)飞控电路设计

    前言 学校举办的无人机比赛 xff0c 要求使用stc15系列芯片设计飞控 xff0c 然后完成一台四轴的无人机进行穿越障碍的比赛 xff0c 第一次设计飞控 xff0c 如果有什么设计得不好的希望大家多多指教 这个博客算是制作流程的记录
  • STM32F407霸天虎FreeRTOS学习笔记——移植FreeRTOS到开发板上

    STM32F407霸天虎FreeRTOS学习笔记 移植FreeRTOS到开发板上 FreeRTOS源码获取移植第一步 xff1a 创建文件夹Keilmain c 实验效果 FreeRTOS源码获取 在移植之前 xff0c 首先要获取到 Fr
  • 倒立摆及其应用//2021-2-23

    前言 xff1a 以前搞电赛的时候搞过Pid平衡小车 xff0c 倒立摆基本实现方法与平衡小车差不多 xff0c 有一次刚院跑到实验室唠嗑 xff0c 问你知不知道倒立摆的应用 xff1f 我说不知道 xff0c 他说航天火箭 xff0c
  • TypeError: Cannot convert a symbolic Keras input/output to a numpy array.

    问题类型 TypeError Cannot convert a symbolic Keras input output to a numpy array This error may indicate that you re trying
  • 自己的学习记录

    从今天开始学习如何使用Java来写数据库课程设计的作业 xff01 xff01 xff01
  • Tsai分享:资源分享(1)——视觉SLAM十四讲及视频

    Tsai分享 xff1a 资源分享 xff08 1 xff09 视觉SLAM十四讲及视频 一 视觉SLAM十四讲 如若转载请附上链接 xff1a https blog csdn net weixin 43338642 article det
  • pycharm如何查看python文件的工作目录

    在找bug的过程中发现python文件的工作目录和存放目录地址有可能是不一样的 xff0c pathlib路径操作中的pathlib Path cwd 获取的是工作目录而不是存放目录地址发现工作目录和存放目录地址不同的时候一定要修改过来 x
  • C++中vector的用法详解

    文章目录 构造函数增加函数删除函数遍历函数判断函数大小函数交换函数赋值函数改变空间 构造函数 span class token comment vector 创建一个空vector span vector span class token
  • 华为技术面

    文章目录 手撕代码流程题目描述方法介绍面试官评价思维扩展 项目描述技术问题内存说明下C 43 43 的内存分配情况 xff0c 栈和队列的区别以及程序员如何分配回收内存 xff1f C 43 43 程序员和Java程序员有一个很大的区别 x
  • 华东师范大学计算机学硕2023考研经验贴

    文章目录 1 个人经历1 1 一战1 2 二战1 3 心态 2 初试2 1 政治2 2 英语2 3 数学2 4 408 3 复试3 1 机试A 数字猜想B 特殊质数C 最小字符串D 数字排序E 整数分解 3 2 英语面试3 3 综合面试 1
  • Go后端部署服务器

    go后端部署服务器方式一 xff1a xff08 最简单 xff09 和暑假做重点场所项目部署一样 xff0c 简单 xff0c 无脑 xff0c 手动 xff0c 麻烦 span class token number 1 span spa
  • 数据分析实用python程序

    文章目录 1 pdf转txt2 判断txt文件是否为空3 获取txt文件每一行4 获取文件夹所有文件名5 读写xlsx表格6 遍历txt每个字符7 字符串中字符替换 1 pdf转txt span class token comment de
  • 51单片机之数码管

    1 静态数码管原理图 LED数码管根据LED的不同接法分为两类 xff1a 共阴和共阳 为了显示数字或字符 xff0c 必须对数字或字符进行编码 七段数码管加上一个小数点 xff0c 共计8段 因此为LED显示器提供的编码正好是一个字节 共