七段数码管显示原理研究

2023-05-16

    在51单片机学习过程中,相对基础的一个实验就是利用七段数码管依次显示数字0-9。很多时候,我们按照要求,搭建了电路,编写了对应的显示控制程序,最后运行,可能对于七段数码管显示数字的原理并没有进行深入的研究。今天结合自己的理解,给出七段数码管显示的原理。

     七段数码管,本身利用发光二极管的原理,组成一个'8'的形状,这个'8'正好是七段组成,所以一般称为七段数码管。

     组成这个7段数码管的每个部分又分为a,b,c,d,e,f,g部分,分别对应如下所示:

    七段数码管的连接方式,根据现实布线的方式,可以组成共阳数码管和共阴数码管,所谓共阳,就是数码管的一极全部接电源,而二极管根据发光原理,只能是正极接电源,负极接地,所以数码管一级全部接电源的情况,称为共阳数码管,如下所示:

 

     在proteus元器件库中,共阳数码管名称是:7SEG-COM-AN-[COLOR] 

     共阴数码管,就是公共一极全部接地,如下所示:

     在proteus元器件库中,共阳数码管名称是:7SEG-COM-CAT-[COLOR] 

    上面的两个图形,可能看不出问题所在,主要区别在于电路图中的电源和接地图标不同:

     电源vcc:

     接地vss: 

    在实际编程中,基本采用一种类型数码管显示即可,默认都是选择共阴数码管,也就是我们需要让开发板输出电压为高电平,点亮对应的数码管。

    在上面的字母对应的七段数码管中,要显示0-9,需要的电平如下所示:

abcdefg字形所需字母数码段
11111100abcdef
01100001bc
11011012abdeg
11110013abcdg
01100114bcfg
10110115acdfg
10111116acdefg
11100007abc
11111118abcdefg
11110119abcdfg

    光这个表,看不出要怎么设置引脚的电平高低,但是我们可以通过代码中的值来反推这个表,一般我们的代码中可能有这样一个表示显示数字的数组:

