找回密码
 注册
关于网站域名变更的通知
查看: 205|回复: 2
打印 上一主题 下一主题

学51单片机-数码管静态显示

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-9-28 10:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 Terran 于 2022-9-28 13:15 编辑 1 e$ d1 z) _6 R4 l6 Y, u/ S
  Q) M1 i/ v  k: ]
数码管,英文名称Segment Displays,是把多个发光二极管封装在一起,组成8字,或者米字形的器件。
      如上图所示,分别为8字和米字形的数码管,还有一些异形的,暂时不考虑。
      今天主要说8字形的数码管,这种数码管主要分两类:7段的和8段的;驱动方式分两种:共阴极 和 共阳极。根据连在一起的字符数量,还会分为1位的,2位的,3位的,4位的等等。
      先说七段和八段的分别,这个很简单,从外表就能看出来。把8字分成一段一段的LED,刚好有7段,如果再加上右下角那个小点,就是8段。也就是说,一个完整的1位数码管由七个或者八个LED组成,想要显示1、2、3等等的字符,点亮相应的数码管组成该字符就行。那么如何点亮?问题来了。
      还记得点亮发光二极管那篇教程里面提到的LED的驱动方式:学51单片机-点亮LED. o- [0 X" t1 f7 X- g4 z, ]( I
数码管是由发光二极管组成的,发光二极管有两种驱动方式,数码管自然也有两种驱动方式:共阴极 与 共阳极。
      共阳极是指数码管内部LED的正极接在一起,想要点亮LED,拉低相应的负极即可。共阴极是指数码管内部LED的负极接在一起,想要点亮      LED,拉高相应的正极即可。
      什么是数码管编码?就是让数码管显示数字时,对应的IO输出的高低电平。
共阳极的编码为0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e。
共阴极数码管编码为:0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71。
什么是段选?什么是位选?
段选就是我想显示数字时,这个数字对应的IO编码,也就是上面的数码管编码。
位选就是,当1个数码管内部集成了3位数字的时候,我想让左、中、右这三个数字其中一个显示3的时候,对位进行操作的编码。很多人问问题的时候,段选和位选都分不清。
曾经有个家伙问我:1位的数码管和2位的数码管编码为什么不一样?当时把我给绕进去了! 只要是同种数码管,不管是1位、2位、4位编码肯定是一样的。
      接下来是驱动电路,以共阴极为例
      锁存器的功能就是可以把当前输入的状态在输出脚锁住,这样,及时输入变化,输出也能保持不变。控制方式非常简单,只需控制74HC573的11脚即可。
      这里留个思考题,为什么用74HC573来驱动数码管,不用单片机直接驱动?
      下面是程序,选中一个数码管,显示数字 3.
& V7 K0 F. b% @. Y* i! f: Y

1 I+ s: S4 G: a* B$ V3 A. H+ V8 c

该用户从未签到

2#
发表于 2022-9-28 11:16 | 只看该作者
使用Proteus,可以从原理图设计、单片机编程、系统仿真到PCB设计一气呵成,学习成本比较低。可以练习这些。
  i+ r* U6 @0 I! t: h要注意,实战中,小心静电。

该用户从未签到

3#
发表于 2022-9-28 14:06 | 只看该作者
每个数码管的段选必须接一个8位数据线来保持显示的字形码,这就是静态显示。缺点是硬件电路比较复杂,成本较高。% L% a, U  B& J6 r# `5 ?* J5 L
所以还有动态显示。是利用人的视觉暂留效应,不停的刷新,有点像DRAM内存。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-7 06:39 , Processed in 0.078125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表