java怎么拦截某个对象
199
2022-11-01
基于多位LED显示及键盘管理器件实现实现智能仪表接口的设计
1 引言
2 ZLG7290的特点及工作原理
2.1 ZLG7290的特点
2.2 ZLG7290的工作原理
2.2.1键盘的管理与控制
2.2.2显示的管理与控制
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个单位时间),所有像素的闪烁频率和占空比相同。
(5)扫描位数寄存器(ScanNum):地址0DH,复位值7,用于控制最大的扫描显示位数(有效范围为0~7,对应的显示位数为18),减小扫描位数可提高每位显示扫描时间的占空比。以增强LED的显示亮度。不扫描显示时,显示缓存寄存器则保持不变,如ScanNum=3时,只显示DpRam0-DpRam3的内容。
(6)显示缓存寄存器(DpRam0-DpRam7):地址10H-17H,复位值00H,00H缓存中一位置1表示该像素亮,DpRam7-DpRam0的显示内容对应Dig7-Dig0引脚。
2.2.4 I2C通信
3 仪表面板接口的硬件连接
图2所示是ZLG7290作为仪表面板接口的硬件连接,图中的8位LED作为智能仪表面板的显示部分,键盘矩阵完成智能仪表面板的参数设定、修改按键,实现人机交互功能。
使用ZLG7290驱动数码管显示有两种方法,一是向命令缓冲区(07H-08H)写入复合指令,向07H写入命令并选通相应的数码管,向08H写入所要显示的数据,这种方法每次只能写入一个字节的数据,多字节数据的输出可在程序中用循环写入的方法实现;二是向显示缓存寄存器(10H-17H)写入所要显示的数据的段码。段码的编码规则为从高位到低位为abcdefgdp,每次可写入1~8个字节数据。
4 仪表面板接口中的软件设计
图3是ZLG7290在仪表面板应用中的键盘扫描及显示程序流程图。该流程实现的功能是:上电复位后,数码管显示初值0-7,若有键按下,判断是普通键还是功能键,若为功能键,则保持原来的显示不变,使8个数码管同时闪烁;若为普通键,则将键值显示在第一个和第二个数码管并同时闪烁,其他数码管不闪烁,原有的显示左移两位。
5 结束语
ZLG7290作为键盘及显示管理器件与单片微处理器的连接,无论是硬件接口还是软件编程都非常简单。该器件本身具有扫描显示功能,不需要单片机进行动态扫描,以使其将更多的时间用于数据处理。已将ZLG7290应用在所设计的产品当中,并取得了较为满意的效果。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~