首页 |  设为首页 | 添加到收藏夹 | 繁體中文                                       登录 | 免费注册 | 会员助手 | 讨论群 | 帮助 | 意见建议
 
首页 - 供应信息 - 求购信息 - 公司库 - 产品 - 展会  
资讯动态 - 技术应用 - 名片库 - 报价 - 论坛  
您当前的位置:EASTLED资讯动态LED显示 → 正文
会员名: 密码:
搜搜看 高级搜索 会员中心 关键字竞价
热门关键字:
信息动态 |  LED照明 |  LED显示 |  LED技术 |  营销文摘 |  法律法规 |  国内新闻 |  国际新闻
串行接口LED数码管及键盘管理器件的应用
国外电子元器件 熊为霞 谭文若 发布时间:2007-05-25 18:33
摘要:介绍了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所列。

表1ZLG7289A引脚功能说明

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

3 控制指令说明

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

3.1纯指令

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

D7D6D5D4D3D2D1D0
10100100

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

3.2带有数据的指令

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

该指令的格式如下:

D7D6D5D4D3D2D1D0
10000a2a1a0
D7D6D5D4D3D2D1D0
DPXXXd3d2d0d1

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

表2位地址分配表

a2a1a0显示位
0001
0012
0103
0114
1005
1016
1107
1118

表3译码方式表

d0~d3d3d2d1d07段显示
00H00000
01H00111
02H00002
03H00113
04H01004
05H01015
06H01106
07H01117
08H10008
09H10019
0AH1010-
0BH1011E
0CH1100H
0DH1101L
0EH1110P
0FH1111空无显示

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

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

D7D6D5D4D3D2D1D0
11001a2a1a0
D7D6D5D4D3D2D1D0
DPXXXd3d2d0d1

(3)读键盘数据指令

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

D7D6D5D4D3D2D1D0
00010101
D7D6D5D4D3D2D1D0
d7d6d5d4d3d2d0d1

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

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

(4)其它指令

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

4 典型应用

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

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

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

5 应用实例

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

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

BIT_COUNTDATA07FH

TIMERDATA07EH

TIMER1DATA07DH

TENDATA07CH

DATA_INDATA020H

DATA_OUTDATA021H

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

DATBITP0.6;ZLG8279A的DATA,连接AT89C51的P0.6

KEYBITP0.7;ZLG8279A的KEY,连接AT89C51的P0.7

CSBITP0.4;ZLG8279A的CS,连接AT89C51的P0.4

CLKBITP0.5;ZLG8279A的CLK,连接AT89C51的P0.5

ORG0000H

AJMPSTART

ORG0030H

START:MOVSP,#2FH;堆栈定义

MOVP1,#11011011B;I/O初始化

MOVTIMER,#50;25ms定时

START_DELAY:MOVTIMER1,#255

START_DELAY1:DJNZTIMER1,START_DELAY1

DJNZTIMER,START_DELAY

MOVDATA_OUT,#10100100B;复位指令

CALLSEND;发指令到ZLG8279A

SETBCS;恢复CS高电平

MAIN:JBKEY,MAIN;是否有键按下

MOVDATA_OUT,#00010101B;有键按下,发读键盘指令

CALLSEND

CALLRECEIVE

SETBCS;CS置高电平

MOVB,#10;16进制到BCD码转换

MOVA,DATA_IN

DIVAB

MOVTEN,A

MOVDATA_OUT,#10100001B;左移指令

CALLSEND

MOVDATA_OUT,#10100001B

CALLSEND

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

CALLSEND

MOVDATA_OUT,TEN;发送十位数字到ZLG8279A

CALLSEND

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

CALLSEND

MOVDATA_OUT,B;发送个位数字到ZLG8279A;

CALLSEND

SETBCS

WAIT:JNBKEY,WAIT;等待按键松开

JMPMAIN

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

SEND:MOVBIT_COUNT,#8;记数器设定

CLRCS;CS置低电平

CALLLONG_DELAY;长延时子程序

SEND_LOOP:MOVC,DATAOUT.7;输出1位

MOVDAT,C

SETBCLK;CLK置高电平

MOVA,DATA_OUT;待发送数据左移

RLA

MOVDATA_OUT,A

CALLSHORT_DELAY;短延时子程序

CLRCLK;CLK置低电平

CALLSHORT_DELAY

DJNZBIT_COUNT,SEND_LOOP;8位是否发送完毕

CLRDAT;发送完毕,返回

RET

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

RECEIVE:MOVBIT_COUNT,#8;记数器设定

SETBDAT;设定P1.2(DATA)为高电平输入状态

CALLLONG_DELAY;

RECEIVE_LOOP:SETBCLK;CLK置高电平

CALLSHORT_DELAY

MOVA,DATA_IN;数据左移

RLA

MOVDATA_IN,A

MOVC,DAT;读取一位数据

MOVDATA_IN.0,C

CLRCLK

CALLSHORT_DELAY

DJNZBIT_COUNT,RECEIVE_LOOP;8位是否接收完毕

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

RET

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

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

DELAY_LOOP:DJNZTIMER,DELAY_LOOP

RET

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

SHORT_LP:DJNZTIMER,SHORT_LP

RET

END

6 结束语

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



其它资讯
Google
推荐名片                    更多>>
  • 刘煌忠 先生 (经理) 主营:LED胶水,环氧树脂胶
  • 胡佳 先生 (经理) 主营:LED显示屏/研发/生
  • 苟家国 先生 (销售) 主营:开关电源
  • 周志勇 先生 (销售助理) 主营:电脑周边产品
  • 张华 先生 (业务) 主营:绝缘漆
  • 晏美俊 女士 (销售代表) 主营:金属软管,金属
  • 周凯 先生 (业务员) 主营:LED电子显示屏系
  • 李玩娇 女士 (采购) 主营:LED发光二极管
  • 刘小姐 女士 (经理) 主营:卷帘门,电动门,电动
  • 张生 先生 (销售) 主营:sst
 
关于网站 - 服务条款 - 法律声明 - 广告服务 - 联系我们 - 友情链接 - 站点地图 - 意见建议 - 网页报错
Copyright © 2007-2008  WWW.EASTLED.COM  All rights reserved.  东方LED网 版权所有
联系QQ:529588588  QQ群:23805607  33196596  21918509  34528096  21176474  更多请点击
中国互联网信息产业部ICP备案号:苏ICP备08005706号  更新时间:08月29日 10时35分