zlg7289
广州周立功单片机 ZLG7289A 串行接口 LED 数码管及键盘管理器件 说明书

3.2.2 控制指令
ZLG7289A 的控制指令分为二大类 纯指令和带有数据的指令
1. 纯指令
(1) 复位 清除 指令
D7 D6 D5 D4 D3 D2 D1 D0
1
0
1
0
0
1
0
0
当 ZLG7289A 收到该指令后 将所有的显示清除 所有设置的字符消隐 闪烁等属性也被一起清除
D7 D6 D5 D4 D3 D2 D1 D0
00010101
d7
d6
d5
d4
d3
d2
d1
d0
该指令从 ZLG7289A 读出当前的按键代码 与其它指令不同 此命令的前一个字节 0001010B 为单片
机传送到 ZLG7289A 的指令 而后一个字节 d0 d7 则为 ZLG7289A 返回的按键代码 其范围是 0 3FH 无键按下时为 0xFF 各键键盘代码的定义 请参阅 ZLG7289A 的典型应用图 第 7 页 其中图中
26 27 28
/KEY SG-SA DP DIG0-DIG 7 OSC2 OSC1 /RESET
说明 正电源 悬空 接地 片选输入端 此引脚为低电平时 可向芯片发送指令及读取键盘数据 同步时钟输入端 向芯片发送数据及读取键盘数据时 此引脚电平上升沿表示数据 有效 串行数据输入/输出端 当芯片接收指令时 此引脚为输入端 当读取键盘数据时 此引脚在 读 指令最后一个时钟的下降沿变为输出端 按键有效输出端 平时为高电平 当检测到有效按键时 此引脚变为低电平 段 g—段 a 驱动输出 小数点驱动输出 数字 0 数字 7 驱动输出
0
0
7 段显示 0
01H
0
ZLG7289在实际应用中要注意的几点问题

2、复位引脚可以由主控制器直接控制
在工业控制应用中,为了增强抗干扰能力,建议采用独立的稳定直流电源给ZLG7289供电,Vcc与GND之间的电容也要相应加大。另外复位引脚最好由主控制器来控制,每隔几分钟强制复位一次,复位脉冲宽度可以在100ms左右,一闪而过,肉眼很难察觉。定时强制复位可以有效防止偶尔由于电磁干扰而产生的显示不正常和按键失效的现象。
某个按键按下时,ZLG7289的KEY引脚会出现低电平,向主控制器发出中断请求。主控制器既可以采用中断方式处理,也可以采用查询件命名的方式去查询是否有键按下,这将导致SPI总线频繁处于工作状态,不利于抗干扰。
5、降低晶振频率
在ZLG7289数据手册里的典型应用电路图当中,晶振用的是16MHz。但是在电磁环境恶劣的现场,还是应该把晶振频率降下来为妙。降到多少合适呢?这里推荐值为1~4MHz。晶振频率降低后,SPI总线的通信速率也要适当降低。
3、驱动1英寸以上的大数码管时,要另外加驱动电路
ZLG7289的驱动能力毕竟是有限的,如果直接驱动1英寸以上的大数码管则可能会出现亮度不够的现象。这时可以适当减小限流电阻(最低200Ω)以增加亮度。如果亮度仍然不够,就必须另外添加驱动芯片。
4、键盘的使用注意事项
如果用了键盘,哪怕只有一个按键,则R1~R8统统不能省略。但如果某一列键盘未使用,则相应的10KΩ电阻可以省略。
1、ZLG7289要跟着控制面板走
在实际应用中,仪器仪表的控制面板和主机板往往是分离的,它们之间有几十厘米的距离,要用长长的排线相连。键盘和数码管一般都位于控制面板上,主控制器则在主机板上。在设计时千万注意:ZLG7289一定要跟着控制面板走,而不要放在主机板上。ZLG7289驱动数码管显示采用的是动态扫描法,为了防止闪烁,采用了比较高的扫描频率;扫描键盘同样用的也是频率较高的信号。如果ZLG7289放在主机板上,这些扫描信号势必要走长线,而高频信号最忌讳走长线了,这容易导致显示混乱、按键失灵等故障。如果ZLG7289放在控制面板上,由于走的是短线,就不易出现上述问题了。不必担心ZLG7289与主控制器之间通信的SPI总线会有问题。因为SPI总线的通信速率是由主控制器控制的,可以做得低一些,所以允许走长线。SPI连线少而且可靠。
一种基于ZLG7289A的人机接口设计

