嵌入式键盘控制实验_第1页
嵌入式键盘控制实验_第2页
嵌入式键盘控制实验_第3页
嵌入式键盘控制实验_第4页
嵌入式键盘控制实验_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 嵌入式系统 键盘控制实验 日期: 报告分: 1、 实验目的1学习键盘及LED 驱动原理。2.掌握ZLG7289 芯片的使用方法。二、实验内容通过ZLG7289 芯片驱动17 键的键盘和8 个共阴极LED,将按键值在LED 上显示出来。三、实验步骤1新建工程2定义ZLG7289 寄存器(ZLG7289.h) #define ZLG7289_CS (0x20) /GPB5 #define ZLG7289_KEY (0x10) /GPG4 3 编写ZLG7289 驱动函数 图2-2 ZLG7289 复位 图2-3 读取键值 4定义键盘映射表unsigned char KeyBoard_Map= 4

2、,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 键值读取函数 6 编写主函数,将按键值在数码管上显示,流程图如图2-5 所示。 图2-5 主函数4、 实验主要过程截图:添加LCD320.H和lcd320.c文件实验结果拍照:五、实验关键代码(有注释,最好有

3、流程图)#includeuhal.h#includekeyboard.h#includezlg7289.h#include44b.h#includeLCD320.H#pragma import(_use_no_semihosting_swi) / ensure no functions that use semihostingextern int Zlg7289SIOBand;extern int Zlg7289SIOCtrl;int main(void)U32 key;ARMTargetInit();/开发版初始化 LCD_Init();LCD_ChangeMode(DspTxtMode);

4、/转换LCD显示模式为文本显示模式Uart_Printf(nArm Target Init OK.); Zlg7289_Reset();/zlg7289复位 while(1) key=GetKey();/得到按键值if(key=1) LCD_printf(/ n);if(key=2) LCD_printf(* n);if(key=3) LCD_printf(- n);if(key=4) LCD_printf(7 n);if(key=5) LCD_printf(8 n);if(key=6) LCD_printf(9 n);if(key=7) LCD_printf(+ n);if(key=8) L

5、CD_printf(4 n);if(key=9) LCD_printf(5 n);if(key=10) LCD_printf(6 n);if(key=11) LCD_printf(1 n);if(key=12) LCD_printf(2 n);if(key=13) LCD_printf(3 n);if(key=14) LCD_printf(Enter n);if(key=15) LCD_printf(0 n);if(key=0) LCD_printf(NumLock n);Delay(1);ZLG7289_ENABLE();/使zlg7289占有同步串口Delay(10);/延时 WriteS

6、DIO(ZLG7289_CMD_DATA0|0);/数码管以方式0译码,第一个数码管亮WriteSDIO(key%10);/显示个位Delay(3000);/延时if(key9)/键值大于9显示十位WriteSDIO(ZLG7289_CMD_DATA0|1);/发送十位数据WriteSDIO(unsigned char)(key/10);Delay(1);WriteSDIO(ZLG7289_CMD_HIDE);/使一、二两位数码管显示WriteSDIO(3);else/键值小于10不显示十位WriteSDIO(ZLG7289_CMD_HIDE);/使个位数码管显示WriteSDIO(1);ZLG7289_DISABLE();/zlg7289放弃同步串口控制权return 0;六、遇到的问题及解决方法 每次做实验都是要改代码。首先在没有改代码之前,在按键的时候,我按1,出现的不是对应的数字,并且在显示屏上也没有出现数字。所以需要联系实验1中的代码,让按键出来的数字显示在显示屏上。所以一开始就需要把实验1中的LCD320.H和lcd320.c文件加入到本实验里。最后修改完代码后,我去做了试验。我按了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论