【问题标题】:How to turn on rgb leds connected to PT6965 LED controller using Pic32? [closed]如何使用 Pic32 打开连接到 PT6965 LED 控制器的 RGB LED? [关闭]
【发布时间】:2018-07-19 12:31:18
【问题描述】:

我已经使用微芯片协调通过 SPI 将 PT6965 LED 控制器与 Pic32 连接起来。我的问题是我无法理解使用 spi 写入 LED 控制器的数据/命令将打开连接到 LED 控制器的 3 个 RGB LED。我已经阅读了 PT6965 数据表,他们提到了如何使用数据命令,但我无法理解我应该如何使用它们。有人可以给我一个简单的例子,我可以如何打开例如红色 LED。

我的整体项目结构

Pic32-> SPI -> LED 控制器 -> RGB LED

LED 连接如下。

红色 LED -> PIN No.20 (SG12/ GR7)

蓝色 LED -> PIN No.19 (SG11)

绿色 LED -> PIN No.18 (SG10/ KS10)

PT6965 led 控制器数据表“http://www.princeton.com.tw/Portals/0/Product/PT6965.pdf”的链接

【问题讨论】:

  • 您是在使用具有最少附加库的直接寄存器访问,还是使用任何类型的框架?
  • 我正在使用微芯片和谐框架。但这只是设置 spi。
  • 我正在阅读数据表。你试过什么吗?另外,您是否注意到您需要正确控制 STB 引脚?
  • @ThomasJager - OP 没有包含足够的信息,无法让您就此处的帮助或无帮助做出如此广泛的陈述。具体设备的数据手册清楚地说明了要发送什么,链接中的示例代码提供了如何发送的通用方法。
  • @ThomasJager:我们不会解释如何阅读数据表。这是 OP 在此处或在 electronics.se 上提问时应具备的技能(无论如何,这更适合此类问题)。

标签: c spi microchip pic32


【解决方案1】:

从 STB 高开始。在每个命令之前将其拉低,并在您发送命令后将其拉高,然后再发送下一个命令。

由于您使用 SG 超过 11,因此您需要在写入数据之前更改显示模式(数据表中的命令 1)。这可以通过发送 0b00000000 将控制器设置为 4 位 14 段模式来完成。 (这只是必要的,因为您使用的是 SG12 引脚。这也意味着以后要写入的地址更少。)

接下来,您要设置数据设置(命令 2)。它从 0b0100 开始,还有 4 位。下一位是 0,因为我们没有处于测试模式。您需要在每次数据写入时增加地址,因此接下来执行 0。显示控制器也设计用于读取键矩阵,但您没有使用它,因此我们要添加最后一个 00。这将得到 0b01000000。

下一部分是困难的部分,因为你想设置你需要写的地址。这是我不能轻易帮助你的地方,你需要明白这一点。命令 3 显示了您可以写入的所有地址。您想特别影响每个数字的第 10 到 12 段。这意味着您要写入奇数地址处所有字节的字节 1 到 3。由于您没有使用其他引脚,因此最简单和最快的方法是遍历所有地址。由于您不在乎向偶数地址写入什么,因此您可以像对奇数地址一样写入。为简单起见,您需要先将地址设置为 0,方法是发送地址代码:0b1100,后跟地址 0b0000。这给出了 0b11000000。现在,不要将 STB 拉回高电平,开始发送数据字节。每次写入时,地址都会递增。由于我们之前将位数设置为 4,所以我们只需要上到地址 0x7。您可以通过发送包含 0b0000RBG0 的 8 个字节来做到这一点,其中的字母代表颜色的状态。完成此操作后,您可以再次将频闪设置为高电平。 (这里假设阴极都连接到 GND,因此数字阴极被忽略)

这当然是最低限度的。最好只写你需要的部分,其余部分不写,但我尽量保持简单,即使这不是正确的做事方式。

您需要设置一些其他显示控制设置(命令 4)。这些以 0b1000 开头。然后,您需要一个 1 来保持显示屏打开,然后是 111 以尽可能地保持显示屏亮起。这给出了 0b10001111。

此组件不是为初学者设计的,您将其用于使事情变得过于复杂的意外目的。您正在滥用该部分的目的。虽然这是一次很好的学习体验,但您必须实际尝试学习。花时间阅读数据表,因为根据我所说的,它可能无法正常工作,具体取决于它的设置方式。我试图解释为什么发送每个命令,而不仅仅是它是什么。您需要在使用它之前了解这些命令。浏览数据表,查看每个命令,看看我为什么建议这样做。

【讨论】:

    猜你喜欢
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多