A b tac : e i to ucin tk ZI 28 a te c r e b a d n he d mo ta in ma — c n o n cin, te s r t Th nr d to a e G7 9 s h oe k y o r a d t e nsr to n ma hie c n e t o h c n e to s st e s ra d nd te mo o i c it gae ic tAT8 52 c mmunc to , r d c d t o n c in o n ci n u e h ei lmo e a h n lt n e r td c rui hi 9C o ia in e u e hec n e to c n e to n h rp e a icut t e p a t a p lc t n i h o e e c s rla l . o n ci n a d te pei h r lcr i, h r ci la p iai s te c nv nin e i eib e c o Ke y wor : ds ZLG72 9; c n c in s ra 8 o ne to ; e il
连 接 接 口和外 围 电路 , 际应 J 方 便 可 靠 。 实 【 = } j
关 键 词 :L 7 8 ; 口 ; Z G29接 串行
中 图 分类 号 :P 9 T 39
文 献标 识码 : A
文章 编 号 :6 1 7 8 (0 9 0 04 0 17 — 80 20 ) 6— 0 6— 3
在 智能仪 器 、 仪表 、 控设 备 及 家用 电器 中 , 工 人机交 互 的键 盘 、 显示 接 口电路作 为 面 向用 户 的
基于ZLG7289B的键盘和LED显示/指示设计

ZHAI a f n . F —a g Y AN i fn Q u—e g,ZHANG a - e g Tin p n
( p r n f lcr n c n o main a d E e ti l n ie r gA y n s t t o e h o o y n a g4 5 0 ) De a t me t e t i f r t n lcr a E g n ei n a gI t u e f c n lg y n 5 0 0 oE o I o c n n i T A Ab ta tKe b a d a d LED ipa /n iai n cr uti t e i o tn a to n el e te u p n . a e u e n sr c : y o r n ds ly id c to i i s h mp ra tp r fi tlg n q i me tI c n b sd i c i t
p r m ee s t n n d t ip a i g o e u t n ia ig. i a e ito u e ir c n r l r it ra e ic i a a tr e t g a d ae d s lyn r r s l i idc t n Ths p p r n r d c s a m c o o tol ne fc cr u t e
I 2C接口ZLG7289在数控信号源中的应用

摘 要 : 了解决由于人机界 面中的键盘 、 示器等慢 速外设 占用系统资源 太多, 而造 成处理速度 下降 、 为 显 从 系统 可靠性
降 低 的 问题 , 绍 一 种具 有 Ic接 口的 智 能 控 制 芯 片 Z G 29 并 给 出 以 A 9 5 介 L 78 , T8C 2为 核 心 、 L 2 9为 人 机 界 面 的 数 控 信 Z G78
数控信 号 源除 了要 求 可实 现 正 弦波 、 波 、 齿 波 方 锯 等 常规波 形 的输 出外 , 要 求 能输 出频 率可 调 、 还 幅度 可
机 系统资 源 。其 技术特 点 为 :
( )串接 口, U 接 口方 便 ; 1 MC
( )无需 外 围元 件就 可直接 驱动 L D; 2 E
c d o eo te n S f e in o e n tb mi d i o td sg . t
Key wor s: d num e ia on r lsg ls ur e; rc lc t o i na o c ZLG 7 89;nt ra e; T89 1; 2 i efc A C5 DDS
t e k y o r n ip a e c u yn o n e o r e . ed sg a o rt u h a i l ic i ,o p we o — h e b a d a d d s l y r o c p i g t o ma y r s u c s Th e i n h ss me me iss c s smp e c r u t l w o r c n s mp in, n h t t t t ip a h p d e n tn e t e o c p t n tme t U e u e e a s ft e d s ly a d d — u t o a d t e s a i s a ed s ly c i o s e d,h c u a i i o CP i r d c d b c u e o h ip a n e c o s
zlg7289程序

