单片机-矩阵式键盘接口实验

单片机-矩阵式键盘接口实验

ID:43363985

大小:480.15 KB

页数:5页

时间:2019-10-01

单片机-矩阵式键盘接口实验_第1页
单片机-矩阵式键盘接口实验_第2页
单片机-矩阵式键盘接口实验_第3页
单片机-矩阵式键盘接口实验_第4页
单片机-矩阵式键盘接口实验_第5页
资源描述:

《单片机-矩阵式键盘接口实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、安徽文达信息工程学院学生实验报告学年第_学期课程名称《单片机原理与应用》实验日期:院部班级姓名学号实验项目名称:实验七矩阵式键盘接口实验指导老师:实验类型:编程仿真成绩:一、【实验目的】1.掌握单片机按键的使用和编程方法;2.掌握矩阵式键盘的编程方法。二、【实验原理及内容】按照代码转换方式,键盘可以分为编码式和非编码式两种。编码式键盘是通过数字电路直接产生对应于按键的ASCII码,这种方式目前很少使用。非编码式键盘将按键排列成矩阵的形势,由硬件或软件随时对矩阵扫描,一旦某一键被按下,该键的行列信息即被转换为位置码并送

2、入主机,再由键盘驱动程序查表,从而得到按键的ASCII码,最后送入内存中的键盘缓冲区供主机分析执行。菲编码式键盘由于结构简单,按键重定义方便而成为目前最常采用的键盘类型。非编码键盘乂分为独立式键盘和矩阵式键盘。因为独立式键盘较为简单,此次实验以矩阵键盘对上图矩阵式键盘,编写查询式的键盘处理程序。先判有无键按下,即把所有行线P1.0-P1.3均置为低,然后检测各列线状态,若列线不全为高电平,则表示键盘中有键被按下;若所有列线列均为高电平,说明键盘屮无键按下。在确认有键按下后,即可查找具体闭合键位置,其方法是依次将行线置

3、为低电平,再逐行检查各列线的电平状态。若某列为低,则该列线与行线交叉处键就是闭合键。三、【实验器材】1.PC机2.Proteus仿真软件3.Keilc51仿真软件四、[实验步骤】1、基础实验数码管显示4X4矩阵键盘键号。单片机的P1口的P1.0〜P1.7连接4X4矩阵键盘,矩阵中各键编号见下图。数码管显示由P0口控制,当4X4矩阵键盘中的某一按键按下时,数码管上显示对应键号。例如,1号键按下时,数码管显示ar;E键按下时,数码管显示“E”等等。1—»XTAL1XTAL2RSTALEPOO/ADOPO1/AD1P02/

4、AD2P03/AD3PO4/AD4PO5XAD5P06/AD6PO7ZAD7P2CMA8P21/A9P22JJA10P23j(A11P24XA12P25AM3P26XA14P27U15P3ORXDP31/TXDP32i而"P33i币"P34/TOP35fT£P37药3?q32数码管显示4X4矩阵键盘键号的原理电路2、扩展实验在P3.O~p3.3U各连接一个LED小灯,每当按下一个按键,数码管显示数字之后,小灯也以亮灭来表示数字,例如按键为5,则小灯依次“亮灭亮灭”。五、【实验过程原始记录】(可附页)1・基础实验:#i

5、nclude#defineucharunsignedcharsbitL1=P1AO;sbitL2=P1A1;sbitL3=P1A2;sbitL4=P1A3;uchardis[16]={0xc0z0xf9z0xa4/0xb0/0x99/0x92z0x82/0xf8,0x80,0x90,0x88,0x83,0xc6,Oxa1,0x86,0x8e};unsignedinttime;Voiddelay(time){unsignedintj;for(j=0;j

6、;while(l){Pl=Oxef;for(i=0;i<=3;:i=i++){if(Ll==0)P0=dis[i*4+0];if(L2==0)P0=dis[i*4+l];if(L3==0)P0=dis[i*4+2];if(L4==0)P0=dis[i*4+3];delay(500);temp=Pl;temp=temp

7、0x:0f;temp=temp«l;temp=temp

8、OXOf;Pl=temp;}}uchartemp;raoiworaiAOiP02RD2R0AD3racMxrasM>$P0£M>era?M>T^-

9、O10^~~*o^U1•2—>XTM1-2—XTAUf=71SKF23r24At2r2&R1<也JK1S•3MXDFJVTXDW21iWwa^TTRSDW&T1n«arATWCS1■R1sia♦Yt2.扩展实验:#inelude#defineucharunsignedcharsbitL1=P1AO;sbitL2=P1A1;sbitL3=P1A2;sbitL4=P1A3;uchardis[16]={0xc0,0xf9/0xa4,0xb0,0x99,0x92,0x82,Oxf8,0x80,0x90,0x

10、88,0x83,0xc6,Oxa1,0x86,0x8e};ucharled[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06?0x07,0x08,0x09,0x0a,OxOb,OxOc,0x0d,0x0e,0x0f};unsignedinttime;voiddelay(time){unsignedintj;for(

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

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

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