基于AT89C51的頻率計設計(共48頁)_第1頁
基于AT89C51的頻率計設計(共48頁)_第2頁
基于AT89C51的頻率計設計(共48頁)_第3頁
基于AT89C51的頻率計設計(共48頁)_第4頁
基于AT89C51的頻率計設計(共48頁)_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于(jy)AT89C51的頻率計設計(shj)第一章緒論;隨著微電子技術(shù)和計算機技術(shù)的迅速發(fā)展,特別是單片;采用不同的測量原理,可以設計出不同結(jié)構(gòu)的頻率測量;通常能對頻率和時間(shjin)兩種以上功能測量的數(shù)字化測量儀;1.1頻率計的概述;數(shù)字頻率計是計算機、通訊設備、音頻視頻等科研生產(chǎn);本數(shù)字頻率計將采用定時、計數(shù)的方法測量頻率,采用;1.2頻率計的主要性能;1.2.1.測試功能;它表明數(shù)字頻率計所具備的全部測試第一章 緒 論隨著微電子技術(shù)和計算機技術(shù)的迅速發(fā)展,特別是單片微機的出現(xiàn)和發(fā)展,使傳統(tǒng)的電子測量儀器在原理、功能、精度及自動化水平等方面都發(fā)生了巨大的變化,形成一種完全突破傳統(tǒng)概

2、念的新一代測量儀器。頻率計廣泛采用了高速集成電路和大規(guī)模集成電路,使儀器在小型化、耗電、可靠性等方面都發(fā)生了重大的變化。對石英晶體振蕩器,各種信號發(fā)生器,各種倍頻和分頻電路輸出信號的頻率需要測量;廣播,電視,電訊,微電子技術(shù)等現(xiàn)代化的科學領(lǐng)域,更需要進行頻率測量。采用不同的測量原理,可以設計(shj)出不同結(jié)構(gòu)的頻率測量儀器,所以按測量原理來分,數(shù)字頻率計可分為諧振式,比較式和計數(shù)式三類;按選用電路形式來分,它又可以分為模擬式和數(shù)字式兩類。通常能對頻率和時間兩種以上功能測量的數(shù)字化測量儀器,稱為數(shù)字頻率計,有時也稱為通用計數(shù)器或電子(dinz)計數(shù)器。當前較多采用的是數(shù)字頻率計。計數(shù)式頻率計是

3、基于時間或頻率的A/D轉(zhuǎn)換(zhunhun)原理,并依賴于數(shù)字計數(shù)技術(shù)發(fā)展起來的一類新型數(shù)字儀器。與其他電子儀器一樣,數(shù)字頻率計也經(jīng)歷了電子管,晶體管和集成電路等幾個階段,其性能日臻完善,功能不斷擴大,若配以適當?shù)牟寮騻鞲衅?,還可以對多種電量和非電量進行測量。1.1 頻率計的概述數(shù)字頻率計是計算機、通訊設備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。它是一種用十進制數(shù)字顯示被測信號頻率的數(shù)字測量儀器。它的基本功能是測量正弦信號,方波信號及其他各種單位時間內(nèi)變化的物理量。在進行模擬、數(shù)字電路的設計、安裝、調(diào)試過程中,由于其使用十進制數(shù)顯示,測量迅速,精確度高,顯示直觀,經(jīng)常要用到頻率計。本數(shù)字

4、頻率(pnl)計將采用定時、計數(shù)的方法測量頻率,采用一個1602A LCD顯示器動態(tài)顯示6位數(shù)。測量范圍從1Hz10kHz的正弦波、方波、三角(snjio)波,時基寬度為1us,10us,100us,1ms。用單片機實現(xiàn)自動(zdng)測量功能。1.2 頻率計的主要性能1.2.1. 測試功能它表明數(shù)字頻率計所具備的全部測試功能,一般包括測頻,周期,累計脈沖數(shù),頻率比,時間間隔及自較等功能。1.2.2. 測量范圍它說明不同功能的有效測量范圍。如測頻率時,測量范圍是數(shù)字頻率計處于正常工作條件下,被測信號的頻率范圍,一般用頻率的上,下限值表示,低端大部分從10HZ開始;高端因不同的頻率計而異。因此高

5、端頻率是確定低,中,高速計數(shù)器的依據(jù)。在測量周期時,測量范圍常用周期的最大值,最小值表示。1.2.3. 輸入特性數(shù)字頻率計一般有23個輸入通道,測試不同項目時,被測信號可經(jīng)不同的通道輸入儀器。輸入特性是表明數(shù)字式頻率計于被測信號源相連的一組特性參數(shù),通常包括以下幾個方面。(1)輸入靈敏度。通常指儀器(yq)能正常工作的最小輸入電壓的有效值。常用的數(shù)字頻率計的靈敏度在100mV左右(zuyu)。(2)最大輸入(shr)電壓。指儀器所能允許的最大輸入電壓值,被測信號超過該值,則儀器不能保證正常工作,甚至會損壞。(3)輸入耦合方式。儀器設置AC和DC兩種耦合方式。AC耦合時,被測信號經(jīng)隔直電容輸入,

6、DC耦合時,被測信號直接進入輸入電路。AC耦合時適用于測量帶有直流電平的信號,DC耦合適用于低頻脈沖或階躍方波信號的測量。(4)輸入阻抗。為了減輕信號源的負載,數(shù)字式頻率計一般采用高頻輸入阻抗。輸入阻抗由輸入電阻和輸入電容兩部分組成。1.2.4. 顯示及工作方式它表明可顯示的內(nèi)容,顯示數(shù)字的位數(shù),所用的顯示器件以及一次測量完畢顯示測量結(jié)果的持續(xù)時間。有的還說明電子計數(shù)器是“不記憶”顯示方式或“記憶”顯示方式。1.2.5. 輸出(shch)儀器可以直接輸出的標準(biozhn)頻率信號有幾種,而且可以表明輸出測量數(shù)據(jù)的編碼方式和輸出電平等。第二章 方案選擇(xunz)及論證2.1 方案論證和設計

