qxj_2011 发表于 2012-5-31 12:20:57

定时器产生软PWM

   哪位大虾可以指点一下,如何用定时器产生三路软件PWM,谢谢了!!

tiancaigao7 发表于 2012-5-31 14:46:02

现在的定时器都有类似的功能吧?如果没有那就得通过在中断里面比较周期,比较值和当前定时器的数值的方式来反转IO口操作。

liweiqiang668 发表于 2012-5-31 15:06:55

本帖最后由 liweiqiang668 于 2012-5-31 15:08 编辑

void time0() interrupt 1   //定時器0中斷服務程序
{

TH0=0xA3;    //
TL0=0Xa3;   //初值
cout1++;    //計數孌量

if(cout1>=pwm_set1)pwm1=1;//第1路比較輸出
   else pwm1=0;

if(cout1>=pwm_set2)pwm2=1;//第2路比較輸出
   else pwm2=0;
   
if(cout1>=pwm_set2)pwm3=1;//第3路比較輸出
   else pwm3=0;

if(cout1==212)cout1=0;//頻率

}

以上有3個變量pwm_set1,pwm_set2,pwm_set3,是用來調節3路PWM的。
页: [1]
查看完整版本: 定时器产生软PWM