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

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

3天内不再提示

单片机实现数码管动态显示方案

电子设计 来源:互联网 作者:佚名 2017-12-15 10:19 次阅读

数码管静态显示系统需要占用过多的单片机口线,但是可以保证正常的亮度。为了解决占用口线较多而浪费硬件资源等问题,研究人员开发了一系列诸如74HC595的数码驱动芯片,该类芯片可以实现串行转并行的工作方式,驱动数码管实现静态和动态显示。但是,这样一种工作方式暴露出控制系统实时性不足等问题,在某些对系统响应时间要求比较高的场合的应用产生了一定的限制。为了解决上述几个弊端,本文提出了一种基于单片机的数码管动态显示器的设计方案,以IAP15F2K61S2系列单片机做控制核心,并采用全新的软硬件电路实现数码管的动态显示。

2.控制系统硬件设计

2.1 显示器外观设计

本显示器采用六个共阳极的数码管,按照通常的做法,六个数码管水平排列在产品的最上方,如图1所示,这样的设计可以方便的将控制系统的控制状态显示出来。下方采用的是40管脚DIP封装的单片机,所有并行口线都安排了插针,可以方便的实现系统的外部扩展,增强本显示器的可移植性。

采用透明的亚克力材料制作显示器的外壳,可以很好的进行可见光线传播,同时,可以坚固的固定电路板。

2.2 显示器控制核心的选择IAP15F2K61S2单片机是宏晶科技有限公司(STC)于2013年所推出的最新款的1T单片机,是常规51单片机的加强版。该系列单片机的运行速度要比普通51单片机快7-12倍,可以较大幅度的提高单片机控制系统的响应速度,降低系统的响应时间。

IAP15F2K61S2单片机集成了丰富的实用功能部件,简化了常规单片机最小系统的硬件构成,省去了外部复位电路和时钟电路等部分,优化了管脚配置,配置了五个8位(P0,P1,P2,P3,P4)和一个2位(P5)通用并行I/O口线。

本显示器配置IAP15F2K61S2单片机的P2口的低六位作为数码管的选择控制信号,P0口作为数码管的显示段码传送数据总线。

2.3 显示器控制电路设计

本显示器的控制电路包括电源模块、驱动模块、显示模块、程序下载模块等模块,产品电路原理图如图2所示。

2014225105927703.jpg

显示器的电源模块采用两种供电方式。

第一种方式是通过USB转串行口的下载器给显示器供电,第二种方式是通过5V直流电源适配器供电,另外还可以方便的改装成220V交流电供电,下载器的供电电源来自计算机的USB口,能够提供给控制系统的电流太小,影响了数码管的正常显示亮度,而采用220V交流电供电方式还需要添加过多的电源处理电路,选用第二种方式5V直流电源适配器给本显示器供电,既便于给产品供电,也可以提供充足的电流。

驱动模块保证了共阳极数码管的正常显示,由于单片机的管脚输出电流是有限的,因此,P2口对共阳极数码管公共端的控制需要添加三极管进行驱动,本显示器选用NPN型三极管9013实现对数码管公共端的控制。

将六个数码管水平排成一行,公共端通过三极管进行控制,而数据段与单片机的口线直接相连构成了本显示器的显示模块。

IAP15F2K61S2系列单片机程序的下载可以通过其自带的全双工异步串行口(UART)所配置的两条管脚RXD(P3.0)和TXD(P3.1)实现,这种程序下载方式需要的硬件条件非常简单,下载软件的操作方式非常的便捷,受到众多单片机系统研发人员的青睐。本显示器正是采用了这样的程序下载方式。

3.显示器控制系统软件设计

3.1 显示信息处理

动态显示器是一种通过异步显示方式控制数码管显示位置和对应显示字符的高效显示器。当需要在显示器上显示某些信息时,必须先取得该信息对应的段码作为待显示数据存入相应的数组。在发送显示段码之前需要将对应数码管的共阳极公共端置为高电平,之后再通过P0口向该数码管发送显示代码,该代码所需显示的信息将会显示在显示器上。

显示缓冲数组信息的排列方式与本产品的硬件,以及显示函数的功能恰好相符,以备方便的实现数据显示。

3.2 系统软件设计

本产品采用六个共阳极数码管制作了本显示器。设计共阳极数码管显示代码表如下:

2014225105928917.jpg

为了充分发挥C语言的模块化编程优势,将动态显示子函数封装为一个通用的模块,程序如下:

