8个数码管动态显示高位为0时怎么清除?

2020-02-08 09:13发布

显示有8个数码管 比如现在 显示的是 12345678  但是如果是 显示 00000001的话 我只需要他显示 一个 1  其他的 0 就全部熄灭
  如果是  00000010 的话  我只要他显示  10 其他的 0 也全部熄灭   

请求 这种算法 怎么实现  ?   谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
20条回答
millwood0
2020-02-09 08:21
"这种算法 怎么实现  ?"

I use a custom itoa to do that.

==============================
void ultoa(unsigned char *str, unsigned long ul, unsigned char length) {
  do {
    str[length--]=(ul % 10) + '0';
    ul = ul / 10;
  } while (ul);  //eliminates leading zeros
  //} while (length);  //keeps leading zeros
}

==============================

so a the following

ultoa (&vRAM[3], 123, 10);

will create a string of '       123', starting at vRAM[3]. no trailing null, however.

一周热门 更多>