基於AT89S51微控制器數字頻率計的設計

2022-12-06 11:33:01 字數 3560 閱讀 3593

55目錄

第八章 protel原理圖pcb板圖

一緒論 本次課題設計的主要任務是製作乙個微控制器數字頻率計進行頻率的自動測量並用數碼管顯示被測訊號的頻率,測頻範圍為1hz~500khz。我的設計的思路是這樣的,採用的是晶振為12mhz的at89s51微控制器,首先利用該微控制器的定時器/計數器t0作為定時器,使其工作在方式1,計算初值每50ms產生一次定時溢位中斷,最終定時1s=50ms*20,與此同時,我再利用微控制器的定時器/計數器t1作為計數器,工作在方式1,對被測訊號採集資料,對1s定時所採集的資料就為該訊號的頻率,考慮到被測訊號的多樣性,有方波,正弦波,三角波等等,而本次我設計的只是針對被測訊號方波,而且它的精度為1hz,考慮到某些程式本身在執行時要用到一定的時間,故實際定時是大於1s,從而會產生一定的誤差,在被測訊號為高頻方波時,這種誤差會表現地特別明顯,在設計過程中我儘量減少因程式本身帶來的誤差,使的測量的結果盡可能的接近實際頻率。在程式設計時,用kell完成成*.

hex檔案,利用proteurs 7.1搭建**件後進行**,調最後用protel繪製pcb板,做出實物,試程式,實現相應功能。

實際應用時,我們可以先將非方波的訊號通過一些專用的器件進行波形整形使其變成同頻率的方波,然後進行測試,從而進一步完善其功能。數字頻率計在通訊領域中應用的較廣,

頻率計能夠快速的捕捉到晶體振盪器輸出頻率的變化,使用者通過使用頻率計能夠迅速的發現有故障的晶振產品,確保產品質量。在計量實驗室中,頻率計被用來對各種電子測量裝置的本地振盪器進行校準。在無線通訊測試中,頻率計既可以被用來對無線通訊基站的主時鐘進行校準,還可以被用來對無線電台的跳頻訊號和頻率調製訊號進行分析。

二數字頻率計數器測頻的基本原理

數字頻率計是用十進位制來顯示被測訊號頻率的一種測量裝置。所謂「頻率」,就是週期性訊號在單位時間內變化的次數。若在一定時間間隔t內測得這個週期性訊號的重複變化次數n,則頻率可以表示為:

因此,數字頻率計的原理框圖如下圖所示:

圖1 數字頻率計的原理框圖

(1)首先脈衝形成電路進行波形變換將被測訊號變成頻率等於fx的脈衝訊號

(2)時基訊號發生器提供標準的時間脈衝訊號,若其週期為1s,則門控電路的輸出訊號持續時間亦準確的等於1s。

(3)閘門電路有標準秒訊號控制,當秒訊號到來時,閘門開通,被測脈衝訊號通過閘門送到計數解碼顯示電路。秒訊號結束時閘門關閉,計數器停止計數。由於計數器記得的脈衝數n是在1秒時間內的累計數,所以被測頻率fx=nhz。

(4)邏輯控制單元的作用有兩個:其一,產生清」0」脈衝,是計數器每次從零開始計數;其二,產生鎖存訊號,使顯示器上的數字穩定不變。

(5)最後,將鎖存器中的資料送入解碼顯示器即可實現頻率測量。

三頻率測量的技術指標

衡量一台數字頻率計的主要技術指標有:

3.1 頻率準確度

數字頻率計測量頻率時的測量誤差稱為頻率準確度,常用相對誤差△fx/fx來表示。分析表明:

式中,1/(tfx)=△n/n稱為量化誤差,是數字頻率計所特有的誤差。△fc/fc=△t/t 稱為閘門時間的相對誤差,主要由基準訊號發生器提供的標準頻率的準確度所決定,△fc/fc<<1/(tfx).

3.2 頻率測量範圍

數字頻率計測量的最高頻率成為頻率測量範圍,主要由脈衝形成電路的頻率響應決定。

3.3 數字顯示位數

頻率計的數字顯示的位數決定了數字頻率計的解析度。一般情況下,位數越多解析度越高,當然需要的計數解碼器的位數也就越多。

3.3 測量時間

