5数码管显示4×4键盘矩阵按键实验

5数码管显示4×4键盘矩阵按键实验

ID:11030077

大小:53.00 KB

页数:3页

时间:2018-07-09

5数码管显示4×4键盘矩阵按键实验_第1页
5数码管显示4×4键盘矩阵按键实验_第2页
5数码管显示4×4键盘矩阵按键实验_第3页
资源描述:

《5数码管显示4×4键盘矩阵按键实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数码管显示4×4键盘矩阵按键实验一、实验目的、原理及方法键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。该实验的目的在于了解键盘的工作原理,键盘按键的识别过程及识别方法,键盘与单片机的接口技术和编程。键盘实质上是一组按键开关的集合。通常,键盘开关利用了机械触点的合、断作用。键的闭合与否,反映在行线输出电压上就是呈高电平或低电平,如果高电平表示键断开,低电平则表示键闭合,反之也可。通过对行线电平高低状态的检测,便可确认按键按下与否。为了确保CPU对一次按键动作只确认一次按键有效,还必须消除

2、抖动。当按键较多时会占用更多的控制器端口,为减少对端口的占用,可以使用行列式键盘接口,本实验中采用的4×4键盘矩阵可以大大减少对单片机的端口占用,但识别按键的代码比独立按键的代码要复杂一些。在识别按键时使用了不同的扫描程序代码,程序运行时数码管会显示相应按键的键值0~F。本实验中P1端口低4位连接是列线,高4位连接的是行线。二、实验步聚及注意事项1、使用ProteusISIS7Professional应用程序,建立一个.DSN文件2、在“库”下拉菜单中,选中“拾取元件”(快捷键P),分别选择以下元件:AT89C51、RX8、7S

3、EG-COM-ANGRN、BUTTON。3、构建仿真电路4、创建一个Keil应用程序:新建一个工程项目文件;为工程选择目标器件(AT89C51);为工程项目创建源程序文件并输入程序代码;保存创建的源程序项目文件;把源程序文件添加到项目中。5、把用户程序经过编译后生成的HEX文件添加到仿真电路中的处理器中(编辑元件→文件路径)三、实验仪器电脑一台,并装载软件:ProteusISIS7Professional应用程序Keil应用程序四、数据记录及处理#include#defineuintunsignedint#de

4、fineucharunsignedcharUcharcodedsy_code[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xFF};ucharPre_keyno=16,keyno=16;voiddelayMS(charx){uchari;while(x--)for(i=0;i<120;i++);}voidkeys_scan(){uchartmp;P1=0x0f;delayMS(1);tmp=P1^0x0f;

5、switch(tmp){case1:keyno=0;break;case2:keyno=1;break;case4:keyno=2;break;case8:keyno=3;break;default:keyno=16;}P1=0xf0;delayMS(1);tmp=P1>>4^0x0f;switch(tmp){case1:keyno+=0;break;case2:keyno+=4;break;case4:keyno+=8;break;case8:keyno+=12;break;}}main(){P0=0xff;while(1){

6、P1=0xf0;if(P1!=0xf0)keys_scan();if(Pre_keyno!=keyno){P0=dsy_code[keyno];Pre_keyno=keyno;}delayMS(50);}}五、结果分析(自行填写,如:功能是否实现;整个过程中存在哪些问题;如何解决的….)

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

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

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