7、方案一:系統(tǒng)測頻、測周期部分采用中小規(guī)模數(shù)字集成電路,用機械功能轉(zhuǎn)換開關(guān)換擋,完成測頻率、測量周期及測脈寬等功能。該方案的特點是中小規(guī)模集成電路應用技術(shù)成熟,概念清楚,能可靠的完成頻率計的基本功能,但由于系統(tǒng)功能要求較高,所以電路過于復雜。而且多量程轉(zhuǎn)換開關(guān)使用不便。方案二:采用測頻集成芯片,如5G7226B是采用CMOS大規(guī)模集成電路工藝制造的單片電子計數(shù)器芯片。它只需外接幾個元件就可以構(gòu)成一臺體積小、成本低的多功能通用計數(shù)器。其直接測量頻率范圍為010MHz,測周期范圍為0.5us10s;有4個內(nèi)部閘門時間(0.01s、0.1s、1s、10s)可供選擇;位和段的信號線均能直接驅(qū)動LED數(shù)碼

8、管,并且有益處指示;僅要求單一的5V直流電源供電,使用非常方便。方案三:系統(tǒng)(xtng)采用STC89C51單片機作為控制核心,門控信號(xnho)由單片機產(chǎn)生。由于使用了單片機,使得整個系統(tǒng)具有極為靈活的可編程性,能方便地對系統(tǒng)進行(jnxng)功能擴展與改進。以上方案均需使用小信號放大、整形通道電路來提高系統(tǒng)的測量精度和靈敏度。方案比較及其選用依據(jù):雖然方案一要比方案二簡潔、新穎,可以滿足系統(tǒng)設計的指標要求,但是不符合題意。采用帶有運算器的單片機使本系統(tǒng)可以通過對軟件改進而擴展功能,提高測量精度,因此我們采用方案三作為具體實施方案。圖1 系統(tǒng)總框圖2.2 基本設計原理基本設計原理是直接用十

9、進制數(shù)字顯示被測信號頻率的一種測量裝置。它以測量周期的方法對正弦波、方波、三角波的頻率進行自動的測量。所謂“頻率”,就是周期性信號在單位時間(1s)內(nèi)變化的次數(shù)。若在一定時間間隔T內(nèi)測得這個周期性信號的重復變化次數(shù)N,則其頻率可表示為f=N/T。其中脈沖形成電路的作用是將被測信號變成脈沖信號,其重復頻率等于被測頻率fx。時間基準信號發(fā)生器提供標準的時間脈沖信號,若其周期為1s,則門控電路的輸出信號持續(xù)時間亦準確地等于1s。閘門電路由標準秒信號進行控制,當秒信號來到時,閘門開通,被測脈沖信號通過閘門送到計數(shù)譯碼顯示電路。秒信號結(jié)束時閘門關(guān)閉,計數(shù)器停止計數(shù)。由于計數(shù)器計得的脈沖數(shù)N是在1秒時間內(nèi)

10、的累計數(shù),所以被測頻率fx=NHz。測頻率原理分析:若某一信號(xnho)在T秒時間里重復(chngf)變化了N 次,則根據(jù)(gnj)頻率的定義可知該信號的頻率fs 為:fs=N/T 通常測量時間T取1秒或它的十進制時間。2.3 設計思路所設計的等精度寬范圍的頻率計用單片機AT89C51 、計數(shù)器74HC393 及D 觸發(fā)器74HC74 等構(gòu)成。利用外擴的計數(shù)器(如74HC393) 和單片機AT89C51 內(nèi)含的16 位計數(shù)器來構(gòu)成多位計數(shù)器分別對待測信號和標準信號計數(shù)。在待測信號和標準信號同步條件下,當標準信號的計數(shù)達到一定時,可對兩個信號的計數(shù)進行處理來實現(xiàn)待測信號的測頻。由于引進對標準信

11、號的計數(shù)來定時,因此可達到與標準信號相當?shù)木?。采用?4HC393 最高計數(shù)頻率可達39MHz ,比Maxim 公司的ICM7240 計數(shù)頻率要高的多。若對外部信號進行分頻計數(shù),然后再利用AT89C51 對所測信號進行相對應的擴頻,這樣可使頻率計的最高測量頻率達GHz 數(shù)量級范圍。由此達到頻率計測量的寬范圍的要求?,F(xiàn)討論(toln)用AT89C51 和74HC393 擴展(kuzhn)計數(shù)器對外部待測信號計數(shù)的工作原理,原理圖如圖5所示。負交替的信號波形變換(binhun)成可被單片機接受的TTL/C;圖3系統(tǒng)硬件框圖;系統(tǒng)軟件包括測量初始化模塊、顯示模塊、信號頻率測;圖4系統(tǒng)軟件框圖;2.

12、5處理方法;本頻率計的設計以AT89C51單片機為核心,利用;部引腳發(fā)生從1到0的跳變時計數(shù)器加1,這樣在計數(shù);設計綜合考慮了頻率測量精度和測量反應時間的要求;2.6頻率計的量程自動切換;在使用計數(shù)方法實現(xiàn)頻率測量時,這負交替的信號波形變換成可被單片機接受的TTL/ CMOS 兼容信號;分頻電路用于擴展單片機的頻率測量范圍并實現(xiàn)單片機頻率測量和周期測量使用統(tǒng)一的輸入信號。圖3 系統(tǒng)硬件框圖系統(tǒng)軟件包括(boku)測量初始化模塊、顯示模塊、信號頻率測量模塊、量程自動轉(zhuǎn)換模塊、信號周期測量模塊、定時器中斷服務模塊、浮點數(shù)格式化模塊、浮點數(shù)算術(shù)運算模塊、浮點數(shù)到BCD 碼轉(zhuǎn)換模塊(m kui)。系統(tǒng)

