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

上传人:汽*** 文档编号:550534611 上传时间:2024-03-25 格式:DOC 页数:9 大小:2.45MB
返回 下载 相关 举报
嵌入式矩阵键盘检测控制实验4.doc_第1页
第1页 / 共9页
嵌入式矩阵键盘检测控制实验4.doc_第2页
第2页 / 共9页
嵌入式矩阵键盘检测控制实验4.doc_第3页
第3页 / 共9页
嵌入式矩阵键盘检测控制实验4.doc_第4页
第4页 / 共9页
嵌入式矩阵键盘检测控制实验4.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《嵌入式矩阵键盘检测控制实验4.doc》由会员分享,可在线阅读,更多相关《嵌入式矩阵键盘检测控制实验4.doc(9页珍藏版)》请在金锄头文库上搜索。

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

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

3、骤1、按实验内容要求在 Vision中创建项目,编辑、调试、编译程序。(1)创建项目单击菜单的“project”“New Project”,出现【Create New Project】窗口,选择实验所要存的文件夹。输入工程名“shiyan4”,点击“保存”,出现【Select Device For Target】。选择“Atmel”“AT89C52”,如下图点击“确定”出现如下窗口点击“是”,然后开发环境自动建立一个包含启动代码项目的空文件,该启动代码为“STARTUP.A51”。(2)编辑程序单击菜单“File” “New”,出现一个窗体,然后单击“保存【Save As】”,出现如下图输入文

4、件名“Main.c”,点击“保存”,然后在左边的工程窗口选中“Source Group 1”并右键单击出现右键菜单,选择“Add Files to GroupSource Group 1”,出现如下图选择Main.c文件,点击“Add”,最后点击“Close”,出现如下图(3)调试程序、编译程序程序代码:#include #define uchar unsigned char#define uint unsigned intsbit U1=P26;sbit U2=P27;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,

5、0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,;uchar temp,shi,ge,bai;uint key;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void display(uint numberGet) numberGet=numberGet*numberGet; bai=numberGet/100; shi=numberGet%100/10; ge=numberGet%10; U2=1;P0=0xfe;/11111110U2=0;U1=1;P0=tablebai;U1=0;delay(5)

6、;U2=1;P0=0xfd;/11111101U2=0;U1=1;P0=tableshi;U1=0;delay(5);U2=1;P0=0xfb;/11111011U2=0;U1=1;P0=tablege;U1=0;delay(5);void init()U2=1;P0=0xc0;/11000000U2=0;U1=1;P0=0;U1=0;void keyscan()P3=0xfe;temp=P3;temp=temp&0xf0;/屏蔽低四位if(temp!=0xf0)delay(10);/消除抖动temp=P3;temp=temp&0xf0;if(temp!=0xf0)temp=P3;switch

7、(temp)case 0xee:key=1; break;case 0xde:key=2;break;case 0xbe:key=3;break;case 0x7e:key=4;break;while(temp!=0xf0)/判断按键释放temp=P3;temp=temp&0xf0;display(key);P3=0xfd;temp=P3;temp=temp&0xf0;/屏蔽低四位if(temp!=0xf0)delay(10);/消除抖动temp=P3;temp=temp&0xf0;if(temp!=0xf0)temp=P3;switch(temp)case 0xed:key=5;break;

8、case 0xdd:key=6;break;case 0xbd:key=7;break;case 0x7d:key=8;break;while(temp!=0xf0)/判断按键释放temp=P3;temp=temp&0xf0;display(key);P3=0xfb;temp=P3;temp=temp&0xf0;/屏蔽低四位if(temp!=0xf0)delay(10);/消除抖动temp=P3;temp=temp&0xf0;if(temp!=0xf0)temp=P3;switch(temp)case 0xeb:key=9;break;case 0xdb:key=10;break;case 0

9、xbb:key=11;break;case 0x7b:key=12;break;while(temp!=0xf0)/判断按键释放temp=P3;temp=temp&0xf0;display(key);P3=0xf7;temp=P3;temp=temp&0xf0;/屏蔽低四位if(temp!=0xf0)delay(10);/消除抖动temp=P3;temp=temp&0xf0;if(temp!=0xf0)temp=P3;switch(temp)case 0xe7:key=13;break;case 0xd7:key=14;break;case 0xb7:key=15;break;case 0x7

10、7:key=16;break;while(temp!=0xf0)/判断按键释放temp=P3;temp=temp&0xf0;display(key);void main()init();while(1)keyscan();display(key);2、 将编译生成的目标码文件(后缀为.Hex)下载到实验板上。右键单击工程窗口“Target 1”,然后从右键菜单选中“Options for Target Target 1”从弹出的窗口“Options for Target Target 1”中选中“Output”选项卡,然后勾选“Create Hex”,如下图,最终生成shiyan4.hex文件。3、 观察实验运行结果并记录。按下第三个键:3的平方 按下第七个键:7的平方 按下第十五个键:15的平方 按下第十六个键:16的平方 五、 总结经过这个试验我对矩阵键盘检测控制实验的相关知识的了解,不过我这个试验的程序编辑、编译不太熟悉,搞了好久也没有得到结果,最后在老师的帮助下完成了一个困难的问题又来到了,我对试验板又不知道如何操作,经过同学们的帮助我最终完成了这个试验这个程序,并开始将编译生成的目标码文件传入实验板中。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文 > 思想汇报

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号