一箭雙雕 單片機(jī)占空比和方波的測量

2014-07-11 10:13 來源:電子信息網(wǎng) 作者:鈴鐺

單片機(jī)當(dāng)中的占空比一般是指PWM波形的占空比。這里提到的占空比就是指在一個周期之內(nèi),處在高電平的時間占整個周期的半分比。簡單的舉例來講,如果設(shè)定一個周期為1S,而高電平的持續(xù)時間達(dá)到了0.5S的話,我們就可以說在這個周期內(nèi)的占空比已經(jīng)達(dá)到了50%。本篇文章就根據(jù)占空比在單片機(jī)當(dāng)中的應(yīng)用,針對其測量和相位差的計算進(jìn)行了演示。

1、 頻率及占空比的測量

占空比1

如上圖所示,當(dāng)脈沖的上升沿來臨時,將定時器打開;緊接著的下降沿來臨時,讀取定時器的值,假設(shè)定時時間為t1;下一個上升沿來臨時關(guān)閉定時器,讀取定時器的值,假設(shè)定時時間為t2。t1即為1個周期內(nèi)高電平的時間,t2即為脈沖的周期。t1/t2即為占空比,1/t2即為頻率。

C語言程序如下:

TH0=0; //定時器高位,初值設(shè)為0

TL0=0; //定時器低位,初值設(shè)為0

T0_num=0; //定時器溢出次數(shù),初值設(shè)為0

while(pulse); //pulse為脈沖的輸入引腳

while(!pulse); //等待上升沿來臨

TR0=1; //打開定時器

while(pusl1); //等待下降沿來臨

th1=TH0;tl1=TL0;num1=T0_num; //保存定時器值

while(!pusl1); //等待上升沿來臨

TR0=0; //關(guān)閉定時器

th2=TH0;tl2=TL0;num2=T0_num; //保存定時器值

1 2 > 
單片機(jī) 測量 占空比 方波

相關(guān)閱讀

暫無數(shù)據(jù)

一周熱門