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

stm8单片机驱动数码管遇到一个挺烦恼的事情

mingming 2021-05-11 浏览量:497
由于我是两个单片机。,有一个是STM32。原本打算用32直接驱动595正好手里有个8s我就不用买芯片了,打算直接用8s是驱动。板子已经打好了,在调试程序的时候。

出现了一个挺苦恼的问题。
调试的时候。时发刷新率。越高,数码管的闪烁越小。
因为我还要用串口与32进行数据通讯。
所以如果是用频率高的情况下,我直接放到主循环里行不行?  因为定时器中断的频率太高了。会不会影响的窗口数据发送?我在调试的时候倒是没有发现。串口正常。我还没有测试其他程序。其他几个小工作还需要两个定时器。  
这样三个定时器频繁产生中断,会不会对串口有影响?
所以我烦恼的事应该放在主循环里显示数码管
还是利用中断来刷新数码管?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1.如果设置不合理,对串口确实是有影响的

    2.刷新频率是可以计算出来的,人的视觉残留是20ms,保证在20ms内整体刷新一遍就好了

    3.我一般是用定时器刷新的,加串口没有问题。

    4.你可以用一个定时器,不要用那么多定时器。

    • 发布于 2021-05-11
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 肯定会有影响,显示的刷新率要最高,在定时中断里显示切换位选和段选,中断刷新不会有现实问题,还有就是串口中断优先级最低
    • 发布于2021-05-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 其实这个主要是stm8s处理流程上优化的问题,当然,也涉及屏幕分辨率导致数据处理量关系问题。

    人视觉特性要求刷新率要高于15帧才觉得无闪烁,越高越平滑无闪烁感。所以刷新频率要尽量往高的弄效果好。

    我想是否可能让屏幕采用定时器的方式持续自动循(刷新,这样可以获得较高刷新率)

    因为主程序和屏幕数据可以通过某个(一些)固定位置数据变化来改变,其实相当于主程序负责维护一个屏幕(数码管)要显示数据的缓冲区(相当于显存),屏幕刷新对这个缓冲区是只读操作的,持续读取去刷新即可。

    主程序根据串口或者其它部分处理来生成更新缓冲区内容即可。

    • 发布于2021-05-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 频率要看是多高了,如果正好与串口的数据发送频率差不多时,会有影响的。
    • 发布于2021-05-19
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm8单片机驱动数码管遇到一个挺烦恼的事情