0

我已经为 DL1416 显示器编写了一个代码,它是一个 4 位 16 段显示器。我需要使用 arduino 测试 pd2816 显示器。pd2816 是一个 8 位 18 段显示器。有人可以帮助我对我的实际代码进行哪些更改,以便我可以滚动 8 位而不是 4 位中的数字并检查 PD 2816 中的所有段...... DL1416 数据表

pd2816 其数据表可在此处获得

4

1 回答 1

0

虽然我不确定是什么阻止您阅读您在问题中链接的数据表,但我会回答这个问题

我在这里面临的问题是它是一个 8 位数字以及如何将数字滚动到所有 8 个段中

根据数据表,您可以使用信号 A1、A2、A3 来寻址要写入的数字,您只需提供所需数字的位即可。

在此处输入图像描述

因此,如果要写入第五位,请通过 D0-D7 提供该位,并根据该表设置控制输入。5 是 0b101 所以 A0 为高,A1 为低,A2 为高

您可能还会考虑在没有超过 600 次显式调用 digitalWrite 的情况下设置这些值的方式

使用设置输出并将组合存储为数字的函数。7位代表一个数字。那么为什么不使用这个事实呢?

由于引脚 0-7 都在一个端口上,您甚至可以使用端口操作。

代替

  digitalWrite(0, HIGH);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);

你可以简单地写

PORTD = 0b00110001;
于 2021-02-17T12:33:36.947 回答