世纪电源网社区logo
社区
Datasheet
标题
返回顶部
讨论

怎样用单片机驱动LED数码管显示

[复制链接]
查看: 858 |回复: 0
1
teltium
  • 积分:386
  • |
  • 主题:37
  • |
  • 帖子:63
积分:386
LV4
初级工程师
  • 2010-3-29 09:43:03
用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和
动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。

静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的
数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新
数据,显示数据稳定,占用很少的CPU时间。动态显示需要CPU时刻
对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。
这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU
时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;
动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节
省线路板空间。
硬件译码就是显示的段码完全由硬件完成,CPU只要送出标准的BCD
码即可,硬件接线有一定标准。软件译码是用软件来完成硬件的功能,
硬件简单,接线灵活,显示段码完全由软件来处理,是目前常用的显
示驱动方式。
比较常用的显示驱动芯片有: 74LS164 , CD4094+ULN2003(2803) ,
74HC595+ULN2003(2803) , TPIC6B595,AMT9095B, AMT9595等许多。
另外,市场上还有一些专用的LED扫描驱动显示模块如MAX7219等,
功能很强,价格稍高一些。下面是一个用74LS164驱动显示的例子
和一个用4094扫描驱动显示的例子:图中加了一个PNP型的三极管来控制数码管的电源,是因为164没有数据锁存端,
数据在传送过程中,对输出端来说是透明的,这样,数据在传送过程中,数码管上有
闪动现象,驱动的位数越多,闪动现象越明显。为了消除这种现象,在数据传送过程
中,关闭三极管使数码管没电不显示,数据传送完后立刻使三极管导通,这样就实现
锁存功能。这种办法可驱动十几个164显示而没有闪动现象。这个例子是用4094做位选,用89C2051的P1口线做段驱动来扫描驱动9位数码管的显示。 由于4094只有8个输出口线,其中第九位是用CPU口线直接进行位选的。9个LED的所有
相同位置的段口线都接到一起,然后接到单片机的一个口线上,供八段,使用8条CPU
口线。其软件的工作过程是这样的:要在LED上显示1--9位数,首先将1的段码送到P1
口线上,然后向4094送位选数据01,使4094的Q1口线输出高电平,选中第一位数码管,
使阳极得电,在第一位上就显示出1,重复上述过程,一直到第九位,然后不断重复
这一过程,就实现了扫描显示。
收藏收藏
热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号