数码管是如何亮起来的?跟液晶屏又有什么关系?


《《《《《正文》》》》》


《显示原理》

数码管是由多段发光二极管排布而成的,而其中的发光二极管显示原理与常规的LED点亮熄灭没有区别,一般的一个数码管由7段发光二极管构成,而8段数码管也只是多了一段小数点,其他基本一样,如下图;所以一个数码管,其实就是7段或者8段独立的LED组成的,通过软件控制每段LED来组合显示数据。


 

《SEG口的共阳/阴极》

说到LED的控制,软件会根据LED硬件的设计在点亮LED的电平上有所不同,比如下图LED电路:LED的阳极上拉VDD电压,则点亮LED,芯片IO口输出就需要输出低电平;同样的,当LED阴极下拉接地,则点亮LED,就需要输出高电平;

基于此,数码管分为共阴极和共阳极;共阳极就是把所有LED的阳极连接在一起并接电,这样给如任何一个LED另一端低电平就点亮;共阴极就是把所有LED的阴极连接在一起并接地,这样给任何一个LED另一端高电平就点亮;

因此,软件在控制LED亮灭就会有所不同;


 

《COM口的作用》

再则我们还在数码管上还会看到COM这个控制口,他其实类似于片选的功能,它叫位选线,而上图中seg的的a、b。。。g、dp叫段选线;

那它是如何进行片选的?以共阴极为例,的COM口是和共阴极公共端相连,这样当COM输出高时,所有LED都是不可能点亮的,因为阴极为高电平,全部熄灭,换句话说就是不可控制了;当COM输出低时,则LED可根据段选线的电压点亮熄灭LED实现数据的显示;根据上面的原理,每次都只选一个COM且seg口输入相应的数据,这样就实现片选的功能;


 

《显示方式》

静态显示:他并不是指显示数据只能静止不变的意思,而是指COM口无需扫描,也就是COM口无需电平的变化,也就是不需片选的时候;这种方式往往应用在只有一个数码管的时候,因为只有一个数码管,COM口设置完之后,显示数据只受a、b。。。。g、dp段选线电压控制,只需改变段选线数据即可显示相应的数据;因此称为静态显示;

动态显示:当我们有多个数码管参与显示同一数据时因为所有数码管的相同段选线都是连在一起的,那为什么要连在一起?你想啊,你每个数码管都单独分配7个段选线控制IO口,就问你,你芯片IO口资源够吗?!所以人家就利用COM口的片选功能,所有数码管共用段选线,再利用COM实现对数码管的片选,这样每增加一个数码管,只需增加一个COM口的资源;

软件则只需每次只选择一个COM有效(一个数码管有效),并且根据数据改变seg口输出数码管,其他数码管无效,只要数码管的刷新频率够快,在人眼里就是点亮的,这个就是常说的COM扫描频率,这样子,大家轮着利用COM的片选功能使用seg口输出数据,轮着显示,只要显示频率够快,表现出来的就是多段数码管一起点亮;这就是动态显示,也就是扫描模式显示;知道这个原理,其实很多LCD都是差不多的,只不过别人是用驱动芯片驱动的,我们只是用IO模拟驱动的;


 

《跟LCD液晶的关系》

LCD液晶的扫描显示方式仅在模式方面跟上面的扫描模式是一样的,只不过LCD液晶太多像素,比如128*64像素,就有64个com,128个seg,所以使用驱动芯片驱动,而数码管直接用IO口模拟驱动;


 

《伪代码》

完整代码会在后续文章解析

//com口周期扫描函数void Scan_Com(void){        //设置所有COM口(数码管)无效电平        //轮着选择一个COM口(数码管)有效电平        //设置有效COM相对应的SEG数据IO电平}

 


《《《《《END》》》》》

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值