跳过主要内容gydF4y2Ba

AN-1097 7段LED控制GreenPAKgydF4y2Ba

内容gydF4y2Ba

参考文献gydF4y2Ba

有关文件及软件,请浏览:gydF4y2Ba

//www.wsdof.com/雷电竞官网登录products/greenpakgydF4y2Ba

下载我们的免费GreenPAK设计软件[1],打开。gp文件[2],并使用GreenPAK开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。gydF4y2Ba

雷竞技电竞平台Dialog Semiconductor提供了一个完整的应用笔记[4]库,包括设计示例以及Dialog IC内的功能和模块的说明。gydF4y2Ba

  1. GreenPAK设计软件gydF4y2Ba,软件下载和用户指南,Dialog Semiconductor雷竞技电竞平台gydF4y2Ba
  2. AN-1097 7段LED控制GreenPAK.gpgydF4y2Ba,绿派克设计文件,Dialog半导体雷竞技电竞平台gydF4y2Ba
  3. GreenPAK开发工具gydF4y2Ba, GreenPAK开发工具网页,Dialog半导体雷竞技电竞平台gydF4y2Ba
  4. GreenPAK应用笔记gydF4y2Ba,绿派克应用笔记网页,对话半导体雷竞技电竞平台gydF4y2Ba
  5. SLG46531gydF4y2Ba对话框数据表,半导体雷竞技电竞平台gydF4y2Ba

作者:大卫RiedellgydF4y2Ba

介绍gydF4y2Ba

本应用笔记将解释如何使用GreenPAK5中的两个新组件控制7段LED显示屏:IgydF4y2Ba2gydF4y2Ba块和异步状态机(ASM)。它包含了我gydF4y2Ba2gydF4y2Ba中讨论的C输入输出控制器技术gydF4y2Ba一个- 1090gydF4y2Ba.gydF4y2Ba

  1. 7-Segment控制概述gydF4y2Ba
  2. 便是GreenPAK配置gydF4y2Ba
  3. 4位GreenPAK配置gydF4y2Ba
  4. 我gydF4y2Ba2gydF4y2BaC控制与Arduino UnogydF4y2Ba
图1所示。通用部分的名字gydF4y2Ba
图2。2位7段LED显示gydF4y2Ba
在本应用程序笔记中使用gydF4y2Ba

7-Segment控制概述gydF4y2Ba

7段显示器有7个不同的部分,可以单独供电。显示器可以显示数字0-9,这取决于哪个片段被点亮。它还可以显示字母A-F,用于十六进制应用程序。雷竞技安卓下载这些显示器通常包括一段小数位(dp)和一个使能引脚。gydF4y2Ba

在本应用笔记中,我们将驱动一个2位共阳极LED 7段显示,如图3所示的引脚。由于这是一个共阳极显示,它的使能引脚是有源的高和它的分段是有源的低,这意味着如果引脚EN1是高和引脚F1是低,F1段将被打开。同样的结果也可以用具有反向逻辑的共阴极LED 7段来实现。gydF4y2Ba

图3。2位LED 7段显示gydF4y2Ba

GreenPAK配置gydF4y2Ba

图4。2位GreenPAK框图gydF4y2Ba

DFF1和DFF2用于创建交替启用信号,也在ASM状态D[0]和D[1]之间切换。当DFF1输出高时,ASM处于D[0]状态,D[0]_EN为高状态,通过LED显示屏上的EN0引脚使能数字0。当DFF2输出高时,ASM处于D[1]状态,并使能数字1。gydF4y2Ba

图5。便是使信号gydF4y2Ba
图6。便是ASM配置gydF4y2Ba
图7。GreenPAK与2位7段显示的外部连接gydF4y2Ba

LED段控制位为gydF4y2Ba数字1gydF4y2Ba和gydF4y2Ba数字0gydF4y2Ba存储在ASM的状态D[1]和状态D[0]。如果打开ASM Editor,您将看到状态机非常简单,如图6所示。便是ASM配置。如图7所示,段控制信号a, b, c, d, e, f, g和dp分别连接到数字1和数字0对应的引脚上。虽然两个数字都连接到段控制信号,但一次只断言一个数字使能引脚。gydF4y2Ba

4位GreenPAK配置gydF4y2Ba

图8。4位GreenPAK框图gydF4y2Ba

为了扩展我们的设计来驱动4位7段显示,我们增加了两个dff,两个ASM状态,和两个使能引脚。Pin10现在是数字2 (D[2])的启用,Pin12是数字3 (D[3])的启用。gydF4y2Ba

现在,我们不再在两个启用信号之间切换,而是通过4个启用信号级联,以便每次只启用一个数字。gydF4y2Ba

图10。4位使信号gydF4y2Ba
图10。4位ASM配置gydF4y2Ba
图11。GreenPAK与4位7段显示的外部连接gydF4y2Ba

图10显示了在4位之间转换的ASM配置。图10显示了段控制信号和每个对应引脚之间的外部连接路由。每个使能信号的路由直接对应于其使能引脚,如图11和图12所示。gydF4y2Ba

GreenPAK销gydF4y2Ba

信号gydF4y2Ba

领导的销gydF4y2Ba

6gydF4y2Ba

D [0] _ENgydF4y2Ba

EN0gydF4y2Ba

