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

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

3天内不再提示

数码管亮度怎么调节?

冬至子 来源:单片机技术宅 作者:小代 2023-06-13 16:13 次阅读

之前在我们设计的DIY电子时钟里面,有一项需求就是数码管显示的亮度要随环境亮度的改变而自动调节。这几天在群里也有人问到这个问题,在群里说了大体思路后,还是不能理解,程序部分还是没有是成功,今天小代就写此文来说说数码管亮度怎么调节?文后会附上源码。

在我们硬件电路做好之后,再要去调节数码管的亮度,那就只能从软件入手,也就是编程来实现它。正常情况下,我们的程序都是给数码管全亮,就像电机全速运行一样,需要调速了,我们就采用PWM信号去控制,PWM信号的原理其实就是在相同的频率下,减小了驱动电平的时间,这里调节亮度的原理也是差不多,就是在保持刷新频率不变得情况下,减少每一位数码管点亮的时间。

下面我们简单说说正常的数码管显示程序怎么写。全亮时,我们是现给数码送段选数据,再送位选数据,然后延时一小会时间,再重复以上内容显示下一位。现在我们有四位数码管,我们让每位点亮6ms,这样4位数码管显示完一次(扫描一次)大约25ms,那1秒就可以扫描40次(40帧/秒),这样我们人眼看到的就是同时显示(视频一般为25帧/秒)。具体过程如下(4位数码管分别计为A、B、C、D):

开始: A 选通 延时6ms ,关闭A

B 选通 延时6ms ,关闭B

C 选通 延时6ms ,关闭C

D选通 延时6ms ,关闭 D

结束一帧扫描

(注:此处的选通包含段码和位码)

详细程序如下:

图片

正常显示程序

如上图就是正常的显示代码段(共阴数码管),以上程序运行后可以在数码管上看到显示1234全亮度。这里说的延时一小会,这个时间是在毫秒级别的,调节这个时间,是可以调节亮度,但是时间稍微大一点,就会出现闪烁的情况了。我们要的是既要亮度可以调节,又要不闪烁,那就要用到我们说的PWM信号了。

现在要在不改变扫描速率的情况下,降低每一位点亮的时间,这样我们看到的效果就是亮度的降低了。比如上图中的程序,我们延时时间是6ms,这6ms时间都是点亮数码管的,现在要减少点亮时间,那我们就点亮3ms,关闭3ms,这样一来,扫描一位的时间还是6ms,但是这6ms时间内只有3ms时间是点亮的,自然亮度就降低了,而没有改变扫描时间,自然不会出现闪烁的情况。具体过程如下:

开始: A 选通 延时3ms ,关闭A 延时3ms

B 选通 延时3ms ,关闭B 延时3ms

C 选通 延时3ms ,关闭C 延时3ms

D选通 延时3ms ,关闭 D 延时3ms

结束一帧扫描

(注:此处的选通包含段码和位码)

具体代码如下:

图片

如上图所示,每一位点亮的时间只有3ms,但是扫描每一位数码管的时间还是原来的6ms,这样就实现了在不改变刷新频率的情况下减少了每一位点亮的时间,从而减低了亮度,上图中的亮度已经是全亮的一半了。

好了,到这要调节亮度的任务就已经完成了,但是我们还想拓展一下,如何让这个亮度可以通过程序自动来调节而不是我们认为的修改程序呢?办法很简单,我们在程序中设一个变量为点亮的时间参数(比如设为on_time),每一位还是点亮6ms,那关闭的时间就是6ms-on_time。

那过程就变为如下:

开始: A 选通 延时on_time ,关闭A延时6ms-on_time

B 选通 延时on_time ,关闭B延时6ms-on_time

C 选通 延时on_time ,关闭C延时6ms-on_time

D选通 延时on_time ,关闭 D延时6ms-on_time

结束一帧扫描

要让程序自动调节这个变量on_time,就需要来调节的参数,比如时间参数,在几点到几点之间亮度为多少,可以多少几个档次。更高级别的可以通过光敏电阻来实现检测环境光照度来调节这个现实的时间参数on_time,这样就可以实现正真的随环境的变化而变化。我们做的DIY电子时钟就是采用最后说的方式,通过光敏电阻分压后单片机ADC转换得到电压值,再根据这个电压值来自动的调节点亮的时间。通过修改延时函数,可以做到真正的无极调光。

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

    关注

    6002

    文章

    43990

    浏览量

    621037
  • 数码管
    +关注

    关注

    31

    文章

    1827

    浏览量

    89962
  • 光敏电阻
    +关注

    关注

    4

    文章

    265

    浏览量

    48494
  • PWM信号
    +关注

    关注

    3

    文章

    81

    浏览量

    19933
  • ADC采样
    +关注

    关注

    0

    文章

    126

    浏览量

    12712
