C++/Arduino 7 位不显示 5 或 6

C++/Arduino 7digit doesn't show the 5 or 6

本文关键字:显示 Arduino C++      更新时间:2023-10-16

我的问题很简单,但我似乎无法修复它。我试图在7位数字显示(0-9)上获取基本数字。我正在使用二进制代码进行输出。但是以某种方式我的显示器显示9,而实际上是需要显示的5个。另外,如果我想显示6个显示8。有人能帮我吗?这是我正在使用的二进制代码。

0 = B00000011
1 = B10011111
2 = B01001011
3 = B00001101
4 = B10011001
5 = B01001001
6 = B01000001
7 = B00011111
8 = B00000001
9 = B00001001

无需访问您使用的板,很难确切地指出正在发生的事情,但是我可以做出一些有根据的猜测。既然您正在学习,那么我会有点漫长(无论如何我的天性也是如此)。

这是一个7段显示的图,其标签(并排)

 --    aa
|  |  f  b
 --    gg
|  |  e  c
 --    dd

从您的代码中,从您的值到显示器的接线如下(顶部的位数,x for UnDustand)如下所示,其中0为ON且1关闭:

76543210
abcdefgX

基于此,表中使用的值应为:

0 = B00000011
1 = B10011111
2 = B00100101
3 = B00001101
4 = B10011001
5 = B01001001
6 = B01000001
7 = B00011111
8 = B00000001
9 = B00001001

除非我犯了一个错误,否则我认为您对" 2"的实现是不正确的。这更可能是因为" 2"值应该在"位上有5",并且您的实施中只有4个0。

由于您认为2是正确的,所以这意味着第6位的电线(上面的7段图中的" B")是松动的或误后的(或可能短在其他电线上),因为它显然仍然是当" 1"出现时," on"。正如您所描述的。