单片机程序编程(用C51) 2个按键控制2位七段LED显示,每按下一次“+

单片机程序编程(用C51) 2个按键控制2位七段LED显示,每按下一次“+”键或“ଠଠ—”键,LED显示的数值加1或减1,数值变化范围为00-99,应具有防抖功能。
2026年09月24日 15:15
有2个网友回答
网友(1):

main()
{
while(1)
{
key=KEY_Scan(0);
if(key=="+")
{
value++;

}
if(key=="-")
{
value--;
}

}

}
u8 KEY_Scan(char mode)
{
static u8 key_up=1;
if(mode)key_up=1;
if(key_up&&(KEYADD==0||KEYRED==0|))
{
delay_ms(10);//去斗
key_up=0;
if(KEY0==0)return 1;
else if(KEY1==0)return 2;
}else if(KEYADD==1&&KEYRED==1)key_up=1;
return 0;
}
value为显示值,KEYADD、KEYRED为加减的两个键,底层要你自己实现

网友(2):

#includesbitkey1=P1^0;sbitkey2=P1^1;sbitled1=P1^2;sbitled2=P1^3;main(){led1=1;led2=1;while(1){if(key1==0)led1=~led1;if(key2==0)led2=~led2;}}