嵌入式矩阵键盘检测控制实验4Word格式文档下载.docx

上传人:b****2 文档编号:15171208 上传时间:2022-10-28 格式:DOCX 页数:14 大小:367.25KB
下载 相关 举报
嵌入式矩阵键盘检测控制实验4Word格式文档下载.docx_第1页
第1页 / 共14页
嵌入式矩阵键盘检测控制实验4Word格式文档下载.docx_第2页
第2页 / 共14页
嵌入式矩阵键盘检测控制实验4Word格式文档下载.docx_第3页
第3页 / 共14页
嵌入式矩阵键盘检测控制实验4Word格式文档下载.docx_第4页
第4页 / 共14页
嵌入式矩阵键盘检测控制实验4Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

嵌入式矩阵键盘检测控制实验4Word格式文档下载.docx

《嵌入式矩阵键盘检测控制实验4Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《嵌入式矩阵键盘检测控制实验4Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

嵌入式矩阵键盘检测控制实验4Word格式文档下载.docx

A.了解□B.基本了解□C.不了解□

该同学的实验能力:

A.强□B.中等□C.差□

该同学的实验是否达到要求:

A.达到□B.基本达到□C.未达到□

实验报告是否规范:

A.规范□B.基本规范□C.不规范□

实验过程是否详细记录:

A.详细□B.一般□C.没有□

教师签名:

年月日

一、实验目的

掌握单片机系统中矩阵键盘的编程控制方法,学会实时程序的调试技巧。

二、实验原理

键盘是单片机应用中常用的输入设备,在应用系统中,操作人员可通过键盘向系统输入指令、地址和数据,实现简单的人机通信。

键盘实际上是一组按键开关的集合,平时总是处于断开状态,当按下键时它才闭合。

按键在闭合和断开时,触点会存在抖动现象,抖动时间一般为5-10ms,如下图示:

键盘的处理主要涉及以下3个方面的内容:

Ø

按键的识别

所接I/O口线是高还是低电平(根据连接情况)

抖动的消除

硬件消抖

软件消抖(延时)

判断键值

独立式键盘

矩阵式键盘

实验板电路原理图如下:

三、实验内容

按下16个矩阵键盘依次在数码管上显示1-16的平方。

如按下第一个显示1,第二个显示4...

四、实验步骤

1、按实验内容要求在µ

Vision中创建项目,编辑、调试、编译程序。

(1)创建项目

单击菜单的“project”→“NewProject”,出现【CreateNewProject】窗口,选择实验所要存的文件夹。

②输入工程名“shiyan4”,点击“保存”,出现【SelectDeviceForTarget】。

③选择“Atmel”→“AT89C52”,如下图

④点击“确定”出现如下窗口

⑤点击“是”,然后开发环境自动建立一个包含启动代码项目的空文件,该启动代码为“STARTUP.A51”。

(2)编辑程序

①单击菜单“File”→“New”,出现一个窗体,然后单击“保存【SaveAs】”,出现如下图

③输入文件名“Main.c”,点击“保存”,然后在左边的工程窗口选中“SourceGroup1”并右键单击出现右键菜单,选择“AddFilestoGroup‘SourceGroup1’”,出现如下图

选择Main.c文件,点击“Add”,最后点击“Close”,出现如下图

(3)调试程序、编译程序

程序代码:

#include<

reg52.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitU1=P2^6;

sbitU2=P2^7;

ucharcodetable[]={

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>

y--);

}

voiddisplay(uintnumberGet)

numberGet=numberGet*numberGet;

bai=numberGet/100;

shi=numberGet%100/10;

ge=numberGet%10;

U2=1;

P0=0xfe;

//1111'

1110

U2=0;

U1=1;

P0=table[bai];

U1=0;

delay(5);

P0=0xfd;

1101

P0=table[shi];

P0=0xfb;

1011

P0=table[ge];

voidinit()

P0=0xc0;

//1100'

0000

P0=0;

voidkeyscan()

P3=0xfe;

temp=P3;

temp=temp&

0xf0;

//屏蔽低四位

if(temp!

=0xf0)

{

delay(10);

//消除抖动

temp=P3;

temp=temp&

if(temp!

{

temp=P3;

switch(temp)

{

case0xee:

key=1;

break;

case0xde:

key=2;

case0xbe:

key=3;

case0x7e:

key=4;

}

while(temp!

=0xf0)//判断按键释放

temp=P3;

temp=temp&

display(key);

}

}

P3=0xfd;

case0xed:

key=5;

case0xdd:

key=6;

case0xbd:

key=7;

case0x7d:

key=8;

}

P3=0xfb;

case0xeb:

key=9;

case0xdb:

key=10;

case0xbb:

key=11;

case0x7b:

key=12;

P3=0xf7;

case0xe7:

key=13;

case0xd7:

key=14;

case0xb7:

key=15;

case0x77:

key=16;

}

voidmain()

init();

while

(1)

keyscan();

display(key);

2、将编译生成的目标码文件(后缀为.Hex)下载到实验板上。

①右键单击工程窗口“Target1”,然后从右键菜单选中“OptionsforTarget‘Target1’”

②从弹出的窗口“OptionsforTarget‘Target1’”中选中“Output”选项卡,然后勾选“CreateHex”,如下图,最终生成shiyan4.hex文件。

 

3、观察实验运行结果并记录。

按下第三个键:

3的平方

按下第七个键:

7的平方

按下第十五个键:

15的平方

按下第十六个键:

16的平方

五、总结

经过这个试验我对矩阵键盘检测控制实验的相关知识的了解,不过我这个试验的程序编辑、编译不太熟悉,搞了好久也没有得到结果,最后在老师的帮助下完成了一个困难的问题又来到了,我对试验板又不知道如何操作,经过同学们的帮助我最终完成了这个试验这个程序,并开始将编译生成的目标码文件传入实验板中。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1