就是想做一个按键控制几个LED灯的程序,一个按键控制8个LED,按键按一次,第一个灯亮,并延时熄灭,按键按两次第二个灯亮,并延时熄灭,以此类推,当累计到第八次时,全灭,第九次又回到第一个灯亮,重新累计。下面是自己写的,就只有第一次会亮,大家帮忙看下,谢谢!
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit led0 = P1^0;
sbit led1 = P1^1;
sbit led2 = P1^2;
sbit key1 = P3^4;
sbit key2 = P3^5;
sbit key3 = P3^6;
sbit key4 = P3^7;
void delay(uint);
void main()
{
P1=0xff;
if(key1==0)
{
delay(20);
if(key1==0)
led1=0;
delay(5000);
}
if(key2==0)
{
delay(20);
if(key2==0)
led2=0;
delay(5000);
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=109;y>0;y--);
}
|