4x4键盘设计

4x4键盘设计

ID:37945129

大小:170.70 KB

页数:4页

时间:2019-06-03

4x4键盘设计_第1页
4x4键盘设计_第2页
4x4键盘设计_第3页
4x4键盘设计_第4页
资源描述:

《4x4键盘设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验二4×4编码键盘设计1.实验目的(1)掌握按键工作原理及硬件实现;(2)掌握矩阵式按键识别方法;2.实验环境(1)PC机(2)protues仿真软件(3)KeilC编程软件3.实验内容(1)在protues仿真环境中设计基于8051单片机的按键硬件实现并行硬件仿真;(2)在KeilC中编程实现矩阵式按键识别;(3)在protues中进行软硬件仿真;分析仿真过程。4.实验要求在实验报告中的实验内容中应包括以下内容:(1)硬件原理图;(2)程序流程图及部分关键代码;程序:#include"reg51.h"#include"LCD1602.h"#include

2、"hardware.h"charcodetab[4][4]={{'1','4','7','#'},{'2','5','8','0'},{'3','6','9','*'},{'A','B','C','D'}};//0到F的16个键植voiddelay(unsignedchara){unsignedchari;while(a--)for(i=100;i>0;i--);}charkbscan()//键盘扫描{unsignedcharhang,lie,key;if(P3!=0x0f)delay(5);if(P3!=0x0f){switch(P3&0x0f){case

3、0x0e:lie=0;break;case0x0d:lie=1;break;case0x0b:lie=2;break;case7:lie=3;break;}P3=0xf0;P3=0xf0;switch(P3&0xf0){case0xe0:hang=0;break;case0xd0:hang=1;break;case0xb0:hang=2;break;case0x70:hang=3;break;}P3=0x0f;while(P3!=0x0f);key=tab[hang][lie];}elsekey=0;return(key);}voidmain(){unsig

4、nedchartemp;LCD_initial();LCD_prints("piaoling");P3=0x0f;P0=0xff;while(1){temp=kbscan();if(temp!=0){P0=temp;LCD_set_position(0x40);LCD_printc(temp);}}}(3)仿真截图(仿真结果)(4)结论开发板上设计了行列式矩阵编码键盘,规模为4*4,可作为外部输入。采用矩阵编码键盘可以减少对I/O口的占用。开发板上的矩阵编码键盘有4条行线,4条列线。行线和列线的交叉处不直接连接,而是通过一个按键加以连接。这样就构成4*4=1

5、6个按键输入,比之直接将信号线用于键盘多出了一倍,而且线数越多,区别越明显。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,如图列线通过电阻接正电源,并将行线所接的FPGA、CPLD的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。5.实验参考见实验参考文件夹《智能化测量控制仪表原理与设计》 徐爱军著北京航空航天大学出版社,1999出版《单片机实践与应用》 吴金戍等著北京:清华大学出

6、版社,2002出版.

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

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

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