新聞中心

PWM的單片機(jī)產(chǎn)生

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
在上次說(shuō)的直流電機(jī)調(diào)速的項(xiàng)目中,用了S52單片機(jī)的T2定時(shí)器產(chǎn)生PWM波信號(hào),用于控制直流電機(jī)的轉(zhuǎn)速,雖然電機(jī)的平均速度與占空比不是嚴(yán)格的線性關(guān)系,但是在調(diào)節(jié)占空比可以明顯的看出電機(jī)轉(zhuǎn)速發(fā)生了改變,也算是滿足了課題的要求。下面復(fù)習(xí)一下PWM的知識(shí)吧。

PWM—脈沖寬度調(diào)制(PulseWidthModulation),是一種周期一定而高低電平可調(diào)的方波信號(hào)。當(dāng)輸出脈沖的頻率一定時(shí),輸出脈沖的占空比越大,相對(duì)應(yīng)的輸出有效電壓越大。PWM可以應(yīng)用在許多方面,如電機(jī)調(diào)速、溫度控制、壓力控制等。

本文引用地址:http://butianyuan.cn/article/201612/324609.htm

圖1PWM波示意圖

如上圖所示T1為脈沖寬度(就是導(dǎo)通時(shí)間),周期為T,則輸出電壓的平均值為U=VCC*T1/T=a*VCC,a是占空比,變化范圍為0≤a≤1。VCC為電源電壓。

所以當(dāng)電源電壓不變的情況下,輸出電壓的平均值U取決于占空比a的大小,改變a的大小就可以改變輸出電壓的平均值,這就是PWM的工作原理。采用T2定時(shí)器產(chǎn)生PWM脈沖極其精確,誤差只在幾個(gè)us。

上PWM程序

//文件名:T2PWM.c
//功能:用T2定時(shí)器產(chǎn)生PWM波,頻率實(shí)調(diào)1khz

//說(shuō)明:單片機(jī)AT89S52,晶振12MHZ;
//日期:2011年4月6日

#include"reg52.h"

#defineuintunsignedint

#defineucharunsignedchar

sbitPWM = P1^1;

ucharpluse; //占空比寄存器

voidTimer2()interrupt5

{

staticuchartime;

TF2=0;

if(++time==pluse)PWM=0;//達(dá)到脈寬設(shè)定值時(shí),輸出PWM低電平

elseif(time==40) //PWM的頻率為1khz左右

{

time=0;

PWM=1;

}

}

voidInitTimer2(void)//初始化函數(shù)

{

RCAP2H=0xff;//定時(shí)25us初值

RCAP2L=0x0e7;//

ET2=1;

EA=1;

TR2=1;

}

voidmain(void)

{

InitTimer2();

while(1)

{

pluse=20;

}

}


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: PWM單片

評(píng)論


技術(shù)專區(qū)

關(guān)閉