码迷,mamicode.com
首页 > 其他好文 > 详细

51单片机第二弹---独立键盘

时间:2014-12-31 13:10:17      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:单片机

今天学独立键盘模块。。

原理图如下:

          技术分享

可以看到单片机上有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单片机第二弹---独立键盘

标签:单片机

原文地址:http://blog.csdn.net/qq_16255321/article/details/42292959

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!