基于51单片机数码管显示

## 数码管显示原理

  1. 数码管(LED Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示,如图所示。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、3位、4位、5位、6位、7位等数码管。
  2. 按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极的数码管,共阴数码管在应用时应将公共极接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

根据数码管共阴共阳连接,通过单片机给单片机I/O口送高低电平就可以控制数码管每一段的显示。

## 共阴级数码管编码

符号 编码 符号 编码 符号 编码 符号 编码
0 0x3f 4 0x66 8 0x7f c 0x39
1 0x06 5 0x6d 9 0x6f d 0x5e
2 0x5b 6 0x7d A 0x77 E 0x79
3 0x4f 7 0x07 b 0x7c F 0x71

一位数码管显示数字代码

#include <reg51.h>
unsigned char code LED[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管显示0-9数字编码,写成数组直接给I/O口送进数组元素就欧克
void main(){P1=LED[1];//可以根据电路图所接单片机I/O口改变向数码管接口
}                  

当数码管多位一体时,它们内部的公共端是独立的,而负责显示什么数字的段线全部连接在一起, 独立的公共端可以控制多位 一体中的哪一 位数码管点亮,连接在-起的段线可以控制这个能点亮数码管亮什么数字,通常我们把公共端叫做“位选线”,连接在一起的段线叫做“段选线”,有了这两个线后,通过单片机及外部驱动电路,就可以控制任意的数码管显示任意的数字了。
一般单位数码管有10个引脚,二位数码管也是10个引脚,四位数码管是12个引脚,关于具体的引脚及段、位标号大家可以查询相关资料,最简单的办法是用数字万用表测量。 若没有数字万用表,也可用直流电源串接1k电阻后测量,将测量结果进行记录,通过统计便可绘制出引脚标号。
多位数码管显示需要用到段选与位选信号,也就是当你用到那一位数码管的时候,需要打开位选端,只有这样才可以向那一位传输数据,传输段选信号时还要打开段选段,这样才能可控的任意选择给哪一位数码管送入那一段数据;

多位数码管显示代码

#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint x);
sbit wela = P2^7; //定义位选IO口
sbit dula = P2^6‘、//定义段选IO口
uchar code D[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9段选编码
uchar code W[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//I/O口位选编码void main()
{uint i;for(i=0;i<8;i++)//i可以控制几位数码管{delay(500);wela=1;P0=W[i];wela=0;P0=0xff;//消隐防止数码管亮的不均衡dula=1;P0=D[i];dula=0;}}
//延时函数 这里是软件代码空运行延时
void delay(uint x){uint i,j;for(i=0;i<x;i++){for(j=0;j<110;j++);}}

基于51单片机数码管显示相关推荐

  1. 基于51单片机1602温度显示时钟

    基于51单片机LCD1602温度显示时钟 要在1602上显示时间和温度先要了解1602是如何显示的.详情可以参考我之前的文章基于51单片机1602显示 :时间显示可以用时钟芯片DS1302,但是此次我 ...

  2. 51单片机数码管显示60秒倒计时(C语言)

    51单片机数码管显示60秒倒计时(C语言) 基于普中51单片机开发板,运用定时器/计数器0和1,实现60秒的倒计时和LED灯0.5s间隔闪烁 文章目录 51单片机数码管显示60秒倒计时(C语言) 前言 ...

  3. 51单片机 外部时钟_基于51单片机的LCD12864显示模拟时钟

    今天要分享的仿真和程序是基于51单片机的LCD12864显示模拟时钟.公众号之前也分享过数字时钟,但是那些时钟都是采用数字显示的形式来显示时间,而今天分享一个采用LCD12864显示的模拟指针式时钟. ...

  4. 基于51单片机的LCD1602显示温湿度

    51单片机基础难点知识理解后,直接通过下面3个小项目可以更好理解51单片机.中断 定时器 串口甚至是基础的IO输入输出都有结合,再加上一些外设模块的学习(如1602显示屏,L298N电机驱动等) 项目 ...

  5. 基于51单片机点阵汉字显示程序设计

    文章目录 基于51单片机点阵汉字显示程序设计 一.实践目的 二.实践依托的实验设备与软件 1.设备 2.软件 二. 系统或装置的设计 1. 硬件原理图设计 2.印制板图绘制 三.程序框架及主要算法流程 ...

  6. 单片机c语言数码管显示5,51单片机数码管显示实验报告(5页)-原创力文档

    51单片机数码管显示实验 实验内容: 编写程序让8只数码管初始显示0,每隔大约1s加1显示(可以用延时函数实现),到数码管显示9后,再从0开始显示,如此循环反复. C语言程序 #include #de ...

  7. 100、基于51单片机数码管温控 温度控制风扇系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.Protues仿真 七.程序 八.资料包括 摘要 在炎热的夏天人们用电风 ...

  8. 基于51单片机LCD1602温度显示(DS18B20测温)

    基于51单片机DS18B20测温 要在1602上显示温度先要了解1602是如何显示的.详情可以参考我之前的文章基于51单片机1602显示 DS18B20是美国DALLAS半导体公司推出的第一片支持&q ...

  9. 43、基于51单片机数码管温控温度控制风扇系统设计

    摘  要 温控风扇在现代社会中的生产以及人们的日常生活中都有广泛的应用,如工业生产中大型机械散热系统中的风扇.现在笔记本电脑上的广泛应用的智能CPU风扇等.本文设计了基于单片机的温控风扇系统,采用单片 ...

最新文章

  1. cmd 修改文件属性
  2. OMG:为什么用了索引,查询还是慢?
  3. R语言使用aov函数进行双因素方差分析(Two-way factorial ANOVA)、使用HH包中的interaction2wt函数为任何阶的双因素方差分析可视化主效应和交互作用图、箱图显示主效应
  4. .NET 云原生架构师训练营(模块二 基础巩固 配置)--学习笔记
  5. 在错误的数据上,刷到 SOTA 又有什么意义?
  6. 初识弹性文件服务:可靠的共享文件存储
  7. DRUID连接池:java.sql.SQLRecoverableException: 关闭的语句
  8. Socket编程中,阻塞与非阻塞的区别
  9. 模2除法——用非常直观的例子解释
  10. TensorFlow - 正弦曲线
  11. UDP进程terminated
  12. 阻止冒泡事件(兼容大部分浏览器)
  13. Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC - apoc.periodic.iterate()过程在4.0版本中的重大变化
  14. 35岁以上程序员求职没市场?互联网大厂100道Android面试题助你冲关金三银四!终局之战
  15. 那些年啊,那些事——一个程序员的奋斗史 ——32
  16. 吐血整理!从外包月薪5K到阿里月薪15K,原理+实战+视频+源码
  17. ASP编程十大技巧(基础)
  18. 输入法设置导致PowerPoint2007无法输入中文
  19. CentOS7和8下安装JDK1.8
  20. 10年软件测试工程师感悟——写给还在迷茫中的朋友「十年磨一剑,文末福利」

热门文章

  1. 如何看待CS院校正式推免鸽人紧急补录的混乱局面?
  2. 王师傅玩的c语言小游戏,王师傅竟然背着老婆和男人做出这种事...最好玩的炉石冒险活动来了!...
  3. 教你如何定位不合理的SQL?并优化之
  4. Flume使用Spooling Directory Source采集文件夹数据到hdfs
  5. 为什么不推荐大家去外包公司
  6. 【MyBatis】 MyBatis与MyBatis-Plus的区别
  7. 商品表设计-实现侧滑栏类目Catagory和商品的多对多关系
  8. c语言开发的cli,Package - cyy-cli
  9. 嵌入式RTSP转RTMP设备说明
  10. 互联网大厂轮流买单,春晚红包却不再“药到病除”?