估摸着是腦殘的流水燈任務。。總算綜合了之前的內容

其實可以伴隨着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++;
}
}
}

發佈了47 篇原創文章 · 獲贊 29 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章