标题: 下面单片机代码如何实现改变占空比的,那个10和4有什么作用,谢谢 [打印本页]

作者: 又下雨了    时间: 2022-6-9 19:05
标题: 下面单片机代码如何实现改变占空比的,那个10和4有什么作用,谢谢
/***定时器t1**    */
void time1(void) interrupt 3
{        

  TH1=(65536-10000)/256;//
  TL1=(65536-10000)%256;//        
  motor_time_count++;        
  highcount++;//记录一出次数

  if(start_flag)
  {
    //频率为固定的2kHZ左右,只是占空比发生变化
    speedcount=(Leval)*10/4;      //
                   if(highcount<=speedcount)
      levelflag=HIGH;//高电平次数
    if((highcount>speedcount)&&(highcount<=10))
      levelflag=LOW;//低电平次数        
    if(highcount>=10) //最大为10,然后从0开始循环。
      highcount=0;        
  }

}



作者: wolfinn    时间: 2022-6-9 23:37
定时器计时中断10次内有一个0和1的输出。10次决定了频率。而这10次内输出1时间的长短决定了脉宽比。而10/4限定了脉宽比在50%以下变化吧。
作者: 又下雨了    时间: 2022-6-10 10:14
wolfinn 发表于 2022-6-9 23:37
定时器计时中断10次内有一个0和1的输出。10次决定了频率。而这10次内输出1时间的长短决定了脉宽比。而10/4 ...

好的,谢谢
作者: wolfinn    时间: 2022-6-10 21:22
又下雨了 发表于 2022-6-10 10:14
好的,谢谢

也可能有错,大概说说而已。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1