其實可以伴隨着maksim的kolibre看- -我測出來偏差不大。。至於要設計的多麼符合節奏。。原諒我吧。。。。這種事真的想偷懶
沒準以後可以對她求婚用- -那樣老子絕對就有動力了!!只是如今她還對我沒啥感覺,也就只能這樣了
#include <reg52.h>
unsigned char code table[]={0x7f,0x5f,0x57,0x55,
0x00,0xff,0xbf,0xaf,
0xab,0xaa,0x00,0xff
};
void delay(int n)
{
int i;
for(i=0;i<n;i++);
}
int main()
{
while(1)
{
int i,circle=250,j=0,k;
P1=0xff;//1s緩慢變亮
delay(6700);
for(i = 0;i < circle;i++)
{
P1 = 0x00;
delay(i);
P1 = 0xff;
delay(circle-i);
}
while(j<3)//單燈循環往返3次
{
P1 = k = 0x7f;//0111 1111
delay(5000);
for(i = 0;i<8;i++)
{
k >>= 1;
k |= 0x80;
P1 = k;
delay(5000);
}
P1= k = 0xfe;//1111 1110
delay(5000);
for(i = 0;i<8;i++)
{
k <<= 1;
k |= 0x01;
P1=k;
delay(5000);
}
j++;
}
j=0;
while(j<3)//雙燈循環往返3次
{
P1 = k = 0x3f;//0011 1111
delay(5000);
for(i = 0;i<8;i++)
{
k >>= 1;
k |= 0x80;
P1 = k;
delay(5000);
}
P1= k = 0xfc;//1111 1100
delay(4000);
for(i = 0;i<8;i++)
{
k <<= 1;
k |= 0x01;
P1=k;
delay(5000);
}
j++;
}
j=0;
while(j<3)//三燈往返三次
{
P1 = k = 0x1f;//0001 1111
delay(4000);
for(i = 0;i<8;i++)
{
k >>= 1;
k |= 0x80;
P1 = k;
delay(5000);
}
P1= k = 0xf8;//1111 1000
delay(4000);
for(i = 0;i<8;i++)
{
k <<= 1;
k |= 0x01;
P1=k;
delay(5000);
}
j++;
}
P1=0x00;
for(i=0;i<circle;i++)
{
P1=0xff;//1111 1111
delay(i);
P1=0x00;
delay(circle-i);
}
j=0;
while(j<3)
{
for(i = 0;i < 12;i++)
{
P1 = table[i];
delay(30000);
}
j++;
}
}
}