当前位置:首页 > 电源 > 数字电源
[导读]文章给出了ZLG7289A的特点、引脚功能、指令说明和经典电路,并以单片机AT89C51为例,给出了其接口电路及相应源程序。

    摘要:介绍了LED数码管键盘管理器ZLG7289A的原理与应用。该芯片具有SPI串行接口,可同时驱动8位共阴式数码管(或64只独立LED),还可连接多达64键的键盘矩阵,单块芯片即可完成LED显示、键盘接口等全部功能。文章给出了ZLG7289A的特点、引脚功能、指令说明和经典电路,并以单片机AT89C51为例,给出了其接口电路及相应源程序。

    关键词:ZLG7289A;LED显示;键盘接口;SPI

1 概述

ZLG7289A是广州周立功单片机发展有限公司自行设计的、具有SPI串行接口功能的、可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片。该芯片同时可连接多达64键的键盘矩阵。单块芯片即可完成LED显示以及键盘接口的全部功能。

ZLG7289A内部含有译码器,可直接接收BCD码或16进制码,并同时具有2种译码方式,此外还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。

通过ZLG7289A自身所具有的片选信号,可以方便地实现多于8 位显示或多于64 键的键盘接口。该芯片的主要特性如下:

●带有串行接口,无需外围元件即可直接驱动LED;

●各位可独立控制译码/不译码及消隐和闪烁属性;

●具有(循环)左移/(循环)右移指令;

●具有段寻址指令,可方便地控制独立的LED显示器;

●内含64键键盘控制器以及去抖动电路;

●可完全替代其它公司的8279、8155、8255等系列显示器件

2 引脚说明

ZLG7289A芯片具有标准的DIP28和SOIC28两种封装形式。其引脚排列如图1所示,各引脚的功能说明见表1所列。

表1 ZLG7289A引脚功能说明

引  脚 名  称 说    明
1,2 VDD 正电源
3,5 NC 不连接,必须悬空
4 VSS 接地
6 CS 片选输入。此脚为低电平时,可向芯片发送指令及读取键盘数据
7 CLK 同步时钟输入端。向芯片发送数据及读取键盘数据时,此引脚电平上升沿表示数据有效
8 DATA 串行数据输入/输出端。当芯片接收指令时,此引脚为输入端;当读取键盘数据时,此引脚在读指令最后一个时钟的下降沿变为输出端。
9 KEY 按键有效输出端。平时为高电平,当检测到有效按键时,此引脚变为低电平
10~16 SG~SA 段ga驱动输出
17 DP 小数点驱动输出
18~25 DIG0~DIG7 数字0~7驱动输出
26 CLKOUT 振荡输出端
27 RC RC振荡器连接端
28 RESET 复位端。低电平有效,当RESET端由低电平变为高电平后,ZLG7289A大约经过18~25ms的时间才会进入正常工作状态

3 控制指令说明

ZLG7289A 的控制指令分为二大类:纯指令和带有数据的指令。

3.1 纯指令

纯指令包括复位(清除)指令(0A4H)、测试指令(0BFH)、左移指令(0A1H)、 右移指令(0A0H)、 循环左移指令(0A3H)、 循环右移指令(0A2H)等。下面以复位(清除)指令(0A4H)为例来进行说明,该指令的格式如下:

D7 D6 D5 D4 D3 D2 D1 D0
1 0 1 0 0 1 0 0

当ZLG7289A 接收到该指令后,将所有的显示清除,所有设置的字符消隐、闪烁等属性也被一起清除。执行该指令后,芯片所处的状态与系统上电后所处的状态一样。

3.2 带有数据的指令

(1)下载数据且按方式0译码指令

该指令的格式如下:

D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 0 a2 a1 a0
D7 D6 D5 D4 D3 D2 D1 D0
DP X X X d3 d2 d0 d1

该命令由二个字节组成。前半部分为指令,其中a2 a1 a0 为位地址,d0~d3为数据。具体分配方式如表2所列。当系统接收到此指令时(ZLG7289A将按译码方式0进行译码)具体的译码方式如表3所列。小数点的显示可由DP位控制,DP为1时,小数点显示,DP为0时,小数点不显示。在该指令格式中,x表示没有影响。