13、軟件框圖如圖3 所示。圖4 系統(tǒng)軟件(x tn run jin)框圖2.5 處理方法本頻率計的設計以AT89C51 單片機為核心,利用它內(nèi)部的定時/ 計數(shù)器完成待測信號周期/ 頻率的測量。單片機AT89C51 內(nèi)部具有2 個16 位定時/計數(shù)器,定時/ 計數(shù)器的工作可以由編程來實現(xiàn)定時、計數(shù)和產(chǎn)生計數(shù)溢出中斷要求的功能。在構(gòu)成為定時器時,每個機器周期加1 (使用12MHz 時鐘時,每1us 加1) ,這樣以機器周期為基準可以用來測量時間間隔。在構(gòu)成為計數(shù)器時,在相應的外部引腳發(fā)生從1 到0 的跳變時計數(shù)器加1 ,這樣在計數(shù)閘門的控制下可以用來測量待測信號的頻率。外部輸入每個機器周期被采樣一次,

14、這樣檢測一次從1 到0 的跳變至少需要2 個機器周期(24 個振蕩周期) ,所以最大計數(shù)速率為時鐘頻率的1/ 24 (使用12MHz 時鐘時,最大計數(shù)速率為500 KHz) 。定時/計數(shù)器的工作由相應的運行控制位TR 控制,當TR置1 ,定時/ 計數(shù)器開始計數(shù);當TR 清0 ,停止計數(shù)。設計綜合考慮了頻率測量(cling)精度和測量反應時間的要求。例如當要求頻率測量結(jié)果為3 位有效數(shù)字(yu xio sh z),這時如果待測信號(xnho)的頻率為1Hz ,則計數(shù)閘門寬度必須大于1000s。為了兼顧頻率測量精度和測量反應時間的要求,把測量工作分為兩種方法。當待測信號的頻率大于100Hz 時,定

15、時/ 計數(shù)器構(gòu)成為計數(shù)器,以機器周期為基準,由軟件產(chǎn)生計數(shù)閘門,這時要滿足頻率測量結(jié)果為3 位有效數(shù)字,則計數(shù)閘門寬度大于1s 即可。當待測信號的頻率小于100Hz 時,定時/ 計數(shù)器構(gòu)成為定時器,由頻率計的予處理電路把待測信號變成方波,方波寬度等于待測信號的周期。用方波作計數(shù)閘門,當待測信號的頻率等于100Hz ,使用12MHz 時鐘時的最小計數(shù)值為10000 ,完全滿足測量精度的要求。2.6 頻率計的量程自動切換在使用計數(shù)方法實現(xiàn)頻率測量時,這時外部的待測信號為定時/ 計數(shù)器的計數(shù)源,利用軟件延時程序?qū)崿F(xiàn)計數(shù)閘門。頻率計的工作過程為:首先定時/計數(shù)器的計數(shù)寄存器清0 ,運行控制位TR 置1

16、 ,啟動定時/ 計數(shù)器;然后運行軟件延時程序,同時定時/計數(shù)器對外部的待測信號進行計數(shù),延時結(jié)束時TR 清0 ,停止計數(shù);最后從計數(shù)寄存器讀出測量數(shù)據(jù),在完成數(shù)據(jù)處理后,由顯示電路顯示測量結(jié)果。在使用定時方法實現(xiàn)頻率(pnl)測量時,這時外部的待測信號(xnho)通過頻率計的予處理(chl)電路變成寬度等于待測信號周期的方波,該方波同樣加至定時/ 計數(shù)器的輸入腳。這時頻率計的工作過程為:首先定時/ 計數(shù)器的計數(shù)寄存器清0 ,然后檢測方波高電平是否加至定時/ 計數(shù)器的輸入腳;當判定高電平加至定時/計數(shù)器的輸入腳,運行控制位TR 置1 ,啟動定時/計數(shù)器對單片機的機器周期的計數(shù),同時檢測方波高電平

17、是否結(jié)束;當判定高電平結(jié)束時TR 清0 ,停止計數(shù),然后從計數(shù)寄存器讀出測量數(shù)據(jù),在完成數(shù)據(jù)處理后,由顯示電路顯示測量結(jié)果。測量結(jié)果的顯示格式采用科學計數(shù)法,即有效數(shù)字乘以10 為底的冪。這里設計的 頻率計用5 位數(shù)碼管顯示測量結(jié)果:前3 位為測量結(jié)果的有效數(shù)字;第4 位為指數(shù)的符號;第5 位為指數(shù)的值。采用這種顯示格式既保證了測量結(jié)果的顯示精度,又保證了測量結(jié)果的顯示范圍(0. 100Hz - 9. 99MHz) 。量程自動轉(zhuǎn)換的過程由頻率計測量(cling)量程的高端開始。由于只顯示3 位有效數(shù)字(yu xio sh z),在測量量程(lingchng)的高端計數(shù)閘門不需要太寬, 例如在1

18、0. 0 KHz -9919 KHz 頻率范圍,計數(shù)閘門寬度為10mS 即可。頻率計每個工作循環(huán)開始時使用計數(shù)方法實現(xiàn)頻率測量,并使計數(shù)閘門寬度為最窄,完成測量后判斷測量結(jié)果是否具有3 位有效數(shù)字,如果成立,將結(jié)果送去顯示,本工作循環(huán)結(jié)束;否則將計數(shù)閘門寬度擴大10 倍,繼續(xù)進行測量判斷,直到計數(shù)閘門寬度達到1s ,這時對應的頻率測量范圍為100Hz - 999Hz。如果測量結(jié)果仍不具有3 位有效數(shù)字,頻率計則使用定時方法實現(xiàn)頻率測量。定時方法測量的是待測信號的周期,這種方法只設一種量程,測量結(jié)果通過浮點數(shù)運算模塊將信號周期轉(zhuǎn)換成對應的頻率值,再將結(jié)果送去顯示。這樣無論采用何種方式,只要完成一

