收藏 分销(赏)

51单片机矩阵键盘按键C语言程序.doc

上传人:a199****6536 文档编号:1362166 上传时间:2024-04-24 格式:DOC 页数:2 大小:28.01KB 下载积分:5 金币
下载 相关 举报
51单片机矩阵键盘按键C语言程序.doc_第1页
第1页 / 共2页
51单片机矩阵键盘按键C语言程序.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
#include<reg52.h> #define uchar unsigned char #define uint unsigned int uchar smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71} ; uchar smg_we[]={0x08,0x18,0x28,0x38,0x48,0x58,0x68,0x78} ; //有一篇74HC573必须为高电平 //*************************8 //12M频率下大约50US延时 //************************** void delay_50us(uint t) { uchar j; for(;t>0;t--) for(j=19;j>0;j--) ; } void delay_50ms(uint t) { uchar j; for(;t>0;t--) for(j=6245;j>0;j--); } /*这个程序可以不用松手检测,因为我们程序首选判断键是否按下 然后发现按下后我们延时5MS,然后再检测。确实是按下啦。我们再执行 在第二个循环假如我们继续检测,那么消耗时间10MS这个短时间中 我们的按键已经松手啦。不会在执行后面的。 */ void main() { uchar key_l,key_h; uchar key; while(1) { P3=0xf0; //首先给P3口赋值 key_l=P3; //从p3口读一个数据到key_l key_l=key_l&0xf0; if(key_l!=0xf0) //如果不等于的话,说明有按键按下去 { delay_50us(100);//稍微延时一下 if(key_l!=0xf0) { key_l=P3&0xf0;// 11100000 再读一次P3的值然后和0xf0相与 key_l=key_l|0x0f; // 11101111 P3=key_l; //在把key_l的值送给P3口 //此时P3口的值为11101111,而正在此时我们把键按下啦因此按下的键为11101110与11101111 // 相与还是11101110; key_h=P3; //再读一次P3口,键还是按下,可以得到行的值。 key_h=key_h&0x0f; //00001110 key_l=key_l&0xf0; //11100000 key=key_l+key_h; //11101110 } } switch(key) { case 0xee:P1=smg_du[0];break; case 0xde:P1=smg_du[1];break; case 0xbe:P1=smg_du[2];break; case 0x7e:P1=smg_du[3];break; case 0xed:P1=smg_du[4];break; case 0xdd:P1=smg_du[5];break; case 0xbd:P1=smg_du[6];break; case 0x7d:P1=smg_du[7];break; case 0xeb:P1=smg_du[8];break; case 0xdb:P1=smg_du[9];break; case 0xbb:P1=smg_du[10];break; case 0x7b:P1=smg_du[11];break; case 0xe7:P1=smg_du[12];break; case 0xd7:P1=smg_du[13];break; case 0xb7:P1=smg_du[14];break; case 0x77:P1=smg_du[15];break; } } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服