#include<reg51.h>
#include<math.h>
#include<absacc.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uint a,c,d;
sbit p00=P0^0 ;
sbit p01=P0^1 ;
sbit p02=P0^2 ;
void Int
timer0()interrupt 1 //定时终端函数
{
switch(d)
{
case 1: //执行p0.0
p00=!p00;
c=20000-c;
TH0=(65536-c)/256;
TL0=(65536-c)%256;
if(c>=500&&c<=2500)c=a;
else
if(c>2000)
EA=0,ET0=0,TR0=0;
else
a=a+100;
c=20000-a;
break;
case 2:
p01=!p01;
c=20000-c;
TH0=(65536-c)/256;
TL0=(65536-c)%256;
if(c>=500&&c<=2500)c=a;
else
if(c>2000) EA=0,ET0=0,TR0=0;
else
a=a+100;
c=20000-a;
break;
case 3: //执行p0.2
p02=!p02;
c=20000-c;
TH0=(65536-c)/256;
TL0=(65536-c)%256;
if(c>=500&&c<=2500)c=a;
else
if(c>2000) EA=0,ET0=0,TR0=0;
else
a=a+100;
c=20000-a;
break;
}
}
void delay(long j) //延时函数
{
for (j;j>0;j--);
}
void timer_int1() //定是函数1
{
TMOD=0x01;
p00=1;
a=1500;
c=a;
TH0=(65536-a)/256;
TL0=(65536-a)%256;
EA=1;
ET0=1;
TR0=1;
}
void timer_int2() //定是函数2
{
TMOD=0x01;
p01=1;
a=1500;
c=a;
TH0=(65536-a)/256;TL0=(65536-a)%256;
EA=1;
ET0=1;
TR0=1;
}
void timer_int3() //定是函数3
{
TMOD=0x01;
p02=1 ;
a=1500;
c=a;
TH0=(65536-a)/256;TL0=(65536-a)%256;
EA=1;
ET0=1;
TR0=1;
}
void main()
{ d=1 ;
timer_int2();
delay(9000);
d=2 ;
timer_int1();
delay(9000);
d=3 ;
timer_int3();
delay(9000);
while(1);
}
-
-
一周热门 更多>