版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、广州周立功肛片机发展冇限公词 Tel: (020) 38730916 38730917 38730977 Fax: 38730925ZLG7290键盘检测及LED显示示例ZLG7290是一种IC接口键盘及LED必动骨理器件,提供数据译码和循环、移位、段寻址等控制。它可 采样64个按键或传感器,单片即可完成LED显示、键盘接口的全部功能。ZLG7290的从地址为70H,器件内 部通过I'C总线访问的寄存器地址范用为00H-17H,任-寄存器祁可按了节直接读坷,并支持门动増址功能 和地址翻转功能。使用ZLG7290驱动数码即AMj两种方法,第一种方法是向命令缓冲区(07H-08H)耳入复合
2、指令, 向07H丐入命令并选通相应的数码悅 向0SH 入所耍显示的数据,这种方法毎次只能入个了节的数 据,参字节数据的输出可在程序中用循环坊入的方法实现:第二种方法足向显示缓存寄存器(10H-17H) 写入所要显示的数据的段码,段码的编码规则为从高位到低位为abcdefgdp ,这种方法毎次町写入18个 字节数据。ZLG7290读那通键的入口地址和读功能键的入口地址不同,读普通按键的地址为01H,读功能置的地 址为03H 读許通键返何按键的编号.读功能进返I叫的不是按键编号,希要程序对返冋值进行翻译,转换 成功能键的编号;©ZLG7289相比,ZLG7290做了如卜的改进:1) 丁&
3、quot;Tc帕亍接口,提供键盘中断信号,方便与处理器接口:2) 増加了连击次数计数器,通过读取该寄存器的值可区别収击进和连击虢,判断连击次数还可以检 测被按时间:连击次数寄存器只为普通键计数,不为功能键计数;3) 增加了功能键寄器,实现了2个以上按键同时按卜來扩就按键数II或实现待殊功能,类似J PC 机的 “Shift ”、“Ctrl”、“Ah” 键:ZLG7290的1七接口传输速率在使用软件模拟化总线脉冲时可达32Kbit/S,但是如果采用硬件1七总线, 则通信波特率可以更臥I人I为酸件:I'C的总线竞争和同步逻紺,是软件无法模拟的。ZLG7290的代总线通信 接口上耍山3个引脚
4、构成:SDA、SCL和INT 3J参见图1)VCCSDA2LG7290 厘-SCL丽1_hGND图1 ZLG7290I2C接口引脚分布简图本示例中,通过DP-932实验仪和ZLG7290测试板(Demo板)构成 I:C总线通信系统,P89LPC932 内带FC控制器,SCL线用来传递时钟信号,SDA线负责传输数据,INT负贵传递键盘中断信号。两个图2 ZLG7290与P89LPC932单片机I:C通信加理图在实验时注总定耍将ZLG7290和P89LPC932的地线连接住起,因为要建立11?常的Fc通信,通信 的双方一定要冇共同的地线,否则不能通信.用户在便用ZLG7290 IbJ.町在电路屮加
5、如下设?i,可方便賁找卄挣除故障:1)电源电路部分:在电源处接电阻串联个发光:极骨,电阻的取值为1K左右,当上电后:极管被点亮说明电源部分止常I】作.否则电源供电失败,方便检含电源是古止常供电。2) 址盘电路部分:在ZLG7290芯片的INT靖接上拉电阻冷联个发光二极管,电阻的取值为7K左 右,这样在冇按键按下后,发光二极竹会被点亮,'勺按键抬起后二极悖媳灭:方便检資按诜部分 电路的正确与否.本实整实现的功能是I:电复位垢,数码管显示初值0-7,若仃键按K判断是普通键还是功能键,若为 功能健,则保持原來的疑示不变,使8个数码管同时闪烁:若为普通键,则将健值界示在第一个和第二个数 码管并
6、闪烁.其它数码管不闪烁.脈冇的显示左移两位.几体的设计思路见图3.图3 ZLG7290虢盘打描及显示程序流程怕-2-广州周立功肛片机发展冇限公词 Tel: (020) 38730916 38730917 38730977 Fax: 38730925-#-广州周立功肛片机发展冇限公词 Tel: (020) 38730916 38730917 38730977 Fax: 38730925示例程序:/文件名:ZLG7290_c.c/版权:周立功单片机研究所/功能:ZLG7290键盘检测及昭乐演示程序/ LI 期:2004/5/16-#-广州周立功肛片机发展冇限公词 Tel: (020) 387309
7、16 38730917 38730977 Fax: 38730925荐include <reg932.h>#define ZLG7290 0x70define RADR 0x07define uchar unsigned char sbit KEY = P1A4;/PS9LPC932硬件I2C软件包(主)-#-广州周立功肛片机发展冇限公词 Tel: (020) 38730916 38730917 38730977 Fax: 38730925-#-广州周立功肛片机发展冇限公词 Tel: (020) 38730916 38730917 38730977 Fax: 387309250x5
8、4/ 代位 STO.城位 STA、SI/拿审拿拿拿字拿拿感寧拿拿痒*拿拿学拿拿*学拿拿拿写拿拿寧幕拿拿拿幕拿拿拿眾拿拿拿*拿拿拿*拿拿拿眾拿拿拿*拿拿拿拿*拿4拿*拿拿/define GENERATESTOPdefine RELEASE_BUS_ACK0x44/ 复位 STO.STA.SI 井乳位 AA(ack)-#-广州周立功唯片机发展冇限公词 Tel: (020) 38730916 38730917 38730977 Fax: 38730925define RELEASE_BUS_NOACK define RELEASE_BUS_STA void GetBusO I2SCLH=15;I2S
9、CLL = 15;0x40/ 复位 STO,STA,SI 并世位 AA (noack)0x64/起动总线/璽新起动总线,遥位STA/ 巾请总线/ 设代SCL高电平的PCLK周期数/ 设W SCL低电/的PCLK周期数 6MHz时为1 OOKbit/S12CON = RELEASE_BUS_STA.川请成为上机起动总线。便用内部SCL发生器 I2EN和AA朮位。while( SI= =0 );/等待起始位的发送fvoid SendByte(uchar c)/发送数据曲数 I2DAT = c;I2CON = RELEASE_BUS_ACK;while( SI= =0 );/涪除SI位等等/等待数据
10、的发送/向冇子地址器件发送多字节数据函数/功能:从启动总线到发送地址.子地址.数据,结束总线的金过程。/入口参数:sla:从器件地址:suba: 了地址:s:发送内容旳指针:no:发送字节数。/出口参数返回I农示操作成功,否则操作有沽bit ISendStr(uchar sla, uchar suba, uchar *s, uchar no) uchar 1.GetBu$();SendByte(sla): if(I2STAT!=OX18) 2CON = GENERATE_STOP:代 twn(0);SendByte(suba);if( I2STAT?=0X28 ) I2CON = GENERA
11、TE.STOP: return(O);fbr(i=O: i<no;卄)SendByte(as);if( I2STAT?=0X28) I2CON = GENERATE_STOP; renirn(O);S+;I2CON = GENERATESTOP; renim(l);/启动总线/ 发送器件地址 发送器件地址/ 发送数据/ 结束总线/向有子地址器件读収多了节数据函数/功能:从启动总线到发送地址,子地址,读数拥,结束总线的全过程./入口参数:sla:从器件地址:suba:子地址;s:读出的内容存储区的指针:no:读no个字节 出口参数:旳数返冋1表示操作成功否则操作有误。bit IRc-Str
12、(uchar sla.uchar suba.uchar 拿s.uchar no) ucliar 1;GetBus().SendByte(sla);if( I2STAT?=0X18) I2CON = GENERATESTOP; renun(O),SendByle(suba);if( I2STAT!=OX28 ) I2CON = GENERATESTOP: renim(0);I2CON = RELEASE_BUS_STA;vhile( SI= =0 );SendByte(sb+l):if( I2STAT?=0X40 ) I2CON = GENERATESTOP: renirn(O);fbr(i=O
13、; i<no-l;卄)I2CON = RELEASE_BUS_ACK, while( SI= =0 );if( I2STAT«=0X50) I2CON = GENERATE_STOP; retum(O);*s = I2DAT;s+;I2CON = RELEASE_BUS_NOACK: while( SI= =0);s = I2DAT;I2CON = GENERATE_STOP./启动总线/发送器件地址/发送器件子地址巫新启动总线/接收- 了廿数据并发送应答位/等待接收数拯/读取数据/接收最肩一字节数据并发送非应答位/结束总线retum(l);广州周立功肛片机发展冇限公司 Tel
14、: (020) 38730916 38730917 38730977 Fax: 38730925-6-广州周立功肛片机发展冇限公司 Tel: (020) 38730916 38730917 38730977 Fax: 38730925void delayOchar i;fcr(i=0;i<100;i);/ 延时子旳数mainQuchar xdata duanma10 =0xFC.0x60,0xDA,0xF2.0x66.0xB6.0xBE,0xE0,0xFE.0xF6;/ 0-9的段码,按照abcdefg dp的顺序推列uchar sd3;uchar dong4;uchar peng4=O
15、x 11,0x70,0x03:uchar nong2=0x70.0xFF;uchar symbol=0;uchar tune = 0;uchar sign =0;uchar highjow;PlMl=OxOO; P1N12 = 0x00;/设置Pl 口为准双向口ISendStr(ZLG7290. 0x10. diiannia. 8); delayO; dong0 = 0x11;ISendStr(ZLG7290. OxOC.dong.l);/显示初值07doif(KEY=O)IRcvStr(ZLG7290,0x0Lsd3); symbol = sdO);time= sdl;sign= sd2;l
16、ow= symbol% 10;high= symbol/10;/ 冇键按下/读按键的值/ 普通键键值/按键的时间(次数)/功能键/键值的低丫节/健值的高了节dong0 = 0x60; dongl = low;dong2 = 0x61;dong3 = high;if(sign?=OxFF)/ 灯功能键按F-7-广州周立功唯片机发展冇限公司 Tel: (020) 38730916 38730917 38730977 Fax: 38730925/ 使数码管全部闪烁/有普通键按下/&移2位/输出镀值低字节/输出键值高字节/设用显示键值的两了节为闪烁屈性/乍待按健抬起http八xvw. ISendSt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年福州客运从业资格证考试题库搜题答案
- 2024年四川客运考试模拟软件下载手机版
- 2024年广州客运证模拟考试题库答案
- 2024年学校食堂厨师聘用合同:食品安全与卫生标准
- 2024年长沙小型客运从业资格证考试
- 04版石油勘探开发合同
- 2023届新高考化学选考一轮总复习训练-第21讲 电解池 金属的腐蚀与防护
- 2024年鹰潭道路旅客运输驾驶员从业资格考试试题及答案
- 专题07分析标题的含义或作用(试题)五年级语文-学生版
- 2024年度教育培训与人才引进合同
- 糖尿病性舞蹈病
- 医学类-教学查房异位妊娠(宫外孕)
- 眼视光技术职业生涯规划大赛
- 《第八课 我的身体》参考课件
- 肥料创业计划书
- 信息通信网络运行管理员(高级)理论考试题库(学员用)
- 公司卷烟物流管理规范
- 报告医疗器械不良事件
- 物联网安全分析报告
- 黄芪对慢性疲劳综合征康复中的临床应用及相关机制探究
- 物业管理工作量化细则
评论
0/150
提交评论