当需要显示器工作的时候,主程序只需将显示缓冲区的首个信息单元的地址通过子函数的形式参数传递到子函数的内部,通过子函数的处理,依次将显示缓冲区的数据全部显示出来。

本显示器的显示效果如图3所示。

4.总结

本方案中所设计的数码管动态显示器,在保证了数码管正常工作以及节省口线的前提下,大幅提高了系统的实时性能,加快了系统的响应素服,功耗更低,结构新颖,成本低廉。

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

    关注

    6001

    文章

    43978

    浏览量

    620866
  • 数码管
    +关注

    关注

    31

    文章

    1827

    浏览量

    89950
收藏 人收藏

    评论

    相关推荐

    51单片机数码管静态显示

    数码管静态显示其实在实际应用中很少,除非项目中就只用到了一位数码管显示,否则的话静态显示非常占用IO口。但是,静态
    的头像 发表于 02-26 11:05 527次阅读
    51<b class='flag-5'>单片机</b><b class='flag-5'>数码管</b>静态<b class='flag-5'>显示</b>

    【每周一练】盘古1K开发板 练习三:动态数码管显示

    实验目的: 掌握数码管显示原理,实现数码管动态显示 实验要求: 实现四个
    发表于 12-10 16:45

    【每周一练】盘古1K开发板 练习三:动态数码管显示实验

    实验目的:掌握数码管显示原理,实现数码管动态显示 实验要求:实现四个
    发表于 11-24 11:21

    动态数码管显示原理详解

    动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描
    的头像 发表于 11-10 11:38 2583次阅读
    <b class='flag-5'>动态</b><b class='flag-5'>数码管</b><b class='flag-5'>显示</b>原理详解

    使用普中的仿真器操作动态数码管数码管会闪烁的厉害怎么解决?

    使用普中的仿真器操作动态数码管数码管会闪烁的厉害,但是直接插上单片机就很正常的显示,这是怎么回事,有没有解决方法?
    发表于 11-10 06:16

    C51单片机数码管动态显示的原理是什么

    C51单片机数码管动态显示的原理是什么?
    发表于 11-08 07:57

    51单片机led灯动态显示笔记

    51单片机led灯动态显示
    发表于 11-07 02:58

    BST-M51单片机数码管的基础学习

    单片机中,通过控制段选引脚的电平,可以选择要点亮的LED段。 位选:数码管通常由多位数字或字符组成,每一位都有一个对应的段选控制引脚。位选是指选择要显示哪一位的字符。通过控制位选引脚的电平,可以选择
    发表于 11-05 23:38

    基于单片机数码管静态及动态显示

    上图是独立共阳数码管,用于演示数码管显示原理
    的头像 发表于 10-31 15:51 709次阅读
    基于<b class='flag-5'>单片机</b>的<b class='flag-5'>数码管</b>静态及<b class='flag-5'>动态显示</b>

    基于51单片机实现动态数码管显示

    前面我们已经介绍了如何使用51单片机控制静态数码管显示,在实际应用中通常都需要显示多位数值,如果采用静态数码管
    发表于 07-17 14:29 7650次阅读
    基于51<b class='flag-5'>单片机</b><b class='flag-5'>实现</b><b class='flag-5'>动态</b><b class='flag-5'>数码管</b><b class='flag-5'>显示</b>

    数码管的静态、动态显示原理及编程方法(2)

    “掌握数码管的静态、动态显示原理及编程方法。--综合案例”
    的头像 发表于 06-28 11:41 1005次阅读
    <b class='flag-5'>数码管</b>的静态、<b class='flag-5'>动态显示</b>原理及编程方法(2)

    数码管的静态、动态显示原理及编程方法(1)

    “掌握数码管的静态、动态显示原理及编程方法。--不是综合案例”
    的头像 发表于 06-28 11:40 968次阅读
    <b class='flag-5'>数码管</b>的静态、<b class='flag-5'>动态显示</b>原理及编程方法(1)

    基于AT89C51单片机定时器控制数码动态显示仿真及代码

    基于AT89C51单片机定时器控制数码动态显示仿真及代码
    发表于 05-05 10:27 1次下载

    基于ATmega8单片机四位数码管动态显示Proteus仿真源程序

    基于ATmega8单片机四位数码管动态显示Proteus仿真源程序
    发表于 05-05 09:19 2次下载

    基于AT89C51单片机MAX7221控制数码管动态显示Proteus仿真

    基于AT89C51单片机MAX7221控制数码管动态显示Proteus仿真及程序
    发表于 05-04 14:44 0次下载