版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
—
I2C串行接口提供键盘中断信号提供数据译码和循环移位8LED提供工业级器件多种封装形式PDIP24二24引脚封装引脚图如图1所示其引脚功能分述如下3456 127891三ZLG729064误所以要进行去抖动处理以读取稳定的键盘状态为准当有两个以上按键被同时按下时ZLG7290当某个按键按下时输出一次键值后如果该按键还未释放该键值连续有效就像连续压按该键一样这种功能称为连击连击次数计数器RepeatCnt可区别出单击某些功能不允许连击如开关或连击判断连击次数可以检测被按时间以防止某些功能误操作如连续按5秒经入参数设置状态功能键能实现2个以上按键同时按下来扩展按键数目或实现特殊功能如PC机上的Shift Alt键典型应用图中的S57~S64为功能键键 显......
2在每个显示刷新周期ZLG7290按照扫描位数寄存器ScanNum指定的显示位数N把显示缓DpRam0DpRamNLEDN值可提高每位显示扫描时间的占空比以提高LED亮度显示缓存中的内容不受影响修改闪烁控制寄存器FlashOnOff可改变闪烁频率和占空比亮和灭的时间ZLG7290提供两种控制方式寄存器映象控制和命令解释控制如上述对显示部分的控制寄存器映象控制是指直接访问底层寄存器实现基本控制功能这些寄存器须字节操作命令解释控制是指通过解释命令缓冲区CmdBuf0CmdBuf1中的指令间接访问底层寄存器实现扩展控制功能如实现寄存器的位操作对显示缓存循环移位对操作数译码等操作请参考指令详解部四系统寄存器SystemReg 地址00H复位值11110000B系统寄存器保存ZLG7290系统状态并可对系统运行状态进行配置其功能分位描述如下KeyAviSystemReg.0 1时表示有效的按键动作普通键的单击连击和功能键状态变化/INT引脚信号有效变为低电平清0表示无按键动作/INT引脚信号无效变为高阻态有效的按键动作消失后或读Key后KeyAvi0键值寄存器Key 地址01H复位值00HKey表示被压按键的键值当Key=0时表示没连击次数计数器 地址02H复位值00HRepeatCnt=0时表示单击功能键寄存器FunctionKey03H0FFHFunctionKey对应位的值=0表示对应功能键被压按FunctionKey.7FunctionKey.0S64S57命令缓冲区CmdBuf0 地址07H08H复位值00H00H用于传输指FlashOnOff0CH0111B/0111B4位表示闪烁时亮的时4位表示闪烁时灭的时间改变其值同时也改变了闪烁频率也能改变亮和灭的占空比FlashOnOff1150250ms亮和灭的时间范围为1160000B1个时间单位所有象扫描位数寄存器ScanNum0DH复位值7用于控制最大的扫描显示位数有效范围为07对应的显示位数为18减少扫描位数可提高每位显示扫描时间的占空比以提高LED亮度不扫描显示的显示缓存寄存器则保持不变如ScanNum3时只显示DpRam0DpRam3的内显示缓存寄存器DpRam0 地址10H17H复位值00H00H缓存中一位1表示该像素亮DpRam7DpRam0Dig7Dig0五ZLG7290I2C32kbit/s容易与处理器接口并提供键盘中断信号提高主处理器时间效率ZLG7290的从地址slaveaddress70H(01110000B)有效的按键动作普通键的单击连击和功能键状态变化都会令系统寄存器SystemReg的KeyAvi1/INT引脚信号有效变为低电平用户的键盘处理程序可由/INT引脚低电平中断触发/INTI/OKeyAvi位要注KeyAvi0并会令/INT引脚信号无效为确保某个有效的按键动作所有参数寄I2CRepeatCntFunctionKeyKey寄存器但250ms9msZLG7290I2C总线访问的寄存器地址范围为00H17H任一寄存器都可按字节直接读写也可以通过命令接口间接读写或按位读写请参考指令详解部分支持自动增址功能访问一寄存器后寄存器子地址subaddress自动加一和地址翻转功能访问最后一寄存器子地址17H后00HZLG7290的控制和状态查询全部都是通过读/写寄存器实现的用户只需象24C02ZLG7290的控制关于I2CI2C总线规六ZLG7290寄存器除通信缓冲区外的寄存器实现基本控制功能请参考寄存器详解部分命令解释控制是指通过解释命令缓冲区CmdBuf0CmdBuf1中的指令间接访问底层寄存器实现扩展控制功能如实现寄存器的位操作对显示缓存循环移位对操作数译码等操作一个有效的指令由一字节操作码和数个操作数组成只有操作码的指令称为纯指令带操作数的指令称为复合指令一个完整的指令须在一个I2C帧中起始信号和结束信号间连续传输到命令缓冲区CmdBuf0CmdBuf1中否则会引起错误0001该指令使与ScanNum相对应的显示数据和显示属性闪烁自右向左移动N N3~N0移动后右边N位无显示与ScanNum DpRamBDpRam0=87654321其中4闪烁ScanNum 87不显执行指令00010001B后DpRamB 4闪烁高两位和低两位无示0010与左移指令类似只是移动方向为自左向右移动后左边N位 N3~N0+1无显示 DpRamBDpRam0=87654321其中3闪烁ScanNum5 87不显示执行指令00100001B后DpRamB 3闪烁高四位无显0011 DpRamBDpRam0=87654321其中4闪烁ScanNum5 87不显示执行指令00110001B后DpRamB 4闪烁高两位无显0100 DpRamBDpRam0=87654321其中3闪烁ScanNum5 87不显示执行指令01000001B后DpRamBDpRam0= 3闪烁0101On1时SS2~S01On0时S000000010On1时第SS5~S0点像素亮置1On0时第S点像素灭清0…011000000000010000G0000010000000010000G0000011010001H0000102010010i0000113010011J0001004010100L0001015010101o0001106010110P0001117010111q0010008011000r0010019011001t001010A011010U001011b011011y001100C011100c001101d011101h001110E011110T001111F0111110111XXXX当Fn=1时该位闪烁n的范围为0~7对应0~7位 当Fn=0时该位不闪烁该指令会改 执行指令01110000B00000000B后所有数码管不闪七5V125350-V-V0-V-V48--48-----极限参数电源供应电压…………GND-0.3V~ 储存温度…………-50~端口输入电压…………GND-0.3V~ 工作温度…………-40~注.Dig7~电源正该范例实现数字的输入与修改功能K0~K9(S10S1~S9)为数字键对应数字01~9用于输入和修改数字以上键都可连击实现快速输入和修改 在修改模式下右移键或左移键用于选择要修改的位可连击KMode(S13)模式键实现进入退出修改模式不允许连击Zlg90Demo.cZlg90Demo.a51文件内的IicSMasU.inc文件其中项目DemoCC语言实现的范例项目DemoAsmIicSMasU.a51文件C编译器使用KeilC51 ZLG7290应用范例80c51I2C总线主控器ZLG7290 *KRight(S11)为右移键KLeft(S12) KMode(S13)键实现进入退出修改模式 Blueyes unsignedunsigned//hardware#define #define #define #define #define #define #define #define #define #define sbit //80c51I2C A.现行地址写:SlvAddr(写 B.指定地址写:SlvAddr(写 C.现行地址读:SlvAddr(读 D.指定地址读:SlvAddr(读 ;Nesting A,C,R1, bitIicTxdRxd(ucharTxdByte,ucharRxdByte,uchar datauchar datauchar //单元地址 #definekey #definekey_repeatIicReadBuf[1]#defineFunctionKeyIicReadBuf[2] void //数字键键码0 for } //非修改模式输入模式 SubAddr=SubKey; //输入模式下左移一位 //输出一位控制闪烁 if(EditMode==1){}} }}}}; ZLG7290应用范例80c51I2C总线主控器ZLG7290 *KRight(S11)为右移键KLeft(S12) KMode(S13)键实现进入退出修改模式 Blueyes; $include;hardwareequequequequequequequ0x70equ0x1 equ equ
equ ;单元地址子地址DataSegZlg90DemoSEGMENTDATARSEGDataSegZlg90Demo81IicWriteBuf: equIicReadBuf equIicReadBuf+1FunctionKeyequ1 1;数字键键码9 DSCodeSegZlg90DemoSEGMENTCODERSEGCodeSegZlg90Demo0A;非修改模式输入模式 EditMode,;输入模式下左移一位 ;输出一位控制闪烁 A,#LOW(DpBuf) EditMode,
A,#KMode, EditMode,InInputMode A,#KLeft,ForKLeftEnd A,#KRight,ForKRightEnd DB00000001B,00000010B,00000100B,00001000BDB 80c51I2C Blueyes $include(IicSMasU.inc)public_IicTxdRxdpublicSlvAddr bit A.现行地址写:SlvAddr(写 B.指定地址写:SlvAddr(写 C.现行地址读:SlvAddr(读 D.指定地址读:SlvAddr(读 ;Nesting A,C,R1, SEGMENTBIToverlayableRSEGBitSegIicSM SEGMENTDATAoverlayableRSEGDataSegIicSM equr7 equ ififififX=3iferror"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论