0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LED数码管显示原理详解

CHANBAEK 来源:工控小新 作者:工控小新 2023-11-09 16:22 次阅读

基础知识:

单片机系统中常用的显示器有:

发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、TFT液晶显示器等。LED显示器有两种显示结构:段显示 (7段、米字型等) 和点阵显示 (5X8、8X8点阵等)

LED数码管根据LED的不同接法可以分为2类:共阴和共阳。

图片

共阴极接法:将八个LED的负极全部接到0V,只有当我们给出一个正极1的信号才会亮。

共阳极接法:将八个LED的负极全部接到+5V,只有当我们给出一个0的信号才会亮。

使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。

LED数码管显示原理

举例说明一下:

假如我们需要显示一个2,那么对应的就要点亮途中的a,b,d,e,g,其他的全部都要熄灭,这样显示出来的数码管才是我们想要的结果。(假设八位LED刚好全部对应接到一个P口,而且还是从dp算最高位、a为最低为的接法)

所以对于共阴极接法来说,那么就要输出一个0101 1011的信号,转换成16进制的话,就是0x5B

而对于共阳极接法的话,那么就要输出1010 0100,转换成16进制的话就是0xA4

图片

LED数码管静态显示的原理:

静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高

技能进阶:(数组)

单片机的数组结构是一种用来存储多个相同类型数据的数据结构,它可以用一组连续的内存空间来存储数据,也可以用指针来连接一组零散的内存块。数组结构可以方便地通过下标来访问数组中的元素,也可以通过结构体来封装数组和相关的函数,实现更高级的功能。

使用数组结构的方法有以下几点:

定义数组时,需要指定数组的类型、名称和大小,例如 int array[10]; 定义了一个有10个整数元素的数组。

初始化数组时,可以用花括号包含一组初始值,例如 int array[10] = {1,2,3,4,5,6,7,8,9,10}; 初始化了一个数组,每个元素的值等于其下标加一。

访问数组时,可以用数组名和下标来表示一个元素,例如 array[3] 表示数组中第四个元素,其值为4。注意下标从0开始计数。

修改数组时,可以用赋值语句来改变某个元素的值,例如 array[3] = 5; 将第四个元素的值改为5。

遍历数组时,可以用循环语句来依次访问每个元素,例如 for(i=0;i<10;i++) printf("%d ",array[i]); 将打印出数组中所有元素的值。

使用结构体时,可以将数组和相关的函数定义为一个新的数据类型,例如 struct LED { unsigned char array[8]; void (*on)(int); void (*off)(int); }; 定义了一个LED结构体,包含一个8位的数组和两个函数指针。这样可以方便地对外设进行操作,例如 LED led; led.on(3); 将点亮第四个LED灯。

程序编写:

#include

unsigned char code sunduan[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};

//创建一个数组的结构,此时采用的是共阳极接法,将0-F的显示使用了数组的结构创建出来

void main()

{

P2=sunduan[0]; //要显示一个0,即在P2口上接入了一个LED数码管之后,需要显示的数值,直接从编辑号的数组中挑选出来即可。

}

仿真展示:

可以看到,当我们启动仿真时,这个时候,就会在P2组管脚上的输出情况(P2.0 ~ P2.5全输出0,P2.6 ~ P2.7输出1)因为LED数码管采用的是共阳极接法,所以a~f全部点亮,g和dp都熄灭,这样展示出来的效果就是一个0的数字。

程序除了上述的数组结构之外,其实还可以直接通过点亮单片机的输出管脚单独控制。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22450

    浏览量

    645890
  • 单片机
    +关注

    关注

    6001

    文章

    43978

    浏览量

    620862
  • 发光二极管
    +关注

    关注

    13

    文章

    1138

    浏览量

    65685
  • 液晶显示器
    +关注

    关注

    11

    文章

    556

    浏览量

    43323
  • 数码管
    +关注

    关注

    31

    文章

    1827

    浏览量

    89950
收藏 人收藏

    评论

    相关推荐

    LED数码管

    LED数码管是目前最常见的一种MI800字符显示器件。LED数码管包括数字和符号
    发表于 01-04 01:35

    LED数码管显示原理是什么?

    LED数码管显示原理是什么?LED数码管的应用有哪些?
    发表于 06-02 06:51

    什么是数码管静态显示

    图为共阳极数码管(他们的阳极都相连)数码管分为共阳和共阴两种,共阴数码管就是 8 只 LED 小灯的阴极是连接在一起的,阴极是公共端,由阳极来控制单个小灯的亮灭……2、
    发表于 07-06 07:28

    LED数码管显示数字

    LED数码管显示数字
    发表于 07-14 07:42

    数码管显示原理是什么

    数码管显示原理是什么?什么是数码管的静态显示?什么是数码管的动态显示
    发表于 09-27 08:31

    数码管显示原理及应用

    单片机学习----数码管显示原理及应用代码规划内容:一、数码管显示原理二、如何用万用表检测数码管的引脚排列三、
    发表于 11-17 08:32

    LED数码管循环移位显示如何去完成呢

    单片机系统基础实验——LED数码管循环移位显示第一部分 前言第二部分 数码管的原理构成LED数码管
    发表于 11-18 06:38

    数码管静态显示原理

    数码管显示数码管静态显示原理显示器及其接口数码管动态显示
    发表于 11-22 08:38

    数码管应用及其代码详解简述

    【单片机】数码管应用一、操作目的二、代码详解(简单应用)三、代码详解(60进制)一、操作目的(1)简单的数码管应用。(2)60进制操作练习。二、代码
    发表于 11-25 08:50

    LED数码管动态显示实验

    一、简介二、图解三、数码管动态显示实验一、简介LED数码管是由多个发光二极封装在一起组成 “8” 字型的器件,引线已在内部连接完成,只需引
    发表于 12-02 06:55

    数码管显示原理是什么

    1数码管显示原理我们先来看几个数码管的图片, 左图为单位数码管、中图为双位数码管、右图为四位数码管
    发表于 12-08 07:47

    什么是数码管LED

    一.什么是数码管LED数码管LED Segment Displays)是由8个发光二极构成,并按照一定的图形及排列封转在一起的
    发表于 12-08 08:19

    LED显示器(数码管)简介

    文章目录一、LED显示器(数码管)1数码管显示结构2 数码管
    发表于 12-10 06:48

    什么是数码管?静态数码管的驱动介绍

    (1位)、联排(2位、4位、8位)2、工作原理(1)亮灭原理(其实就是内部的照明LED)(2)显示数字(甚至文字)原理:利用内部的LED的亮和灭让外部的组成数字的笔画显示或者不
    发表于 02-24 06:21

    串行LED数码管静态显示电路(共阴 共阳)

    串行LED数码管静态显示电路(共阳) 并行LED数码管动态扫描显示电路(
    发表于 06-09 09:38 6240次阅读
    串行<b class='flag-5'>LED</b><b class='flag-5'>数码管</b>静态<b class='flag-5'>显示</b>电路(共阴 共阳)