//右移指令 #define ZLG7289_SHR()
ZLG7289_cmd(0xA0)
//循环左移指令 #define ZLG7289_ROL()
ZLG7289_cmd(0xA3)
//循环右移指令 #define ZLG7289_ROR()
ZLG7289_cmd(0xA2)
/* 功能:下载数据 参数:
程序名称:
数码管显示与键盘管理芯片ZLG7289的标准80C51驱动程序(C51)
文件名:
ZLG7289.h
说明:
本程序已经调试通过 程序的可移植性很好,仅做少量修改就可以直接包含使用 程序占用资源少,仅使用4根必须I/O口线,不占用定时器等其它资源 所有全局性的标识符都以ZLG7289_开头,不必担心命名冲突问题 程序结构清晰,思路明确,结合ZLG7289的数据手册很容易理解
ZLG7289_Delay(6); } while ( --t ); }
/* 功能:通过SPI总线读一个字节 */ static char ZLG7289_SPI_Read() reentrant {
char dat; unsigned char t; ZLG7289_pinDIO = 1; t = 8; do {
_nop_(); }while ( --t ); }
/* 功能:通过SPI总线写一个字节 参数:
dat:要发送的数据 */ static void ZLG7289_SPI_Write(char dat) reentrant {
unsigned char t; t = 8; do {
ZLG7289_pinDIO = (bit)(dat & 0x80); dat <<= 1; ZLG7289_pinCLK = 1; ZLG7289_Delay(8); ZLG7289_pinCLK = 0;
基于键盘与数码管控制芯片zlg7289A人机接口电路的设计及应用
TA G L — ig、 u Mi , I i— ig. I G G n C AN e —kn ̄ N i r n w u n L U Te bⅡ 1 L N ag, H G B n ag
( . n rl s i l fNa j g Mi tr go 、Na n in s 10 2 hn ; nigUnv ri f CIa d 1 Ge ea Ho pt ni l ayRe in ao n i nigJa g u2 0 0 ,C ia 2 Na n ie st o n J J y S TEC H,Na jn in s 10 4 C ia n igJa g u2 0 9 、 h n )
12 z 7 8A 与数 码 管及键 盘 的连接 . l 29 g 图 1为 zg 2 9 的应 用 电路 ,增 加 相应 的下拉 l7 8A 电阻 和位选 电 阻 即可扩 展 为用 以控 制 6 键 键 盘矩 阵 4 的典型应 用 。zg 2 9 应 连接共 阴式 数码管 , 用 中 l7 8A 应
要 】本 文主要介绍 了以串行接 口的 8位 L ED数码管及 6 4键键盘控制芯片 zg 2 9 为核心 的人 机接 口电路的设 计方 l7 8A
法, 详细 阐述 了 zg 2 9 的工作原理与使用原别 , l7 8 A 最后给 出它在新型仪器精 密神经 阈值刺激仪 中的应 用实例。 178 A z9 2 9
无 需用 到 的数 码管 和键 盘 可以不 连接 , 省去数 码 管 和 同时驱动 8 位共 阴式数码管( 6 只独立 L D) 对 数码 管设 置消 隐属性 均 不会影 响键 盘 的使用 。使用 或 4 E 的智 能显示驱动芯片,以它为核心设计的键盘 、 显示电路 按 键 电 路 中 须 有 相 应 的 下 拉 电 阻 如 R5 阻 值 为 ,
ZLG7289Bkey使用实例
ZLG7289键盘矩阵使用示例一、使用ZLG7289时容易出现的问题和注意事项1、数码管出现闪烁现象正常工作的ZLG7289驱动数码管显示应处于一个很稳定的状态,数码管被点亮后不会出现闪烁和跳动的现象。
出现闪烁的很大原因是在选定ZLG7289(即将片选信号/CS置为低电平)后长时间没有释放,导致7289中断扫描的时间太长,从而肉眼看到数码管出现闪烁和不稳定的现象;正确的使用方法是在CS置为低电平后减少不必要的延时,使ZLG7289被中断扫描的时间降到最低而不至于影响显示。
2、扫描按键返回值为0向ZLG7289写入0x15指令会读出当前的按键代码,其范围是0~3F,在没有键按下的情况下返回0xFF。
如果在使用过程中无论按键按下与否都返回0,则很可能是在写完命令或数据后对DIO做了写入0的操作,导致ZLG7289在按键按下后总是读出0。
3、两个键同时按下如果在本套实验板上有两个以上的键同时按下,ZLG7289将只能给出其中的一个键的代码;4、没有键按下的情况下检测到KEY端为低电平根据ZLG7289的数据手册可知,KEY端口在通常情况下为高电平,只有在有键按下的情况下才跳变为低电平。
若没有键按下KEY却为低电平,这种错误很可能是键盘电路的下拉电阻没有按要求接好。
如果不使用键盘,下拉电阻和数码管的位选电阻都可以省略;如果使用了键盘,下拉电阻、位选电阻和串入DP及SA-SG连线的8只电阻均不能省略;5、上电后ZLG7289不工作,数码管和按键都无反应检查此类错误情况需要从两方面入手:硬件上,检查电源供电是否正常、晶振是否起振、电路接线是否良好可靠;软件上,检查程序上触发ZLG7289的时序是否正确,片选是否选通、程序中是否有必要的延时。
二、ZLG7289典型应用图如图1所示为ZLG7289的测试实验板(Demo板),ZLG7289连接共阴极数码管。
图1 ZLG7289的典型应用图用户在设计ZLG7289的电路时,可参照图1做如下改进:1) 在电源处接一电阻串联一个发光二极管,电阻的取值为1K左右,当上电后二极管被点亮说明电源部分正常工作,否则电源供电失败,方便检查电源是否正常供电。
万年历数字钟及可调时钟系统
万年历数字钟及可调时钟系统一、引言万年历数字钟是一种用万年历时钟芯片实现年、月、日、时、分、秒计时,并通过单片机处理后送给显示芯片显示的装置,与机械式时钟相比具有更高的准确性和直观性,且具有更长的使用寿命。
本系统还可以扩展为可调的自动开关,对家电对用电设备进行控制,笔者在随后改制成为可调时的自动断电的供电系统.二、原理图设计1.单片机及其外围电路设计复位采用X25045芯片,复位电路如图1所示。
图1 复位电路设计单片机采用贴片封装的AT89S51,晶振为11.0592MHz。
其中P1.5~P1.7为下载程序使用,电路如图2所示。
图2 单片机89S51外围电路设计2.时钟芯片电路设计时钟芯片采用PCF8563,晶振采用32.768K,电容使用15pf。
PCF8563 是PHILIPS 公司推出的一款工业级内含I2C 总线接口功能的具有极低功耗的多功能时钟/日历芯片。
内部时钟电路、内部振荡电路、内部低电压检测电路(1.0V)以及两线制I2C 总线通讯方式,不但使外围电路及其简洁,而且也增加了芯片的可靠性。
同时每次读写数据后,内嵌的字地址寄存器会自动产生增量。
电路如图3所示。
图3 时钟芯片电路设计3.显示芯片电路设计显示芯片采用ZLG7289,晶振为12MHz。
ZLG7289A 是广州周立功单片机发展有限公司自行设计的,具有SPI 串行接口功能的可同时驱动8 位共阴式数码管(或64 只独立LED )的智能显示驱动芯片,该芯片同时还可连接多达64 键的键盘矩阵,单片即可完成LED 显示﹑键盘接口的全部功能。
电路如图4所示。
图4 显示芯片电路设计4.双电源电路设计系统采用双电源,平时使用V1=10V的外接电源,停电时使用电池,由V2输入。
电池有6节,其电压为9V。
当电池电压低于6V时,LED亮,说明电池电量不足。
电路如图5所示。
图5 双电源电路设计三、程序设计程序开始时先对系统初始化,并设置好各种中断。
下步操作主要是对时钟芯片进行操作,首先要给时钟芯片设置初值,时钟芯片便自行计数。
ZLG7289B应用指南
目录第1章概述 (1)1.1 ZLG7289B的主要特性 (1)1.2 描述 (1)1.3 引脚图 (1)第2章引脚功能说明 (2)第3章典型应用电路图 (3)3.1 电路原理图 (3)3.2 电路简析 (3)第4章SPI串行接口 (4)4.1 SPI串行接口信号 (4)4.2 SPI总线时序图 (4)4.3 时序图中的各项延迟时间 (4)第5章控制指令详解 (6)5.1 单字节纯指令 (6)5.1.1 复位(清除)指令 (6)5.1.2 测试指令 (6)5.1.3 左移指令 (6)5.1.4 右移指令 (6)5.1.5 循环左移指令 (6)5.1.6 循环右移指令 (7)5.2 双字节带数据指令 (7)5.2.1 下载数据并且按方式0进行译码 (7)5.2.2 下载数据并且按方式1进行译码 (7)5.2.3 下载数据但不译码 (8)5.2.4 闪烁控制 (8)5.2.5 消隐控制 (8)5.2.6 段点亮指令 (9)5.2.7 段关闭指令 (9)5.2.8 读键盘数据指令 (9)第6章实际应用中要注意的若干问题 (10)6.1 ZLG7289B要跟着控制面板走 (10)6.2 复位引脚可以由主控制器直接控制 (10)6.3 驱动1英寸以上的大数码管时,要另外加驱动电路 (10)6.4 键盘的使用注意事项 (10)6.5 降低晶振频率 (11)第7章特殊应用 (12)7.1 只使用键盘 (12)7.2 只使用数码管 (12)7.3 驱动大型数码管的方法 (13)第8章C51驱动程序软件包 (16)8.1 软件包说明 (16)8.2 头文件的程序清单 (16)8.3 C语言文件的程序清单 (18)第9章C51演示程序 (24)9.1 演示程序说明 (24)9.2 演示程序1 (24)9.3 演示程序2 (28)第10章参考文献 (34)第1章 概述1.1 ZLG7289B的主要特性很宽的工作电压范围:+2.7~6V;直接驱动8位共阴式数码管(1英寸以下)或64只独立的LED;能够管理多达64只按键,自动消除抖动;段电流可达15mA以上,字电流可达100mA;利用功率电路可以方便地驱动1英寸以上的大型数码管;具有左移、右移、闪烁、消隐、段点亮等强大功能;要显示的数据提供有两种不同的译码方式(也可以选择不译码);不接数码管而仅使用键盘管理功能时,工作电流可降至3mA;与微控制器之间采用SPI串行总线接口,操作方便,占用I/O资源少;工作温度范围:-40~+85℃;封装:SOP-28,DIP-28。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序名称:数码管显示与键盘管理芯片ZLG7289的标准80C51驱动程序(C51)文件名:ZLG7289.h作者:广州周立功单片机发展有限公司王大星,2005年6月说明:本程序已经调试通过程序的可移植性很好,仅做少量修改就可以直接包含使用程序占用资源少,仅使用4根必须I/O口线,不占用定时器等其它资源所有全局性的标识符都以ZLG7289_开头,不必担心命名冲突问题程序结构清晰,思路明确,结合ZLG7289的数据手册很容易理解用法:1、重新定义I/O接口2、如果CPU的主频比较高,则要适当调整延时,详见ZLG7289_Delay()函数3、在用户程序中包含本头文件4、在main()函数的开始处添加初始化函数ZLG7289_Init()5、以后在程序中可以直接使用ZLG7289的用户指令集6、读取键盘扫描码使用函数ZLG7289_Key(),查询方式、中断方式皆可用户指令集汇总:复位指令:void ZLG7289_Reset();测试指令:void ZLG7289_Test();左移指令:void ZLG7289_SHL();右移指令:void ZLG7289_SHR();循环左移:void ZLG7289_ROL();循环右移:void ZLG7289_ROR();下载数据:void ZLG7289_Download(char mod,char addr,bit dp,char dat);闪烁控制:void ZLG7289_Flash(char dat);消隐控制:void ZLG7289_Hide(char dat);段点亮控制:void ZLG7289_SegOn(char dat);段关闭控制:void ZLG7289_SegOff(char dat);读键盘数据指令:char ZLG7289_Key();*/#ifndef _ZLG7289_H_#define _ZLG7289_H_#include#include//定义I/O接口sbit ZLG7289_pinCS = P1^0; //片选信号,低电平有效sbit ZLG7289_pinCLK = P1^1; //时钟信号:上升沿有效sbit ZLG7289_pinDIO = P1^2; //数据信号:双向sbit ZLG7289_pinKEY = P3^2; //键盘中断请求信号,低电平有效/*功能:专用的延时函数,延时几微秒到几百微秒参数:t:决定延时长短说明:本程序在12MHz主频的标准80C51上调试通过。
如果实际的CPU速度较快,则要适当增加_nop_()语句的个数; */static void ZLG7289_Delay(unsigned char t) reentrant{do{_nop_();}while ( --t );}/*功能:通过SPI总线写一个字节参数:dat:要发送的数据*/static void ZLG7289_SPI_Write(char dat) reentrant{unsigned char t;t = 8;do{ZLG7289_pinDIO = (bit)(dat & 0x80);dat <<= 1;ZLG7289_pinCLK = 1;ZLG7289_Delay(8);ZLG7289_pinCLK = 0;ZLG7289_Delay(6);} while ( --t );}/*功能:通过SPI总线读一个字节*/static char ZLG7289_SPI_Read() reentrant{char dat;unsigned char t;ZLG7289_pinDIO = 1;t = 8;do{ZLG7289_pinCLK = 1;ZLG7289_Delay(8);dat <<= 1;if ( ZLG7289_pinDIO ) dat++;ZLG7289_pinCLK = 0;ZLG7289_Delay(7);} while ( --t );return dat;}/*功能:执行ZLG7289纯指令参数:cmd:命令字*/static void ZLG7289_cmd(char cmd){ZLG7289_pinCS = 0;ZLG7289_Delay(50);ZLG7289_SPI_Write(cmd);ZLG7289_pinCS = 1;ZLG7289_Delay(10);}/*功能:执行ZLG7289带数据指令参数:cmd:命令字dat:数据*/static void ZLG7289_cmd_dat(char cmd, char dat) {ZLG7289_pinCS = 0;ZLG7289_Delay(50);ZLG7289_SPI_Write(cmd);ZLG7289_Delay(25);ZLG7289_SPI_Write(dat);ZLG7289_pinCS = 1;ZLG7289_Delay(10);}//以下定义ZLG7289的用户指令集//复位(清除)指令#define ZLG7289_Reset() ZLG7289_cmd(0xA4)//测试指令#define ZLG7289_Test() ZLG7289_cmd(0xBF)//左移指令#define ZLG7289_SHL() ZLG7289_cmd(0xA1)//右移指令#define ZLG7289_SHR() ZLG7289_cmd(0xA0)//循环左移指令#define ZLG7289_ROL() ZLG7289_cmd(0xA3)//循环右移指令#define ZLG7289_ROR() ZLG7289_cmd(0xA2)/*功能:下载数据参数:mod=0:下载数据且按方式0译码mod=1:下载数据且按方式1译码mod=2:下载数据但不译码addr:数码管地址位,取值0~7dp=0:小数点不亮dp=1:小数点亮dat:要显示的数据,取值0~15,详见数据手册*/extern void ZLG7289_Download(char mod, char addr, bit dp, char dat) {code char ModDat[3] = {0x80,0xC8,0x90};char d1;char d2;if ( ( mod < 0 ) || ( mod > 2 ) ) mod = 2;d1 = ModDat[mod];addr &= 0x07;d1 |= addr;d2 = dat & 0x7F;if ( dp ) d2 |= 0x80;ZLG7289_cmd_dat(d1,d2);}//闪烁控制#define ZLG7289_Flash(dat) ZLG7289_cmd_dat(0x88,dat)//消隐控制#define ZLG7289_Hide(dat) Z LG7289_cmd_dat(0x98,dat)//段点亮指令#define ZLG7289_SegOn(dat) ZLG7289_cmd_dat(0xE0,dat)//段关闭指令#define ZLG7289_SegOff(dat) ZLG7289_cmd_dat(0xC0,dat)/*功能:执行ZLG7289键盘命令返回值:返回读到的按键值说明:本函数已经被定义成再入属性,因此在中断服务程序里也可以调用当有键按下时,ZLG7289的KEY引脚将出现低电平,向主机提出中断申请主机采用查询方式或中断方式去处理都是可以的应当在KEY引脚出现低电平时立即用本函数去读取键值读取键值后,KEY引脚不会自动恢复为高电平,一定要等到按键抬起为止如果没有及时读取按键值,当按键抬起时,KEY引脚也将恢复高电平在ZLG7289的KEY引脚处于高电平期间,试图去读取键值将得不到有意义的数据如果采用中断方式,建议选择负边沿触发模式*/extern char ZLG7289_Key() reentrant{char key;ZLG7289_pinCS = 0;ZLG7289_Delay(50);ZLG7289_SPI_Write(0x15);ZLG7289_Delay(25);key = ZLG7289_SPI_Read();ZLG7289_pinCS = 1;ZLG7289_Delay(10);return key;}/*功能:ZLG7289初始化*/extern void ZLG7289_Init(){unsigned char addr;//I/O口初始化ZLG7289_pinCS = 1;ZLG7289_pinCLK = 0;ZLG7289_pinDIO = 1;ZLG7289_pinKEY = 1;//点亮所有数码管for ( addr=0; addr<8; addr++ ){ZLG7289_Download(1,addr,1,8);}}#endif //_ZLG7289_H_。