表2 位地址分配表

a2 a1 a0 显示位
0 0 0 1
0 0 1 2
0 1 0 3
0 1 1 4
1 0 0 5
1 0 1 6
1 1 0 7
1 1 1 8

表3 译码方式表

d0~d3 d3 d2 d1 d0 7段显示
00H 0 0 0 0 0
01H 0 0 1 1 1
02H 0 0 0 0 2
03H 0 0 1 1 3
04H 0 1 0 0 4
05H 0 1 0 1 5
06H 0 1 1 0 6
07H 0 1 1 1 7
08H 1 0 0 0 8
09H 1 0 0 1 9
0AH 1 0 1 0 -
0BH 1 0 1 1 E
0CH 1 1 0 0 H
0DH 1 1 0 1 L
0EH 1 1 1 0 P
0FH 1 1 1 1 空无显示

(2)下载数据且按方式1译码指令

这种指令与上一个指令基本相同。所不同的是,该指令的d0~d3对应的数据位0AH~0FH分别为七段显示中的A、B、C、D、E、F。该指令的具体格式如下:

D7 D6 D5 D4 D3 D2 D1 D0
1 1 0 0 1 a2 a1 a0
D7 D6 D5 D4 D3 D2 D1 D0
DP X X X d3 d2 d0 d1

(3) 读键盘数据指令

该指令从ZLG7289A读出当前的按键代码,格式如下:

D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 1 0 1 0 1
D7 D6 D5 D4 D3 D2 D1 D0
d7 d6 d5 d4 d3 d2 d0 d1

与其它指令不同的是,此命令的前一个字节0001010B 为单片机传送到ZLG7289A的指令,而后一个字节d0~d7则为ZLG7289A返回的按键代码。 其范围为0~3FH(无键按下时为0xFF)。在此指令的前半段,ZLG7289A 的DATA 引脚处于高阻输入状态,可以用来接收来自微处理器的指令;在指令的后半段,DATA 引脚从输入状态转为输出状态,此时将输出键盘代码的值。故微处理器连接到DATA 引脚的I/O口应当有一个从输出态到输入态的转换过程。

当ZLG7289A检测到有效的按键时,KEY 脚将从高电平变为低电平,并一直保持到按键结束。在此期间,如果ZLG7289A 接收到“读键盘数据指令”,则输出当前按键的键盘代码;如果在接收到“读键盘数据指令”时没有有效按键,ZLG7289A将输出FFH(11111111B)。

(4)其它指令

除以上几个指令外,ZLG7289A还具有下载数据但不译码、闪烁控制、消隐控制、段点亮指令、段关闭等指令,限于篇幅,此处不再详述。

图2

4 典型应用

ZLG7289A 的典型应用电路如图2所示,图中,ZLG7289A 应连接共阴式数码管,应用中无需用到的数码管和键盘可以不连接,因而可省去数码管。此外,设置消隐属性也不会影响键盘的使用。

由于ZLG7289采用的是循环扫描的工作方式,因此,如果采用普通的数码管,亮度可能不够,故应采用高亮度或超高亮度的数码管,且尺寸也不宜选的过大,一般字符高度不超过1 英寸,如使用大型的数码管,则应选用适当的驱动电路。

ZLG7289A的RESET复位端在一般情况下,可以直接和VCC相连;而在需要较高可靠性的情况下,则可以连接外部复位电路或直接由MCU 控制。在上电或RESET 端由低电平变为高电平后,通常要经过大约18~25ms的时间,ZLG7289A才会进入正常工作状态。

图3

5 应用实例

图3是以AT89C51单片机为例给出的ZLG7289A与单片机的接口电路。图中,AT89C51所用时钟频率为12MHz?如果使用不同的CPU时钟频率,则应注意调整延时时间。下面给出的是该系统的部分程序:

;*****************RAM定义

BIT_COUNT DATA 07FH

TIMER DATA 07EH

TIMER1 DATA 07DH

TEN DATA 07CH

DATA_IN DATA 020H

