嵌入式矩阵键盘检测控制实验.doc

嵌入式矩阵键盘检测控制实验.doc

ID:58426960

大小:2.45 MB

页数:9页

时间:2020-05-12

嵌入式矩阵键盘检测控制实验.doc_第1页
嵌入式矩阵键盘检测控制实验.doc_第2页
嵌入式矩阵键盘检测控制实验.doc_第3页
嵌入式矩阵键盘检测控制实验.doc_第4页
嵌入式矩阵键盘检测控制实验.doc_第5页
资源描述:

《嵌入式矩阵键盘检测控制实验.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、昆明理工大学信息工程与自动化学院学生实验报告(2013—2014学年第2学期)课程名称:嵌入式技术及应用开课实验室:信自楼5042014年6月6日年级、专业、班2011级计科111学号8姓名成绩实验项目名称矩阵键盘检测控制实验指导教师江虹教师评语该同学是否了解实验原理:A.了解□B.基本了解□C.不了解□该同学的实验能力:A.强□B.中等□C.差□该同学的实验是否达到要求:A.达到□B.基本达到□C.未达到□实验报告是否规范:A.规范□B.基本规范□C.不规范□实验过程是否详细记录:A.详细□B.一般□C.没有□教师签名:年月日一、实验目的掌握单片机系统中矩

2、阵键盘的编程控制方法,学会实时程序的调试技巧。二、实验原理键盘是单片机应用中常用的输入设备,在应用系统中,操作人员可通过键盘向系统输入指令、地址和数据,实现简单的人机通信。键盘实际上是一组按键开关的集合,平时总是处于断开状态,当按下键时它才闭合。按键在闭合和断开时,触点会存在抖动现象,抖动时间一般为5-10ms,如下图示:键盘的处理主要涉及以下3个方面的内容:Ø按键的识别所接I/O口线是高还是低电平(根据连接情况)Ø抖动的消除硬件消抖软件消抖(延时)Ø判断键值独立式键盘矩阵式键盘实验板电路原理图如下:一、实验内容按下16个矩阵键盘依次在数码管上显示1-16的

3、平方。如按下第一个显示1,第二个显示4...二、实验步骤1、按实验内容要求在µVision中创建项目,编辑、调试、编译程序。(1)创建项目单击菜单的“project”→“NewProject”,出现【CreateNewProject】窗口,选择实验所要存的文件夹。②输入工程名“shiyan4”,点击“保存”,出现【SelectDeviceForTarget】。③选择“Atmel”→“AT89C52”,如下图④点击“确定”出现如下窗口⑤点击“是”,然后开发环境自动建立一个包含启动代码项目的空文件,该启动代码为“STARTUP.A51”。(2)编辑程序①单击菜单

4、“File”→“New”,出现一个窗体,然后单击“保存【SaveAs】”,出现如下图③输入文件名“Main.c”,点击“保存”,然后在左边的工程窗口选中“SourceGroup1”并右键单击出现右键菜单,选择“AddFilestoGroup‘SourceGroup1’”,出现如下图选择Main.c文件,点击“Add”,最后点击“Close”,出现如下图(3)调试程序、编译程序程序代码:#include#defineucharunsignedchar#defineuintunsignedintsbitU1=P2^6;sbitU2=P2^7;u

5、charcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,};uchartemp,shi,ge,bai;uintkey;voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voiddisplay(uintnumberGet){numberGet=numberGet*numberGet;bai=numberGet/100;shi=numberGet%100/

6、10;ge=numberGet%10;U2=1;P0=0xfe;//1111'1110U2=0;U1=1;P0=table[bai];U1=0;delay(5);U2=1;P0=0xfd;//1111'1101U2=0;U1=1;P0=table[shi];U1=0;delay(5);U2=1;P0=0xfb;//1111'1011U2=0;U1=1;P0=table[ge];U1=0;delay(5);}voidinit(){U2=1;P0=0xc0;//1100'0000U2=0;U1=1;P0=0;U1=0;}voidkeyscan(){P3=0xfe

7、;temp=P3;temp=temp&0xf0;//屏蔽低四位if(temp!=0xf0){delay(10);//消除抖动temp=P3;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case0xee:key=1;break;case0xde:key=2;break;case0xbe:key=3;break;case0x7e:key=4;break;}while(temp!=0xf0)//判断按键释放{temp=P3;temp=temp&0xf0;}display(key);}}P3=0xfd;tem

8、p=P3;temp=temp&0xf0;//屏蔽低四

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

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

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