湖北师范学院物理系,高美珍
1 引言
I2C总线接口的显示及键盘管理器件ZLG7290广泛应用于智能仪表的接口设计当中,在具体应用过程中,它接收所要显示的数据并将其显示在LED显示器上,动态地扫描管理着显示过程,该器件本身只需2根线就可与单片机实现接口,硬件连接简便,软件编程容易。尤其用在单片机担负繁忙数据处理任务的系统中,可节省单片机用于显示扫描的时间,更显出其优越性。
2 ZLG7290的特点及工作原理
2.1 ZLG7290的特点
如图1所示,ZLG7290是一种多位LED显示及键盘管理器件,采用流行的I2C总线接口,可与各种带I2C总线的单片机方便接口,并可同时驱动8位LED。其内部具有15×8 RAM的功能控制寄存器,可方便寻址。对每位数字可单独控制、刷新。显示亮度可数字控制,每位都具有闪烁使能控制功能。无需任何外部元件便可多路复用自动扫描。
ZLG7290的特点有:采用I2C串行接口;提供键盘中断信号,方便与处理器接口;可驱动8位共阴数码管或64只独立的LED和64个按键:可控制扫描位数,可控制任意数码管的闪烁:提供数据译码和循环移位段寻址等控制;8个功能键均可检测任意键的连击次数;无需外接元件即直接驱动LED,可扩展驱动电流和驱动电压。
2.2 ZLG7290的工作原理
2.2.1键盘的管理与控制
ZLG7290可采样64个按键或传感器,可检测每个按键的连击次数,并具有如下功能:键盘去抖动处理;双键互锁处理,即当有两个以上按键被同时按下时,ZLG7290只采样优先级高的按键:连击按键处理,即当某个按键按下输出一次键值后。如果该按键还未释放,该键值连续有效,就像连续压按该键一样,这种功能称为连击。连击次数计数器RepeatCnt可区别出单击(某些功能不允许连击如开关)或连击,判断连击次数,可以检测被按下时间。以防止某些功能的误操作。
2.2.2显示的管理与控制
在每个显示刷新周期,ZLG7290按照扫描位数寄存器(ScanNum)指定的显示位数N,把显示缓存DpRam0-DpRamN的内容按先后顺序送入LED驱动器以实现动态显示,减小N值可提高每位显示扫描时间的占空比,以增强LED亮度,显示缓存中的内容不受影响。修改闪烁控制寄存器(FlashOnOff)可改变闪烁频率和占空比亮、灭的时间。
ZLG7290有两种控制方式,即寄存器映像控制和命令解释控制。如上述对显示部分的控制,寄存器映像控制是指直接访问底层寄存器,实现基本控制功能,这些寄存器须字节操作。命令解释控制是通过解释命令缓冲区CmdBuf0-CmdBuf1中的指令间接访问底层寄存器,实现扩展控制功能,如对寄存器的位操作。
2.2.3内部寄存器的定义
ZLG7290内部可通过I2C总线访问的寄存器地址范围为00H-17H,任意寄存器都可按字节直接读写,也可以通过命令接口间接读写或按位读写。ZLG7290的控制和状态查询均通过读/写寄存器实现,用户只需像读写24C02内的单元一样操作即可实现对ZLG7290的控制。
(1)系统寄存器(SystemReg):地址00H,复位值11110000B,系统寄存器可以保存ZLG7290系统状态并可对系统运行状态进行配置。
(2)键值寄存器(Key):地址01H,复位值00H,Key表示被按下键的键值,当Key=0时表示没有键被按下。
(3)连击次数计数器(RepeatCnt):地址02H。复位值00H,RepeatCnt=0时表示单击键,RepeatCnt大于0时表示键的连击次数,用于区别出单击键或连击键,判断连击次数可以检测被按下时间。
(4)闪烁控制寄存器(FlashOnOff):地址0CH,复位值0111B/0111B,高4位表示闪烁时"亮"的时间,低4位表示闪烁时"灭"的时间,改变其值同时改变了闪烁频率,也能改变"亮"和灭"的占空比。FlashOnOff的1个单位相当于150 ms~250ms("亮"和"灭"的时间范围为1-160000B相当1个单位时间),所有像素的闪烁频率和占空比相同。