m0_73629958 2023-01-07 20:53 采纳率: 100%
浏览 50
已结题

arduino利用LM35测试温度显示在四位共阴极数码管

我用的是sevseg数码管显示库来做的 在loop函数里最后是刷新了 也设置了自加数用来延时但是还是刷新的很快 我又想用timerone库来设置定时器减缓刷新频率 但是不知道怎么写 故来求助
#include "SevSeg.h"
SevSeg sevseg;
byte weishu=4;
byte hardwareConfig=COMMON_CATHODE;
byte duanwei[]={10,11,12,13};
byte yinjiao[]={2,3,4,5,6,7,8,9};
int Digital_Value=0;
float temp_Value=0;
int count;

void setup() {
// put your setup code here, to run once:
sevseg.begin(hardwareConfig,weishu,duanwei,yinjiao);
pinMode(A0,INPUT);
}

void loop() {
// put your main code here, to run repeatedly:
count++;
if(count==2000){
count=0;
Digital_Value=analogRead(A0);
temp_Value=(float)Digital_Value/1024500.00;
sevseg.setNumber(temp_Value
100,2);
sevseg.refreshDisplay();
}
}

  • 写回答

1条回答 默认 最新

  • m0_54204465 2023-01-08 08:46
    关注

    如果想使用 timerOne 库来减缓刷新频率,可以在 loop 函数中使用 timerOne 库的函数来设置定时器。

    例如,可以在 setup 函数中调用 timerOne 库的函数来初始化定时器:

    #include "SevSeg.h"
    #include "TimerOne.h"
    
    SevSeg sevseg;
    
    byte weishu = 4;
    byte hardwareConfig = COMMON_CATHODE;
    byte duanwei[] = {10, 11, 12, 13};
    byte yinjiao[] = {2, 3, 4, 5, 6, 7, 8, 9};
    int Digital_Value = 0;
    float temp_Value = 0;
    
    void setup() {
      // 初始化数码管
      sevseg.begin(hardwareConfig, weishu, duanwei, yinjiao);
    
      // 设置定时器,每 1000 毫秒触发一次中断
      Timer1.initialize(1000);
      Timer1.attachInterrupt(refreshDisplay);
    
      // 设置 A0 口为输入
      pinMode(A0, INPUT);
    }
    
    void loop() {
      // 空函数,主要任务由中断服务函数执行
    }
    
    void refreshDisplay() {
      // 读取 A0 口的值
      Digital_Value = analogRead(A0);
      temp_Value = (float)Digital_Value / 1024.00 * 500.00;
    
      // 显示温度值
      sevseg.setNumber(temp_Value, 2);
      sevseg.refreshDisplay();
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月16日
  • 已采纳回答 1月8日
  • 创建了问题 1月7日

悬赏问题

  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失
  • ¥15 springboot+vue 集成keycloak sso到阿里云
  • ¥15 win7系统进入桌面过一秒后突然黑屏
  • ¥30 backtrader对于期货交易的现金和资产计算的问题
  • ¥15 求C# .net4.8小报表工具
  • ¥15 安装虚拟机时出现问题
  • ¥15 Selenium+docker Chrome不能运行
  • ¥15 mac电脑,安装charles后无法正常抓包
  • ¥18 visio打开文件一直显示文件未找到