DATA_OUT DATA 021H

;**************I/O定义

DAT BIT P0.6 ;ZLG8279A的 DATA,连接AT89C51的P0.6

KEY BIT P0.7 ?; ZLG8279A的KEY,连接AT89C51的P0.7

CS BIT P0.4 ?; ZLG8279A的CS,连接AT89C51的P0.4

CLK BIT P0.5 ?; ZLG8279A的CLK,连接AT89C51的P0.5

ORG 0000H

AJMP START

ORG 0030H

START:MOV SP,#2FH ?;堆栈定义

MOV P1,#11011011B ?;I/O初始化

MOV TIMER,#50 ? ;25ms定时

START_DELAY: MOV TIMER1,#255

START_DELAY1: DJNZ TIMER1,START_DELAY1

DJNZ TIMER,START_DELAY

MOV DATA_OUT,#10100100B ?;复位指令

CALL SEND ;发指令到ZLG8279A

SETB CS ?;恢复CS高电平

MAIN:JB KEY,MAIN ?;是否有键按下

MOV DATA_OUT,#00010101B ? ;有键按下,发读键盘指令

CALL SEND

CALL RECEIVE

SETB CS ? ;CS置高电平

MOV B,#10 ?;16进制到BCD码转换

MOV A,DATA_IN

DIV AB

MOV TEN,A

MOV DATA_OUT,#10100001B ?;左移指令

CALL SEND

MOV DATA_OUT,#10100001B

CALL SEND

MOV DATA_OUT,#10000001B ;下载数据且译码指令

CALL SEND

MOV DATA_OUT,TEN ?;发送十位数字到ZLG8279A

CALL SEND

MOV DATA_OUT,#10000000B ;下载数据且译码指令

CALL SEND

MOV DATA_OUT,B ?;发送个位数字到ZLG8279A;

CALL SEND

SETB CS

WAIT:JNB KEY,WAIT ?;等待按键松开

JMP MAIN

;**** 发送一个字节到ZLG8279A,高位在前

SEND: MOV BIT_COUNT,#8 ?;记数器设定

CLR CS ? ;CS置低电平

CALL LONG_DELAY ;长延时子程序

SEND_LOOP:MOV C,DATA OUT.7 ;输出1位

MOV DAT,C

SETB CLK ?;CLK置高电平

MOV A,DATA_OUT ;待发送数据左移

RL A

MOV DATA_OUT,A

CALL SHORT_DELAY ?; 短延时子程序

CLR CLK ?; CLK置低电平

CALL SHORT_DELAY

DJNZ BIT_COUNT,SEND_LOOP ;8位是否发送完毕

CLR DAT ?;发送完毕,返回

RET

;***接收一个字节到ZLG8279A,高位在前

RECEIVE:MOV BIT_COUNT,#8 ;记数器设定

SETB DAT ?;设定P1.2(DATA)为高电平输入状态

CALL LONG_DELAY ;

RECEIVE_LOOP: SETB CLK ?; CLK置高电平

CALL SHORT_DELAY

MOV A,DATA_IN ?;数据左移

RL A

MOV DATA_IN,A

MOV C,DAT ;读取一位数据

MOV DATA_IN.0,C

CLR CLK

CALL SHORT_DELAY

DJNZ BIT_COUNT,RECEIVE_LOOP ?; 8位是否接收完毕

CLR DAT ; 重设DAT口为低电平(输出状态)

RET

;**************延时子程序

LONG_DELAY: MOV TIMER,#25 ;设定延时时间为50μs

DELAY_LOOP: DJNZ TIMER,DELAY_LOOP

RET

SHORT_DELAY:MOV TIMER,#4 ;设定延时时间为50μs

SHORT_LP: DJNZ TIMER,SHORT_LP

RET

END

6 结束语

ZLG8279A具有的特点和丰富的指令系统,使得由其组成的LED显示和键盘电路具有外围电路简单,功能强大,使用方便,可靠性高,与MCU接口简单等特点,是LED显示和键盘电路的首选器件。笔者利用该芯片制作的“学生提问指示仪”,经使用,效果良好。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