收藏 人收藏

    评论

    相关推荐

    LED数码管

    (/)等运算符号功能。图1.118示出了几种不同类型的LED数码管。 与荧光数码管和辉光数码管相比,LED数码管具有体积小、重量轻、发光响应速度快、单色性好、
    发表于 01-04 01:35

    大尺寸数码管高电压下阴影问题

    本帖最后由 gk320830 于 2015-3-4 18:38 编辑 我现在同时使用8V,5寸每段限流电阻10欧母和6V,3寸数码管每段限流电阻100欧母,电压是12V,现象是一,5寸数码管
    发表于 09-27 08:53

    LED数码管驱动芯片选型指南

    端口发送数据给芯片即可,实现单线通讯,节省单片机端口;2.LED数码亮度可调:可调节段的驱动电流和占空比两种方式来调节LED数码管
    发表于 12-17 16:20

    数码管显示亮度太暗怎样增加亮度

    有一个设备用单片机控制,它的八位O/I口输出数据供给十八位数码管做动态扫描用,数码管的位选用三八译码器控制,现在的问题是数码管显示亮度太暗,我在八位数据线上串接74LS245驱动器后
    发表于 02-19 23:26

    小弟只能找到用pwm控制灯光亮度的资料 这个数码管显示亮度等级 求大神帮助

    设计任务:画出设计原理图,绘制程序流程图,编制程序,实现以下功能:1、理解灯光调节的工作原理。2、数码管显示当前灯光亮度等级,如0:停止;1:1级;2:2级等; 3、有按键,可启动、停止。
    发表于 06-17 08:11

    共阳数码管,12V供电,用的是8550,和uln2803,但是在数码管动态扫描状态下亮度不够,如何解决?

    请教大佬: 本人有5个4英尺的共阳数码管,12V供电,用的是8550,和uln2803,但是在数码管动态扫描状态下亮度不够,如何解决?
    发表于 03-06 00:41

    为什么数码管前后两次显示的亮度不一样?

    在搭好的STC15硬件上编程,数码管动态扫描,4个74ls164级联4段数码管,前后两次显示的亮度不一样,是什么情况,求大神搭救。数码管显示函数贴上void DigitronSendB
    发表于 10-11 03:13

    数码管显示原理及应用

    单片机学习----数码管显示原理及应用代码规划内容:一、数码管显示原理二、如何用万用表检测数码管的引脚排列三、数码管与单片机的电气连接四、数码管
    发表于 11-17 08:32

    数码管的结构和功能,如何使用数码管

    数码管显示一、实验目的:1、了解数码管的结构和功能;2、学会如何区分三极的三个引脚并正确使用三极;‘3、学会利用“星星点灯”实验原理来控制数码管
    发表于 01-10 07:42

    动态数码管与静态数码管介绍

    数字就根据图中a-g发光二极的亮来调节;比如要1亮,那就b、c二极发光,也就是1100 0000,转为16进制就是P0=0xf92.数码管静态显示原理静态显示:必须选择一个8位数据
    发表于 01-24 06:32

    数码管的原理是什么?如何对数码管进行仿真呢

    数码管的原理是什么?如何对数码管进行仿真呢?怎样去设计一种数码管的静态驱动电路呢?
    发表于 01-25 07:44

    什么是数码管?静态数码管的驱动介绍

    目录一,什么是数码管二,静态数码管的驱动三,动态数码管四,动态数码管显示编程实战五,使用38译码器驱动动态数码管一,什么是
    发表于 02-24 06:21

    数码管时钟怎么调节亮度

    通过什么办法调节数码管亮度
    发表于 09-26 08:24

    LED数码管各段亮度不太一致是什么原因?

    使用IO扫描方式驱动LED数码管,感觉各段亮度有些不一致,可能是什么原因?
    发表于 11-07 06:47

    为什么数码管亮度不均匀?

    为什么数码管亮度不均匀?  关于亮度一致性的问题是一个行业内的常见问题。  有二个大的因素影响到亮度一致性。  一是使用原材料芯片的选
    发表于 11-06 11:44 5668次阅读