基于51單片機的數(shù)字頻率計的設計_第1頁
基于51單片機的數(shù)字頻率計的設計_第2頁
基于51單片機的數(shù)字頻率計的設計_第3頁
基于51單片機的數(shù)字頻率計的設計_第4頁
基于51單片機的數(shù)字頻率計的設計_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、1 前言頻率測量是電子學測量中最為基本的測量之一。 由于頻率信號抗干擾性強, 易于傳輸, 因此可以獲得較高的測量精度。隨著數(shù)字電子技術(shù)的發(fā)展,頻率測量成為一項越來越普遍 的工作,測頻原理和測頻方法的研究正受到越來越多的關注。頻率計概述數(shù)字頻率計是計算機、通訊設備、音頻視頻等科研生產(chǎn)領域不可缺少的測量儀器。它 是一種用十進制數(shù)字顯示被測信號頻率的數(shù)字測量儀器。它的基本功能是測量正弦信號、 方波信號及其他各種單位時間內(nèi)變化的物理量。在進行模擬、數(shù)字電路的設計、安裝、調(diào) 試過程中,由于其使用十進制數(shù)顯示,測量迅速,精確度高,顯示直觀,經(jīng)常要用到頻率 計。傳統(tǒng)的頻率計采用測頻法測量頻率,通常由組合電路

2、和時序電路等大量的硬件電路組 成,產(chǎn)品不但體積大,運行速度慢而且測量低頻信號不準確。本次采用單片機技術(shù)設計一 種數(shù)字顯示的頻率計,測量準確度高,響應速度快,體積小等優(yōu)點。頻率計發(fā)展與應用在我國,單片機已不是一個陌生的名詞,它的出現(xiàn)是近代計算機技術(shù)的里程碑事件。 單片機作為最為典型的嵌入式系統(tǒng),它的成功應用推動了嵌入式系統(tǒng)的發(fā)展。單片機已成 為電子系統(tǒng)的中最普遍的應用。 單片機作為微型計算機的一個重要分支, 其應用范圍很廣, 發(fā)展也很快,它已成為在現(xiàn)代電子技術(shù)、計算機應用、網(wǎng)絡、通信、自動控制與計量測試、 數(shù)據(jù)采集與信號處理等技術(shù)中日益普及的一項新興技術(shù),應用范圍十分廣泛。其中以AT89S52為

3、內(nèi)核的單片機系列目前在世界上生產(chǎn)量最大,派生產(chǎn)品最多,基本可以滿足大 多數(shù)用戶的需要。2系統(tǒng)總體設計測頻的原理測頻的原理歸結(jié)成一句話,就是“在單位時間內(nèi)對被測信號進行計數(shù)”。被測信號通過輸入通道的放大器放大后,進入整形器加以整形變?yōu)榫匦尾?,并送入主門的輸入端。 由晶體振蕩器產(chǎn)生的基頻,按十進制分頻得出的分頻脈沖,經(jīng)過基選通門去觸發(fā)主控電路, 再通過主控電路以適當?shù)木幋a邏輯便得到相應的控制指令,用以控制主門電路選通被測信 號所產(chǎn)生的矩形波,至十進制計數(shù)電路進行直接計數(shù)和顯示。若在一定的時間間隔T內(nèi)累計周期性的重復變化次數(shù)N,則頻率的表達式為式:fx=由于數(shù)字測量的離散性,被測頻率在計數(shù)1量化誤差

4、,在不計其他誤差影響的情況頻率計數(shù)器嚴格地按照f=-公式進行測頻。T器中所記進的脈沖數(shù)可有正一個或負一個脈沖的 下,測量精度將為:(fA) 1N應當指出,測量頻率時所產(chǎn)生的誤差是由N和T倆個參數(shù)所決定的,一方面是單位時間內(nèi)計數(shù)脈沖個數(shù)越多時,精度越高,另一方面T越穩(wěn)定時,精度越高。為了增加單位時間內(nèi)計數(shù)脈沖的個數(shù),一方面可在輸入端將被測信號倍頻,另一方面可增加T來滿足,為了增加T的穩(wěn)定度,只需提高晶體振蕩器的穩(wěn)定度和分頻電路的可靠性就能達到 上述表明,在頻率測量時,被測信號頻率越高,測量精度越高??傮w思路頻率計是我們經(jīng)常會用到的實驗儀器之一,頻率的測量實際上就是在單位時間內(nèi)對信號進行計數(shù),計數(shù)

