缘由https://ask.csdn.net/questions/7922381/54159958
cpp
#include<reg52.h>
void main()
{//缘由https://ask.csdn.net/questions/7922381/54159958
P1=P2=0xff;
TMOD=0X61;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TH1=TL1=156;
EA=1;//IT0=EX0=
T1=0;
TR0=ET0=1;
TR1=ET1=1;
while(1);
}
void Timer0() interrupt 1
{
T1=1;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
T1=0;P2=~P2;
}
void Timer1() interrupt 3
{
P1=~P1;
}



cpp
#include<reg52.h>
unsigned int chuzhi[2]={65036,65286};
unsigned int MAX[2]={100,200};
unsigned int cnt=0;
bit i=0;bit on_off=0;
sbit P1_5=P2^5;
void main(void)
{//缘由https://ask.csdn.net/questions/7922381/54159958
TMOD=0x01;
TL0=chuzhi[0]%256;
TH0=chuzhi[0]/256;
IT0=EA=EX0=ET0=1;
while(1);
}
void int0_isr() interrupt 0
{
on_off=!on_off;
TR0=on_off; P1_5=1;
}
void T0_isr() interrupt 1
{
cnt++;
P1_5=!P1_5;
if(cnt==MAX[i])
{
cnt=0;
i=~i;
}
TL0=chuzhi[i]%256;
TH0=chuzhi[i]/256;
}