19、次測量即可,頻率計自動開始下一個測量循環(huán),因此該頻率計具有連續(xù)測量的功能,同時實現(xiàn)量程的自動轉(zhuǎn)換。第三章 系統(tǒng)(xtng)的硬件設計3.1 信號(xnho)預處理電路頻率計信號(xnho)預處理電路如圖5 所示,它由四級電路構(gòu)成。第一級為零偏置放大器,當輸入信號為零或者為負電壓時,三極管截止,輸出高電平;當輸入信號為正電壓時,三極管導通,輸出電壓隨著輸入電壓的上升而下降。零偏置放大器把如正.2AT89C51單片機及引腳的說明;頻率測量電路選用89C51作為頻率計的信號處理核;單片機的外部計數(shù)口測頻率的局限性分析:;在每個機器周期的S5P2期間,CPU采樣引腳的輸;復位電路的基本功能是:系統(tǒng)上電

20、時提供復位信號直至;89C51是一種高性能低功耗的采用CMOS工藝制;VCC:電源電壓;GND:地;P0口:P0口是一組8位漏極開路型雙向I/O3.2 AT89C51單片機及引腳的說明頻率測量電路選用89C51 作為頻率計的信號處理核心。89C51 包含2 個16 位定時/ 計數(shù)器、1個具有同步移位寄存器方式的串行輸入/ 輸出口和4 K8 位片內(nèi)FLASH 程序存儲器。16 位定時/ 計數(shù)器用于實現(xiàn)待測信號的頻率測量或者待測信號的周期測量。同步移位寄存器方式的串行輸入/ 輸出口用于把測量結(jié)果送到顯示電路。4 K 8 位片內(nèi)FLASH 程序存儲器用于放置系統(tǒng)軟件。89C51 與具有更大程序存儲器

21、的芯片管腳兼容,如: 89C52(8 K8 位) 或89C55 (32 K8 位) ,為系統(tǒng)軟件升級打下堅實的物質(zhì)基礎(chǔ)。單片機的外部計數(shù)(j sh)口測頻率的局限性分析:在每個機器(j q)周期的S5P2期間(qjin),CPU采樣引腳的輸入電平。若前一機器周期采樣值為1,下一機器周期采樣值為0,則計數(shù)器增1,此后的機器周期S3P1期間,新的計數(shù)值裝入計數(shù)器。所以檢測一個1到0的跳變需要兩個機器周期,故外部脈沖頻率不超過振蕩器頻率的124。復位電路的基本功能是:系統(tǒng)上電時提供復位信號直至系統(tǒng)電源穩(wěn)定后撤銷復位信號,為可靠起見電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復位信號以防電源開關(guān)或電源插頭分-合過

22、程中引起的抖動而影響復位,有效的防止系統(tǒng)有時會出現(xiàn)一些不可預料的現(xiàn)象,如無規(guī)律可循的“死機”、“程序走飛”等。89C51是一種(y zhn)高性能低功耗的采用CMOS工藝(gngy)制造的8位微控制器,它提供下列標準(biozhn)特征:4K字節(jié)的程序存儲器,128字節(jié)的RAM,32條I/O線,2個16位定時器/計數(shù)器, 一個5中斷源兩個優(yōu)先級的中斷結(jié)構(gòu),一個雙工的串行口, 片上震蕩器和時鐘電路。引腳說明:VCC:電源電壓GND:地P0口:P0口是一組8位漏極開路型雙向I/O口,作為輸出口用時,每個引腳能驅(qū)動8個TTL邏輯門電路。當對0端口寫入1時,可以作為高阻抗輸入端使用。當P0口訪問外部程

23、序存儲器或數(shù)據(jù)存儲器時,它還可設定成地址數(shù)據(jù)總線復用的形式。在這種模式下,P0口具有內(nèi)部上拉電阻。在EPROM編程時,P0口接收指令字節(jié),同時輸出指令字節(jié)在程序校驗時。程序校驗時需要外接上拉電阻。P1口:P1口是一帶有內(nèi)部上拉電阻的8位雙向I/O口。P1口的輸出緩沖能接受或輸出4個TTL邏輯門電路。當對P1口寫1時,它們被內(nèi)部的上拉電阻拉升為高電平,此時可以作為輸入端使用。當作為輸入端使用時,P1口因為內(nèi)部存在上拉電阻,所以當外部被拉低時會輸出一個低電流(IIL)。P2口:P2是一帶(ydi)有內(nèi)部上拉電阻的8位雙向的I/O端口。P2口的輸出(shch)緩沖能驅(qū)動4個TTL邏輯(lu j)門電

24、路。當向P2口寫1時,通過內(nèi)部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P2口在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如MOVX DPTR)時,P2口送出高8位地址數(shù)據(jù)。在這種情況下,P2口使用強大的內(nèi)部上拉電阻功能當輸出1時。當利用8位地址線訪問外部數(shù)據(jù)存儲器時(例MOVX R1),P2口輸出特殊功能寄存器的內(nèi)容。當EPROM編程或校驗時,P2口同時接收高8位地址和一些控制信號。 P3口:P3是一帶有內(nèi)部上拉電阻的8位雙向的I/O端口。P3口的輸出緩沖能驅(qū)動4個TTL邏輯門電路。當向P3口寫1時,

25、通過內(nèi)部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。RST:復位(f wi)輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個(lin )機器周期的高電平將使單片機復位。ALE:當訪問外部存儲器時,地址鎖存允許(ynx)是一輸出脈沖,用以鎖存地址的低8位字節(jié)。當在Flash編程時還可以作為編程脈沖輸出。一般情況下,ALE是以晶振頻率的1/6輸出,可以用作外部時鐘或定時目的。但也要注意,每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。程序存儲允許時外部程序存儲器的讀選通信號。當AT89C52執(zhí)行外部程序存儲器的指令時,每個機器

26、周期兩次有效,除了當訪問外部數(shù)據(jù)存儲器時,將跳過兩個信號。VPP:外部訪問允許。為了使單片機能夠有效的傳送外部數(shù)據(jù)存儲器從0000H到FFFH單元的指令,必須同GND相連接。需要主要的是,如果加密位1被編程,復位時EA端會自動內(nèi)部鎖存。當執(zhí)行內(nèi)部編程指令時,應該接到VCC端。XTAL1:振蕩器反相放大器以及內(nèi)部時鐘電路的輸入端。XTAL2:振蕩器反相放大器的輸出(shch)端。在本次設計(shj)中,采用89C51作為(zuwi)CPU處理器,充分利用其硬件資源,結(jié)合D觸發(fā)器CD4013,分頻器CD4060,模擬轉(zhuǎn)換開關(guān)CD4051,計數(shù)器74LS90等數(shù)字處理芯片,主要控制兩大硬件模塊,量程

