我是用中断写的,11.0592的晶振,然后用示波器测试波形的时候发现伯茨那个正常,20MS一个周期,高电平时间为1ms,接下来是程序
#include <reg52.h>
unsigned int a,b;
sbit c=P0^0;
void timer0 (void) interrupt 1
{
c=!c;
b=20000-b;
TH0=-(b/256);
TL0=-(b%256);
if(b>=500&&b<=2500)
b=a;
else
b=20000-a;
}
void main(void)
{
TMOD |=0x01;
c=1;
a=1500;
b=a;
TH0=-(a/256);
TL0=-(a%256);
EA=1;
ET0=1;
TR0=1;
TR1=1;
PT0=1;
while(1);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>