嵌入式键盘控制实验

嵌入式键盘控制实验

ID:28025410

大小:341.66 KB

页数:5页

时间:2018-12-07

嵌入式键盘控制实验_第1页
嵌入式键盘控制实验_第2页
嵌入式键盘控制实验_第3页
嵌入式键盘控制实验_第4页
嵌入式键盘控制实验_第5页
资源描述:

《嵌入式键盘控制实验》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、键盘控制实验日期:报告分:—、实验目的1.学>』键盘及LED驱动原理。2.掌握ZLG7289芯八的使川方法。二、实验内容通过ZLG7289芯片驱动17键的键盘和8个共阴极LED,将按键值在LED上显示出來。三、实验步骤1.新建工程2.定义ZLG7289寄存器(ZLG7289.h)#dcfincZLG7289_CS(0x20)//GPB5#defineZLG7289_KEY(0x10)//GPG43.编写ZLG7289驱动阑数图2-2ZLG7289S位开启zlg7289罔2-3读取键值4.定义键盘

2、映射表unsignedcharKeyBoard_Map[]={4,8,11,0,0,0,0,0,5,9,12,15,1,0,0,0,6,10,13,16,2,3,0,0,7,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//64键位映射表,通过杏找键盘映射表来确定键盘扫描码对成的按键值5.定义键值渎取阐数,流程图如图2-4所示开始阁2-4键值读取函数1.编写主函数,将按键值在数码管上

3、显示,流程图如图2-5所示。图2-5主蛾数四、实验主要过程截图:“FileEditVie*SearchProjectDebugWirtdovHelp+Qinit-QstartupgQUbh®UBIHITSBITOPS.MISde£.h曲EXIO.c®EXIO.K函ISR.cBisr.h■Keyboardc曲keyboardh曲Nftroh圈n«r»c£g.s曲ByU*rt.c圈HyUart.k添加LCD320.H和lc

4、.hHzlg7289c■zlc7289h§DLCD320H9LCIG2Oc实验结果拍照:五、实验关键代码{有注释,最好有流程#include"uhal.h"#inckideHkeyboard.hH#includenzlg7289.hn#includeH44b.hH#includcHLCD320.HH#pragmaimport(_use_no_semihosting_swi)//ensurenofunctionsthatusesemihostingexternintZlg7289SIOBand:e

5、xternintZlg7289S10Ctrl;intmain(void){U32key;ARMTargetlnitO;//开发版初始化LCDJnitO;LCD_ChangeMode(DspTxtMode);//转换LCDffi示模式为文本®示模式Uart—PrintffArmTargetInitOK.n);Zlg7289.Reset();//zlg7289复位while(l){key=GetKey();//得到按键值if(kcy==l)LCD_printf(7");if(key==2)L

6、CD.printf(n*");if(key==3)LCD—printf(n-");if(key==4)LCD_printf("7,r);if(key==5)LCD-printf("8");if(key==6)LCD一printf(n9,r);if(key==7)LCD—printf(M+");if(kCy==8)LCD一printf("4H);if(key==9)LCD一printf(n5M);if(key==10)LC6一printfC.6n);if(key

7、==ll)LCD一printfn");if(key==12)LCD—printf("2H);if(key==13)LCD—printf("3");if(key==14)LCD一printff’Enter");if(key==15)LCD—printf("OM);if(key==O)LCD—prinlf(”NumLock");Delay(l);ZLG7289_ENABLE();//使zlg7289占打同步串IIDelay(lO);//延时WriteSDIO(ZLG7289_

8、CMD_DATAO

9、());//数码管以方式0译码,第一个数码笹亮WriteSDIO(key%10);//显示个位Delay(3OOO);//延吋if(key>9){//键位大于9显示十位WriteSDIO(ZLG7289_CMD_DATAO

10、1);//发送十位数据WriteSDIO((unsignedchar)(key/10));Delay(l);WriteSDIO(ZLG7289_CMDJ4IDE);//使一、二两位数码管®示WriteSDIO(3);}else{//键位小于10不显示十位W

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。