5、值就是信號頻率。本文介紹了一種基于 單片機AT89S52制作的頻率計的設計方法,所制作的頻率計測量比較高的頻率采用外部十分頻,測量較低頻率值時采用單 片機直接計數(shù),不進行外部分頻。該頻率計實現(xiàn)10HZ2MHZ勺頻率測量,而且可以實現(xiàn)量程自動切換功能,四位共陽極動態(tài)顯示測量結(jié)果,可以測量正弦波、三角波及方波等各種 波形的頻率值。具體模塊根據(jù)上述系統(tǒng)分析,頻率計系統(tǒng)設計共包括五大模塊:單片機控制模塊、電源模塊、 放大整形模塊、分頻模塊及顯示模塊。各模塊作用如下:1、單片機控制模塊:以 AT89C51單片機為控制核心,來完成它待測信號的計數(shù),譯 碼,和顯示以及對分頻比的控制。利用其內(nèi)部的定時/計數(shù)器

6、完成待測信號周期/頻率的 測量。2、電源模塊:為整個系統(tǒng)提供合適又穩(wěn)定的電源,主要為單片機、信號調(diào)理電路以 及分頻電路提供電源,電壓要求穩(wěn)定、噪聲小及性價高的電源。3、放大整形模塊:放大電路是對待測信號的放大,降低對待測信號幅度的要求。整 形電路是對一些不是方波的待測信號轉(zhuǎn)化成方波信號,便于測量。4、 分頻模塊:考慮單片機外部計數(shù),使用 12 MHz時鐘時,最大計數(shù)速率為500 kHz, 因此需要外部分頻。分頻電路用于擴展單片機頻率測量范圍,并實現(xiàn)單片機頻率測量使用 統(tǒng)一信號,可使單片機測頻更易于實現(xiàn),而且也降低了系統(tǒng)的測頻誤差。5、顯示模塊:顯示電路采用四位共陽極數(shù)碼管動態(tài)顯示,為了加大數(shù)碼

