广州周立功单片机发展有限公司Tel:(020)38730916387309173873097638730977Fax:38730925-1-ZLG7290I2C接口键盘及LED驱动器一特点1I2C串行接口提供键盘中断信号方便与处理器接口2可驱动8位共阴数码管或64只独立LED和64个按键3可控扫描位数可控任一数码管闪烁4提供数据译码和循环移位段寻址等控制58个功能键可检测任一键的连击次数6无需外接元件即直接驱LED可扩展驱动电流和驱动电压7提供工业级器件多种封装形式PDIP24SO24二引脚及说明采用24引脚封装引脚图如图1所示其引脚功能分述如下Dig33Dig24Dig15Dig06SCL19SDA20Dig521Dig422GND11Dig612Dig713OSC117SegF8SegG9SegH10VCC16/RES15OSC218SegC1SegD2SegE7SegB24SegA23/INT14ZLG7290图1引脚图三功能描述1键盘部分ZLG7290可采样64个按键或传感器可检测每个按键的连击次数其基本功能如下1键盘去抖动处理当键被按下和放开时可能会出现电平状态反复变化称作键盘抖动若不作处理会引起按键盘命令错误所以要进行去抖动处理以读取稳定的键盘状态为准2双键互锁处理当有两个以上按键被同时按下时ZLG7290只采样优先级高的按键优先顺序为S1S2…S64如同时按下S2和S18时采样到S23连击键处理当某个按键按下时输出一次键值后如果该按键还未释放该键值连续有效就像连续压按该键一样这种功能称为连击连击次数计数器RepeatCnt可区别出单击某些功能不允许连击如开关或连击判断连击次数可以检测被按时间以防止某些功能误操作如连续按5秒经入参数设置状态4功能键处理功能键能实现2个以上按键同时按下来扩展按键数目或实现特殊功能如PC机上的ShiftCtrlAlt键典型应用图中的S57~S64为功能键广州周立功单片机发展有限公司Tel:(020)38730916387309173873097638730977Fax:38730925-2-DpRam0~7FlashOnOffScanNumSystemRegFastPressCntCmdBuf0~2系统状态显示键盘命令接口01H02H03H10H~17H04HIIC地址VCCGNDSCLSDA/INT命令解释:译码,移位...Key(KeyUp)RepeatCntFunctionKey0CH0DH8800H通信接口电源07H~08H键盘扫描LED驱动SegADig7Dig0......SegH......功能框图功能框图功能框图功能框图图2系统功能框图即寄存器映象图2显示部分在每个显示刷新周期ZLG7290按照扫描位数寄存器ScanNum指定的显示位数N把显示缓存DpRam0DpRamN的内容按先后循序送入LED驱动器实现动态显示减少N值可提高每位显示扫描时间的占空比以提高LED亮度显示缓存中的内容不受影响修改闪烁控制寄存器FlashOnOff可改变闪烁频率和占空比亮和灭的时间ZLG7290提供两种控制方式寄存器映象控制和命令解释控制如上述对显示部分的控制寄存器映象控制是指直接访问底层寄存器实现基本控制功能这些寄存器须字节操作命令解释控制是指通过解释命令缓冲区CmdBuf0CmdBuf1中的指令间接访问底层寄存器实现扩展控制功能如实现寄存器的位操作对显示缓存循环移位对操作数译码等操作请参考指令详解部分四寄存器详解系统状态部分1.系统寄存器SystemReg地址00H复位值11110000B系统寄存器保存ZLG7290系统状态并可对系统运行状态进行配置其功能分位描述如下•KeyAviSystemReg.0置1时表示有效的按键动作普通键的单击连击和功能键状态变化/INT引脚信号有效变为低电平清0表示无按键动作/INT引脚信号无效变为高阻态有效的按键动作消失后或读Key后KeyAvi位自动清0键盘部分2.键值寄存器Key地址01H复位值00HKey表示被压按键的键值当Key=0时表示没有键被压按3.连击次数计数器RepeatCnt地址02H复位值00HRepeatCnt=0时表示单击键RepeatCnt大于0时表示键的连击次数用于区别出单击键或连击键判断连击次数可以检测被按时间广州周立功单片机发展有限公司Tel:(020)38730916387309173873097638730977Fax:38730925-3-4.功能键寄存器FunctionKey地址03H复位值0FFHFunctionKey对应位的值=0表示对应功能键被压按FunctionKey.7FunctionKey.0对应S64S57命令接口部分5.命令缓冲区CmdBuf0CmdBuf1地址07H08H复位值00H00H用于传输指令显示部分6.闪烁控制寄存器FlashOnOff地址0CH复位值0111B/0111B高4位表示闪烁时亮的时间低4位表示闪烁时灭的时间改变其值同时也改变了闪烁频率也能改变亮和灭的占空比FlashOnOff的1个单位相当于150250ms亮和灭的时间范围为1160000B相当1个时间单位所有象素的闪烁频率和占空比相同7.扫描位数寄存器ScanNum地址0DH复位值7用于控制最大的扫描显示位数有效范围为07对应的显示位数为18减少扫描位数可提高每位显示扫描时间的占空比以提高LED亮度不扫描显示的显示缓存寄存器则保持不变如ScanNum3时只显示DpRam0DpRam3的内容8.显示缓存寄存器DpRam0DpRam7地址10H17H复位值00H00H缓存中一位置1表示该像素亮DpRam7DpRam0的显示内容对应Dig7Dig0引脚五通信接口ZLG7290的I2C接口传输速率可达32kbit/s容易与处理器接口并提供键盘中断信号提高主处理器时间效率ZLG7290的从地址slaveaddress为70H(01110000B)有效的按键动作普通键的单击连击和功能键状态变化都会令系统寄存器SystemReg的KeyAvi位置1/INT引脚信号有效变为低电平用户的键盘处理程序可由/INT引脚低电平中断触发以提高程序效率也可以不采样/INT引脚信号节省系统的I/O数而轮询系统寄存器的KeyAvi位要注意读键值寄存器会令KeyAvi位清0并会令/INT引脚信号无效为确保某个有效的按键动作所有参数寄存器的同步性建议利用I2C通信的自动增址功能连续读RepeatCntFunctionKey和Key寄存器但用户无需太担心寄存器的同步性问题应为键参数寄存器变化速度较缓慢典型250ms最快9msZLG7290内可通过I2C总线访问的寄存器地址范围为00H17H任一寄存器都可按字节直接读写也可以通过命令接口间接读写或按位读写请参考指令详解部分支持自动增址功能访问一寄存器后寄存器子地址subaddress自动加一和地址翻转功能访问最后一寄存器子地址17H后寄存器子地址翻转为00HZLG7290的控制和状态查询全部都是通过读/写寄存器实现的用户只需象读写24C02内的单元一样即可实现对ZLG7290的控制关于I2C总线访问的细节请参考I2C总线规范六指令详解ZLG7290提供两种控制方式寄存器映象控制和命令解释控制寄存器映象控制是指直接访问底层寄存器除通信缓冲区外的寄存器实现基本控制功能请参考寄存器详解部分命令解释控制是指通过解释命令缓冲区CmdBuf0CmdBuf1中的指令间接访问底层寄存器实现扩展控制功能如实现寄存器的位操作对显示缓存循环移位对操作数译码等操作一个有效的指令由一字节操作码和数个操作数组成只有操作码的指令称为纯指令带操作数的指令称为复合指令一个完整的指令须在一个I2C帧中起始信号和结束信号间连续传输到命令缓冲区CmdBuf0CmdBuf1中否则会引起错误广州周立功单片机发展有限公司Tel:(020)38730916387309173873097638730977Fax:38730925-4-1.纯指令(1)左移指令命令缓冲区Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0CmdBuf0:0001N3N2N1N0该指令使与ScanNum相对应的显示数据和显示属性闪烁自右向左移动N位N3~N0+1移动后右边N位无显示与ScanNum不相关的显示数据和显示属性则不受影响例DpRamBDpRam0=87654321其中4闪烁ScanNum587不显示执行指令00010001B后DpRamBDpRam0=43214闪烁高两位和低两位无显示(2)右移指令通信缓冲区Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ComBuf0:0010N3N2N1N0与左移指令类似只是移动方向为自左向右移动后左边N位N3~N0+1无显示例DpRamBDpRam0=87654321其中3闪烁ScanNum587不显示执行指令00100001B后DpRamBDpRam0=65433闪烁高四位无显示(3)循环左移指令通信缓冲区Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ComBuf0:0011N3N2N1N0与左移指令类似不同的是在每移动一位后原最左位的显示数据和属性转移到最右位例DpRamBDpRam0=87654321其中4闪烁ScanNum587不显示执行指令00110001B后DpRamBDpRam0=4321654闪烁高两位无显示(4)循环右移指令通信缓冲区Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ComBuf0:0100N3N2N1N0与循环左移指令类似只是移动方向相反例DpRamBDpRam0=87654321其中3闪烁ScanNum587不显示执行指令01000001B后DpRamBDpRam0=2165433闪烁(5)SystemReg寄存器位寻址指令通信缓冲区Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ComBuf0:0101OnS2S1S0当On1时第SS2~S0位置1当On0时第S位清02.复合指令(1)显示像素寻址指令通信缓冲区Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ComBuf0:00000001ComBuf1:On0S5S4S3S2S1S0当On1时第SS5~S0点像素亮置1当On0时第S点像素灭清0该指令用于点亮关闭数码管中某一段或LED矩阵中某一特定的LED该指令受ScanNum的内容影响S6~S0为像素地址有效范围从00H3FH无效的地址不会产生任何作用像素位地址映象如下像素地址SaSbScSdSeSfSgShDpRam000H01H02H03H04H05H06H07HDpRam108H09H0AH0BH0CH0DH0EH0FH广州周立功单片机发展有限公司Tel:(020)38730916387309173873097638730977Fax:38730925-5-…DpRam738H39H3AH3BH3CH3DH3EH3FH(2)按位下载数据且译码指令通信缓冲区Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ComBuf0:0110A3A2A1A0ComBuf1:DPFlash0D4D3D2D1D0其中A3A0为显示缓存编号范围为0000B0111B对应DpRam0DpRam7无效的编号不会产生任何作用DP=1时点亮该位小数点Flash=1时该位闪烁显示Flash=0时该位正常显示D4D0为要显示的数据按以下表规则进行译码D5D4D3D2D1D0十六进制显示内容D5D4D3D2D1D0十六进制显示内容00000000H001000010HG00000101H101000111HH00001002H201001012Hi00001103H301001113HJ00010004H401010014HL00010105H501010115Ho00011006H601011016HP00011107H701011117Hq00100008H801100018Hr0010