7gydF4y2Ba

D [1] _ENgydF4y2Ba

EN1gydF4y2Ba

10gydF4y2Ba

D [2] _ENgydF4y2Ba

EN2gydF4y2Ba

12gydF4y2Ba

D [3] _ENgydF4y2Ba

EN3gydF4y2Ba

图12。信号路由gydF4y2Ba

这个设计可以进一步扩展到最多7位,因为我们还有4个ASM状态,3个GPIO引脚用于启用信号(Pin3、Pin4和Pin5),以及大量未使用的dff。然而,在这一点上,每个数字的占空比将足够低,可能很难读取。gydF4y2Ba

我gydF4y2Ba2gydF4y2BaC控制与Arduino UnogydF4y2Ba

在本节中,我们将使用IgydF4y2Ba2gydF4y2Ba直接写入ASM RAM表。ASM中的每个状态(D[3:0])访问RAM中的1个字节。每个字节有8位,控制显示上的8段。(阅读更多关于I的用法gydF4y2Ba2gydF4y2BaC与GreenPAK5,阅读gydF4y2Ba一个- 1090gydF4y2Ba或指的是部分gydF4y2Ba数据表gydF4y2Ba.)gydF4y2Ba

通过I向GreenPAK的登记册写信gydF4y2Ba2gydF4y2BaC,你需要3字节:gydF4y2Ba

控制字节gydF4y2Ba

0 x00gydF4y2Ba

控制码= ' 0000 ',块地址= ' 000 ',R/W = ' 0 'gydF4y2Ba

地址字节gydF4y2Ba

0 xd0 / 0 xd1gydF4y2Ba

状态D[0]和D[1]的ASM RAM寄存器地址gydF4y2Ba

数据字节gydF4y2Ba

0 x ? ?gydF4y2Ba

通过I发送的数据gydF4y2Ba2gydF4y2BaCgydF4y2Ba

图13显示了IgydF4y2Ba2gydF4y2BaC数据字节需要使7段LED显示十六进制0:gydF4y2Ba

注意,对于每个十六进制值,小数点位都是HIGH,这意味着active-LOW小数点是关闭的。如果你想在你的数字后面包含一个小数点,你所需要做的就是BITWISE和0x7F到你的IgydF4y2Ba2gydF4y2BaC数据字节。例如,要使一个数字显示' 0。',则数据字节为:0xC0 & 0x7F = 0x40。gydF4y2Ba

我们编写了一个简单的Arduino程序,通过I向GreenPAK发送数字gydF4y2Ba2gydF4y2Ba以说明控制系统。这个程序将D[3:2]从' AA '增加到' FF ',并将D[1:0]从' 0.0 '增加到' 9.9 '。所使用的代码包含在附录A中,Arduino文件包含在应用笔记材料中。gydF4y2Ba

十六进制gydF4y2Ba

价值gydF4y2Ba

7-SegmentgydF4y2Ba

显示gydF4y2Ba

液晶显示部分gydF4y2Ba

字节gydF4y2Ba

我gydF4y2Ba2gydF4y2BaCgydF4y2Ba

数据gydF4y2Ba

dpgydF4y2Ba

ggydF4y2Ba

fgydF4y2Ba

egydF4y2Ba

dgydF4y2Ba

cgydF4y2Ba

bgydF4y2Ba

一个gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

11000000gydF4y2Ba

0 xc0gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

11111001gydF4y2Ba

0 xf9gydF4y2Ba

2gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

10100100gydF4y2Ba

0 xa4gydF4y2Ba

3.gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

10110000gydF4y2Ba

0 xb0gydF4y2Ba

4gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

10011001gydF4y2Ba

0 x99gydF4y2Ba

5gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

10010010gydF4y2Ba

0 x92gydF4y2Ba

6gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

10000010gydF4y2Ba

0 x82gydF4y2Ba

7gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

11111000gydF4y2Ba

0 xf8gydF4y2Ba

8gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

10000000gydF4y2Ba

0 x80gydF4y2Ba

9gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

10010000gydF4y2Ba

0 x90gydF4y2Ba

一个gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

10001000gydF4y2Ba

0 x88gydF4y2Ba

BgydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

10000011gydF4y2Ba

0 x83gydF4y2Ba

CgydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

11000110gydF4y2Ba

0 . xc6gydF4y2Ba

DgydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

10100001gydF4y2Ba

0最后gydF4y2Ba

EgydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

10000110gydF4y2Ba

0 x86gydF4y2Ba

FgydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

0gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

1gydF4y2Ba

0gydF4y2Ba

10001110gydF4y2Ba

0 x8egydF4y2Ba

图13。十六进制转换为IgydF4y2Ba2gydF4y2BaC数据字节gydF4y2Ba

结论gydF4y2Ba

感谢像我这样的新功能gydF4y2Ba2gydF4y2BaC和ASM在GreenPAK5,它是一个相当简单的任务,利用GreenPAK5驱动一系列7段LED显示器。gydF4y2Ba

该设计具有打开任意LED段组合的灵活性,而I只需要两个微控制器引脚gydF4y2Ba2gydF4y2BaC: SCL和SDA。通过一些调整,这个设计可以扩展到7个7段显示器。gydF4y2Ba

附录AgydF4y2Ba