1. 程式人生 > >微控制器測量方波的頻率、佔空比及相位差的方法

微控制器測量方波的頻率、佔空比及相位差的方法

1、  頻率及佔空比的測量

    

如上圖所示,當脈衝的上升沿來臨時,將定時器開啟;緊接著的下降沿來臨時,讀取定時器的值,假設定時時間為t1;下一個上升沿來臨時關閉定時器,讀取定時器的值,假設定時時間為t2。t1即為1個週期內高電平的時間,t2即為脈衝的週期。t1/t2即為佔空比,1/t2即為頻率。

C51程式如下:

TH0=0;  //定時器高位,初值設為0
TL0=0;  //定時器低位,初值設為0
T0_num=0; //定時器溢位次數,初值設為0
while(pulse);  //pulse為脈衝的輸入引腳
while(!pulse);  //等待上升沿來臨
TR0=1;       //開啟定時器
while(pusl1);   //等待下降沿來臨
th1=TH0;tl1=TL0;num1=T0_num;  //儲存定時器值
while(!pusl1);    //等待上升沿來臨
TR0=0;         //關閉定時器
th2=TH0;tl2=TL0;num2=T0_num;   //儲存定時器值

2、  相位差的測量


測量相位差的電路如上所示,待測量的兩路脈衝分別作為兩個D觸發器的時鐘輸入,兩個D觸發器的輸入端D及S端都接高電平,第一個D觸發器的輸出接第二個D觸發器的R端,第二個D觸發器的互補輸出端接第一個D觸發器的R端。從下面的波形圖可以看出,第一個D觸發器輸出的脈衝訊號的佔空比乘以2π即為相位差。這樣就將測量兩路方波訊號的相位差轉化為測量一路方波訊號的佔空比,就可以按照前面介紹的測量佔空比的方法來測量了。


    黃色的波形為脈衝1,藍色的波形為脈衝2,紅色的波形為相位差。