看看这样如何?楼主参考一下,频率应该不会改变。
void timer1() interrupt 3
{
static unsigned int count1,count2;
TH1=(65536-50)/256; //注意!!改为50us定时
TL1=(65536-50)%256;
//---------------------------------------50%输出部分
if(count1>=2) //时间到out24翻转
{
OUT24=1;
if(count1>=4)
{
count1=0;
OUT24=0;
}
//--------------------------------------25%输出部分
if(count2>=1)
{
OUT25=1;
if(count2>=2)
{
OUT25=0;
if(conun2>=4)count2 = 0;
}
}
//------------------------------------75%部分类似25%
//
count1++;
count2++; //自增部分放在最后
}
|