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

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

3天内不再提示

基于51单片机的数码管设计

天才小狸花 来源:Sigle_chip 作者:Sigle_chip 2022-09-03 10:01 次阅读

导语

数码管/LED点阵是嵌入式系统中常见的显示方案,我们通过数码管可以将代码运行的结果可视化出来,是一种常见的显示器件,相对于屏幕,数码管成本低,被广泛的运用在各类小型家电,工业控制中。学会使用数码管,对于理解C语言控制GPIO有着很大的帮助。

数码管

数码管本质上是多个发光的LED等封装在一起,通过不同的LED灯点亮,使得数字或者符号显示出来,常见的由八段数码管,包括小数点在内共有8个LED灯封装在一起,其显示符号范围较广,配合封装显示可有更广泛的显示,被广泛使用。

其他更复杂的如米字数码管可以显示数字和26个英文字母,但其控制更加复杂,不常使用。

由于采用LED灯作为显示光源,由此数码管也存在共阴极和共阳极,其共阴极和共阳极控制有所区别。

通过选择这些数码管的开启,其dp,gfedcba的端口顺序排列可以产生一个8位2进制数来表示亮灭信息,并在C51中用HEX放在uchar数组中进行使用。

//共阴极:位选为低电平(即0)选中数码管,各段选为高电平(即1接+5V时)选中各数码段(0~f)

//共阴数码管段选表,无小数点:
unsigned char code distab[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

//共阴数码管段选表,有小数点:
unsigned char code distab[16] = {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, 0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1};

//共阴数码管位选表-8个
unsigned char code distab[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};//位选

/*******************************************************************************************************************/

//共阳极:位选为高电平(即1)选中数码管,各段选为低电平(即0接地时)选中各数码段(0~f)
元器件是电路良好运行的基本保证,找元器件现货上唯样商城,原厂授权正品保障,品类齐全。
//共阳数码管段选码表,无小数点:
unsigned char code distab[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

//共阳数码管段选码表,有小数点:
unsigned char code distab[16]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78, 0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};


//共阳数码管位选表-8个
unsigned char code distab[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//位选

1位八段数码管一般会引出9个引脚,其中7个引脚显示数字(或某些字母),1个显示小数点,1个作为片选端。

n位一般引出n + 8引脚,n个片选引脚,8个显示引脚为共享引脚。

元器件是电路良好运行的基本保证,找元器件现货上唯样商城,原厂授权正品保障,品类齐全。

静态显示

何为片选信号?以共阴极为例,其公共引脚为低电平时,其他8个控制引脚的电平才有效果。若为高电平,则IO操作对当前位置无效。

当片选信号全部打开时,8个显示IO的操作将显示在两位数码管上,这就是数码管的静态显示,

元器件是电路良好运行的基本保证,找元器件现货上唯样商城,原厂授权正品保障,品类齐全。

动态显示

利用人眼的视觉暂留,快速的切换数码管的片选信号,同时切换位选信号(8个显示IO的电平操作),便可以达到在人眼看来可以显示多位数字0-99。通过增加更多的数码管,便可以显示更多的系统状态。

元器件是电路良好运行的基本保证,找元器件现货上唯样商城,原厂授权正品保障,品类齐全。

缺陷与对策

我们可以直接将数码管直接接在单片机的IO上去驱动,但在多数的时候,我们不会去这样做。多位数码管将在系统中占用大量的IO,在一些IO丰富的单片机上这算不了什么,但在对于引脚较少的单片机中,我们可以通过增加外围电路来解决这个问题。

锁存器

对于常见于单片机学习板上多以锁存器为主,如74HC573芯片,包含八路3态输出的非反转透明锁存器。锁存器同它的名字一样,他可以将一些信号锁上并”保存“起来。

当锁存使能端LE为高时,这些器件的锁存对于数据是透明的。单片机的输入会直接通过芯片传向数码管。即D端口和O端口相连。

当锁存使能变低时,单片机的输入对于74HC573芯片的输出不在有影响,当输入的数据消失时,在芯片的输出端,数据仍然保持;即芯片输出取决于使能变低前输入的数据,旧数据可以保持,继续控制数码管。

这样我们就可以使用8个IO与对应的2个芯片使能IO,控制8位数码管,其具体代码实现可去理解例程,本文不做解释。

元器件是电路良好运行的基本保证,找元器件现货上唯样商城,原厂授权正品保障,品类齐全。

数码管显示驱动芯片

CH450是一款数码管显示驱动芯片,可以用于驱动 6位数码管或 48点 LED矩阵,可通过I2C接口与单片机进行通信

其数码管被广泛运用,理解GPIO与锁存器便可以熟练使用数码管器件。

元器件是电路良好运行的基本保证,找元器件现货上唯样商城,原厂授权正品保障,品类齐全。

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

    关注

    274

    文章

    5702

    浏览量

    123469
  • 数码管
    +关注

    关注

    32

    文章

    1881

    浏览量

    91058
收藏 人收藏

    评论

    相关推荐

    基于51单片机数码管万年历

    基于51单片机数码管万年历基于51单片机数码管万年历基于
    发表于 11-18 17:16 124次下载

    51单片机数码管显示学号

    51单片机数码管显示学号,学学数码管吧。初学者多看看。
    发表于 04-05 16:15 54次下载

    基于51单片机数码管电子钟

    方案介绍51单片机数码管电子钟可以通过按键设置时间以及12小时制或24小时制;数码管显示时间。
    发表于 12-15 17:11 52次下载

    基于51单片机数码管动态扫描显示12345678资料源程序

    基于51单片机数码管动态扫描显示12345678设计资料源程序
    发表于 04-26 15:21 10次下载

    基于51单片机数码管电子钟设计资料源程序文件

    基于51单片机数码管电子钟设计资料源程序文件
    发表于 04-26 15:17 10次下载

    基于51单片机数码管遥控解码设计资料源程序

    基于51单片机数码管遥控解码设计资料源程序
    发表于 04-26 15:13 0次下载

    基于AT89C51单片机数码管显示的温控电机Proteus仿真

    基于AT89C51单片机数码管显示的温控电机Proteus仿真及程序
    发表于 05-04 15:01 13次下载

    基于51单片机数码管显示电子时钟例程源代码

    基于51单片机数码管显示电子时钟例程源代码
    发表于 05-12 16:33 48次下载

    基于89C51单片机数码管闪烁源程序

    基于89C51单片机数码管闪烁源程序
    发表于 05-15 10:29 3次下载

    基于89C51单片机数码管显示动态数据源程序

    基于89C51单片机数码管显示动态数据源程序
    发表于 05-15 10:28 2次下载

    基于89C51单片机数码管消隐源程序

    基于89C51单片机数码管消隐源程序
    发表于 05-15 10:27 1次下载

    基于89C51单片机数码管循环右移1源程序

    基于89C51单片机数码管循环右移1源程序
    发表于 05-15 11:21 4次下载

    基于89C51单片机数码管循环右移2源程序

    基于89C51单片机数码管循环右移2源程序
    发表于 05-15 11:20 1次下载

    基于89C51单片机数码管右移1源程序

    基于89C51单片机数码管右移1源程序
    发表于 05-15 11:15 0次下载

    基于51单片机数码管显示拨码开关编码仿真代码

    基于51单片机数码管显示拨码开关编码仿真设计资料
    发表于 05-22 16:02 5次下载