數字頻率計完成一次測量所需的總時間稱為測量時間。若用t表示總測量時間,則 t=t1+t2+t3+t4式中,t1—準備時間,t2—計數時間,t3—鎖存時間,t4—復位時間

四設計思路及方案

4.1、常用設計方案

訊號的頻率就是訊號在單位時間內所產生的脈衝個數,其表示式為f=n/t,其中f為被測訊號的頻率,n為技術其所累計的脈衝個數,t為產生n個脈衝所需的時間。技術其所記錄的結果,就是被測訊號的頻率。如在1s內記錄1000個脈衝,則被測訊號的頻率為1000hz。

測量頻率的基本方法有兩種:計數法和計時法,或稱測頻法和測週期法。

4.2、計數法

計數法是將被測訊號通過乙個定時閘門加到計數器進行計數的方法,如果閘門開啟的時間為t,計數器得到的計數值為n1,則被測頻率為f=n1/t。改變時間t,則可改變測量頻率範圍。如圖4-1所示。

設在t期間,計數器的精確計數值應為n,根據計數器的計數特性可知,n1的絕對誤差是n1=n+1,n1的相對誤差為δn1=(n1-n)/n=1/n。由n1的相對誤差可知,n的數值愈大,相對誤差愈小,成反比關係。因此,在f以確定的條件下,為減少n的相對誤差,可通過增大t的方法來降低測量誤差。

當t為某確定值時(通常取1s),則有f1=n1,而f=n,故有f1的相對誤差:

δf1=(f1-f)/f=1/f

從上式可知f1的相對誤差與f成反比關係,即訊號頻率越高,誤差越小;而訊號頻率越低,則測量誤差越大。因此測頻法適合用於對高頻訊號的測量,頻率越高,測量精度也越高。

五元件清單:

1 共陰數碼管 6

2 極性電容1000uf 2

3 普通電容 104ufx2 30pfx2 20pfx2

4 in4004二極體 4

5 穩壓塊7805 1

6 12m晶振1

7 9腳10k電阻排 1

8 按鍵2

9 at89s511

10 74ls3731

11 74ls1381

12 電阻50歐姆x15 10kx3

六 protel原理圖

七 pcb板圖 :

八 protues**圖:

九程式.1 程式設計流程圖

總程式流程方框圖

圖6.1.1 總程式流程圖

子程式流程圖

程式:#include<>

#include<>

#include<>

#define uchar unsigned char

#define ulong unsigned long

#define weixuan p2

#define duanxuan p0

uchar disdata[5];

sbit f=p3^7;

uchar t11=0x00,t12=0x00,t13=0x00,times=20;

7seg-cc display code

char code tab=;

timer 0 interrupt service subroutine

void timer0(void) interrupt 1

else

}counter 1 interrupt service subroutine

void timer1(void) interrupt 3

delay subroutine

void delay0(void)

main

void main()

if(times==0定時1s結束則將在p3.5採集到的資料轉換成十進位制

{t12=th1;//並將各位上的的數值取出存入到disdata[0]-disdata[5]六個變數中

t13=tl1;

htod=t11*65536+t12*256+t13;

AT89S51微控制器實驗一報告

1.假定外ram 1000h單元的內容為80h,a的內容為60h,執行下列指令序列後,累加器a的內容為 80h mov dptr,1000h movx a,dptr 2 執行下列指令序列後,累加器a的內容為 68h mov a,03h movc a,a pc db 20h,23h,26h,68h,8...

AT89S51微控制器廣告燈電路的設計

1 實驗任務 做單一燈的左移右移,硬體電路如圖4.4.1所示,八個發光二極體l1 l8分別接在微控制器的p1.0 p1.7介面上,輸出 0 時,發光二極體亮,開始時p1.0 p1.1 p1.2 p1.3 p1.7 p1.6 p1.0亮,重複迴圈。2 電路原理圖 圖4.4.1 3 系統板上硬體連線 把...

89S51微控制器介紹

很多初學51微控制器的會有這樣的問題 at89s51是什麼?書上和網路教程上可都是8051,89c51等!沒聽說過有89s51,到底什麼是89s51呢?這裡,初學者要澄清微控制器實際使用方面的乙個產品概念,mcs 51微控制器是美國inte公司於1980年推出的產品,典型產品有8031 內部沒有程式...