7、管的亮度, 使用4個PNP三極管進行驅(qū)動,便于觀測。綜合以上頻率計系統(tǒng)設計有單片機控制模塊、電源模塊、放大整形模塊、分頻模塊及 顯示模塊等組成,頻率計的總體設計框圖如圖 2所示。圖頻率計總體設計框圖vccPO, 0/ (ADA) PO. 1/ (ADI) P(k It (AR2) PD* 3/ (AD3) 卩S 4/AD4) P0_ 5/ (ADS) PQ 6/ (ADt) 他 7/ (AD7) EX/VPP LE/PROC F?frsP2 7/(AI5) P2. 6/(Al 4) P2. S/CA13) P2. 4 (AU)P2e 3/(All) P2* 2/ (AID) P2. / (A*

8、i) P2. O/(Atl)AT89C513系統(tǒng)硬件設計AT89C51主控制器模塊AT89C51的介紹AT89C51是一種帶4K字節(jié)FLASH存儲器的低電壓、高性能 CMOS位微處理器,俗稱 單片機。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATME的 AT89C51是 種高效微控制器。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方 案。AT89C51引腳如下圖所示。PL OCTPL 1 PL 2PE 3PL 4Pl. 5 PU 6PI. 7 RST (AXD)P3. 0 (TXDPk 1 (TNTOW 2 (TvrT) P3. 3 (T0)P3. 4 (TH

9、PM 5 |WHP3 6 nrmph?XTAL2 XTAL1LSD圖AT89C51引腳圖復位電路復位電路是維持單片機最小系統(tǒng)運行的基本模塊。復位電路如下圖所示圖復位電路高頻率的時鐘有利于程序更快的運行,也有可以實現(xiàn)更高的信號采樣率,從而實現(xiàn)更 多的功能。但是告訴對系統(tǒng)要求較高,而且功耗大,運行環(huán)境苛刻??紤]到單片機本身用 在控制,并非高速信號采樣處理,所以選取合適的頻率即可。合適頻率的晶振對于選頻信 號強度準確度都有好處,本次設計單片機實物具有的晶振頻率。AT89C51單片機最小系統(tǒng)如下圖所示。PO O/AOCPO I/AT1)PO力心XTAL2FC N心FOPLPO 6/ADFRSTrO 7

10、/AD7P;閥P2 1廂p?.2/Aia=2.a/Ai iALEP2.4/A12EAF7 5/A1JLi燦Pl,0F3 Q/PXCPl.1P3 1ATXD7.2PJ 2/IMI DPl.3PSiHTFPl.4P3.J.TTF1.5ps.srri0p;-的護P1JP3 7fRDU1fi212&12任 噸21 嚴屮圖單片機最小系統(tǒng)原理圖分頻設計模塊分頻電路用于擴展單片機頻率測量范圍,并實現(xiàn)單片機頻率和周期測量使用統(tǒng)一信號,可使單片機測頻更易于實現(xiàn),而且也降低了系統(tǒng)的測頻誤差。本頻率計的設計以AT89C51單片機為核心,利用他內(nèi)部的定時/計數(shù)器完成待測信號周期/頻率的測量。單片機 AT89C51內(nèi)部

11、具有2個16位定時計數(shù)器,定時/計數(shù)器的工 作可以由編程來實現(xiàn)定時、 計數(shù)和產(chǎn)生計數(shù)溢出時中斷要求的功能。 在定時器工作方式下, 在被測時間間隔內(nèi),每來一個機器周期,計數(shù)器自動加1 (使用12 MHz時鐘時,每1 is加 1),這樣以機器周期為基準可以用來測量時間間隔。在計數(shù)器工作方式下,加至外部 引腳的待測信號發(fā)生從 1 到 0的跳變時計數(shù)器加 1,這樣在計數(shù)閘門的控制下可以用來測 量待測信號的頻率。外部輸入在每個機器周期被采樣一次,這樣檢測一次從 1 到 0 的跳變 至少需要 2 個機器周期( 24個振蕩周期),所以最大計數(shù)速率為時鐘頻率的 1/24(使用 12 MHz時鐘時,最大計數(shù)速率

12、為500 kHz),因此采用74LS161進行外部十分頻使測頻范 圍達到2MHz為了測量提高精度,當被測信號頻率值較低時,直接使用單片機計數(shù)器計數(shù) 測得頻率值;當被測信號頻率值較高時采用外部十分頻后再計數(shù)測得頻率值。這兩種情況 使用74LS151進行通道選擇,由單片機先簡單測得被測信號是高頻信號還是低頻信號,然 后根據(jù)信號頻率值的高低進行通道的相應導通,繼而測得相應頻率值。顯示模塊 顯示模塊由頻率值顯示電路和量程轉(zhuǎn)換指示電路組成。頻率值顯示電路采用四位共陽 極數(shù)碼管動態(tài)顯示頻率計被測數(shù)值,使用三極管 8550 進行驅(qū)動,使數(shù)碼管亮度變亮,便 于觀察測量。量程轉(zhuǎn)換指示電路由紅、黃、綠三個 LED

13、分別指示Hz、KHz及MHz檔,使讀 數(shù)簡單可觀。數(shù)碼管介紹 常見的數(shù)碼管由七個條狀和一個點狀發(fā)光二極管管芯制成,叫七段數(shù)碼管,根據(jù)其結(jié) 構(gòu)的不同,可分為共陽極數(shù)碼管和共陰極數(shù)碼管兩種。根據(jù)管腳資料,可以判斷使用的是 何種接口類型。LED數(shù)碼管中各段發(fā)光二極管的伏安特性和普通二極管類似,只是正向壓降較大,正 向電阻也較大。在一定范圍內(nèi),其正向電流與發(fā)光亮度成正比。由于常規(guī)的數(shù)碼管起輝電 流只有12 mA最大極限電流也只有1030 mA所以它的輸入端在5 V電源或高于TTL 高電平 V) 的電路信號相接時,一定要串加限流電阻,以免損壞器件。頻率值顯示電路 數(shù)碼管電路設計不加三極管驅(qū)動時,數(shù)碼管顯

14、示數(shù)值看不清,不便于頻率值的測量與 調(diào)試。因此加入三極管 8550進行驅(qū)動數(shù)碼管。使用 4 位數(shù)碼管進行頻率值顯示,如果選 擇共陰極數(shù)碼管顯示,則需要 8個三極管進行驅(qū)動,而采用共陽極數(shù)碼管則需要 4個三極管驅(qū)動,為了節(jié)約成本,因此選用共陽極數(shù)碼管進行動態(tài)顯示,具體數(shù)碼管設計電路如圖 所示。0 0 圖數(shù)碼管顯示電路檔位轉(zhuǎn)換指示電路根據(jù)設計要求,采用紅、黃、綠三個 LED分別指示Hz、KHz及MHZ當,根據(jù)被測信號的頻率值大小,可以自動切換量程單位,無需手動切換,便于測量和讀數(shù),簡單方便。具體設計的檔位轉(zhuǎn)換LED指示電路如圖所示。* Tk-圖LED檔位指示電路4系統(tǒng)軟件設計系統(tǒng)軟件設計主要采用模

