用Arduino制作秒表

时间:2018-01-17 08:33:28

标签: arduino

我正在尝试用Arduino制作秒表 通过多路复用,我可以用我写的函数显示一个静态数字:

void display7s (int i, int j, int k, int l)
{
    while (1) {
        displayNumber(i, 4);
        delay(1);
        displayNumber(j, 3);
        delay(1);
        displayNumber(k, 2);
        delay(1);
        displayNumber(l, 1);
        delay(1);
    }
}

ijkl参数是要显示的数字。 displayNumber显示并转换数字,此函数的第二个参数是数字,确实7段显示有4位数。

我不知道如何继续显示从(0010到9999,...)的增量数字 我只能显示静态的4位数字。

我知道我的函数编写方式它可以工作,因为它是一个无限循环,但我想结合这个无限循环和1000毫秒延迟来增加时间。

1 个答案:

答案 0 :(得分:0)

如果您的问题是将数字分解为各自的数字, 你可以这样做:

while(1) {
    int n = 0;
    int i = n/1000; // x * 1000
    int j = n/100 % 10; // x * 100
    int k = n/10 % 10; // x * 10
    int l = n % 10; // x
    displayNumber(i,4);
    delay(1);
    displayNumber(j,3);
    delay(1);
    displayNumber(k,2);
    delay(1);
    displayNumber(l,1);
    delay(1000);
    n++;
    if(n>9999) n = 0;
}