當前位置:編程學習大全網 - 編程語言 - 單片機怎麽延時閃爍LED燈

單片機怎麽延時閃爍LED燈

這是我寫的五種方式流水燈:

#include<reg52.h> //五種花樣流水燈

#include<intrins.h>

#define uint unsigned int

#define uchar unsigned char

uint a,b=7,e,f=4,h;

uchar c,d;

uchar code deng[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//流水燈位置

void delay(uint x)

{

uint i,j;

for(i=x;i>0;i--)

for(j=110;j>0;j--);

} //延時

void y1() //第壹流水燈程序 指針

{

while(h<=16&&h>=0)

{

P1=*(deng+a);

delay(200);

a++;

if(a==8)

a=0;h++;

}

}

void y2() //第二流水燈程序 數組

{

while(h<=30&&h>16)

{

P1=deng[b];

delay(100);

b--;

if(b==0)

b=7;h++;

}

}

void y3() //第三流水燈程序 左右移

{

c=0xe7;

while(h<=43&&h>30)

{

P1=c;

delay(500);

c=c>>1;

c=c<<2;h++;

}

}

void y4() //第四流水燈程序 庫函數

{

d=0xaa;

while(h<=51&&h>43)

{

P1=d;

delay(100);

d=_crol_(d,1);h++;

}

}

void y5() //第五流水燈 定時器

{

TMOD=0x01;

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

EA=1;

ET0=1;

TR0=1;

while(h>51)

{

P1=deng[f];h++;

}

}

void y() interrupt 1

{

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

e++;

if(e==6)

e=0;

f++;

if(f==8)

f=0;

}

void main()

{

while(1)

{

y1();

y2();

y3();

y4();

y5();

}

}

  • 上一篇:日記課程
  • 下一篇:個人簡歷自我介紹怎麽寫
  • copyright 2024編程學習大全網