51单片机矩阵键盘按键C语言程序(共2页).doc

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

《51单片机矩阵键盘按键C语言程序(共2页).doc》由会员分享,可在线阅读,更多相关《51单片机矩阵键盘按键C语言程序(共2页).doc(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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;

2、t-) for(j=19;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_

3、l=key_l&0xf0; if(key_l!=0xf0) /如果不等于的话,说明有按键按下去 delay_50us(100);/稍微延时一下 if(key_l!=0xf0) key_l=P3&0xf0;/ 再读一次P3的值然后和0xf0相与 key_l=key_l|0x0f; / P3=key_l; /在把key_l的值送给P3口/此时P3口的值为,而正在此时我们把键按下啦因此按下的键为与/ 相与还是;key_h=P3; /再读一次P3口,键还是按下,可以得到行的值。 key_h=key_h&0x0f; /key_l=key_l&0xf0; /key=key_l+key_h; / switc

4、h(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; 专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