收藏 分销(赏)

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

上传人:a199****6536 文档编号:1362166 上传时间:2024-04-24 格式:DOC 页数:2 大小:28.01KB
下载 相关 举报
51单片机矩阵键盘按键C语言程序.doc_第1页
第1页 / 共2页
51单片机矩阵键盘按键C语言程序.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、#include#define uchar unsigned char#define uint unsigned intuchar 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(;t0;t-) for(j=19;

2、j0;j-) ;void delay_50ms(uint t) uchar j; for(;t0;t-) for(j=6245;j0;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;

3、 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; /000011

4、10key_l=key_l&0xf0; /11100000key=key_l+key_h; /11101110 switch(key) case 0xee:P1=smg_du0;break;case 0xde:P1=smg_du1;break;case 0xbe:P1=smg_du2;break;case 0x7e:P1=smg_du3;break;case 0xed:P1=smg_du4;break;case 0xdd:P1=smg_du5;break;case 0xbd:P1=smg_du6;break;case 0x7d:P1=smg_du7;break;case 0xeb:P1=smg_du8;break;case 0xdb:P1=smg_du9;break;case 0xbb:P1=smg_du10;break;case 0x7b:P1=smg_du11;break;case 0xe7:P1=smg_du12;break;case 0xd7:P1=smg_du13;break;case 0xb7:P1=smg_du14;break;case 0x77:P1=smg_du15;break;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

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

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服