當前位置:編程學習大全網 - 編程語言 - 用匯編單片機實現圖案燈

用匯編單片機實現圖案燈

清涼流水燈

# include & ltreg 51 . h & gt;

typedef無符號字符uchar

#定義Ton 40

#定義LED P0

sbit leds=p1^4;

sbit led 0 = p0^0;

sbit led 1 = p0^1;

sbit led 2 = p0^2;

sbit led 3 = p0^3;

sbit led 4 = p0^4;

sbit led 5 = p0^5;

sbit led 6 = p0^6;

sbit led 7 = p0^7;

無符號字符mai Kuan = 0;

靜態無符號字符ledon[8] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0x Fe };

uchar occupate _ led;//占空比越大,燈越亮。

比特光;

uchar m;

void Inittime()

{

TMOD = 0x 02;//定時器0,工作模式2,自動重裝

TH0 = 256噸;

TL0 = 256噸;

ET0 = 1;

EA = 1;

TR0 = 1;

}

//定時器0中斷

void time0()使用0中斷1

{

邁寬++;

}

void main()

{

無符號字符i = 0,j = 0;//初始化I,j

發光二極管= 0;

init time();

while (1)

{

//第1,3,5,7燈半亮,其余全亮。

for(I = 254;我& gt0;我-)

{

而(麥寬!=20)

{

LED = 0x00

}

而(麥寬!=200)

{

LED = 0x55

}

麥寬= 0;

}

//最難的部分:八盞燈從第壹盞開始逐漸亮起,直到最後壹盞。然後從最後壹張開始淡入淡出,直到第壹張。如此循環往復。

for(j = 0;j & lt=7;j++)

{

I = 0;

而(我!=255) //從暗到亮

{

If( Maikuan == 0) //亮起。

{

LED = ledon[j];

}

If(Maikuan == i) //熄滅

{

LED = 0xff

}

if(邁寬== 255)

{

i++;

}

}

}

for(j = 7;j & gt=0;j -)

{

I = 0;

而(我!=255) //從亮到暗

{

If(Maikuan == 0) //熄滅

{

LED = 0xff

}

If( Maikuan == i) //亮起。

{

LED = ledon[j];

}

if(邁寬== 255)

{

i++;

}

}

}

//所有的燈光逐漸由暗轉全亮,再由全亮轉暗。

for(m = 254;m & gt0;m -)

{

而(麥寬!= occupate _ led)

{

LED = 0x00

}

而(麥寬!=127)

{

LED = 0xff

}

麥寬= 0;

如果(輕)

{

occupate _ led++;

}

其他

{

occupate _ led-;

}

if(occupate _ led = = 128)

{

occupate _ led = 127;

光=!光;

}

if(occupate _ led & gt;128)

{

occupate _ led = 0;

光=!光;

}

}

}

}

  • 上一篇:BAS系統在地鐵環境控制中的應用及實現?
  • 下一篇:央視版西遊記25集每集的主要內容
  • copyright 2024編程學習大全網