unsigned char led[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; 

    这一组数据,其实对应上面共阴数码管表,可以这么理解,把数码管的g,f,e,d,c,b,a七个段,外加一个0位,正好组成八位二进制,其中0对应0x3f,就是0011 1111,正好对应上面表格中的按照顺序1111 110反过来的表示。1对应0x06,也就是0000 0110,同样对应上面表格0110 000反过来的表示。后面都是类似的规律。显示数字8,全部点亮,也就是1111 111,反过来二进制表示就是0111 1111,正好对应十六进制0x7f。

    理解了这些规律,再反过来理解数码管的显示,其实就不难了。

    以上是对七段数码管显示数字0-9的研究,其实数码管还可以显示很多其他字母,至少大写的E,F,L都是可以模拟显示的,规律也一样,点亮七段数码光的某一些段,就可以显示对应的字形,其实并不是真正的显示某一个字形,而是用了拼凑形状让二极管发光的办法。

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

七段数码管显示原理研究 的相关文章

  • java通过jni调用native method

    jdk中规定了native method xff0c 每一个native method背后对应有一个动态链接库来支持它 xff0c 在windows系统上 xff0c 就是dll后缀的文件 native method是需要通过c c 43
  • minix3下安装libevent

    libevent是一个c语言编写的事件框架 xff0c 支持异步IO 定时器 信号事件 它支持跨平台 xff0c 大部分都是在linux下安装并使用 xff0c 今天介绍在unix系统minix3上的安装 minix3上编译环境是clang
  • win10启动命令行之前执行命令

    这个问题的引出 xff0c 是我在win10上设置cmd命令行字体的问题 xff0c 我之前在win7上设置过cmd终端命令行字体 xff0c 通过更改注册表 xff0c 然后设置想要的字体 xff0c 就可以达到效果 xff0c 可是在w
  • Dynamic Linking Error: Win32 Error 126问题排查

    如题所示 xff0c 这个问题是我在electron项目中使用ffi调用动态链接库出现的 xff0c 本机运行都好好的 xff0c 打包构建然后放到别的机器上运行出错 这个问题一度也让我很迷茫 xff0c 如果是路径导致的这个问题 xff0
  • npm安装windows-build-tools一直卡在successfully installed python2.7不动

    以前安装过windows build tools xff0c 很顺利的 xff0c 没想到最近在别的机器上安装 xff0c 出现了卡住不动的情况 xff0c 就是如题的问题 其实这个问题出现在执行vs BuildTools exe安装问题上
  • C++学习笔记一 —— 两个类文件互相引用的处理情况

    先记录一些零碎的知识点 xff1a 1 一个类可以被声明多次 xff0c 但只能定义一次 xff0c 也就是可以 class B class B class B class B 这样子 2 一个类 C 的声明中 xff08 函数只声明还没定
  • koa设置静态资源以加载html页面

    koa是express之后又一个node框架 xff0c 它可以很方便的构建http服务 一般 xff0c 我们看到的koa是配合koa router路由来做服务端请求控制 xff0c 大部分是要么返回string xff0c 要么返回js
  • springboot实现jsonp

    jsonp是ajax跨域解决方案的一种办法 xff0c 就是借助标签 lt script gt lt script gt 可以实现不同域之间数据请求的一种方式 xff0c 类似iframe xff0c 不受跨域限制 xff0c 它请求返回之
  • koa利用koa-views通过路由返回html页面

    前面一篇博客介绍了koa借助koa static依赖可以实现以静态资源的形式加载html xff0c 但是没有路由功能 xff0c 一般而言 xff0c 前后端分离之后 xff0c 路由控制是由前端控制 xff0c 也有一些不分离的项目 x
  • koa解决跨域问题

    koa作为一个node http服务框架 xff0c 它解决跨域问题 xff0c 跟其他框架跨域类似 xff0c 可以通过自定义中间件的方式对请求做处理 xff0c 也可以通过使用封装好的 64 koa cors依赖 xff0c 两行代码搞
  • nginx解决跨域问题

    跨域问题 xff0c 是因为浏览器同源策略 xff0c 页面从一个域发起另一个域的异步ajax请求时 xff0c 不被认可导致 如果我们的请求在一个域里面 xff0c 那么浏览器就会认为是安全的 xff0c 就不会造成跨域 xff0c 而n
  • cookie属性max-age与expires同时存在时谁会生效

    我以前面试前端的时候 xff0c 面试官问过这个问题 xff0c 这是一个比较刁钻的问题 xff0c 好像很难选择 max age表示最大生命周期 xff0c expires表示过期时间 xff0c cookie使用其中任何一个 xff0c
  • 带cookie的异步ajax跨域请求问题

    ajax跨域携带cookie需要增加一个参数 xff0c xhrFields withCredentials true xff0c 而且这个时候的cookie是种在服务端接口域里面的 xff0c 而不是页面所在的域 服务端解决跨域问题的时候
  • sqlmap工具与sql注入漏洞测试

    sql注入是我们在开发与面试中经常听到的一个词语 xff0c 它利用sql语句本身执行的特点 xff0c 加入一些特定的语句拼接 xff0c 骗过sql编译 xff0c 最后执行 xff0c 结果就出现意想不到的情况 我在之前的工作中并不了
  • Javascript保留两位小数

    javascript语言 xff0c 因为是弱类型语言 xff0c 没有java那么多类型 xff0c 所以在处理浮点数保留两位小数上 xff0c 没有那么多格式化办法 javascript语言中字符串和整数 xff0c 浮点数是有区别的
  • linux下strace命令跟踪java进程

    strace命令的使用 xff0c 是看了马士兵老师讲的netty底层原理课程 xff0c 里面举了一个例子 xff0c 使用java程序编写一个简单的socket服务器 xff0c 然后等待客户端连接 本身 xff0c 这个程序很简单 x
  • Deepin 下安装 Vmware 无法联网的问题

    问题描述 1 Could not connect 39 Ethernet0 39 to virtual network 39 dev vmnet0 39 解决办法 使用sudo vmware networks start查看是否能够启动网络
  • Mac下使用虚拟专用网络

    虚拟专用网络 xff0c 简称vpn xff0c 目前还是有很多地方有使用到的 xff0c 除了越狱 xff0c 很多公司也会给员工开通虚拟专用网的账号 xff0c 这样 xff0c 员工即使在家里也可以方便的与公司内网进行联通 xff0c
  • Mac下远程连接windows

    如题 xff0c 如果在windows系统下 xff0c 一台机器A如果开启了容许远程连接 xff0c 那么可以直接通过另一台机器B的远程桌面连接客户端 xff0c 输入主机地址 xff0c 然后加上用户名和密码 xff0c 就可以登入机器

随机推荐

  • 索引失效问题整理

    在面试的时候 xff0c 数据库方面的问题对于开发人员来说 xff0c 是绕不过的一个点 xff0c 而数据库方面 xff0c 很少直接面试SQL怎么写 xff0c 而是问效率相关的问题 xff0c 索引是提高查询效率的一种手段 xff0c
  • geoserver配合openlayers框架加载地图

    geoserver地图服务器如果搭建成功 xff0c 那么会有很多图层示例 这些图层可以用作练手示例 在实际工作中 xff0c 可能需要我们自己设计地图 xff0c 自己发布 xff0c 然后使用 这里以上一篇最后发布的中国地图为例 xff
  • Java操作mysql插入记录带时间戳时差问题

    如题所示 xff0c 我们在做mybatis相关项目的时候 xff0c 会用到mysql xff0c 如今更多的是直接使用springboot 43 mybatis组合 这样 xff0c 在配置数据源的时候 xff0c 会有这样的配置 xf
  • ArcGis导入经纬度坐标然后导出shp文件

    如题所示 xff0c 一般使用ArcGis制作shp文件 xff0c 需要数据 xff0c 这里直接利用经纬度坐标即可 1 获取经纬度数据 经纬度坐标从哪里获取 xff0c 这里推荐一个方法 xff1a 使用一个html页面 xff0c 配
  • win10安装ceres环境

    ceres是一个开源的c 43 43 库 xff0c 在windows上安装有点复杂 xff0c 它依赖其他三个库 Eigen gflags glog 好在这些依赖都可以通过源码安装 在windows上进行源码编译安装 xff0c 需要对应
  • 使用ceres库将经纬度坐标GCJ02到WGS84精确转换

    在之前的一篇博客中 xff0c 介绍了经纬度坐标系的关系 xff0c WGS84是世界大地坐标系 xff0c 属于原始坐标系 xff0c 在商用中 xff0c 需要通过火星加密算法将经纬度做转换 xff0c 转换之后的坐标 xff0c 称为
  • 百度地图api调用出现“APP Referer校验失败“错误

    如题所示 xff0c 在使用百度地图API的时候 xff0c 出现App Referer校验失败 这个是因为百度地图安全设置导致 xff0c 解决办法就是进入百度地图开放平台 xff0c 控制台下 xff0c 切换到 xff0c 应用管理
  • postgresql与postgis结合示例

    postgresql支持空间数据存储 postgis是postgresql的一个扩展 与postgresql配合使用 xff0c 需要对应的版本 如果是windows上安装 xff0c 可以参考这里选择对应的postgis版本 如果不安装p
  • vue3 语法糖获取axios返回值,vue3语法和vue2语法区别

    typescript怎么定义全局的函数 第一步 xff0c 双击打开HBuilderX编辑工具 xff0c 新建TypeScript文件并定义类Apple xff0c 定义三个变量a b c xff0c a是具体的数据类型 xff0c 而b
  • 蓝桥杯单片机开发板-数码管显示

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • postgresql导入shp地理文件并用uDig连接postgresql显示地图信息

    postgresql与postgis结合 xff0c 可以很好的支持空间数据库 shp文件可以通过postgis插件安装之后的工具 xff1a PostGIS Boundle 3 for PostgreSQL X64 9 6 Shapefi
  • 快速搭建springboot+mybatis+postgresql开发环境

    这里 xff0c 利用eclipse或者idea提供的springboot项目创建向导 xff0c 不用去找依赖 普通的eclipse需要安装spring插件 可以直接使用sts版本 全称是Spring Tools Suite 在eclip
  • mysql创建hash索引

    mysql支持的存储引擎与索引结构对照表如下 xff1a Storage Engine Permissible Index Types InnoDBBTREEMyISAMBTREEMEMORY HEAPHASH BTREENDBHASH B
  • docker搭建hbase环境

    hbase是hadoop生态中的一员 xff0c 最早搭建hbase xff0c 需要先安装hadoop xff0c 然后安装zookeeper xff0c 再安装hbase 现在通过docker可以直接安装hbase xff0c 而且容器
  • 使用c语言库asn1c对asn文件格式实现编解码

    针对asn文件编解码工作 xff0c asn1c这个开源工具对c c 43 43 的支持非常好 可以很方便的安装和使用 xff0c 目前这个工具是开源的 xff0c 最新版本是0 9 28 xff0c 项目地址 xff1a github c
  • ubuntu20.04版本安装gcc-4.8

    ubuntu20 04版本默认已经将gcc支持的版本更新到了gcc 9 xff0c 如果要降级gcc的版本 xff0c 需要设置新的源 xff0c 然后安装指定版本 xff0c 思路就是这样 可以看到如下这个图片 xff0c 4 8版本对应
  • WinRAR(去广告)中文繁体

    win10系统中 xff0c 如果没有winrar xff0c 可以使用本文提到的这个工具 xff0c 中文繁体 xff0c 不带广告 下载地址 xff1a tools 各种简单的工具 工具放在csdn xff0c 需要积分 xff0c 这
  • 单片机仿真软件proteus8安装与使用

    最近对Arduino 阿德伟诺 微控制器有点兴趣 xff0c 在学习的过程中 xff0c 如果我们没有机器 xff0c 其实可以通过仿真软件来模拟 xff0c 而proteus这个工具就非常适合单片机仿真 为此 xff0c proteus的
  • proteus电路仿真设计图中很多器件之间没有实线连线,它们是怎么实现的?

    如题所示 xff0c 在proteus电路仿真设计图中 xff0c 我们发现 xff0c 电子元器件之间 xff0c 很多时候并没有实线连接 xff0c 但是他们却可以工作 对于新手的我们 xff0c 可能觉着很奇怪 xff0c 独立的器件
  • 七段数码管显示原理研究

    在51单片机学习过程中 xff0c 相对基础的一个实验就是利用七段数码管依次显示数字0 9 很多时候 xff0c 我们按照要求 xff0c 搭建了电路 xff0c 编写了对应的显示控制程序 xff0c 最后运行 xff0c 可能对于七段数码