您的位置 首页 FPGA

51单片机独立按键与矩阵按键的作业原理

51单片机独立按键与矩阵按键的工作原理-首先既然是检测输入,对于当然要用到拉电阻,来检测引脚电平变化变化。51单片机中,除了P0口外,P2,P3,P4都是内置上拉电阻的准双向IO口,一般 的 51 P0引脚都外接了上拉电阻,当然也可以用作输入口。

独立按键

首要既然是检测输入,关于当然要用到拉电阻,来检测引脚电平改变改变。51单片机中,除了P0口外,P2,P3,P4都是内置上拉电阻的准双向IO口,一般 的 51 P0引脚都外接了上拉电阻,当然也能够用作输进口。

作为输入前需求拉为高电平。当有按键按下,致使单片机的某个引脚接地,变为低电平时,咱们就以为这个按键按下了。当按键松开后,因为输入不会锁存,所以此刻拉高的引脚回归到高电平。

独立按键的内部原理。

独立按键的4个引脚中,两两为一组。每一组的2个引脚是连在一起的,当按键按键时,2个组又衔接了,也便是4个脚都衔接一起了。

51单片机独立按键与矩阵按键的作业原理

按键的很重要注意点便是消除颤动,消抖。因为人按下按键不是并瞬间到位的,按键在按下的过程中会有颤动。咱们需求经过延时来让单片机绕过颤动的时刻。

51单片机独立按键与矩阵按键的作业原理

下面是一个用按键作为开关直接操控LED的demo。

注:下图中P2.0衔接的按键应该再接一个电阻,我忽略忘掉画出来了。

51单片机独立按键与矩阵按键的作业原理

/***************************************按键按下,LED亮,松开,LED平息**************************************/#includetypedefunsignedintuint;typedefunsignedcharuchar;sbitbutton=P2^0;//按键输入引脚sbitled=P0^0;//LED操控输出引脚/***************************/voiddelay(uintt);ucharisKeyPressed(void);/***************************/voidmain(void){button=1;//P2是准IO口,作为输入前要写1led=1;while(1){if(isKeyPressed()){led=0;delay(100);led=1;}}}ucharisKeyPressed(void){ucharisPressed=0;//是否按下标志位ucharc=50;if(button==0)//初度检测{delay(5);//消抖延时if(button==0)//再次验证{isPressed=1;while(isPressed==0&&c–)//假设不必c作为计数器,那么一向按着按键的话,程序就会一向在这里循环。是否要用c需求依据自己的要求。;}}returnisPressed;}voiddelay(uintt){uinTI;ucharj;for(i=t;i》0;i–)for(j=110;j》0;j–);}

矩阵按键

矩阵按键的检测方法有多种,最常用的便是行列式扫描检测。原理和独立按键是相同的,只不过咱们要扫描一组按键,找出那个被按下的罢了。

对行列式扫描的剖析。

假设咱们按下了按键S6,现在来检测它。

用赤色表明1高电平,蓝色表明0低电平。

先给键盘衔接的GPIO口赋值为0XF0。

51单片机独立按键与矩阵按键的作业原理

电平回转。

51单片机独立按键与矩阵按键的作业原理

这样就能够判判定了按键的坐标。

demo的连线图。

51单片机独立按键与矩阵按键的作业原理

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/346143.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部