微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求助一个按键扫描程序,支持长按短按功能,测试通过的。

求助一个按键扫描程序,支持长按短按功能,测试通过的。

时间:10-02 整理:3721RD 点击:
谢谢,很急,新手上路

这是坛友写的一款非常简单实用的长短按例程,转发给你参考。
#include <AT89X51.H>
#define d 2500
#define c 20*d
unsigned int cnt;
sbit key=P3^6;
sbit LED1=P1^0;
sbit LED2=P1^4;
void main()                              
{
        key=1;
        LED1=1;
        LED2=1;
        cnt=0;
        while(1)
        {
                if(key)
                {  
                        if(cnt>d && cnt<c)//短按&acute;  
                                LED1=!LED1;
                        cnt=0;
                }   
                else   
                {  
                        cnt++;  
                        if( cnt==c )//长按
                                LED2=!LED2;
                        if( cnt>c  )
                                cnt=c+1;   
                }  
        }
}

谢谢小编分享,正在学习中。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top