27、切換以及顯示模塊。3.3 1s定時的實現(xiàn)在頻率計設計過程當中,如何實現(xiàn)1s 的定時時間是一個關(guān)鍵。一般思路是利用AT89C51 本身的定時器的軟件中斷來實現(xiàn)1s 的定時。此種方法由于要達到1s 的定時,必須用AT89C51 的定時中斷的多次中斷來實現(xiàn)。若每次軟件定時50ms ,則需20 次中斷才能達到1s。由于定時器的軟件中斷響應會存在延時,而且還會隨著AT89C51 外部晶振頻率的不同而不同,因此用軟件中斷很難調(diào)整到確定的1s 定時時間。并且由于內(nèi)部定時器的計數(shù)頻率是經(jīng)過晶振頻率的十二分頻以后得到的,因此也很難達到所需的精度。用硬件來實現(xiàn)定時的硬件電路可將圖3 中待測信號輸入換成標準信號輸入

28、即可,本設計中為晶振輸入。因此在整個頻率計的設計中需用兩片74HC393 來計數(shù)。硬件實現(xiàn)定時的方法是對標準信號,如晶振產(chǎn)生的時鐘信號,用外部擴展的計數(shù)器和AT89C51 內(nèi)部的計數(shù)器共同計數(shù)來實現(xiàn)??蓪⒂糜趯藴市盘栍嫈?shù)的外部擴展計數(shù)器的最高位引到AT89C51 的T1 端,利用AT89C51 單片機的T1 口計數(shù)溢出中斷可以實現(xiàn)對標準信號的計數(shù)和定時。若采用10MHz 晶振,要實現(xiàn)1s 定時,可由外部擴展的計數(shù)器和AT89C51 內(nèi)部計數(shù)器構(gòu)成的整個計數(shù)器計數(shù),當其計數(shù)到10 兆個數(shù)后利用T1 口的計數(shù)器計數(shù)溢出中斷來實現(xiàn)定時即可。要使用于定時的計數(shù)器達到10 兆個計數(shù),僅需對AT89C5

29、1 的T1 計數(shù)器設置計數(shù)初始值。同理,要實現(xiàn)0. 01s、0. 1s 和10s的定時,也僅需設置用于定時的標準計數(shù)器的初始值,這可用軟件來設定。實踐證明用此硬件計數(shù)器計數(shù)定時(dn sh)方法可使所設計的頻率計的精度得到提高,且易于對基準(jzhn)信號時鐘進行調(diào)整,便于產(chǎn)品(chnpn)的后期調(diào)試工作。3.4 同步問題的實現(xiàn)除了定時信號的確定之外,在設計頻率計時,還必須考慮基準信號和待測信號同步。若待測信號和基準時鐘信號不同步,也很難達到所需的精度。下面介紹用74HC74 來實現(xiàn)同步,圖6 是同步原理圖。圖6 同步(tngb)原理圖工作(gngzu)原理:先使CD 端和D 端為低電平,在測

30、量(cling)開始前使CD 和D 為高電平,然后靠待測信號的脈沖來使Q 端輸出為高電平。用Q 端啟動待測信號到達計數(shù)器輸入端,同時也啟動用于定時的對標準信號計數(shù)的計數(shù)器計數(shù)。當對標準信號計數(shù)的計數(shù)器計數(shù)時間到達1 秒定時時間后,使CD 和D 端為低電平,即可達到標準信號與待測信號的同步。然后再在AT89C51 的定時器中斷子程序中處理兩個信號計數(shù)器的計數(shù)值可得到待測信號的頻率。利用此方法來實現(xiàn)信號的同步,可使設計的頻率計的精度得到進一步提高。3.5 數(shù)據(jù)顯示電路顯示電路采用靜態(tài)顯示方式。頻率測量結(jié)果經(jīng)過譯碼,通過89C51 的串行口送出。串行口工作于模式0 ,即同步移位寄存器方式。這時從89

