c语言按键控制程序

c语言按键控制程序,第1张

if(keypress==true)检测有键按下 {delay_us(50) 延迟50us,软件滤波防抖动if(keypress==true) 检测有键被按下 key_value=P1提取键值 {switch(key_value) 识别是那个键被按下了 case 0x01: XXX;breakcase 0x02:XXXBREAK进入对应工步或者动作即可。 ...... } } }

#include

#define uint unsigned int

sbit LED = P1^0

sbit KEY1 = P1^2

void delay(uint)

void main(void)

{

LED = 1 //初始化LED熄灭

KEY1 = 1 //赋值KEY1高电平

while(1)

{

if(!KEY1) //检测到按键按下

{

LED = ~LED/*LED取反,此时LED = 0,灯亮。当松手时,KEY1 = 1,不满足if语句不

进入循环,LED继续保持当前状态即LED = 0,如果再次按下按键,此时检测到KEY1 = 0,进入循

环,LED取反得到LED = 0,灯亮。*/

delay(500) /*此处延迟,保证连续两次按键动作处在程序的延时过程中,不进行其他程序从而不会影响小灯。*/

}

}

}

void delay(uint z) //延时函数

{

uint x, y

for(x=85x>0x--)

for(y=zy>0y--)

}

可下载到单片机验证。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12113926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存