求51单片机独立按键的代码。功能:类似设置电子表时间。见补充
发布网友
发布时间:2022-06-16 17:36
我来回答
共1个回答
热心网友
时间:2023-11-05 14:48
void delay(unsigned char);
void main()
{
....;
}
/************IndependentButtons*************/
char Button(void)
{
unsigned char state1,a = 1,mt = 1;
P1 = 0xff;
state1 = P1;
state1 = ~ state1;
if(state1 != 0x00)
{
delay10ms(5);
do{
if(mt > 1)
dealy10ms(100);
delay10ms(50);
a ++;
mt ++;
}while(P1 != 0xff);
}
return a;
}
为相应的独立按键c代码(为8个独立按键,如果要4个独立按键可以在上面程序该的),其他的只要用main调用,在main里制表,就行了。追问如果不用while语句怎么写呢? 因为“while(P1 != 0xff);”如果按键没松手它一直执行do里面的,这样CPU就不能做其它的事情了。只有松手了才能return a; 我要实时LCD显示a的值的。
追答我觉得如果代码不多,你可以在do { }while之间放LCD显示代码的,明白了吗?