这个是源代码:目的是输出,方波占空比随时间变化的函数,但出现了问题,请大佬指教
#include "reg52.h"
#define maxpwm 1000
sbit L298N1=P1^0;/*定时器0初始化函数*/
void time0_int(void)
{
TMOD=0x01;//工作方式1,16位计数
TL0=(65535-500)/256; //约18.7HZ(示波器测量)
TH0=(65535-500)%256;
ET0=1; //小门打开
TR0=1;//定时器0打开
}
/*定时器0中断函数*/
void time0() interrupt 1
{
TL0=(65535-500)/256;
TH0=(65535-500)%256;
if(PWM<=maxpwm)
PWM++;
else
PWM=0;
if(PWM<=nowpwm)
L298N1=1;
else
L298N1=0;
}/*延时函数ms级*/
void delay(uint ms)
{
uint a=0;
uint b=0;
for(;a<ms;a++)
for(;b<112;b++);
b=0;
} /*主函数*/
void main(void){
time0_int();
Interrupt_eint();
EA=1;
while(1){
delay(50);
nowpwm+=1;
if(nowpwm==maxpwm)
nowpwm=0;
}
}


#include "reg52.h"
#define maxpwm 1000
sbit L298N1=P1^0;/*定时器0初始化函数*/
void time0_int(void)
{
TMOD=0x01;//工作方式1,16位计数
TL0=(65535-500)/256; //约18.7HZ(示波器测量)
TH0=(65535-500)%256;
ET0=1; //小门打开
TR0=1;//定时器0打开
}
/*定时器0中断函数*/
void time0() interrupt 1
{
TL0=(65535-500)/256;
TH0=(65535-500)%256;
if(PWM<=maxpwm)
PWM++;
else
PWM=0;
if(PWM<=nowpwm)
L298N1=1;
else
L298N1=0;
}/*延时函数ms级*/
void delay(uint ms)
{
uint a=0;
uint b=0;
for(;a<ms;a++)
for(;b<112;b++);
b=0;
} /*主函数*/
void main(void){
time0_int();
Interrupt_eint();
EA=1;
while(1){
delay(50);
nowpwm+=1;
if(nowpwm==maxpwm)
nowpwm=0;
}
}

