#define uchar unsigned char
#define uint unsigned int
uint Time_Num_2ms,Time_Num_500ms;
sbit PWM1=P1^0;// 位定義2ms方波輸出的端口
sbit PWM2=P1^1;// 位定義500ms方波輸出的端口
void InitTimer0(void)
{
TMOD=0x01;//設定定時器0為工作方式1
TH0=(65536-1000)/256;//裝初值,1ms初值
TH0=(65536-1000)%256;//裝初值,1ms初值
EA=1;//開總中斷
ET0=1;//開定時器0中斷
TR0=1; //啟動定時器0
}
void T0Timer() interrupt 1
{
TH0=(65536-1000)/256;//重裝初值,1ms初值
TH0=(65536-1000)%256;//重裝初值,1ms初值
Time_Num_2ms++;
Time_Num_500ms++;
}
void main(void)
{
P1=0xff;
InitTimer0();
while(1)
{
if(Time_Num_2ms==2)
{
Time_Num_2ms=0;
PWM1=~PWM1;
}
if(Time_Num_500ms==500)
{
Time_Num_500ms=0;
PWM2=~PWM2;
}
}
}