# include<REG51.h>
# define uchar unsigned char
# define uint unsigned int
sbit dl=P1^0;
sbit d2=P1^1;
sbit d3=P1^2;
sbit d4=P1^3;
sbit d5=P1^4;
sbit d6=P1^5;
sbit d7=P1^6;
sbit d8=P1^7;
uint order1;
uint t1,t2,t3,t4,t5,t6,t7,t8;
void timer0(void) interrupt 1 using 1
{
switch(order1)
{
case 1: dl=1;
TH0=-t1/256;
TL0=-t1%256;
break;
case 2: dl=0;
TH0=-(2700-t1)/256;
TL0=-(2700-t1)%256;
break;
case 3: d2=1;
TH0=-t2/256;
TL0=-t2%256;
break;
case 4: d2=0;
TH0=-(2700-t2)/256;
TL0=-(2700-t2)%256;
break;
case 5: d3=1;
TH0=-t3/256;
TL0=-t3%256;
break;
case 6: d3=0 ;
TH0=-(2700-t3)/256;
TL0=-(2700-t3)%256;
break;
case 7: d4=1;
TH0=-t4/256;
TL0=-t4%256;
break;
case 8: d4=0;
TH0=-(2700-t4)/256;
TL0=-(2700-t4)%256;
break;
case 9: d5=1;
TH0=-t5/256;
TL0=-t5%256;
break;
case 10: d5=0;
TH0=-(2700-t5)/256;
TL0=-(2700-t5)%256;
break;
case 11: d6=1;
TH0=-t6/256;
TL0=-t6%256;
break;
case 12: d6=0;
TH0=-(2700-t6)/256;
TL0=-(2700-t6)%256;
break;
case 13: d7=1;
TH0=-t7/256;
TL0=-t7%256;
break;
case 14:d7=0;
TH0=-(2700-t7)/256;
TL0=-(2700-t7)%256;
break;
case 15: d8=1;
TH0=-t8/256;
TL0=-t8%256;
break;
case 16:d8=0;
order1=0;
TH0=-(2700-t8)/256;
TL0=-(2700-t8)%256;
order1=0;
break;
default : order1=0;
}
order1++;
}
void main(void)
{
TMOD =0x11;
order1=1;
TH0=-1500/256;
TL0=-1500%256;
EA=1;EX0=0;
ET0=1; TR0=1;PT0=1;PX0=0;
t1=1500;
t2=1000;
t3=1500;
t4=1000;
t5=1750;
t6=2000;
t7=2500;
t8=2000;
while(1)
{
}
}
- 1
- 2
前往页