#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uint i;
sbit cpp=P1^5;
void init();
void main()
{
init();
while(1)
{
}
}
void timer0() interrupt 1
{
if(cpp==1)
{
TH0=(65536-132)/256;
TL0=(65536-132)%256;
}
else
{
TH0=(65536-140)/256;
TL0=(65536-140)%256;
}
i++;
if(cpp==1)
{
if(i==3)
{
i=1;
cpp=!cpp;
}
else
{
}
}
if(cpp==0)
{
if(i==3)
{
i=1;
cpp=!cpp;
}
}
}
void init()
{
TMOD=0x01;
TH0=(65536-140)/256;
TL0=(65536-140)%256;
EA=1;
ET0=1;
TR0=1;
cpp=0;
i=1;
}
这是修改后的程序还是有噪音。
高低电平转换的时候语句占用了17us 和7us |