15、塊化設計,敘述了各個模塊的程序流程圖,并介紹了軟件Keil 和Proteus的使用方法和調(diào)試仿真。軟件模塊設計系統(tǒng)軟件設計采用模塊化設計方法。整個系統(tǒng)由初始化模塊,信號頻率測量模塊,自 動量程轉(zhuǎn)換和顯示模塊等模塊組成。系統(tǒng)軟件流程如圖所示。頻率計開始工作或者完成一次頻率測量,系統(tǒng)軟件都進行測量初始化。測量初始化模 塊設置堆棧指針(SP、工作寄存器、中斷控制和定時/計數(shù)器的工作方式。定時/計數(shù) 器的工作首先被設置為計數(shù)器方式,即用來測量信號頻率。圖系統(tǒng)軟件流程總圖首先定時/計數(shù)器的計數(shù)寄存器清 0,運行控制位TR置1,啟動對待測信號的計數(shù)。 計數(shù)閘門由軟件延時程序?qū)崿F(xiàn),從計數(shù)閘門的最小值(即測量

16、頻率的高量程)開始測量, 計數(shù)閘門結(jié)束時TR清0,停止計數(shù)。計數(shù)寄存器中的數(shù)值經(jīng)過數(shù)制轉(zhuǎn)換程序從十六進制數(shù) 轉(zhuǎn)換為十進制數(shù)。判斷該數(shù)的最高位,若該位不為0,滿足測量數(shù)據(jù)有效位數(shù)的要求,測量值和量程信息一起送到顯示模塊;若該位為 0,將計數(shù)閘門的寬度擴大10倍,重新對待 測信號的計數(shù),直到滿足測量數(shù)據(jù)有效位數(shù)的要求。定時/計數(shù)器的工作被設置為定時器 方式,定時/計數(shù)器的計數(shù)寄存器清 0,在判斷待測信號的上跳沿到來后,運行控制位 TR置為1,以單片機工作周期為單位進行計數(shù),直至信號的下跳沿到來,運行控制位TR清0,停止計數(shù)。 16位定時計數(shù)器的最高計數(shù)值為 65535,當待測信號的頻率較低時,定時

17、 計數(shù)器可以對被測信號直接計數(shù),當被測信號的頻率較高時,先由硬件十分頻后再有定時 計數(shù)器對被測信號計數(shù),加大測量的精度和范圍。應用軟件簡介此設計需要在 Keil 軟件平臺上完成程序的調(diào)試 , 在 Proteus 軟件平臺上完成仿真顯 示。因此介紹如何使用 Keil 和 Proteus 進行軟件的仿真。Keil 簡介Keil軟件是目前最流行開發(fā)系列單片機的軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā) 環(huán)境( uVision )將這些部份組合在一起。而 Proteus 與其它單片機仿真軟件不同的是, 它不僅能仿真單片機CP

18、U的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它 電路的工作情況。因此在仿真和程序調(diào)試時,關心的不再是某些語句執(zhí)行時單片機寄存器 和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于 這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應用間脫節(jié)的矛盾和現(xiàn)象 16 。 protues 簡介protues是Labcenter公司出品的電路分析、實物仿真系統(tǒng),而 KEIL是目前世界上最好 的51單片機匯編和C語言的集成開發(fā)環(huán)境。他支持匯編和 C的混合編程,同時具備強大的軟 件仿真和硬件仿真功能 17。 Protues 能夠很方便的和 KEIL、 Matlab ID

19、E 等編譯模擬軟件結(jié) 合。Proteus提供了大量的元件庫有 RAM ROM鍵盤,馬達,LED LCD,AD/DA部分SPI 器件,部分IIC器件,它可以仿真單片機和周邊設備,可以仿真51系列、AVR PIC等常用的MCU與keil和MPLA不同的是它還提供了周邊設備的仿真,只要給出電路圖就可以仿真。5系統(tǒng)仿真系統(tǒng)總電路圖根據(jù)課程設計任務書的要求,本次課設設計的系統(tǒng)總電路圖如下圖所示FTfji jCITT ri um 2 *mfj-vikd4置f 一 rnluKlrn常瓷 LrTMrT莒“ I 2 b f & FC lirluli血 ullh o的剛5!HK1ftpr nr*苛片# 耳扭 At

20、i *J f.ronf.rini rn7TJO_r1口 MJ*UU rn a PUlAiMPE3 alBEsE7DS*BF XBTF-13巧HiFhM 盤 4!屋LLEf TwnuF丹貝鼻p/& i amn rj jrmH .1 zia P3T PE-H - * ruriw ra.c Qqg rawi r2.7Ai.-ef0e0Rg?Hr nade 杠丫 11 Hiup in圖系統(tǒng)仿真結(jié)果圖6系統(tǒng)硬件調(diào)試頻率計的測試如圖為頻率計的測試實物拍攝圖。其中函數(shù)信號發(fā)生器輸出頻率為1000Hz、幅值為5V的方波信號時,數(shù)字頻率計測得的頻率為 996Hz在誤差允許的范圍內(nèi),二者相等,符合 課設任務書要求

