- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ZLG7290键盘接口与LED驱动器
ZLG7290 I2C 接口键盘及LED 驱动器 ——I2C在芯片控制中的应用 键值寄存器(Key): 地址01H, 复位值00H。 Key 表示被压按键的键值。当Key=0 时表示没有键被压按。 连击次数计数器(RepeatCnt):地址02H 复位值00H RepeatCnt=0 时表示单击键RepeatCnt 大于0 时表示键的连击次数用于区别出单击键或连击键判断连击次数可以检测被按时间。 功能键寄存器(FunctionKey): 地址03H 复位值0FFH FunctionKey 对应位的值=0 表示对应功能键被压按FunctionKey.7 FunctionKey.0 对应(S64 ~S57)。 #define ZLG7290 0x70 // 定义器件地址 uint8 buf[10]; key = 0; IRcvStr(ZLG7290, 0x01, buf, 3); if(0 == buf[1]) { // 是否有效的按键动作 symbol = buf[0]; // 普通键键值 time = buf[1]; // 按键的时间(次数) sign = buf[2]; // 功能键 } 显示缓存寄存器(DpRam0 ~DpRam7): 地址10H~ 17H ,复位值00H~00H。缓存中一位置1 表示该像素亮,DpRam7~DpRam0 的显示内容对应Dig7 ~Dig0 引脚。 LED七段显示 如显示一个 “ 0 ”,则输出0xFC uint8 duanma[10] ={ // 0~9的段码 0xFC,0x60,0xDA,0xF2,0x66, 0xB6,0xBE,0xE0,0xFE,0xF6 }; ISendStr(ZLG7290, 0x10, duanma, 8); // 显示初值0-7 命令缓冲区(CmdBuf0~ CmdBuf1) 地址07H ~08H 复位值00H~00H 用于传输指令 左移指令(纯指令) 该指令使与ScanNum 相对应的显示数据和显示属性闪烁自右向左移动N位 N3~N0 +1,移动后右边N 位无显示与ScanNum 不相关的显示数据和显示属性则不受影响。 unsigned char buf[2]; Buf[0]=0x11; ISendStr(ZLG7290, 0x07, 0x11, 1); // 左移2位(如正在显示7654321 左移后就变成 5432100 假设输入0) 闪烁控制指令(复合指令) 当Fn=1 时,该位闪烁n 的范围为0~7 对应0~7 位当Fn=0 时该位不闪烁该指令会改变所有像素的闪烁属性。 例 :执行指令, 后所有数码管不闪烁。 例如:LED间隔闪烁 uint8 flash[2]={0x70,0xAA}; ISendStr(ZLG7290,0x07, flash,2); 按位下载数据且译码指令(复合指令) A3~A0 为显示缓存编号范围为0000B 0111B 对应DpRam0~DpRam7 ,无效的编号不会产生任何作用; DP=1 时点亮该位小数点,Flash=1 时该位闪烁显示,Flash=0 时该位正常显示。 D4 D0 为要显示的数据,按以下表规则进行译码。 例如:在第2个LED(0起)显示b字,显示小数点,闪烁显示。 uint8 dis[2]={0x62,0xcb}; ISendStr(ZLG7290,0x07,dis,2); dp g f e d c b a 0 0 1 1 1 1 1 1 * *
文档评论(0)