史上最详细矩阵键盘原理.pdf

史上最详细矩阵键盘原理.pdf

ID:56985084

大小:113.33 KB

页数:6页

时间:2020-07-30

史上最详细矩阵键盘原理.pdf_第1页
史上最详细矩阵键盘原理.pdf_第2页
史上最详细矩阵键盘原理.pdf_第3页
史上最详细矩阵键盘原理.pdf_第4页
史上最详细矩阵键盘原理.pdf_第5页
资源描述:

《史上最详细矩阵键盘原理.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、史上最详细单片机矩阵键盘原理广东阳西福达名苑梁智钧20180131一、矩阵按键扫描原理方法一:逐行扫描:我们可以通过高四位轮流输出低电平来对矩阵键盘进行逐行扫描,当低四位接收到的数据不全为1的时候,说明有按键按下,然后通过接收到的数据是哪一位为0来判断是哪一个按键被按下。方法二:行列扫描:我们可以通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平,低四位输出低电平,然后根据接收到的高四位的值判断是

2、那一行有按键按下,这样就能够确定是哪一个按键按下了。二、原理图:#include"reg52.h"//此文件中定义了单片机的一些特殊功能寄存器typedefunsignedintu16;//对数据类型进行声明定义,最值范围0-65535//typedefunsignedcharu8;//对数据类型进行声明定义,最值范围0-255//#defineGPIO_DIGP0//定义P0口//#defineGPIO_KEYP1//定义P1口//sbitLSA=P2^2;//用于控制3-8译码器,位选信号//sbitLSB=P2^

3、3;//用于控制3-8译码器,位选信号//sbitLSC=P2^4;//用于控制3-8译码器,位选信号//u8codesmgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值voiddelay(u16i)//延时函数,i=1时,大约延时10us//{while(i--);}voidKeyDown(void)//按键检测函数//{chara=0;//赋初值给a//GPIO_

4、KEY=0x0f;//P1=0x0f//if(GPIO_KEY!=0x0f)//判断按键是否按下//{delay(1000);//延时10ms进行消抖//if(GPIO_KEY!=0x0f)//再次检测键盘是否按下,当有按键按下,条件成立//{GPIO_KEY=0X0F;//再次赋值,检测列,赋初值给P1.由上图可知,P1.0-P1.3为列//switch(GPIO_KEY)//将P1口读回来的值作为switch的选择条件//00000P1.7{00000P1.600000P1.5case(0X07):KeyValue

5、=0;break;00000P1.411101P1.3case(0X0b):KeyValue=1;break;11011P1.210111P1.1case(0X0d):KeyValue=2;break;01111P1.0按键0按下按键0按下按键1按下按键0按下无按值按下case(0X0e):KeyValue=3;break;0X0e0X0d0X0b0X070X0F}GPIO_KEY=0XF0;//接下来赋值给P1,检测行,赋初值给P1。由上图可知,P1.4-P1.7为行//switch(GPIO_KEY)//此处是在检

6、测了列的基础上,再进行行检测,所以这里的KeyValue的值是上面的0.1.2.3中的其中一个//{case(0X70):KeyValue=KeyValue;break;case(0Xb0):KeyValue=KeyValue+4;break;case(0Xd0):KeyValue=KeyValue+8;break;case(0Xe0):KeyValue=KeyValue+12;break;}while((a<50)&&(GPIO_KEY!=0xf0))//检测按键松手检测{delay(1000);a++;//a的作用

7、是用于去抖动,重复检测50次//}}}}voidmain(){LSA=0;//给一个数码管提供位选//LSB=0;//给一个数码管提供位选//LSC=0;//给一个数码管提供位选//while(1)//无限循环//{KeyDown();//调用按键判断函数//GPIO_DIG=smgduan[KeyValue];//将按键数值赋给P0口,控制锁存器//}}

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

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

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