在proteus仿真51单片机输出PWM波,示波器为什么没波形

#include<reg52.h>
#define uchar unsigned char //宏定义
#define uint unsigned int
sbit pwm=P3^4;
void init();
uchar t;
void init()
{
TMOD=0x01; //定时器0工作方式1
TH0=0xff; //(65536-10)/256;//赋初值定时
TL0=0xf5; //(65536-10)%256;//0.01ms
EA=1; //开总中断
ET0=1;
TR0=1; //开定时器0中断
}
void tim0() interrupt 1
{
TH0=0xff; //(65536-10)/256;//赋初值定时
TL0=0xf7; //(65536-10)%256;//0.01ms
t++;
if(t>100) t=0; //1khz
if(t>30) pwm=0; //占空比%n
else pwm=1;
}
void main(void)
{
init();
t=0;
while(1) ;
}

第1个回答  2015-05-08
程序没问题,除了那句 TL0=0xf7 打错外。追问

谢谢啊,但仿真时示波器怎么没波形

追答

从不仿真,仿真问题帮不了,LZ应该检查关于示波器的电路

第2个回答  2015-05-08
你这样试一下

void main(void)
{

while(1)

init();
t=0;
t++;
if(t>100) t=0; //1khz
if(t>30) pwm=0; //占空比%n
else pwm=1;

}本回答被提问者和网友采纳