31、C51 的RXD(P3. 0) 輸出數(shù)據(jù),送至串入并出移位寄存器74164 的數(shù)據(jù)輸入口A 和B ;從TXD( P3.在圖中OUT1為經(jīng)整形和放大的被測信號,U4、U;_;過D觸發(fā)器的CP端口則Q端的信號同時啟動計數(shù)器U;設在一次預置門時間Tpr中對被測信號計數(shù)值Nx,;Nx?Tx?Ns?Tcs;即fx?;NxNs;fcs;dfx?;fcsNs;dN;dfcsNs;Nx?;NxfcsN;2s;dN;其測頻相對誤差為:;?fxfx;NsNxfcs;?fcsNxNx?N? 在圖中OUT1為經(jīng)整形和放大的被測信號,U4、U5為兩個可控計數(shù)器,標準頻率信號從U5的時鐘輸入端CLK1輸入,其頻率為fcs

32、;經(jīng)整形后的被測信號從U4的時鐘輸入端CLK1輸入,其頻率為fx,測得Fx。P1.0為門控信號,它是一個寬度為Tpr的脈沖。當門控信號為低電平時,經(jīng)整形后的被測信號的上升沿通_過D觸發(fā)器的CP端口則Q端的信號同時(tngsh)啟動計數(shù)器U4、U5。U4、U5分別(fnbi)對被測信號(頻率為Fx)和標準(biozhn)信號(頻率為fcs)同時計數(shù);當門控信號為高電平時,經(jīng)整形后的被測信號的一個上升沿將使這兩個計數(shù)器同時關(guān)閉。設在一次預置門時間Tpr中對被測信號計數(shù)值Nx,對標準信號的計數(shù)值為Ns,Nx?Tx?Ns?Tcs即fx?NxNsfcs。對其兩邊(lingbin)微分得:dfx?fcsN

33、sdNx?dfcsNsNx?NxfcsN2sdNs。其測頻相對誤差(xin du w ch)為:?fxfx?NsNxfcs?fcsNxNx?N?f?fcs?Nsxcs2?NNsNs?s?NxNx?fcsfcs?NsNs? ?1Ns?fcsfcs?NsNs?fcsfcs?fcsfcs?1Tprfcs由上式可知,測頻誤差(wch)取決于標準頻率fcs和預置(y zh)閘門寬度Tpr,與被測信號頻率(pnl)無關(guān)。這是因為計數(shù)器U4和U5的計數(shù)閘門寬度恰好相等的原故。第四章 系統(tǒng)的軟件設計4.1 AT89C51 測頻的軟件實現(xiàn)原理基準時鐘信號與待測信號同步實現(xiàn)以后,就可對AT89C51 編軟件來實現(xiàn)

34、對待測信號頻率的測量。當用于定時的標準信號計數(shù)器計到所要定時如0. 01s ,0. 1s ,1s 或10s 的相應的計數(shù)脈沖個數(shù)并產(chǎn)生中斷后,在定時器中斷子程序中分別讀取并計算用于定時的計數(shù)器和對待測信號計數(shù)的計數(shù)器的實際讀數(shù)值。若實際所計到的基準信號的計數(shù)器計到的值為Nf ,實際所計到的待測信號的計數(shù)器計到的值為N s ,此時假定基準信號的頻率為10MHz。則信號頻率f s 可用下式計算:fs =Ns/Nf10MHz在定時器中斷子程序里用上式計算出待測信號的頻率(pnl)后可將其值送到顯示器如數(shù)碼管顯示。4.2 AT89C51 測頻的軟件(run jin)程序框圖圖10 主程序框圖 圖11

35、中斷(zhngdun)子程序框圖4.3 數(shù)據(jù)處理過程頻率計開始工作或者完成一次頻率測量,系統(tǒng)軟件都進行測量初始化。測量初始化模塊設置堆棧指針(SP)、工作寄存器、中斷控制和定時計數(shù)器的工作方式。定時計數(shù)器的工作首先被設置為計數(shù)器方式,即用來測量信號頻率。首先定時計數(shù)器的計數(shù)寄存器清0,運行控制位TR置1,啟動對待測信號的計數(shù)。計數(shù)閘門由軟件延時程序?qū)崿F(xiàn),從計數(shù)閘門的最小值(即測量頻率的高量程)開始測量,計數(shù)閘門結(jié)束時TR清0,停止計數(shù)。計數(shù)寄存器中的數(shù)值經(jīng)過數(shù)制轉(zhuǎn)換程序從十六進制數(shù)轉(zhuǎn)換為十進制數(shù)。判斷該數(shù)的最高位,若該位不為0,滿足測量數(shù)據(jù)有效位數(shù)的要求,測量值和量程信息一起送到顯示模塊;若該

36、位為0,將計數(shù)閘門的寬度擴大10倍,重新對待測信號的計數(shù),直到滿足測量數(shù)據(jù)有效位數(shù)的要求(yoqi)。當上述(shngsh)測量判斷過程直到計數(shù)閘門寬度達到1 s(對應(duyng)的頻率測量范圍為100999 Hz)時測量結(jié)果仍不具有3位有效數(shù)字,頻率計則使用定時方法測量待測信號的周期。定時計數(shù)器的工作被設置為定時器方式,定時計數(shù)器的計數(shù)寄存器清0,在判斷待測信號的上跳沿到來后,運行控制位TR置為1,以單片機工作周期為單位進行計數(shù),直至信號的下跳沿到來,運行控制位TR清0,停止計數(shù)。16位定時計數(shù)器的最高計數(shù)值為65 535,當待測信號的頻率較低時,定時計數(shù)器將發(fā)生溢出。產(chǎn)生溢出時,程序進入

37、定時器中斷服務程序,對溢出次數(shù)進行計數(shù)。待測信號的周期由3個字節(jié)組成:定時計數(shù)器溢出次數(shù)、定時計數(shù)器的高8位和低8位。信號的頻率f與信號的周期T之間的關(guān)系為: f1T完成信號的周期測量后,需要做一次倒數(shù)運算才能獲得信號的頻率。為提高運算精度,采用浮點數(shù)算術(shù)運算。浮點數(shù)由3個字節(jié)組成:第1字節(jié)最高位為數(shù)符,其余7位為階碼;第2字節(jié)為尾數(shù)的高字節(jié);第3字節(jié)為尾數(shù)的低字節(jié)。待測信號周期的3個字節(jié)定點數(shù)通過截取高16位、設置數(shù)符和計算階碼轉(zhuǎn)換為上述格式的浮點數(shù)。然后浮點數(shù)算術(shù)運算對其進行處理,獲得用浮點數(shù)格式表達的信號頻率值。再通過浮點數(shù)到BCD碼轉(zhuǎn)換模塊把用浮點數(shù)格式表達的信號頻率值變換成本頻率計的

38、顯示格式,送到顯示模塊顯示待測信號的頻率值。完成顯示后,頻率計都開始下一次信號的頻率測量。4.4 系統(tǒng)軟件(x tn run jin)模塊系統(tǒng)軟件設計(shj)采用模塊化設計方法。整個系統(tǒng)由初始化模塊、顯示模塊和信號頻率測量模塊等各種功能模塊組成(見圖12) 。上電后,進入系統(tǒng)(xtng)初始化模塊,系統(tǒng)軟件開始運行。在執(zhí)行過程中,根據(jù)運行流程分別調(diào)用各個功能模塊完成頻率測量、量程自動切換、周期測量和測量結(jié)果顯示。圖12系統(tǒng)軟件流程圖;4.5浮點數(shù)學運算程序;51系列單片機屬于微控制器,由于其CPU字長和指;第五章實測結(jié)果和誤差分析;為了衡量這次設計的頻率計的工作情況和測量精度,我;表1頻率測

