#include<reg52.h>
#define uc unsigned char
sbit KEY1 = P3^1;
void delay(uc c)
{
uc a,b;
for(;c>0;c--)
for(a=38;a>0;a--)
for(b=130;b>0;b--);
}
void main()
{
uc i=1,dir=0;
P2 = ~i;
while(1)
{
if(KEY1 == 0)
{
delay(1);
while(KEY1 == 0);
delay(1);
while(1)
{
if(dir==0)
{
i<<=1;
if(i==0)
{
i=0x80;
dir=1;
}
}
if(dir==1)
{
i>>=1;
if(i==0)
{
i=1;
dir=0;
}
}
P2=~i;
delay(20);
}
}
}
}
- 接线:key1接P3^1