参考文献gydF4y2Ba
有关文件及软件,请浏览:gydF4y2Ba
//www.wsdof.com/雷电竞官网登录products/greenpakgydF4y2Ba
下载我们的免费GreenPAK设计软件[1],打开。gp文件[2],并使用GreenPAK开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。gydF4y2Ba
雷竞技电竞平台Dialog Semiconductor提供了一个完整的应用笔记[4]库,包括设计示例以及Dialog IC内的功能和模块的说明。gydF4y2Ba
- GreenPAK设计软件gydF4y2Ba,软件下载和用户指南,Dialog Semiconductor雷竞技电竞平台gydF4y2Ba
- AN-1097 7段LED控制GreenPAK.gpgydF4y2Ba,绿派克设计文件,Dialog半导体雷竞技电竞平台gydF4y2Ba
- GreenPAK开发工具gydF4y2Ba, GreenPAK开发工具网页,Dialog半导体雷竞技电竞平台gydF4y2Ba
- GreenPAK应用笔记gydF4y2Ba,绿派克应用笔记网页,对话半导体雷竞技电竞平台gydF4y2Ba
- SLG46531gydF4y2Ba对话框数据表,半导体雷竞技电竞平台gydF4y2Ba
作者:大卫RiedellgydF4y2Ba
介绍gydF4y2Ba
本应用笔记将解释如何使用GreenPAK5中的两个新组件控制7段LED显示屏:IgydF4y2Ba2gydF4y2Ba块和异步状态机(ASM)。它包含了我gydF4y2Ba2gydF4y2Ba中讨论的C输入输出控制器技术gydF4y2Ba一个- 1090gydF4y2Ba.gydF4y2Ba
- 7-Segment控制概述gydF4y2Ba
- 便是GreenPAK配置gydF4y2Ba
- 4位GreenPAK配置gydF4y2Ba
- 我gydF4y2Ba2gydF4y2BaC控制与Arduino UnogydF4y2Ba
7-Segment控制概述gydF4y2Ba
7段显示器有7个不同的部分,可以单独供电。显示器可以显示数字0-9,这取决于哪个片段被点亮。它还可以显示字母A-F,用于十六进制应用程序。雷竞技安卓下载这些显示器通常包括一段小数位(dp)和一个使能引脚。gydF4y2Ba
在本应用笔记中,我们将驱动一个2位共阳极LED 7段显示,如图3所示的引脚。由于这是一个共阳极显示,它的使能引脚是有源的高和它的分段是有源的低,这意味着如果引脚EN1是高和引脚F1是低,F1段将被打开。同样的结果也可以用具有反向逻辑的共阴极LED 7段来实现。gydF4y2Ba
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
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
为了扩展我们的设计来驱动4位7段显示,我们增加了两个dff,两个ASM状态,和两个使能引脚。Pin10现在是数字2 (D[2])的启用,Pin12是数字3 (D[3])的启用。gydF4y2Ba
现在,我们不再在两个启用信号之间切换,而是通过4个启用信号级联,以便每次只启用一个数字。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 |
这个设计可以进一步扩展到最多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 |
结论gydF4y2Ba
感谢像我这样的新功能gydF4y2Ba2gydF4y2BaC和ASM在GreenPAK5,它是一个相当简单的任务,利用GreenPAK5驱动一系列7段LED显示器。gydF4y2Ba
该设计具有打开任意LED段组合的灵活性,而I只需要两个微控制器引脚gydF4y2Ba2gydF4y2BaC: SCL和SDA。通过一些调整,这个设计可以扩展到7个7段显示器。gydF4y2Ba