七段数码管显示原理研究
在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,需要的电平如下所示:
a | b | c | d | e | f | g | 字形 | 所需字母数码段 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | abcdef |
0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | bc |
1 | 1 | 0 | 1 | 1 | 0 | 1 | 2 | abdeg |
1 | 1 | 1 | 1 | 0 | 0 | 1 | 3 | abcdg |
0 | 1 | 1 | 0 | 0 | 1 | 1 | 4 | bcfg |
1 | 0 | 1 | 1 | 0 | 1 | 1 | 5 | acdfg |
1 | 0 | 1 | 1 | 1 | 1 | 1 | 6 | acdefg |
1 | 1 | 1 | 0 | 0 | 0 | 0 | 7 | abc |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 8 | abcdefg |
1 | 1 | 1 | 1 | 0 | 1 | 1 | 9 | abcdfg |
光这个表,看不出要怎么设置引脚的电平高低,但是我们可以通过代码中的值来反推这个表,一般我们的代码中可能有这样一个表示显示数字的数组:
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都是可以模拟显示的,规律也一样,点亮七段数码光的某一些段,就可以显示对应的字形,其实并不是真正的显示某一个字形,而是用了拼凑形状让二极管发光的办法。
七段数码管显示原理研究相关推荐
- 仿真软件proteus构建七段数码管显示数字0-9实验
七段数码管显示原理研究在前一篇博客中已经阐述过,就是利用7个数码管构建一个"8"字形,然后利用数字的形状特点,依次点亮某一些段,就可以显示数字了. 七段数码管显示数字还是二极管发光 ...
- 7段并行数码管显示实验C语言,七段数码管显示十进制数字 (15)
实验报告 实验题目 设有10个开关,编号分别为0,1,--,9. 设计电路实现某开关闭合时对应显示相应的十进制数字.要求:(1)写出设计说明,(2)用 Proteus或Multisim仿真. 实验方案 ...
- FPGA基础知识极简教程(9)七段数码管显示的Verilog简单设计
博文目录 写在前面 正文 七段数码管原理 七段数码管译码表 单个七段数码管显示verilog设计 多个数码管动态扫描显示 参考资料 交个朋友 写在前面 作为FPGA的基础知识教程怎么能少得了这个简单的 ...
- Arduino:数码管显示原理详解和Proteus仿真实验
Arduino:数码管显示原理详解和Proteus仿真实验 Proteus仿真 数码管介绍 数码管是半导体发光元件,其基本单元是发光二极管.根据段数,数码管分为七段管和八段管. 八段管比七段管还多一个 ...
- c语言实现7段数码管显示,七段数码管显示实验.doc
七段数码管显示实验 单 片 机 实 验 报 告 实验九 七段数码管显示实验 实验目的 学习七段数码管的工作原理: 学习数码管与8051单片机的接口方法: 掌握动态扫描显示技术. 实验原理 如图4.9- ...
- python七段数码管显示字母代码_python实现七段数码管显示
原博文 2020-08-08 21:21 − [TOC] # python实现七段数码管显示 > 运行原理:如图所示,七段数码管由七个线条组成,可以有固定顺序(1--7),不同数字显示不同的线条 ...
- 【51单片机】七段数码管显示实验+详细讲解
[51单片机]七段数码管显示实验 前言 一.兵马未动,粮草先行--认识七段数码管 1.关于显示器 2.七段数码管 3.七段数码管的结构 4.数码管显示方法 二.数码管显示程序 1.静态显示 效果 2. ...
- 6、七段数码管显示译码器设计与应用
1.实验目的 掌握七数码管显示原理 掌握七段码显示译码设计 进一步熟悉 Xilinx ISE 环境及 SWORD 实验平台 2.实验内容 任务 1:原理图设计实现显示译码 MyMC14495 模块 任 ...
- 汇编语言实现七段数码管显示控制实验
一 实验目的 1)掌握8255方式0的工作原理.初始化设置方法. 2)掌握I/O接口地址译码电路的工作原理及端口地址的计算方法. 3)掌握I/O端口的读写操作及编程方法. 4)掌握数码管显示数字的原理 ...
- 数码管显示原理:共阴极和共阳极的区别,静态显示程序。
数码管显示原理:共阴与共阳 LED发光原理是PN结光电二极管将电能转化为光能的结果.当半导体芯片两端加正反向电压时,当电子从n区域注入p区域时,它们与p区的空穴结合并释放能量,这些能量以光子的形式发射 ...
最新文章
- CALayer(二)
- mysql jdbc tomcat_Tomcat+MySql+jdbc
- 剖析Vue原理实现双向绑定MVVM
- 如何评价小马智行投后估值60亿美元?无人车的追涨杀跌已经开始
- 数学之美系列二 -- 谈谈中文分词
- Android官方技术文档翻译——Gradle 插件用户指南(7)
- face recognition[翻译][深度学习理解人脸]
- Nexus 3.31.1 maven 私服 搭建篇 linux
- Linux的shell编程(一)
- Linux pthread_mutex_init()函数 [转]
- c语言定义int变量 故意输入字母,怎样用C语言输入一段文本,以什么作为输入终止的标志?又怎样才能按输入的格式输出该文本?...
- python多进程传递参数_Python进程,多进程,获取进程id,给子进程传递参数操作示例...
- Word排版计算机类科研论文的格式保证
- Gradle 项目 在 IDEA 中运行,出现找不到符号错误
- iOS UIAppearance使用详解
- 基于Python的微信朋友圈数据可视化分析之地点
- win11更新安装错误0x80073701解决方法
- 海康 sdk 视频截取 demo
- SRI-Subresource Integrity
- 哪些情况下会被银行拒贷?买房真的凑齐首付就够了吗?
热门文章
- 【ARM 嵌入式 C 入门及渐进 2 -- 向上取整向下取整 linux roundup/round_up】
- 计算机arp 各命令,ARP命令参数详解
- java dismiss_窗口泄漏甚至在dialog.dismiss()
- 【zc1415926】Unity3D的Android移动之路(二) 辅助神器——Unity Remote
- oracle间视图增量同步,ODI数据增量同步
- 【防火墙篇】01. 恢复出厂设置 ❀ Juniper 防火墙
- python2.0下载_【Python for S60V2】Python for S60V2 V2.0官方免费下载_正式版下载-多特软件站...
- 同时掌握96门语言,取得多项世界突破,百度发布预训练模型ERNIE-M
- 抽奖助手自动参与抽奖
- 节奏大师小游戏制作流程