C++/Arduino 7digit 不显示 5 或 6
C++/Arduino 7digit doesn't show the 5 or 6
我的问题很简单,但我似乎无法解决。
我正在尝试在我的 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 表示未使用),其中 0 为开,1 为关:
76543210
abcdefgX
基于此,您的 table 中使用的值应该是:
0 = B00000011
1 = B10011111
2 = B00100101
3 = B00001101
4 = B10011001
5 = B01001001
6 = B01000001
7 = B00011111
8 = B00000001
9 = B00001001
除非我犯了错误(这很有可能),否则我认为您对“2”的实现是不正确的。这更有可能是因为“2”值应该有 5 "ON" 位,而您的实现中只有四个 0。
由于您认为 2 是正确的,这意味着第 6 位的电线(上面 7 段图中的 "b")松动或接线错误(或者可能与另一根电线短路),因为当那个位上有“1”时,它显然仍然是 "ON"。如您所述,这将导致 6 显示为 8,5 显示为 9。
我的问题很简单,但我似乎无法解决。 我正在尝试在我的 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 表示未使用),其中 0 为开,1 为关:
76543210
abcdefgX
基于此,您的 table 中使用的值应该是:
0 = B00000011
1 = B10011111
2 = B00100101
3 = B00001101
4 = B10011001
5 = B01001001
6 = B01000001
7 = B00011111
8 = B00000001
9 = B00001001
除非我犯了错误(这很有可能),否则我认为您对“2”的实现是不正确的。这更有可能是因为“2”值应该有 5 "ON" 位,而您的实现中只有四个 0。
由于您认为 2 是正确的,这意味着第 6 位的电线(上面 7 段图中的 "b")松动或接线错误(或者可能与另一根电线短路),因为当那个位上有“1”时,它显然仍然是 "ON"。如您所述,这将导致 6 显示为 8,5 显示为 9。