只需要调节()中的数值就可以调节PWM的占空比,从而改变电机速度,非常的简单方便;
全部资料下载地址:
PWM.zip
(1.07 KB, 下载次数: 28)
单片机源码:
- #include "pwm.h"
- //void timechose() ;
- bit pwm0;
- bit pwm1;
- bit o1=1,o2=0,o3=1,o4=0;
- uchar zkbi0=0;//(占空比为50%),这两个参数的最大值为100,因为下面count<=100,可以改,但不要太小也不要太大,这为什么,希望你自己想一下。)
- uchar zkbi1=0;
- uchar high;
- void zkbi(uchar z0,uchar z1)
- {
- zkbi0=z0;
- zkbi1=z1;
- }
- void timechose()
- {
- TMOD=0x21;
- EA=1;
- TH1=156;
- TL1=156;
- TR1=1;
- ET1=1;
- }
- void time1() interrupt 3
- {
- high++; //写明了什么时候是高电平,什么时候是低电平
- if(high<zkbi0)
- pwm0=1;
- else pwm0=0;
- if(high<zkbi1)
- pwm1=1;
- else pwm1=0;
-
- if(high==100) //这里的占空比是这样算的(zkbi0/100,zkbi1/100) //写明了什么时候停止,为什么停止
- {
- high=0;
- }
- else _nop_();
- out1=o1&&pwm0;
- out2=o2&&pwm0;
- out3=o3&&pwm1;
- out4=o4&&pwm1;
- }
复制代码
|