首页 > 代码库 > 51单片机第二弹---独立键盘
51单片机第二弹---独立键盘
今天学独立键盘模块。。
原理图如下:
可以看到单片机上有4个按键,分别命名为K1,K2,K3,K4。。对应的IO分别为 P1,P0,P2,P3
对应图如下。。
工作原理:
以K1为例,按下K1后,p3^1 接地(为0),反之松开手时为1. 首先检测P3^1是否为0,如果为0则要延时消抖(按下时会有一定的抖动)然后再执行命令,最后要检测是否松手,还是利用延时,没有松手就一直延时,当然也可以设置成长按一会就停止延时。
程序实现功能:
用独立键盘控制LED灯的移动。
源码:
#include <reg52.h> #include <intrins.h> #define GPIO_LED P2 #define uint unsigned int #define uchar unsigned char sbit K1=P3^1; void Delay10ms(); void main() { uint m,n=0; m=0xfe;//1111_1110 初始化 while(1) { GPIO_LED=m; if(K1==0) { Delay10ms();//消抖 if(K1==0) { m=_crol_(m,1); while((n<50)&&(K1==0))//判断松手 { Delay10ms(); ++n; } n=0; } } } } void Delay10ms() { uchar i=38,j=130; while(i--) while(j--); }
51单片机第二弹---独立键盘
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。