• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

在stm32中如何通过定时器显示数码管?

zzgege 2018-01-31 浏览量:5271

在stm32中如何通过定时器显示数码管?需要把测量的数据实时显示到数码管上。


0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 数码管就是有分段的LED组合显示数字的模块,对于共阴极数码管,给相应的段高电平,该段LED被点亮,默认状态输出全0,关闭所有段;对于共阳极的数码管,给相应的段低电平,该段LED被点亮,默认状态输出全高电平,关闭所有的段。要让数码管显示数字,需要将要显示的数字转换成八段数码管(带小数点)对应的码值,码值不复杂,一般可以自己进行变换。

    点亮数码管常用的有两种方式,静态、动态,静态的显示数码管就是给对应GPIO一直输出电平(高或者低),这样显示的亮度较大,比较费电;动态的数码管显示是以给定的频率不断地去给相应的GPIO输出电平,频率越高,约近似于一直输出的状态,频率越低,亮度也会降低,过低时人的肉眼就能看出闪烁变化,但是动态的输出比较省电,还比较省GPIO,可以通过片选信号控制多个数码管同时显示一个组合的数据,即通过片选轮流让数码管点亮、熄灭,造成视觉上多个数码管同时点亮的错觉。

    通过定时器控制时,在定时器中断处理函数中关闭当前数码管的显示,设置下一个要显示的数码管使能,并输出显示的数据,逐个数码管显示。

    • 发布于 2018-01-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了 :该物料适用于 Microsoft® Windows® XP 和 7 的易用评估软件 回复

其他答案 数量:10
  • 不好意思,不是n的值赋值给自动装载寄存器,n的值通过取余赋值给数码管,自动装载寄存器的值是自己设定的,比如自己设为250,那频率为250khz的时钟定时器就是一ms溢出一次,这个可以自己设定。


    希望对你有帮助。

    • 发布于2018-01-31
    • 举报
    • 评论 1
    • 1
    • 0
电子老工程师 回复了  :MPXV1D1264L4R7 KEMET 回复

  • 具体看静态数码管还是动态数码管吧。动态数码管是分段选和位选两组引脚,其中段选的八个引脚全部公用接到一起,但单片机需要在八个周期内分别选中位选引脚,再往段选引脚给相应的段码图案赋值,就达到动态刷新的效果了。

    • 发布于2018-01-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  : 回复

  • 首先定义一个整型变量n,用这个变量来储存实时数据。再把这个数据赋值给定时器的自动装载寄存器,通过定时器计数,当达到该数据时就发生更新中断(即溢出),在中断函数中把这个值赋值给数码管的千位百位等等。数码管用动态显示即刻实时显示测回的数据。

    ps:还可以通过调节定时器的预分频寄存器来调节中断更新的时间,比如大约一秒数码管的数值更新一次等等。具体可以自己去调下定时器时钟的频率。

    希望对你有帮助。。

    • 发布于2018-01-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :湿气敏感性等级 (MSL) =1 回复

  • 跟51的操作是一样的,只是定义管脚比51麻烦点而已
    • 发布于2018-01-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :尾缀B:代表环保符合ROHS ,DL和OS都代表包装,A1:代表版本,这个厂牌尾缀智库有解释,请看下边链接https://iknow.ickey.cn/knowledge/detail?id=1650&source=search 回复

  • 每隔一段时间刷新一次数码管显示的数值,通过片选脚确定当前显示的是哪一个数码管,通过段选确定数值
    • 发布于2018-01-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :这个型号就是车规级 回复

  • 动态显示,定时刷新数码管数据,一般保证30ms刷新一遍就看不到闪烁了,定时器定时时间根据显示的位数n按比例计算30/n。然后每次刷新移动一位,循环执行就行了。
    • 发布于2018-01-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :有货工作压力最高是50kPa,如下型号MPX5050GP 回复

  • 开个定时中断,中断一到,刷新数码管显示就可以
    • 发布于2018-01-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :封装: SOT-23-3 品牌: RICHTEK(台湾立锜) 型号: RT9169-12GVL, 供参考,没有和客户提供的参数一样的 回复

  • 数码管显示用动态扫描的方式。和定时器有关的部分代码,也就是定时扫描。保证每个数码管的刷新率60HZ 以上就没问题,看不出闪烁。

    比如定时器中断间隔20ms,在中断服务程序里刷新数码管显示。

    • 发布于2018-01-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :没有找到 回复

  • 1、你可以驱动数码管显示出数值来

    2、可以自己用定时器进行中断,读取你要的数值

    3、将两部分程序加在一起,对于你想显示的数据进行划分,那几位显示哪个数值,就可以了

    建议好好去学51,再学STM32,学51不是用来以后使用的,是用来学习其他芯片打基础的,如果你51学的好,这个问题你就可以很快地进行解决了

    • 发布于2018-02-01
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :FQB11N40CTM 详细描述 表面贴装型 N 通道 400 V 10.5A(Tc) 135W(Tc) D²PAK 回复

  • 定时器与显示并没有直接关系,最多就是个刷屏的时间控制。

    而测量 的数据,可以使用定时进行触发AD转换

    • 发布于2018-02-04
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :规格书没有丝印说明,只有外观尺寸说明。 回复

相关问题

问题达人换一批

在stm32中如何通过定时器显示数码管?