只需要調節()中的數值就可以調節PWM的占空比,從而改變電機速度,非常的簡單方便;
全部資料下載地址:
PWM.zip
(1.07 KB, 下載次數: 28)
2017-7-8 08:53 上傳
點擊文件名下載附件
單片機源碼:
- #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;
- }
復制代碼
|