欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机实验报告材料矩阵键盘数码管显示Word格式文档下载.docx

    • 资源ID:5201271       资源大小:347.76KB        全文页数:10页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机实验报告材料矩阵键盘数码管显示Word格式文档下载.docx

    1、一、实验内容 1、编写程序,做到在键盘上每按一个键(0F)用数码管将该建对应的名字显示出来。按其它键没有结果。二、实验目的1、学习独立式按键的查询识别方法。2、非编码矩阵键盘的行反转法识别方法。3、掌握键盘接口的基本特点,了解独立键盘和矩阵键盘的应用方法。4、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。5、掌握利用Keil51软件对程序进行编译。6、会根据实际功能,正确选择单片机功能接线,编制正确程序。对实验结果能做出分析和解释,能写出符合规格的实验报告。 三、实验原理 1、MCS51系列单片机的P0P3口作为输入端口使用时必须先向端口写入“1”。 2、用查询方式检测按键时,要加入

    2、延时(通常采用软件延时1020mS)以消除抖动。3、识别键的闭合,通常采用行扫描法和行反转法。行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。 行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上输入值,

    3、那么,在闭合键所在行线上的值必定为0。这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。 由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。行反转法识别按键的过程是:首先,将4个行线作为输出,将其全部置0,4个列线作为输入,将其全部置1,也就是向P1口写入0xF0;假如此时没有人按键,从P1口读出的值应仍为0xF0;假如此时1、4、7、0四个键中有一个键被按下,则P1.6被拉低,从P1口读出的值为0xB0;为了确定是这四个键中哪一个被按下,可将刚才从P1口读出的数的低四位置1后再写入P1口,即将0xBF写入P1口,使P1.6为低,其余均为高,若

    4、此时被按下的键是“4”,则P1.1被拉低,从P1口读出的值为0xBE;这样,当只有一个键被按下时,每一个键只有唯一的反转码,事先为12个键的反转码建一个表,通过查表就可知道是哪个键被按下了。四、接线方法键盘连接成44的矩阵形式,占用单片机P1口的8根线,行信号是P1.0-1.3,列信号是P1.4-1.7单片机与矩阵键盘连接如下图: 此图用P1 口 P1.0-P1.3 接4行 P1.4-P1.7 接4列矩阵键盘工作原理:由于按键没有接地,4行 4列正好占用8个I/O 如果4行我们送 P3.0到P3.3送入0 1 1 1 然后去读取 4列的值,如果P3.0的按键按下那么P3.4-P3.7的值等于

    5、0 1 1 1,假如是第2个键按下的话那么读回来的值是 1 0 1 1 ,如果第3个键按下去读回来的值是 1 1 0 1 ,如果第4个键按下去读回来的值是 1 1 1 0 ,如果没有键按下去读回来就是1 1 1 1。 所以我们就根据读回来的值来判断按下去的是那个键。当然这是对P3.0这一行,因为矩阵键盘是扫描的,所以下次把P3.0 给1 P3.1 给0对第2行,陆续的第3 行第4行, 0111 1011 1101 1110 而每次都去从新扫描一遍列值列有4个值,以确定是那个键按下。无论何时任何一个时间有一个按键被按下就跳出循环。当然不可能有2个键刚好一起按下你的手没有这么好的力度,就算有2个键

    6、一起按键,程序也有先后检测的顺序,只能检测一个后面的检测不到。P3 = 0XFE; /第一行给0temp ;定义个变量temp = P3 ;读回来 由于读需要先写1 因为P3= FE 已经把高4位给1了 所以能读了temp & oxf0 如果没有按键按下结果还是0xf0 .如果有键按下结果就不是0xf0了。num 然后我们再定义一个变量 让它赋值给这个按下去的按键值。一次类推把第一行赋值0 扫描一遍 然后把第2行赋值0扫描一遍.共扫描16遍。只要有键按下 就会得到一个值 num 就从1排到16. 共16个按键 4*4 的矩阵键盘。我再总结下思路:首先 低4位是行 共4行 分别把每行给0 低电平

    7、 就4次 0 1 1 1 、1 0 1 1 、 1 1 0 1 、1 1 1 0 对吧然后去检测高4位 4列啊 先不考虑极端情况,4列就4个按键只要按下一个 P3口的高4位就会有一个值。根据这个值就能判断是那个键了。如:P3= 1111 1110 低四位是行先把第一行给0 有按键下的话 temp = P3 读回来 1101 1110 然后temp & 0xf0 与运算下就判断下还等于oxf0吗?如还等于就没有按下,如果不等于就肯定有按键按下。定义个变量让它等于这个不是0XF0的值,做个标记。依次类推。五、流程图6、实验电路七、实验程序 #include #include # define uc

    8、har unsigned char # define uint unsigned int uchar key; uchar flag; uchar code keycodez=0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d, 0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77 ; uchar code dispcode165=0xa4,0x89,0xc0,0x91,0xff, 0xc7,0xf9,0xc8,0xff,0xff, 0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff, 0x

    9、a4,0x89,0x40,0xc8,0x90, 0x91,0xf9,0xc8,0x90,0xff, 0xa4,0x89,0xc1,0xff,0xff, 0xff,0xff,0xff,0xff,0xff , 0xf1,0xf9,0x40,0xc8,0x90, 0x91,0xf9,0xff,0xff,0xff , 0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff, 0xc8,0xf9,0x91,0xff,0xff, 0xc1,0xc8,0xff,0xff,0xff , 0xf1,0xf9,0x40,0xc8,0xff, 0xff,0xff,0xf

    10、f,0xff,0xff, ; uchar code w5=0xfe,0xfd,0xfb,0xf7,0xef; void delay1ms(uint i) uchar j; while(i-) for(j=0;j115;j+) ; uchar keyscan() uchar scan1,scan2,keycode,j; P1=0xf0; scan1=P1; if(scan1&0xf0)!=0xf0) delay1ms(15); if (scan1&=0xf0) P1=0x0f; scan2=P1; keycode=scan1|scan2; for(j=0;16;j+) if(keycode=keycodezj) key=j; return(key); else P1=0xff; return(16); main() uchar t;P1=0xff;while(1) P1=0xf0;if(P1& keyscan(); for(t=0;t5;t+)P2=wt; P0=dispcodekeyt;delay1ms(1); 7、实验结果minghongkaizhang hongwei zhao zhiqi zhang qian将实验程序烧进单片机后按键盘对应显示小组成员的名字如上。


    注意事项

    本文(单片机实验报告材料矩阵键盘数码管显示Word格式文档下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开