21、。圖頻率計測試的實物拍攝圖低頻方波信號發(fā)生器的測試圖低頻信號發(fā)生器測試的實物拍攝圖如圖為低頻信號發(fā)生器測試的實物拍攝圖。其中低頻方波信號發(fā)生器輸出頻率的LED顯示值為400Hz經(jīng)過示波器檢測得到幅值為,頻率為,在誤差允許的范圍內(nèi),二者相等, 符合課設任務書要求。低頻方波信號發(fā)生器、數(shù)字頻率計的綜合測試如圖為低頻方波信號發(fā)生器檢測頻率計的實物拍攝圖。其中低頻方波信號發(fā)生器輸出 頻率的LED顯示值為300Hz,經(jīng)過數(shù)字頻率計檢測得到頻率的 LCD顯示值為297Hz,在誤 差允許的范圍內(nèi),二者相等,符合課設任務書要求。圖低頻方波信號發(fā)生器檢測頻率計的實物拍攝圖7 心得體會本次設計的過程和結(jié)果都給了我

22、很多感觸。初次拿到課程設計的題目時,只是對頻率 有一定的理解,至于怎么設計,幾乎沒有什么想法。在同學的指導和講解下,對頻率計的 介紹有了一定的了解。后來通過不斷的學習和查閱資料,終于清楚的知道了頻率計的基本 情況和設計的方案有了一定的理解。通過對各種性能的比較和所學知識能實現(xiàn)的狀況,對 本次課程設計進行了設計,最后進行的是課設報告的撰寫。通過本次設計,讓我學會了從系統(tǒng)的高度來考慮設計的方方面面,對電路的設計和研 究有了更深刻的體會;讓我了解到軟件的設計是建立在對硬件了解的基礎上的,特別是對 單片機的功能,引腳定義和內(nèi)部結(jié)構(gòu)要有較為詳細的了解,此外對電路板中所用到的各個 芯片的引腳和功能,也要進

23、行了解;在編寫程序時,進行模塊化設計,以嚴謹?shù)膽B(tài)度進行 編程,避免出現(xiàn)低級錯誤,養(yǎng)成為程序添加注釋和說明的好習慣,以便自己的修改和閱讀 者輕松的了解程序的各部分及整體的功能。參考文獻1李華單片機實用接口技術(shù) M. 航空航天大學出版社 . 2006.2張鵬王雪梅 . 單片機原理與應用實例教程 M. 海軍出版社 . 2007.3赫建國等 . 單片機在電子電路設計中的應用 M. 清華大學出版社 . 2005.4康華光電子技術(shù)基礎(模擬部分) M. 高等教育出版社 . 1998 5吳清平 . 單片機原理與應用實例教程 M. 海軍出版社 . 2008.#include #define uint unsi

24、gned int#define uchar unsigned charsigned long count=0;int i=0, x=0;sbit RS=P1A0;sbit RW=P1;sbit E=P2A5;sbit dula=P2A6;sbit wela=P2A7;unsigned int shu=0x30,0x31,0x32,0x33,0x34,0X35,0x36,0x37,0x38,0x39; /數(shù)字的 ASCII 碼放在數(shù)組中uchar code table=made by Li Houmin;uchar num;void delay(int count)/ 延時int p;while

25、(count-)for(p=0;p110;p+);void write_com(unsigned int n)/ 寫指令RS=0;P0=n;delay(5);E=1;delay(5);E=0;void write_data(unsigned char t)/ 寫數(shù)據(jù)RS=1;P0=t;delay(5);E=1;delay(5);E=0;void time1_int(void) interrupt 3TH1=TL1=0;TR1=1;x+;void time0_int(void) interrupt 1TH0=(65535-50000)/256; / 裝初值 , 定時 50msTL0=(65535-50000)%256;i+;if(i=20) /1s 時間已到i=0;TR1=0;/ 關閉計數(shù)器 1count=65536*x+256*TH1+TL1;x=0;TH1=TL1=0;/ 重新裝初值TR1=1;/ 重新啟動計數(shù)器器 1void show()write_com(0x85);write_data(shucount/100000); delay(5);顯示十萬位write_com(0x86);write_data(shu(count/10000)%10);delay(5); write_com(0x87);write_data(s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論