c51单片机独立按键控制,流水灯程序

2024-11-08 12:00:54
推荐回答(2个)
回答(1):

while(1)
{ P1=aa;

delayms(1000);
aa=_crol_(aa,1);
}
这前面的while(1)根本不会退出,也就是不会执行下面的if(key1 == 0)的语句了,所以按键按下去当然没有反应了
if(key1==0)
{
P1=0x7e;

回答(2):

#include
#define uchar unsigned char
sbit key=P3^7;
void delay(int a)
{
uchar i;
while(a--)for(i=0;i<120;i++);
}
main()
{
uchar i;
while(1)
{
P1=0xff;
while(key==0)
{
for(i=0;i<3;i++)
{
P1=0x0f;
delay(2000);
P1=0xf0;
delay(2000);
}
delay(1000);
P1=0xff;
}
}
}