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

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 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料