矩阵键盘及显示

矩阵键盘及显示

ID:20637583

大小:90.00 KB

页数:3页

时间:2018-10-14

矩阵键盘及显示_第1页
矩阵键盘及显示_第2页
矩阵键盘及显示_第3页
资源描述:

《矩阵键盘及显示》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、学号:姓名:班级:课程名称:单片机与嵌入式系统基础与实训上机内容:矩阵键盘与显示上机实验性质:□综合性实验  √设计性实验  □验证实验实验时间:2012年3月26日实验地点:实验设备:计算机、实验箱实验报告:(包括:目的、方法、原理、结果或实验小结等)。一、实验目的:1、掌握单片机矩阵键盘输入的方法;2、综合掌握矩阵键盘与七段数码管的控制原理。开始二、试验流程图:定义按键、数码管连接端口和键盘的扫描码扫描列求出行键值若行键值不为0判断哪一行被按下,并算出按键号按键号取余取余后的数是否为1位数把个位取余对应的键号数赋给数码管上的上个位输出端口键号数赋给数码管上个位输出端口延时

2、把十位取余对应的键号数赋给数码管上十位输出端口延时图1三、实验内容:使用实验箱上的矩阵键盘进行输入,按下某一键就在两位七段数码管上显示被按下的键号。当键号小于10时仅在低位数码管上显示,高位不显示;键号大于10时,高位显示十位,低位显示个位。要求先进行仿真,而后下载到实验箱中观察实际效果。四、试验方法及步骤:1、根据实验内容要求,设计流程图,如图1所示。2、用KeiluVision4根据画出的流程图写出相应程序。程序如下:#include#defineKEYPP1#defineSEG7PP0unsignedcharcodeBIT[]={0xfe,0xfd};

3、unsignedcharcodeTAB[]={0xc0,0xf9,0xa4,0xb0,0x99,//0~40x92,0x82,0xf8,0x80,0x90,0x88,0x83,//5~90xc6,0xa1,0x86,0x8e};//10~15unsignedcharscan[4]={0xef,0xdf,0xbf,0x7f};chardisp=0x7f;voiddelayms(unsignedint);voiddelayms(unsignedintk){unsignedinti,j;for(i=0;i0;j--);}voidmain(){w

4、hile(1){unsignedcharcol,row,si,ge;unsignedcharrowkey,kcode;for(col=0;col<4;col++){KEYP=scan[col];SEG7P=disp;rowkey=~KEYP&0x0f;if(rowkey!=0){if(rowkey==0x01)row=0;if(rowkey==0x02)row=1;if(rowkey==0x04)row=2;if(rowkey==0x08)row=3;kcode=4*col+row;ge=kcode%10;si=kcode/10%10;disp=TAB[kcode];}if(

5、si==0){P2=BIT[0];SEG7P=TAB[ge];}else{P2=BIT[0];SEG7P=TAB[ge];delayms(6);P2=BIT[1];SEG7P=TAB[si];delayms(6);}}}}3、把调试好的HEX文件下载到实验箱的单片机内,观察效果。如图2所示:图24.如图2所示把HEX文件下载到实验箱后,单击“自动”、“编程”,即可在实验箱上看到结果。当依次按下16个按键时,数字依次显示的是0~15,实验成功。五、实验小结:通过这次实验使我进一步锻炼了我的编程思想。掌握了单片机矩阵键盘输入的方法,同时还综合掌握了单片机的矩阵键盘与数码管的控制原

6、理。让我懂得了如何思考程序,如何根据实验要求设计程序,以前做的实验都较简单,而这次做的实验比较复杂,也算是对自己的一个挑战吧。任课教师评语:教师签字:       年  月  日注:每学期至少有一次设计性实验。每学期结束请任课教师按时按量统一交到实验中心处。实验报告A4纸双面打印。

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

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

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