3
15
2011
0

防抖函数

发现自己越来越懒了。没有大二时候的激情了。哎。长大的不好之处就是你必须要去做一些你不喜欢做的东西。

一下好几天没有更新博客。很不好。因此我决定,只要上网条件允许,每周不少于4篇。

继续学习单片机。这次不过是对上次点亮LED灯增加了一个防抖函数。为了防止按键的时候抖动。很简单,即使延迟20ms,看看状态。

代码如下:

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <REG51.h>
 
#define PORT P1//设置LED的连接I/O口
sbit    KEY =   P3^7;   //设置按键接在P3.7
void delay(unsigned int a)
{
    unsigned int i;
    while( a--)
    {
        for(i = 0;i < 600;i++);
    }
}
 
void main(void)
{
    KEY = 1;
    PORT = 0xff;
    while(1)
    {
        if(KEY  == 0)
        {
            delay(20);//按键防抖
            if(KEY == 0)
            {
                PORT = ~PORT;
                while(KEY == 0);
            }
        }
    }
}

代码很简单,不多说了。

Category: 单片机 | Tags: 单片机 防抖 | Read Count: 2043

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com