就是想做一個按鍵控制幾個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--);
}
|