39、量對比表;如圖7信號預處理電路所示,待測信號在進入單片機之;采用計數(shù)法實現(xiàn)頻率測量,誤差來源主要有計數(shù)誤差和;df/f=|dN/N|+|dt/t|;這里N為計數(shù)值,t為閘門時間;圖12 系統(tǒng)軟件流程圖4.5 浮點數(shù)學運算(yn sun)程序51系列(xli)單片機屬于微控制器,由于(yuy)其CPU字長和指令功能的限制,它適用于控制領(lǐng)域,在信號處理方面不很擅長。在本頻率計中需要完成周期到頻率的換算,為保證測量結(jié)果的準確,這里應用了浮點數(shù)數(shù)學運算。從周期到頻率的換算過程包括: 3字節(jié)定點數(shù)到浮點數(shù)的轉(zhuǎn)換、浮點數(shù)數(shù)學運算和浮點數(shù)到BCD 碼的轉(zhuǎn)換。由于通過多次的轉(zhuǎn)換,整個換算過程精度還不是很高,通

40、過實測,精度大約為千分之二左右。第五章 實測結(jié)果和誤差分析為了衡量這次設計的頻率計的工作情況和測量精度,我們對系統(tǒng)進行了試驗。以南京電訊儀器廠制造的E312B 型通用計數(shù)器為基準,用這次設計的頻率計對信號源進行了測量,測量數(shù)據(jù)如表1 所示。表1 頻率測量對比表如圖7信號預處理電路所示,待測信號在進入單片機之前經(jīng)過了10 2 次分頻。頻率計以進入單片機時的信號頻率等于100Hz 為基準,既待測信號頻率等于2 KHz 為基準,大于此頻率采用頻率測量,小于此頻率采用周期測量。由表1 頻率測量對比表可以看出,頻率測量的測量精度大于周期測量的測量精度。采用(ciyng)計數(shù)法實現(xiàn)(shxin)頻率(pn

41、l)測量,誤差來源主要有計數(shù)誤差和閘門誤差兩部分。誤差表達式為d f / f = | dN/ N| + | dt/ t|這里N 為計數(shù)值,t 為閘門時間。閘門時間相對誤差dt/ t 主要取決于單片機晶振的頻率穩(wěn)定度,選擇合適的石英晶體和振蕩電路,誤差一般可小于10 - 6 。當僅顯示3 位有效數(shù)字時,該項誤差可以忽略。對于dN/ N 部分,無論閘門時間長短,計數(shù)法測頻總存在1個單位的量化誤差。在表1 中,待測信號頻率大于2 KHz 時的誤差就來源于計數(shù)誤差。增加顯示的有效數(shù)字位數(shù)可降低該項誤差的影響。當待測信號頻率小于2 KHz 時,直接測量的是信號的周期。周期測量的誤差表達式為:dT/ T

42、= | dN/ N| + | d0/0|這里(zhl)dN/ N 為量化誤差(wch),d0/0 為單片機晶振的頻率(pnl)穩(wěn)定度。在進行周期測量時進入單片機的信號頻率小于100Hz ,使用12MHz 時鐘這時的最小計數(shù)值為10000 。當僅顯示3 位有效數(shù)字時,該項誤差現(xiàn)在也可以忽略。待測信號的周期測量值通過浮點數(shù)數(shù)學運算變換成頻率值,這時的誤差來源于浮點數(shù)數(shù)學運算和數(shù)制之間的轉(zhuǎn)換所帶來的誤差。第六章 系統(tǒng)測試測試使用儀器:YB4325型示波器、CA1640P-20型函數(shù)信號發(fā)生器、Linwd-910型直流穩(wěn)壓電源。系統(tǒng)整機調(diào)試:本設計任務中,我們完成了簡易頻率計的設計,性能達到了目標要求

43、??偨Y(jié)與致謝2009年5月,我開始了我的工程實訓工作,時至今日,論文基本完成。從最初的茫然,到慢慢的進入狀態(tài),再到對思路逐漸的清晰,整個寫作過程難以用語言來表達。歷經(jīng)了幾個月的奮戰(zhàn),緊張而又充實的工程實訓終于落下了帷幕?;叵脒@段日子的經(jīng)歷和感受,我感慨萬千,在這次工程實訓的過程中,我擁有了無數(shù)難忘的回憶和收獲。6月初(yuch),在與導師的交流討論中我的題目定了下來,是:基于AT89S51單片機控制的頻率計設計。當選(dngxun)題報告,開題報告定下來的時候,我當時便立刻著手資料的收集工作中,當時面對浩瀚的書海真是有些茫然,不知如何下手。我將這一困難告訴了導師,在導師細心的指導下,終于使我對

44、自己現(xiàn)在的工作方向和方法有了掌握。9月初,資料已經(jīng)查找完畢了,我開始著手論文的寫作。在寫作過程(guchng)中遇到困難我就及時和導師聯(lián)系,并和同學互相交流,請教專業(yè)課老師。在大家的幫助下,困難一個一個解決掉,論文也慢慢成型。9月底,論文的文字敘述已經(jīng)完成。10月開始進行相關(guān)圖形的繪制工作和電路的設計工作。為了畫出自己滿意的電路圖,圖表等,我仔細學習了Excel的繪圖技術(shù)。在設計電路初期,由于沒有設計經(jīng)驗,覺得無從下手,空有很多設計思想,卻不知道應該選哪個,經(jīng)過導師的指導,我的設計漸漸有了頭緒,通過查閱資料,逐漸確立系統(tǒng)方案。當我終于完成了所有打字、繪圖、排版、校對的任務后整個人都很累,但同時

