c语言自动按键,C语言——独立按键_短按_长按

按键长按的代码比较简单,不过经测可以使用,各位码友若有更好代码,欢迎评论区留言,有链接就行。

.H文件

#ifndef _INDEPENDENT_H_

#define _INDEPENDENT_H_

#include "STC15F2K60S2.h"

#include "delay.h"

extern unsigned char s7, s6, s5, s4;

extern unsigned char flagSMGScreen;

void key_scan();

#endif

.C文件

#include "Independent_key.h"

unsigned char s7=1, s6=0, s5=0, s4=0;

unsigned char flagSMGScreen;

unsigned char flag=0;

void key_scan()

{

if(P30==0) //S7

{

delay_5ms();

if(P30==0)

{

s7=~s7;

flagSMGScreen=0; //数码管显示界面0

}while(!P30);

}

if(P31==0) //S6

{

delay_5ms();

if(P31==0)

{

s6=1;

flagSMGScreen=1; //数码管显示界面1

}while(!P31);

}

if(P32==0) //S5

{

delay_5ms();

if(P32==0)

{

s5=1;

}while(!P32);

}

if(P33==0) //S4

{

delay_5ms();

if(P33==0)

{

s4++;

if(s4==4)

s4=0;

}//while(!P33); //此处不能有while检测

}

if(P33==0) //s4常按

{

Delay200ms();

if(P33==0)

{

flag=1;

flagSMGScreen=2; //数码管显示界面2_长按温度显示

}

}else

{

Delay5ms();

if(flag==1) //该标志位保证了没有长按s4时,

{ //flagSMGScreen=0只执行一次。

flag=0;

flagSMGScreen=0;

}

}

}

本文分享 CSDN - KGback。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值