您的位置 首页 汽车

51单片机学习之5-独立按键和矩阵键盘

第14集键盘的原理键盘分编码键盘(例如电脑键盘)和非编码键盘(自己用程序去识别)。非编码键盘分:独立式非编码键盘(独立按键)、行列式

第14集

键盘的原理

键盘分编码键盘(例如电脑键盘)和非编码键盘(自己用程序去辨认)。

非编码键盘分:独立式非编码键盘(独立按键)、行列式非编码键盘(4*4阵列键盘)

独立键盘的电路图。

由于51单片机的IO口不是双向口而是准双向口,要让IO口具有输入功用,必须将IO口置1,置1之后当按键按下时IO口的电平会被拉低,即被置0。当检测到IO口为0时即可判别该按键现已按下。按键按下时会有一个颤动的进程(弹片会颤动),由于单片机检测IO口速度非常快,超越弹片颤动的频率,所以当单片机检测到IO口为0时需延时一小段时刻再检测IO是否为0,假如仍为0就承认该按钮被按下。由于IO口里面有上拉电阻,所以当松开按钮时,IO口又被拉高。

例程:

#include

#defineuintunsignedint

#defineucharunsignedchar

sbitKey=P3^4;//按键

sbitLed=P1^0;//Led灯

voiddelay(uintz);

/********主函数********/

voidmain()

{

while(1)

{

if(!Key)

{

delay(10);//消抖操作

if(!Key)

Led=0;//按下时Led亮

else

Led=1;

}

}

}

voiddelay(uintz)

{

uintx,y;

for(x=z;x>0;x–)

for(y=110;y>0;y–);

}

第15集

4*4矩阵键盘

上图中,1个按键占用一个IO口,假如有16个按键就占用了16个IO口。为了削减IO口的运用,就需要用矩阵的方法连线。如下图

矩阵扫描原理

从图能够看出P30、P31、P32、P33为行(低四位),P34、P35、P36、P37为列(高四位)。

假定咱们按下的是S6按钮。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部