使用51单片机定时器0 方式1实现LED流水灯
代码:
#include <reg52.h>
typedef unsigned int u16;
void timer0init()
{
TMOD=0x01;
ET0=1;
EA=1;
TR0=1;
TH0=64736/256;
TL0=64736%256;
}
void main()
{
timer0init();
while(1);
}
void timer0() interrupt 1
{
u16 i;
TH0=64736/256;
TL0=64736%256;
i++;
switch(i)
{
case(100):P2=0xfe;break;
case(200):P2=0xfd;break;
case(300):P2=0xfb;break;
case(400):P2=0xf7;break;
case(500):P2=0xef;break;
case(600):P2=0xdf;break;
case(700):P2=0xbf;break;
case(800):P2=0x7f;break;
}
if(i==800)
{
i=0;
}
}
使用51单片机定时器0 方式1实现LED流水灯往返
代码:
#include <reg52.h>
typedef unsigned int u16;
void timer0init()
{
TMOD=0x01;
ET0=1;
EA=1;
TR0=1;
TH0=63936/256;
TL0=63936%256;
}
void main()
{
timer0init();
while(1);
}
void timer0() interrupt 1
{
u16 i;
TH0=63936/256;
TL0=63936%256;
i++;
switch(i)
{
case(100):P2=0xfe;break;
case(200):P2=0xfd;break;
case(300):P2=0xfb;break;
case(400):P2=0xf7;break;
case(500):P2=0xef;break;
case(600):P2=0xdf;break;
case(700):P2=0xbf;break;
case(800):P2=0x7f;break;
case(900):P2=0x7f;break;
case(1000):P2=0xbf;break;
case(1100):P2=0xdf;break;
case(1200):P2=0xef;break;
case(1300):P2=0xf7;break;
case(1400):P2=0xfb;break;
case(1500):P2=0xfd;break;
case(1600):P2=0xfe;break;
}
if(i==1600)
{
i=0;
}
}