找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2686|回復: 0
收起左側

51單片機PWM調寬原理

[復制鏈接]
ID:812531 發(fā)表于 2021-2-24 22:55 | 顯示全部樓層 |閱讀模式
PWM脈寬調制,是靠改變脈沖寬度來控制輸出電壓,通過改變周期來控制其輸出頻率

什么是脈沖: 51 單片機IO口輸出一個脈沖,是指I0口發(fā)生-次高 低電平的變化


什么是占空比:是指一個脈沖時間內,高電平的時間與整個脈沖持續(xù)時間的比值。
占空比 = t / T


什么是頻率:物質在1s內完成周期性變化的次數(shù)叫做頻率,常用f表示。公式: f=1/T

實現(xiàn)輸出PWM信號方法:硬件實現(xiàn):選擇帶PWM功能的單片機如STC12系列,內部有PWM寄存器,通過程序配置這些寄存器,指定IO口就會輸出PWM信號優(yōu)點不占用CPU時間,缺點需掌握多個寄存器的配置。

軟件實現(xiàn):使用51單片機定時器與中斷實現(xiàn)。優(yōu)點編程簡單易于入門學習,缺點占用CPU時間。

使用定時器中斷實現(xiàn)PWM電機調速

參閱STC 89C52芯片使用手冊定時器與中斷章節(jié)內容頻率是根據(jù)周期決定的,而周期則是定時器溢出時間和占空比決定的。

周期=定時器溢出時間X占空比頻率公式: f=1/T

我們通過編程設置定時器溢出時間和周期來實現(xiàn)對PWM的頻率設定,再通過軟件設置驅動電機的高電平的占空比來實現(xiàn)調速。


課程實驗-1使用PWM實現(xiàn)直流電機調速多級調速

1.以約100HZ的平率,占空比最大值256,使用定時器0產(chǎn)生PWM信號,分別調節(jié)小車左右兩輪的前進速度。

占空比最大值為256 意思是一個周期分成256份

課程實驗-2.使用PWM實現(xiàn)L ED燈亮度調節(jié)

1.以約2880HZ的平率,占空比最大值40, 使用定時器0產(chǎn)生PWM信號,調節(jié)開發(fā)板上P1口.上所有LED燈的亮度。按S2控制LED燈變暗,按S3控制LED燈變亮。

                                                          實驗二

#include<reg52.h>
unsigned char  hz=2880; //頻率是一百
unsigned char T0RH,T0RL,pwm_led_va=0;
unsigned char pwm_t;
void count(unsigned char zkb)
{
  unsigned long tmp;
  tmp=1/hz;//算出每個周期的時間 這里其實就是1除以100赫茲,赫茲就是hz
  tmp=tmp/zkb;//定時器溢出時間 公式就是周期=定時器溢出時間*占空比
  tmp=tmp*1000000;//轉化成微妙
  tmp=tmp*1000/1085;//其實相當于微妙除以機器周期,
  T0RH=(unsigned char)(tmp>>8);
  T0RL=(unsigned char) (tmp);
}
void main()
{
TMOD=0X02;        //設置定時器0,八位自動重裝模式
TH0=T0RH;        //賦初值
TH0=T0RL;
TR0=1;
ET0=1;
EA=1;
while(1)
{
   count(40);

}
}
void timer0() interrupt 1//定時器0中斷方式1
{
pwm_t++;
if(pwm_t==40)
   {
           pwm_t=0;
           P1=0xff;
   }
      if(pwm_led_va==pwm_t)
          {
           P1=0;
          }


}


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表