用定时器产生程序如下:
unsigned int a=0 ,b=10;
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
void PWM() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256 ;
a++;
P1^1=0;
if(a=20)
{
a=0;
}
if(a=b)
{
P1^1=1;
}
}
调节a ,b的值即可调节占空比,程序框架就是这样,具体自己改吧
可以几种方法实现,用定时器或延时程序或硬件PWM。
改变I/O口的高低电平的占空比
改变占空比啊