简单的PWM,控制电机加速。不知道哪里出了问题。
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uint i=0;
uint PWM=0;
void Timer1_Init(); // T1
void Timer0_Init(); //
void main()
{
//P1=0xFF;
TMOD=0X11; //
EA=1;
Timer1_Init();
Timer0_Init();
while(1);
}
void Timer1_Int() interrupt 3
{
TH1=0XD8;
TL1=0XEF;
P1=0xFF;
TH0=(65535-PWM)/256 ;
TL0=(65535-PWM)%256 ;
TR0=1;
}
void Timer0_Int() interrupt 1
{
P1=0X00;
TR0=0;
PWM=PWM+20;
if(PWM==10000)
PWM=0;
}
void Timer1_Init()
{
TH1=0XD8;
TL1=0XEF;
ET1=1;
TR1=1;
}
void Timer0_Init()
{
TH0=(65535-PWM)/256;
TL0=(65535-PWM)%256 ;
ET0=1;
}