45、看著電腦熒屏上的畢業(yè)設計稿件我的心里是甜的,我覺得這一切都值了。這次畢業(yè)論文的制作過程是我的一次再學習,再提高的過程。在論文中我充分地運用了大學期間所學到的知識。我不會忘記這難忘的幾個月的時間。工程實訓的制作給了我難忘的回憶。在我徜徉(chn yn)書海查找資料的日子里,面對無數(shù)書本的羅列,最難忘的是每次找到資料時的激動和興奮;親手設計電路圖的時間里,記憶最深的是每一步小小思路實現(xiàn)時那幸福的心情;為了論文我曾趕稿到深夜,但看著親手打出的一字一句,心里滿滿的只有喜悅毫無疲憊。這段旅程看似荊棘密布,實則蘊藏著無盡的寶藏。我從資料的收集中,掌握(zhngw)了很多單片機、頻率計的知識,讓我對我所學過

46、的知識有所鞏固和提高,并且讓我對當今單片機、頻率計的最新發(fā)展技術(shù)(jsh)有所了解。在整個過程中,我學到了新知識,增長了見識。在今后的日子里,我仍然要不斷地充實自己,爭取在所學領(lǐng)域有所作為。腳踏實地,認真嚴謹,實事求是的學習態(tài)度,不怕困難、堅持不懈、吃苦耐勞的精神是我在這次設計中最大的收益。我想這是一次意志的磨練,是對我實際能力的一次提升,也會對我未來的學習和工作有很大的幫助。在這次工程實訓中也使我們的同學關(guān)系更進一步了,同學之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法(kn f)對我們更好的理解知識,所以在這里非常感謝幫助我的同學。在此更要感謝我的導師和專業(yè)老師,是你們的細心指導

47、和關(guān)懷,使我能夠順利的完成工程實訓論文。在我的學業(yè)和論文的研究工作中無不傾注著老師們辛勤的汗水和心血。老師的嚴謹治學態(tài)度、淵博的知識、無私的奉獻精神使我深受啟迪。從尊敬的導師身上,我不僅學到了扎實、寬廣的專業(yè)知識,也學到了做人的道理。在此我要向我的導師致以最衷心的感謝和深深的敬意。參考文獻1 程守洙,江之永主編(zhbin). 普通(ptng)物理學(第5 版) M . 北京:高等教育出版社,1998.2 程守洙,江之永主編. 普通物理學(1982 年修訂本)M . 北京:高等教育出版社,1982.3 馬文蔚改編. 物理學(第4 版) M . 北京:高等教育出版社,1999. 4 馬文蔚改編.

48、 物理學(第3 版) M . 北京:高等教育出版社,1993. 5 吳百詩主編. 大學物理(修訂本) M . 西安:西安交通大學出版社,1994.6 閻金鐸等編寫(binxi). 普通(ptng)物理教學手冊M . 北京(bi jn):北京師范大學出版社,1984.7 祝之光編寫. 物理學 M . 北京: 高等教育出版社,1988. 8 張學恭主編. 物理學M . 西安:西安交通大學出版社,1996. 9 張三慧主編. 大學物理學(第2 版) 力學M . 北京:清華大學出社,2000.10 倪光炯等編. 改變世界的物理學(第2 版) M . 上海:復旦大學出版社,1999.11 向義和編著.

49、大學物理導論M . 北京:清華大學出版社,1999. 12 中學物理教師手冊M . 上海:上海教育出版社,1983.13 李光第,朱月秀等 . 單片機基礎(chǔ)(jch)M . 北京航空航天大學出版社,2004 14 李朝青. 單片機原理(yunl)及接口技術(shù)設計M . 北京航空航天大學出版社,200315 趙茂泰. 智能儀器原理(yunl)及應用M . 電子工業(yè)出版社,2004 16 赫建國,劉建新等 . 基于單片機頻率計設計J 西安郵電學院學報,200317 曹柏榮,林士瑋 . 基于單片機康復儀研究J 微計算機信息, 2006附錄:單片機最小系統(tǒng)原理圖C語言程序#include #include

50、 #define uchar unsigned char #define uint unsigned intuchar temp8=0,0,0,0,0,0,0,0; uchar temp18=0,0,0,0,0,0,0,0;uchar T1count,timecount,T1count1,timer,yushu,yushu1; long fre,frx; float zhou; bit flag; bit flag1;void delay(uchar); bit result;sbit ird=P11; sbit id=P10; sbit clr=P12;sbit en=P15; sbit r

51、w=P16; sbit rs=P17;sbit rd=P37; sbit kb=P13; sbit kx=P14;sbit A0=P36; sbit A1=P37; bit start;uchar code tab1=fre: ; uchar code tab2=frx: ;void delay(uchar z) uchar x,y; for(x=z;x0;x-) for(y=110;y0;y-); panduan_bz() rs = 0; rw = 1; en = 1;result = (bit)(P2&0 x80); en = 0;return(result); void write_co

52、m(uchar com) while(panduan_bz(); rs = 0; rw = 0; en = 0; P2=com; delay(5); en = 1; delay(5); en = 0; void write_dat(uchar dat) while(panduan_bz(); rs = 1; rw = 0; en = 0; P2=dat; delay(5); en = 1; delay(5); en = 0; void init() uchar num; en = 0;write_com(0 x38); write_com(0 x0c); write_com(0 x06); w

53、rite_com(0 x01);write_com(0 x80);for(num=0;num16;num+)write_dat(tab1num);delay(5);write_com(0 x80+0 x40);for(num=0;num16;num+)write_dat(tab2num);delay(5);void init1()ird=1;id=1;TMOD=0 x55;TH1=0;TL1=0; /初值為0TH0=0;TL0=0;TR0=1;TR1=1;IE=0 x8a;RCAP2H=(65536-47850)/256; /重裝載(zhungzi)計數(shù)器賦初值RCAP2L=(65536-47850)%256;ET2=1; /開定時器2中斷(zhngdun)EA=1; /開總中斷(zhngdun)TR2=1;void display()uchar i;fre=(T1count*65536+TH1*256+TL1); /頻率計算temp0=fre/10000000;temp1=fre%10000000/1000000;temp2=fre%10000000%1000000%1000000/100000;temp3=fre%10000000%1000000%1000000%100000/10000;temp4=fre%100

溫馨提示

  • 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

提交評論