基于單片機(jī)與FPGA的等精度頻率計(jì)的設(shè)計(jì)單片機(jī)部分_第1頁
基于單片機(jī)與FPGA的等精度頻率計(jì)的設(shè)計(jì)單片機(jī)部分_第2頁
基于單片機(jī)與FPGA的等精度頻率計(jì)的設(shè)計(jì)單片機(jī)部分_第3頁
基于單片機(jī)與FPGA的等精度頻率計(jì)的設(shè)計(jì)單片機(jī)部分_第4頁
基于單片機(jī)與FPGA的等精度頻率計(jì)的設(shè)計(jì)單片機(jī)部分_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計(jì)論文題 目:基于單片機(jī)與fpga的等精度頻率計(jì)的設(shè)計(jì)-單片機(jī)部分基于單片機(jī)與fpga的等精度頻率計(jì)的設(shè)計(jì)-單片機(jī)部分摘 要本設(shè)計(jì)課題為基于單片機(jī)與fpga的等精度頻率計(jì)的設(shè)計(jì)。本設(shè)計(jì)以at89c51單片機(jī)作為系統(tǒng)的主控部件,實(shí)現(xiàn)整個(gè)電路的信號(hào)控制、數(shù)據(jù)運(yùn)算處理等功能;一片現(xiàn)場可編程邏輯器件fpga芯片flex epf10k20rc208-4完成各種時(shí)序邏輯控制、計(jì)數(shù)功能。本文詳細(xì)論述了等精度數(shù)字頻率計(jì)的測(cè)頻原理、硬件電路的組成、設(shè)計(jì)和單片機(jī)軟件編程設(shè)計(jì)、系統(tǒng)的誤差分析。其中硬件電路包括鍵盤控制模塊、顯示模塊和測(cè)量模塊,鍵盤模塊采用獨(dú)立式的鍵盤,實(shí)現(xiàn)了測(cè)頻功能,還實(shí)現(xiàn)了周期、脈寬、占空比

2、測(cè)量等功能的選擇;顯示模塊采用靜態(tài)顯示方式,因此電路結(jié)構(gòu)簡單,顯示方便;at89c51單片機(jī)的軟件編程采用靈活易讀的c語言。本設(shè)計(jì)將at89c51單片機(jī)的控制靈活性和fpga芯片的現(xiàn)場可編程性相結(jié)合,不但大大縮短了開發(fā)研制周期,而且使本系統(tǒng)具有結(jié)構(gòu)緊湊、體積小、可靠性高、測(cè)頻范圍寬、精度高等優(yōu)點(diǎn)。關(guān)鍵詞:eda技術(shù);單片機(jī);頻率計(jì);fpga based on the mcu and fpga such as the frequency accuracy of design- scm part abstractthe design issues for the frequency of such

3、 as the frequency accuracy of design which based on the mcu and fpga. in the design at89c51 as a main component, completed the whole circuit s signal control, the data processing functions and so on; a field programmable logic device fpga and chip flex epf10k20rc208-4 completed logic controling and

4、counting function.this paper discusses in detail the accuracy of the figures such as the frequency in frequency measurement principle, hardware circuit components, design and microcontroller software design. circuit includes hardware keyboard control module, module and measurement module keyboard mo

5、dule of six keys choice, it not only completes the functional test frequency but also completes the cycle, pulse width, duty cycle measurement function of choice; module static display mode made the circuit simple, and convention to show; at89c51 flexible software programming in c language accessibi

6、lity. the design which combinated at89c51 control flexibility and fpga field programmable phase not only greatly shortens the development cycle time, but also makes the system have the advantages of compact, small size, high reliability, measuring frequency range, the higher precision.key words: eda

7、 technology; microcontroller; cymometer; fpga目 錄摘 要iabstractii第一章 引言11.1 研究背景與意義11.2 頻率計(jì)的發(fā)展概況11.3 論文所做的工作與研究內(nèi)容2第二章 等精度數(shù)字頻率計(jì)測(cè)頻原理與設(shè)計(jì)方法42.1 等精度數(shù)字頻率計(jì)測(cè)頻原理42.1.1 數(shù)字頻率計(jì)的測(cè)頻方法簡介42.1.2 等精度測(cè)頻原理52.2 等精度數(shù)字頻率計(jì)的設(shè)計(jì)方法72.2.1 電子系統(tǒng)的設(shè)計(jì)方法7第三章 主要芯片及設(shè)計(jì)工具簡介83.1 主要芯片性能介紹83.1.1 at89c51單片機(jī)性能介紹83.1.2 flex10k系列芯片性能介紹113.2 max+pl

8、usii概述143.3 keil c51語言簡介143.4 vhdl 語言簡介16第四章 硬件電路設(shè)計(jì)184.1 系統(tǒng)組成184.2 鍵盤接口電路194.3 顯示電路204.3.1 led顯示模塊204.3.2 顯示模塊214.4 測(cè)量電路234.4.1 測(cè)量與自校選擇電路244.4.2 測(cè)頻/測(cè)周電路254.4.3 脈寬控制電路274.5 硬件電路的vhdl語言描述284.5.1 d觸發(fā)器284.5.2 32位計(jì)數(shù)器304.5.3 mux64-8多路選擇器314.5.4 mux2-1選擇器314.5.5 時(shí)鐘發(fā)生器324.5.6 單片機(jī)主控電路32第五章 軟件設(shè)計(jì)345.1 單片機(jī)主程序34

9、5.2 復(fù)位自檢程序355.3 鍵盤程序365.4 測(cè)頻子程序375.5 測(cè)周期子程序385.6 測(cè)脈寬子程序385.7 占空比子程序385.8 顯示子程序39第六章 系統(tǒng)性能分析406.1 占空比子程序406.1.1 低端頻率406.1.2 高端頻率406.2 頻率測(cè)量精度分析41結(jié)論43參考文獻(xiàn)44附錄a 系統(tǒng)原理圖45附錄b at89c51單片機(jī)內(nèi)部框圖46附錄c 硬件電路的vhdl描述47附錄d 單片機(jī)c語言程序清單54致謝67第一章 引言1.1 研究背景與意義隨著科學(xué)技術(shù)與計(jì)算機(jī)應(yīng)用的不斷發(fā)展,以單片機(jī)作為核心的測(cè)量控制系統(tǒng)層出不窮。在被測(cè)信號(hào)中,較多的是模擬和數(shù)字開關(guān)信號(hào),此外還經(jīng)

10、常遇到以頻率為參數(shù)的測(cè)量信號(hào),例如流量、轉(zhuǎn)速、晶壓力傳感器以及經(jīng)過參變量頻率轉(zhuǎn)換后的信號(hào)等等。頻率信號(hào)抗干擾性強(qiáng),易于傳輸,可以獲得較高的測(cè)量精度,所以研究測(cè)頻方法是電子測(cè)量領(lǐng)域的重要內(nèi)容。傳統(tǒng)的數(shù)字頻率計(jì)一般由分離元件搭接而成,其測(cè)量范圍、測(cè)量精度和測(cè)量速度都受到很大的限制。雖然單片機(jī)的發(fā)展與應(yīng)用改善了這一缺陷,但由于單片機(jī)本身也受到工作頻率及內(nèi)部計(jì)數(shù)器位數(shù)等因素的限制,所以無法在此領(lǐng)域取得突破性的進(jìn)展。隨著新型可編程邏輯器件fpga技術(shù)的發(fā)展,能夠?qū)⒋罅康倪壿嫻δ芗稍趩蝹€(gè)器件中,fpga根據(jù)不同的需要所提供的門數(shù)可以從幾百萬到上百萬門,從根本上解決了單片機(jī)的先天性不足。本課題所設(shè)計(jì)的等精

11、度數(shù)字頻率計(jì)不但集成度遠(yuǎn)遠(yuǎn)超過了以往的數(shù)字頻率計(jì),而且在標(biāo)準(zhǔn)頻率等外部條件的允許下,可以根據(jù)不同場合的精度要求,對(duì)硬件描述語言進(jìn)行一定的改動(dòng),使系統(tǒng)在精度提高的同時(shí),而不增加系統(tǒng)硬件,從而降低系統(tǒng)的整體造價(jià)。此外,系統(tǒng)芯片(sco)的發(fā)展也要求其包含頻率測(cè)量的功能,所以用fpga實(shí)現(xiàn)數(shù)字頻率計(jì)也是實(shí)現(xiàn)系統(tǒng)芯片的前提條件。該數(shù)字頻率計(jì)的設(shè)計(jì)及實(shí)現(xiàn)應(yīng)用計(jì)數(shù)器法,基于上述優(yōu)勢(shì)開發(fā)的頻率計(jì)具有良好的應(yīng)用價(jià)值和推廣前景。1.2 頻率計(jì)的發(fā)展概況傳統(tǒng)的數(shù)字頻率計(jì)可以通過普通的硬件電路組合來實(shí)現(xiàn),一般由分離元件搭接而成,其開發(fā)過程、調(diào)試過程十分繁瑣,而且由于電子器件之間的互相干擾,影響頻率計(jì)的精度,體積較大

12、,已不適應(yīng)電子設(shè)計(jì)的發(fā)展要求1 2。msc-51系列單片機(jī)具有體積小、功能強(qiáng)、性能價(jià)格比高等特點(diǎn),廣泛應(yīng)用于工業(yè)測(cè)量、控制和智能化儀器、儀表等領(lǐng)域。以msc-51系列單片機(jī)為核心的頻率計(jì)設(shè)計(jì),較分離元件搭接而成的頻率計(jì)改善了性能、提高了可靠性,并可以采用軟件實(shí)現(xiàn)各種頻率測(cè)量方法3。但由于受到單片機(jī)本身特性的影響,其晶振最大只能為24mhz,以單片機(jī)為核心的頻率計(jì)的測(cè)頻范圍及精度受到很大的制約。隨著eda技術(shù)的發(fā)展,現(xiàn)代頻率計(jì)的設(shè)計(jì)多采用基于fpga芯片的方法來實(shí)現(xiàn)頻率計(jì)的設(shè)計(jì),即通過vhdl(very high speed integrated circuit hardware descrip

13、tion language)硬件描述語言的設(shè)計(jì),用fpga來實(shí)現(xiàn)。fpga(field programmable gate array)即現(xiàn)場可編程邏輯器件是由存放在片內(nèi)ram中的程序來設(shè)置其工作狀態(tài)的,因此工作時(shí)需要對(duì)片內(nèi)的ram進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時(shí),fpga芯片將eprom中數(shù)據(jù)讀入片內(nèi)編程ram中,培植完成后,fpga進(jìn)入工作狀態(tài)。掉電后,fpga恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此fpga能夠反復(fù)使用。fpga的編程無須專用的fpga編程器,只需使用通用的eprom、prom編程器即可。當(dāng)需要修改fpga功能時(shí),只需換一片eprom即可。這樣,

14、同一片fpga,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,fpga的使用非常靈活。同時(shí)eda開發(fā)工具的通用性、設(shè)計(jì)語言(本設(shè)計(jì)為vhdl)的標(biāo)準(zhǔn)化以及設(shè)計(jì)過程幾乎與所用器件的硬件結(jié)構(gòu)無關(guān),所以設(shè)計(jì)成功的各類邏輯功能塊軟件有很好的兼容性和可移植性,可以在很短的時(shí)間內(nèi)完成十分復(fù)雜的系統(tǒng)設(shè)計(jì)。1.3 論文所做的工作與研究內(nèi)容隨著eda(electronics design automation)技術(shù)的發(fā)展和可編程邏輯器件的廣泛應(yīng)用,傳統(tǒng)的自下而上的數(shù)字電路設(shè)計(jì)方法、工具、器件已遠(yuǎn)遠(yuǎn)落后于當(dāng)今技術(shù)的發(fā)展。基于eda技術(shù)正在承擔(dān)起越來越多的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。本設(shè)計(jì)主要論述了利用fpga進(jìn)行測(cè)頻計(jì)數(shù),

15、單片機(jī)實(shí)施控制,實(shí)現(xiàn)多功能頻率計(jì)的過程,使得頻率計(jì)具有了測(cè)量精度高、功能豐富、控制靈活等特點(diǎn)。該頻率計(jì)依照等精度的測(cè)量原理,克服了傳統(tǒng)計(jì)數(shù)器測(cè)頻原理隨被測(cè)信號(hào)頻率下降而降低的缺點(diǎn)。等精度測(cè)量方法不但具有較高的精度,而且在整個(gè)頻率域保持恒定的測(cè)量精度。該頻率計(jì)利用fpga來實(shí)現(xiàn)對(duì)頻率、周期、脈寬、占空比的測(cè)量計(jì)數(shù),由單片機(jī)實(shí)現(xiàn)對(duì)系統(tǒng)的控制、數(shù)據(jù)的顯示、數(shù)據(jù)運(yùn)算及數(shù)制轉(zhuǎn)換等功能。本設(shè)計(jì)的主要工作包括以下幾項(xiàng)內(nèi)容: 簡述了當(dāng)今頻率計(jì)的發(fā)展?fàn)顩r,對(duì)幾種常用的測(cè)頻方法進(jìn)行了介紹和對(duì)比。 詳細(xì)地論述了等精度頻率計(jì)的測(cè)頻原理。在fpga和單片機(jī)的基礎(chǔ)上采用等精度的測(cè)量方法,實(shí)現(xiàn)了高精度的頻率、周期、脈寬和占

16、空比的測(cè)量。 采用msc-51單片機(jī)來實(shí)現(xiàn)對(duì)功能鍵的控制、數(shù)據(jù)運(yùn)算、碼制轉(zhuǎn)換、數(shù)據(jù)顯示等功能。 完成了頻率計(jì)的系統(tǒng)硬件電路的設(shè)計(jì),同時(shí)完成了基于數(shù)字硬件電路設(shè)計(jì)平臺(tái)max+plus的fpga硬件電路設(shè)計(jì),fpga模塊用來完成高速計(jì)數(shù)器的功能;單片機(jī)完成測(cè)試控制、數(shù)據(jù)處理等功能,并對(duì)整個(gè)系統(tǒng)進(jìn)行總體控制。 對(duì)頻率計(jì)的系統(tǒng)性能進(jìn)行分析,分別分析了低端頻率和高端頻率得出本設(shè)計(jì)的測(cè)頻范圍是0.01hz40mhz,同時(shí)分析了測(cè)量精度。 本文分6章介紹了基于fpga和單片機(jī)的等精度數(shù)字頻率計(jì)的設(shè)計(jì)原理、設(shè)計(jì)方法、開發(fā)步驟,并且對(duì)頻率計(jì)的測(cè)量結(jié)果和實(shí)際輸入頻率進(jìn)行比較,分析了本設(shè)計(jì)影響測(cè)量精度的主要因素。第

17、二章 等精度數(shù)字頻率計(jì)測(cè)頻原理與設(shè)計(jì)方法2.1 等精度數(shù)字頻率計(jì)測(cè)頻原理2.1.1 數(shù)字頻率計(jì)的測(cè)頻方法簡介目前數(shù)字頻率計(jì)的測(cè)頻方法可以有以下幾種實(shí)現(xiàn)方法: 直接測(cè)量法直接測(cè)量法是把頻率信號(hào)經(jīng)脈沖形成電路后加閘門的一個(gè)輸入端,只有在閘門開通時(shí)間t(以秒計(jì))內(nèi),計(jì)數(shù)脈沖被送到十進(jìn)制計(jì)數(shù)器進(jìn)行計(jì)數(shù)。設(shè)計(jì)數(shù)器的值為n,由頻率定義可以計(jì)算得到被測(cè)信號(hào)頻率為: (2-1)經(jīng)分析,此種測(cè)量在低頻段的相對(duì)測(cè)量誤差較大。增大t可以提高測(cè)量精度,但在低頻段仍不能滿足任務(wù)要求。 組合法直接測(cè)量周期法在低頻段精度高。組合法是指在低頻時(shí)采用直接測(cè)量周期法測(cè)量信號(hào)的周期,然后換算成頻率。這種方法在一定程度上可以彌補(bǔ)方法

18、的不足,電路實(shí)現(xiàn)較為復(fù)雜。 倍頻法 直接測(cè)量法在高頻段有著很高的精度??梢园杨l率測(cè)量范圍分為多個(gè)頻段,使用倍頻技術(shù),根據(jù)頻段設(shè)置倍頻系數(shù)將經(jīng)整形的低頻信號(hào)進(jìn)行倍頻后進(jìn)行測(cè)量,高頻段則進(jìn)行直接測(cè)量。 直接測(cè)量周期法用被測(cè)信號(hào)經(jīng)放大整形后形成的方波信號(hào)直接控制計(jì)門控電路,使主門開放時(shí)間等于信號(hào)周期,時(shí)標(biāo)為ts的脈沖在主門開放時(shí)間進(jìn)入計(jì)數(shù)器。設(shè)t為被測(cè)周期,ts為時(shí)標(biāo),在tx時(shí)間計(jì)數(shù)值為n,可以根據(jù)以下公式來算得被測(cè)信號(hào)周期: (2-2)此種方法,被測(cè)信號(hào)頻率越高,測(cè)量誤差越大。采用多個(gè)周期進(jìn)行計(jì)數(shù)取平均值的方法雖可提高精度,每一次的等待時(shí)間較長,顯然是不可取的4。本課題測(cè)頻原理為等精度測(cè)頻原理5,

19、下面就等精度測(cè)頻原理進(jìn)行具體敘述。2.1.2 等精度測(cè)頻原理等精度測(cè)頻法的最大特點(diǎn)是在整個(gè)被測(cè)頻率范圍內(nèi)都能達(dá)到相同的測(cè)量精度,而與被測(cè)信號(hào)頻率大小無關(guān)。其原理圖如圖2.1所示。圖2.1 等精度測(cè)頻原理圖圖2.2 等精度頻率計(jì)測(cè)頻波形時(shí)序圖當(dāng)方波預(yù)置門控信號(hào)cl可由單片機(jī)發(fā)出,cl的時(shí)間寬度對(duì)測(cè)頻精度影響較小,所以可以在1秒至0.1秒間選擇,在此設(shè)其寬度為tpr。bzh和tf模塊是兩個(gè)可控的32位高速計(jì)數(shù)器,bena和ena分別是它們的計(jì)數(shù)允許信號(hào)端,高電平有效。標(biāo)準(zhǔn)頻率信號(hào)從bzh的時(shí)鐘輸入端bclk輸入,設(shè)其頻率為fs;經(jīng)整形后的被測(cè)信號(hào)從與bzh相似的32位計(jì)數(shù)器tf的時(shí)鐘輸入端tclk

20、輸入,設(shè)其真實(shí)頻率為fxe,被測(cè)頻率為fx。測(cè)頻原理說明如下:測(cè)頻開始前,首先發(fā)出一個(gè)清零信號(hào)clr,使兩個(gè)計(jì)數(shù)器和d觸發(fā)器置零,同時(shí)通過信號(hào)ena禁止兩個(gè)計(jì)數(shù)器計(jì)數(shù)。這是一個(gè)初始化操作。然后由單片機(jī)發(fā)出允許測(cè)頻命令,即令預(yù)置門控信號(hào)cl為高電平,這時(shí)d觸發(fā)器要一直等到被測(cè)信號(hào)的上升沿通過時(shí)q端才被置1,與此同時(shí),將同時(shí)啟動(dòng)計(jì)數(shù)器bzh和tf,進(jìn)入“計(jì)數(shù)允許周期”。在此期間,bzh和tf分別對(duì)標(biāo)準(zhǔn)頻率信號(hào)(頻率為fs)和被測(cè)信號(hào)(頻率為fx)同時(shí)計(jì)數(shù)。當(dāng)tpr秒后,預(yù)置門控信號(hào)cl被單片機(jī)置為低電平,但此時(shí)兩個(gè)計(jì)數(shù)器仍沒有停止計(jì)數(shù),一直等到隨后而至的被測(cè)信號(hào)的上升沿到來時(shí),才通過d觸發(fā)器將把這

21、兩個(gè)計(jì)數(shù)器同時(shí)關(guān)閉。設(shè)fx為整形后的被測(cè)信號(hào)頻率,fs為基準(zhǔn)信號(hào)頻率,設(shè)在一次預(yù)置門時(shí)間tpr中對(duì)被測(cè)信號(hào)的計(jì)數(shù)值為nx,對(duì)標(biāo)準(zhǔn)頻率信號(hào)的計(jì)數(shù)值為ns,則有下式成立: (2-3)不難得到測(cè)得的頻率為: (2-4)最后通過控制sel選擇信號(hào)和64位至8位的多路選擇器mux64-8,將計(jì)數(shù)器bzh和tf中的兩個(gè)32位數(shù)據(jù)分8次讀入單片機(jī)并按式(2-4)進(jìn)行計(jì)算和結(jié)果的顯示。2.2 等精度數(shù)字頻率計(jì)的設(shè)計(jì)方法2.2.1 電子系統(tǒng)的設(shè)計(jì)方法現(xiàn)代電子系統(tǒng)一般由模擬子系統(tǒng)、數(shù)字子系統(tǒng)和微處理器子系統(tǒng)三大部分組成。從概念上講,凡是利用數(shù)字技術(shù)處理和傳輸信息的電子系統(tǒng)都可以稱為數(shù)字系統(tǒng)。傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)只能

22、對(duì)電路板進(jìn)行設(shè)計(jì),通過設(shè)計(jì)電路板來實(shí)現(xiàn)系統(tǒng)功能。利用eda工具,采用可編程器件,通過設(shè)計(jì)芯片來實(shí)現(xiàn)系統(tǒng)功能,這種方法稱為基于芯片的設(shè)計(jì)方法。新的設(shè)計(jì)方法能夠由設(shè)計(jì)者定義器件的內(nèi)部邏輯,將原來由電路板設(shè)計(jì)完成的大部分工作放在芯片的設(shè)計(jì)中進(jìn)行。這樣不僅可以通過芯片設(shè)計(jì)實(shí)現(xiàn)多種數(shù)字邏輯系統(tǒng),而且由于管腳定義的靈活性,大大減輕了電路圖設(shè)計(jì)和電路板設(shè)計(jì)的工作量和難度,從而有效的增強(qiáng)了設(shè)計(jì)的靈活性,提高了工作效率。同時(shí),基于芯片的設(shè)計(jì)可以減少芯片的數(shù)量,縮小系統(tǒng)體積,降低能源消耗。圖2-2所示為電子系統(tǒng)的傳統(tǒng)設(shè)計(jì)方法和基于芯片的設(shè)計(jì)方法。圖2-2(a)傳統(tǒng)設(shè)計(jì)方法 (b)基于芯片設(shè)計(jì)方法 可編程邏輯器件和

23、eda技術(shù)給今天的硬件系統(tǒng)設(shè)計(jì)者提供了強(qiáng)有力的工具,使得電子系統(tǒng)的設(shè)計(jì)方法發(fā)生了質(zhì)的變化?,F(xiàn)在,只要擁有一臺(tái)計(jì)算機(jī)、一套相應(yīng)的eda軟件和空白的可編程邏輯器件芯片,在實(shí)驗(yàn)室里就可以完成數(shù)字系統(tǒng)的設(shè)計(jì)和生產(chǎn)。第三章 主要芯片及設(shè)計(jì)工具簡介3.1 主要芯片性能介紹3.1.1 at89c51單片機(jī)性能介紹圖3-1 at89c51引腳圖at89c51是一個(gè)內(nèi)含4k字節(jié)可編程可擦除的快閃存儲(chǔ)器(flash memory)和128個(gè)字節(jié)ram,低電壓,高性能cmos結(jié)構(gòu)的8位單片機(jī)。采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和快閃存

24、儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 at89c51的主要特性如下:與mcs-51兼容4k字節(jié)可編程快閃存儲(chǔ)器壽命:1000次寫/擦數(shù)據(jù)保留時(shí)間:十年128*8位內(nèi)部ram 32可編程i/0線 兩個(gè)16位定時(shí)器/計(jì)數(shù)器五個(gè)中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路 其管腳的具體說明如下:vcc: 供電電壓gnd: 接地p0口:p0口為一個(gè)8位漏級(jí)開路雙向i/o口,每個(gè)引腳可驅(qū)動(dòng)8個(gè)ttl門電流。當(dāng)p1口的管腳輸入數(shù)據(jù)時(shí),應(yīng)先把口置1。作為外部地址/數(shù)據(jù)總線使用時(shí),用于傳送8位數(shù)據(jù)和低8位地址

25、。在快閃編程時(shí),p0口輸入,當(dāng)快閃進(jìn)行校驗(yàn)時(shí),p0口輸出,此時(shí)p0外部必須被拉至高電平。p1 口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能驅(qū)動(dòng)4個(gè)ttl門。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入。p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。p2口:p2口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/0口,p2口緩沖器可驅(qū)動(dòng)4個(gè)ttl門電流,當(dāng)p2口被寫1 時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。p1口當(dāng)用作外部程序存儲(chǔ)器或外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出16位地址的高

26、八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p3口:p3口管腳是八個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可驅(qū)動(dòng)4個(gè)ttl門電流。當(dāng)p3口寫入1后,被內(nèi)部上拉為高電平,并用作輸入。p3口也可作為 at89c51的一些特殊功能。如下表所示:管腳 備選功能p3. 0 rxd(串行輸入口)p3. 1 txd(串行輸出口)p3.2 (外部中斷0)p3.3 (外部中斷1)p3. 4 t0(計(jì)時(shí)器0外部輸入)p3. 5 t1(計(jì)對(duì)器1外部輸入)p3. 6 (外部數(shù)據(jù)存儲(chǔ)器寫選通)p3. 7 外部數(shù)據(jù)存儲(chǔ)器讀選通)p3口同時(shí)為快閃編程和編程校

27、驗(yàn)接收一些控制信號(hào)。rst: 復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog: 當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。psen: 外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次psen有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。 ea/vpp: 外部程序存儲(chǔ)選擇信號(hào),輸入,低電平有效。當(dāng)保持低電平時(shí),則在此期間外部存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式為1時(shí), 將內(nèi)部鎖定為reset;當(dāng) 端保持高電平時(shí),將從內(nèi)部程序存儲(chǔ)器讀取指令碼,只有當(dāng)程序計(jì)

28、數(shù)器pc大于內(nèi)部程序存儲(chǔ)器地址空間時(shí),才從外部程序存儲(chǔ)器讀取指令碼,因此在沒有內(nèi)部rom或不適用內(nèi)部rom的系統(tǒng)中, /vpp引腳一律接地。 xtal1: 反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2: 來自反向振蕩器的輸出。 振蕩器特性:xtal1 和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩都可以采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,xtal2應(yīng)不接。由于輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。 芯片擦除:整個(gè)eprom陣列和三個(gè)鎖定位的電擦除可通過正確的控制信

29、號(hào)組合,并保持ale管腳處于低電平10ms來完成。在芯片擦除操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram、定時(shí)器、計(jì)數(shù)器、串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,禁止所有其它芯片的功能,直到下一個(gè)硬件復(fù)位為止6。3.1.2 flex10k系列芯片性能介紹隨著電子技術(shù)的發(fā)展,電子系統(tǒng)的設(shè)計(jì)方法也發(fā)生了很大的變化。傳統(tǒng)的設(shè)計(jì)方法正逐步退出歷史舞臺(tái),而基于eda技術(shù)的芯片設(shè)計(jì)正在成為電子系統(tǒng)設(shè)計(jì)的主流

30、。大規(guī)??删幊踢壿嬈骷pld和fpga是當(dāng)今應(yīng)用最廣泛的兩類可編程專用集成電路(asic)??删幊踢壿嬈骷?0世紀(jì)70年代發(fā)展起來的一種新型邏輯器件,是一種由用戶編程來實(shí)現(xiàn)某種邏輯功能的新型器件,芯片內(nèi)的邏輯門、觸發(fā)器等硬件資源可由用戶配置來連接實(shí)現(xiàn)專用的用戶邏輯功能。它是大規(guī)模集成電路技術(shù)飛速發(fā)展與計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)輔助生產(chǎn)和計(jì)算機(jī)輔助測(cè)試相結(jié)合的一種產(chǎn)物,是現(xiàn)代數(shù)字系統(tǒng)向超高集成度、超低功耗、超小封裝和專用化方向發(fā)展的重要基礎(chǔ)。它的應(yīng)用和發(fā)展不僅簡化了電路設(shè)計(jì),降低了成本、提高了系統(tǒng)的可靠性和保密性,而且給數(shù)字系統(tǒng)的設(shè)計(jì)方法帶來了革命性的變化。目前常用的可編程邏輯器件從結(jié)構(gòu)上可劃分

31、為兩大類:cpld和現(xiàn)場可編程門陣列fpga。fpga是20世紀(jì)80年代中期出現(xiàn)的可編程邏輯器件,其結(jié)構(gòu)類似于掩膜可編程門陣列(mpga),它由許多獨(dú)立的可編程模塊構(gòu)成,用戶可以通過編程將這些模塊連接起來實(shí)現(xiàn)不同的設(shè)計(jì)。fpga兼容了mpga和pld兩者的優(yōu)點(diǎn),因而具有更高的集成度、更強(qiáng)的邏輯實(shí)現(xiàn)能力和更好的設(shè)計(jì)靈活性。fpga具有掩膜可編程門陣列(mpga)的通用結(jié)構(gòu),它由邏輯功能塊排成陣列組成,并由可編程的互連資源連接這些邏輯功能塊以及相應(yīng)的輸入/輸出單元來實(shí)現(xiàn)不同的設(shè)計(jì)。其中fpga的功能由邏輯結(jié)構(gòu)的配置數(shù)據(jù)決定。工作時(shí)這些配置數(shù)據(jù)存放在片內(nèi)的sram或熔絲上?;趕ram的fpga器件

32、在工作前需要從芯片外部加載配置數(shù)據(jù)。用戶可以控制加載過程,在現(xiàn)場修改器件的邏輯功能,即所謂的現(xiàn)場編程。flex(flexibl logic element matrix)10k系列芯片是altera公司新近推出的pld產(chǎn)品。與altera公司先前推出的max7000系列epld相比,flex10k(以下簡稱10k)系列具有更加豐富的內(nèi)部資源(最多可達(dá)10萬門),更加充裕的可配置的i/o管腳(最多達(dá)406條)。再加上其低廉的價(jià)格,使得10k系列芯片受到越來越多用戶的歡迎。由于10k系列芯片是以可重新配置的cmos靜態(tài)ram單元為基礎(chǔ)構(gòu)成的,因此必須在每次開機(jī)時(shí)對(duì)芯片進(jìn)行配置。 本測(cè)頻系統(tǒng)選用fp

33、ga器件是alter公司所生產(chǎn)的flex10kepf1020rc(208-4)。flex10k系列是第一款多達(dá)25萬門的嵌入式pld,flex10k具有高密度和意欲在設(shè)計(jì)中實(shí)現(xiàn)復(fù)雜宏函數(shù)和存儲(chǔ)器的特點(diǎn),因此可以適應(yīng)系統(tǒng)級(jí)設(shè)計(jì)的要求。每個(gè)flex10k器件都包含一個(gè)嵌入式陣列,它為設(shè)計(jì)者提供了有效的嵌入式門陣列和靈活的可編程邏輯。另外,flex10k器件也提供多電壓i/o接口,它允許器件橋接在不同電壓工作系統(tǒng)中。flex10k還具有多個(gè)低失真時(shí)鐘,以及時(shí)鐘鎖定和時(shí)鐘自舉鎖相環(huán)電路,內(nèi)部三態(tài)總線等特性。其具體性能特點(diǎn)如下: 工業(yè)界第一種嵌入式pld系列,具有在單個(gè)器件中系統(tǒng)集成的能力,具有實(shí)現(xiàn)宏函

34、數(shù)的嵌入式陣列和實(shí)現(xiàn)普通功能的邏輯陣列。 高密度 具有10000到250000個(gè)可用門,高達(dá)40960位內(nèi)部ram。 系統(tǒng)級(jí)特點(diǎn) 支持多電壓i/o接口;低功耗,維持狀態(tài)時(shí)電流小于0.5ma,遵守pci總線規(guī)定;內(nèi)置jtag邊界掃描測(cè)試電路;器件采用先進(jìn)sram工藝制造;通過外部eprom、集成控制器或jtag接口電路實(shí)現(xiàn)電路可重構(gòu)(icr);時(shí)鐘鎖定和時(shí)鐘自舉有助于減少時(shí)鐘延遲/變形和對(duì)時(shí)鐘進(jìn)行倍頻;器件內(nèi)低變形時(shí)鐘樹形分布;所有器件都經(jīng)過100%的性能測(cè)試。 靈活的內(nèi)部連接 快速通道連續(xù)式布線結(jié)構(gòu)帶來快速可預(yù)測(cè)的連線延時(shí);具有可以用來實(shí)現(xiàn)快速加法器、計(jì)數(shù)器和比較器的專用位鏈;具有實(shí)現(xiàn)告訴、多

35、輸入邏輯函數(shù)專用級(jí)連鏈;模仿三態(tài)功能可以是內(nèi)部三態(tài)總線;6個(gè)全局時(shí)鐘信號(hào)和4個(gè)全局清除信號(hào)。 功能強(qiáng)大的i/o引腳 每個(gè)引腳都有一個(gè)獨(dú)立的三態(tài)輸出使能控制;每個(gè)i/o引腳都有漏極開路選擇;可編程輸出電壓擺率控制可以減小開關(guān)噪聲。 具有快速建立時(shí)間和時(shí)鐘到輸出的外部寄存器。 多樣的封裝形式 84到600引腳的各種封裝,封裝形式有tqfp、pqfp、bga和plc等;同一種封裝中的各種flex10k器件的引腳兼容。 具有良好的軟件設(shè)計(jì)支持和布局布線的能力。 能夠與其他公司的多種eda工具接口7。3.2 max+plusii概述max+plus的全稱是multiple array matrix an

36、d programmable logic user system(多陣列矩陣既可編程邏輯用戶系統(tǒng))。max+plus是一個(gè)完全集成化的可編程邏輯設(shè)計(jì)環(huán)境,能滿足用戶各種各樣的設(shè)計(jì)需要。它具有的強(qiáng)大功能能夠極大地減輕設(shè)計(jì)者的負(fù)擔(dān),是設(shè)計(jì)者可以快速的完成所需的設(shè)計(jì)。max+plus開發(fā)系統(tǒng)具有很多突出的優(yōu)點(diǎn),這使他深受用戶的青睞。 開放式的界面。altera公司與eda的各個(gè)開發(fā)商緊密合作,使max+plus可以與其他工業(yè)標(biāo)準(zhǔn)的設(shè)計(jì)輸入、綜合、校驗(yàn)工具相聯(lián)接。當(dāng)前max+plus軟件提供與多種第三方eda工具的接口。 設(shè)計(jì)與結(jié)構(gòu)無關(guān)。max+plus支持altera公司的多種可編程邏輯器件,提供了

37、工業(yè)界真正與結(jié)構(gòu)無關(guān)的可編程邏輯設(shè)計(jì)環(huán)境。 可在多種平臺(tái)上運(yùn)行。 完全集成化。max+plus軟件的設(shè)計(jì)輸入、處理、檢驗(yàn)功能完全集成于可編程邏輯開發(fā)工具內(nèi),從而可以更快的進(jìn)行調(diào)試,縮短開發(fā)周期。 模塊化工具。 支持硬件描述語言。max+plus支持多種hdl的設(shè)計(jì)輸入,包括標(biāo)準(zhǔn)的vhdl、veriloghdl以及altera公司自己開發(fā)的硬件描述語言ahdl。3.3 keil c51語言簡介c語言是一種編譯型程序設(shè)計(jì)語言,它兼顧了多種高級(jí)語言的特點(diǎn),并具備匯編語言的功能。目前,使用c語言進(jìn)行程序設(shè)計(jì)已經(jīng)成為軟件開發(fā)的一個(gè)主流。用c語言開發(fā)系統(tǒng)可以大大縮短開發(fā)周期,明顯增強(qiáng)程序的可讀性,便于改進(jìn)

38、和擴(kuò)充。而針對(duì)8051的c語言日趨成熟,成為了專業(yè)化的實(shí)用高級(jí)語言。c語言作為一種非常方便的語言而得到廣泛的支持,國內(nèi)最通用的是keil c51。c語言程序本身不依賴于機(jī)器硬件系統(tǒng),基本上不作修改就可將程序從不同的單片機(jī)中移植過來。c提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,開發(fā)效率高,故可縮短開發(fā)時(shí)間,增加程序可讀性和可維護(hù)性。c-51與asm-51相比,有如下優(yōu)點(diǎn):1.對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì)8051 的存貯器結(jié)構(gòu)有初步了解;2.寄存器分配、不同存貯器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可由編譯器管理;3.程序有規(guī)范的結(jié)構(gòu),可分成不同的函數(shù),這種方式可使程序結(jié)構(gòu)化;4.具有將可變的選擇與特殊操作組

39、合在一起的能力,改善了程序的可讀性;5.提供的庫包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力;6.由于具有方便的模塊化編程技術(shù),使已編好程序可容易地移植;keil c51 vision2集成開發(fā)環(huán)境是keil software,inc/keil elektronik gmbh開發(fā)的基于80c51內(nèi)核的微處理器軟件開發(fā)平臺(tái),內(nèi)嵌多種符合當(dāng)前工業(yè)標(biāo)準(zhǔn)的開發(fā)工具,可以完成從工程建立到管理、編譯、連接、目標(biāo)代碼的生成、軟件仿真和硬件仿真等完整的開發(fā)流程。尤其c編譯工具在產(chǎn)生代碼的準(zhǔn)確性和效率方面達(dá)到了較高的水平,而且可以附加靈活的控制選項(xiàng),在開發(fā)大型項(xiàng)目時(shí)非常理想。keil c51集成開發(fā)環(huán)境的主要功能

40、有以下幾點(diǎn):l vision2 for windowstm:是一個(gè)集成開發(fā)環(huán)境,它將項(xiàng)目管理、源代碼編輯和程序調(diào)試等組合在一個(gè)功能強(qiáng)大的環(huán)境中;l c51國際標(biāo)準(zhǔn)化c交叉編譯器:從c源代碼產(chǎn)生可重定位的目標(biāo)模塊;l a51宏匯編器:從80c51匯編源代碼產(chǎn)生可重定位的目標(biāo)模塊;l bl51連接/定位器:組合由c51和a51產(chǎn)生的可重定位的目標(biāo)模塊,生成絕對(duì)目標(biāo)模塊;l lib51庫管理器:從目標(biāo)模塊生成鏈接器可以使用的庫文件;l oh51目標(biāo)文件至hex格式的轉(zhuǎn)換器:從絕對(duì)目標(biāo)模塊生成intel hex文件;l rtx51實(shí)時(shí)操作系統(tǒng):簡化了復(fù)雜的實(shí)時(shí)應(yīng)用軟件項(xiàng)目的設(shè)計(jì)。本設(shè)計(jì)采用的是c51的

41、語言,因?yàn)閏語言的可讀性好、通俗易懂。3.4 vhdl 語言簡介美國國防部在20世紀(jì)70年代末和80年代初提出了vhsic(very high speed integrated circuit)計(jì)劃,vhsic計(jì)劃的目標(biāo)是為下一代集成電路的生產(chǎn)、實(shí)現(xiàn)階段性的工藝極限以及完成10萬門級(jí)以上的設(shè)計(jì)建立一項(xiàng)新的描述方法。1981年美國國防部提出了一種新的硬件描述語言hdl,稱為“超高速集成電路硬件描述語言”,簡稱vhdl(vhisc hardware description language)語言。vhdl語言是ieee標(biāo)準(zhǔn)化的硬件描述語言,并且已經(jīng)成為系統(tǒng)描述的國際公認(rèn)標(biāo)準(zhǔn)。vhdl語言的特點(diǎn)決定

42、了它的地位,它的特點(diǎn)主要有: 強(qiáng)大的功能和靈活性。vhdl語言具有功能強(qiáng)大的語言結(jié)構(gòu),可以用簡明明確的程序來描述復(fù)雜的邏輯控制。為了有效控制設(shè)計(jì)的實(shí)現(xiàn),它具有多層次的設(shè)計(jì)描述功能,支持設(shè)計(jì)庫和可重復(fù)使用的元件生成;而且它還支持階層設(shè)計(jì)和提供模塊設(shè)計(jì)的創(chuàng)建。 獨(dú)立于器件的設(shè)計(jì)。 可進(jìn)行程序移植。vhdl語言的移植能力就是指同一個(gè)設(shè)計(jì)的vhdl語言描述可以從一個(gè)模擬工具移植到另一個(gè)模擬工具、從一個(gè)綜合工具移植到另一個(gè)綜合工具或者從一個(gè)工作平臺(tái)移植到另一個(gè)工作平臺(tái)。 性能評(píng)估能力。 易于asic移植。 vhdl語言標(biāo)準(zhǔn)、規(guī)范,易于共享和復(fù)用。vhdl語言的語法規(guī)范、標(biāo)準(zhǔn),可讀性強(qiáng)。用vhdl語言書寫

43、的代碼文件既是程序,又是文檔;既是設(shè)計(jì)人員進(jìn)行設(shè)計(jì)成果交流的交流文件,也可以作為合約簽約者之間的合同文本。盡管vhdl語言作為ieee的工業(yè)標(biāo)準(zhǔn)具有許多其它硬件描述語言所不具有的主要優(yōu)勢(shì),同時(shí)他也存在著一些不足之處。具體表現(xiàn)在: 需要了解較多的硬件電路知識(shí)。 vhdl語言的描述會(huì)與實(shí)際硬件電路的工作方式不符。 不具有描述模擬電路的能力7。第四章 硬件電路設(shè)計(jì)4.1 系統(tǒng)組成本設(shè)計(jì)的核心部件為at89c51單片機(jī)和現(xiàn)場可編程芯片fpga,所有信號(hào)包括標(biāo)準(zhǔn)頻率信號(hào),被測(cè)信號(hào),自校信號(hào)均可在at89c51單片機(jī)的控制下送到fpga芯片中,單片機(jī)將每次測(cè)試結(jié)果讀入內(nèi)存ram中,經(jīng)運(yùn)算處理后,由rxd口

44、以bcd碼的形式送入數(shù)碼管顯示電路顯示。整個(gè)系統(tǒng)在硬件上可分為顯示模塊、鍵盤輸入模塊和測(cè)頻模塊三個(gè)部分。鍵盤控制命令直連單片機(jī),快速的實(shí)現(xiàn)測(cè)頻、測(cè)周期、測(cè)脈寬、測(cè)占空比及復(fù)位等功能的控制。該設(shè)計(jì)以fpga系統(tǒng)外接的40mhz晶振作為標(biāo)準(zhǔn)頻率,單片機(jī)由外接的12mhz標(biāo)準(zhǔn)晶振提供時(shí)鐘電路。等精度測(cè)頻框圖如圖4.1所示。圖4.1 等精度測(cè)頻系統(tǒng)框圖4.2 鍵盤接口電路本設(shè)計(jì)采用獨(dú)立式鍵盤,其一般應(yīng)用在按鍵數(shù)量比較少的系統(tǒng)中。鍵盤控制命令由鍵盤掃描譯碼電路讀入,當(dāng)有按鍵按下時(shí)向單片機(jī)發(fā)出中斷請(qǐng)求讀取鍵值。鍵盤譯碼電路的ky引腳接單片機(jī)的外部中斷0輸入引腳,用于向單片機(jī)發(fā)出中斷請(qǐng)求讀取鍵值。沒有按鍵按

45、下時(shí),鍵盤譯碼電路的ky為高電平;當(dāng)有按鍵按下時(shí),鍵盤掃描譯碼電路在確定不是干擾后,ky引腳變?yōu)榈碗娖剑騿纹瑱C(jī)發(fā)出中斷請(qǐng)求讀取鍵值,當(dāng)按鍵撤銷后,ky恢復(fù)高電平。鍵盤譯碼電路的k0.2用于向單片機(jī)輸入鍵值。由于單片機(jī)讀取鍵值的操作是通過外部中斷引起的,這樣在沒有鍵按下時(shí),cpu就不會(huì)執(zhí)行掃描程序,提高了cpu工作的效率。鍵盤接口電路如圖4.2所示。圖4.2 鍵盤接口電路4.3 顯示電路4.3.1 led顯示模塊發(fā)光二極管led是一種通電后能發(fā)光的半導(dǎo)體器件,其導(dǎo)電性質(zhì)與普通二極管類似。led數(shù)碼顯示器就是由發(fā)光二極管組合而成的一種新型顯示器件。在單片機(jī)系統(tǒng)中應(yīng)用非常普遍。led數(shù)碼顯示器是一

46、種由led發(fā)光二極管組合顯示字符的顯示器件。它使用了8個(gè)led發(fā)光二極管,其中7個(gè)用于顯示字符,1個(gè)用于顯示小數(shù)點(diǎn)。led數(shù)碼顯示器有兩種連接方法:(1)共陽極接法。把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時(shí)公共陽極接+5v,每個(gè)發(fā)光二極管的陰極通過電阻與輸入端相連。當(dāng)陰極端輸入低電平時(shí),段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入高電平時(shí)則不點(diǎn)亮。(2)共陰極接法。把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時(shí)公共陰極接地。每個(gè)發(fā)光二極管的陽極通過電阻與輸入端相連。當(dāng)陽極端輸入高電平時(shí),段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入低電平時(shí)則不點(diǎn)亮。在本設(shè)計(jì)中所采用的是共陰極接法的led數(shù)碼顯示器,其引腳排列如圖4.

47、3所示:圖4.3 led數(shù)碼顯示管示意圖4.3.2 顯示模塊led數(shù)碼管顯示電路采用八片首尾相連的74ls164鎖存器和8個(gè)led數(shù)碼管顯示測(cè)試結(jié)果??紤]到提高單片機(jī)io口的利用率,降低編程復(fù)雜性,提高單片機(jī)的計(jì)算速度以及降低數(shù)碼顯示器對(duì)主系統(tǒng)的干擾,采用串行靜態(tài)顯示方式。八片首尾相連的74ls164作為led數(shù)碼管的靜態(tài)顯示鎖存器,芯片74ls164為ttl單向8位移位寄存器,可實(shí)現(xiàn)串行輸入,并行輸出。其中a、b(第1、2管腳)為串行數(shù)據(jù)輸入端,2個(gè)引腳按邏輯與運(yùn)算規(guī)律輸入信號(hào),公用一個(gè)輸入信號(hào)時(shí)可并接,本次設(shè)計(jì)中將其接到at89c51的rxd端,clk(第8管腳)為時(shí)鐘輸入端,連接到at8

48、9c51的txd端。每一個(gè)時(shí)鐘信號(hào)的上升沿加到clk端時(shí),移位寄存器移一位,8個(gè)時(shí)鐘脈沖過后,8位二進(jìn)制數(shù)全部移入74ls164中。 (第9管腳)為復(fù)位端,當(dāng)=0時(shí),移位寄存器各位復(fù)0,只有當(dāng)=1時(shí),時(shí)鐘脈沖才起作用。由于74ls164芯片輸出低電平時(shí)具有8ma的灌電流能力,在靜態(tài)顯示方式下足以保證顯示亮度。因?yàn)?4ls164輸出沒有鎖存功能,所以在傳送信號(hào)時(shí)輸出端數(shù)碼管會(huì)有瞬間閃爍,但由于系統(tǒng)采用12hmz晶振,傳送波特率高達(dá)1m,且一次發(fā)送數(shù)據(jù)較少,故閃爍并不明顯9。表4-1是七段數(shù)碼管可以顯示的字符。表4-1 七段數(shù)碼管可以顯示的字符字符b7 b6 b5 b4 b3 b2 b1 b0共陰

49、筆端碼 01 1 0 0 0 0 0 03fh 11 1 1 1 1 0 0 1 06h 21 0 1 0 0 1 0 0 5bh 31 0 1 1 0 0 0 0 4fh 41 0 0 1 1 0 0 1 66h 51 0 0 1 0 0 1 0 6dh 61 0 0 0 0 0 1 0 7dh 71 1 1 1 1 0 0 0 07h 81 0 0 0 0 0 0 0 7fh 91 0 0 1 0 0 0 0 6fh a1 0 0 0 1 0 0 0 77h b1 0 0 0 0 0 1 1 7ch c1 1 1 0 0 1 1 0 39h d1 0 1 0 0 0 0 1 5eh e1

50、0 0 0 0 1 1 0 79h f1 0 0 0 1 1 1 0 71h p1 0 0 0 1 1 0 0 73h h1 0 0 0 1 0 0 1 76h y1 0 0 1 0 0 0 1 6eh不顯示1 1 1 1 1 1 1 1 00h4.4 測(cè)量電路 測(cè)量電路是由測(cè)頻與自校選擇模塊、脈寬控制模塊和測(cè)頻/測(cè)周期模塊組成。其中測(cè)頻與自校選擇模塊是在系統(tǒng)自檢時(shí),將標(biāo)準(zhǔn)頻率作為被測(cè)頻率信號(hào)送給系統(tǒng),而在系統(tǒng)正常測(cè)量時(shí),將被測(cè)信號(hào)送給系統(tǒng)。脈寬控制模塊和測(cè)頻/測(cè)周期模塊是根據(jù)按鍵鍵值共同控制選擇被測(cè)量。其中管腳spul為脈寬和測(cè)頻/測(cè)周期的選擇輸入信號(hào),由單片機(jī)根據(jù)需要發(fā)出。當(dāng)spul為高電

51、平時(shí),測(cè)頻/測(cè)周期模塊的32位計(jì)數(shù)器的輸入使能由d觸發(fā)器控制,其測(cè)量預(yù)置門控時(shí)間為被測(cè)信號(hào)周期的整數(shù)倍,此時(shí)計(jì)數(shù)值用來計(jì)算被測(cè)信號(hào)的頻率;當(dāng)spul為低電平時(shí),標(biāo)準(zhǔn)計(jì)數(shù)器的輸入使能由附加模塊的pl輸出來控制,測(cè)量門控時(shí)間為被測(cè)信號(hào)的一個(gè)正脈寬的時(shí)間或一個(gè)負(fù)脈寬的時(shí)間寬度,此時(shí)標(biāo)準(zhǔn)計(jì)數(shù)器的計(jì)數(shù)值用來測(cè)量被測(cè)信號(hào)的脈寬寬度。clr為低電平時(shí),計(jì)數(shù)器使能端bena為低電平,測(cè)頻/測(cè)周期電路不工作,系統(tǒng)清零。spul為1時(shí),系統(tǒng)測(cè)量被測(cè)信號(hào)的頻率,當(dāng)cl變?yōu)楦唠娖綍r(shí),在隨后到來的tclk的上升沿bena及start引腳變?yōu)楦唠娖?,?jì)數(shù)器開始計(jì)數(shù);當(dāng)cl變?yōu)榈碗娖綍r(shí),在隨后到來的tclk上升沿bena變

52、為低電平,計(jì)數(shù)器停止計(jì)數(shù)。同時(shí)start引腳變?yōu)榈碗娖接靡酝ㄖ獑纹瑱C(jī)計(jì)數(shù)結(jié)束。在單片機(jī)發(fā)出的sel2sel0控制下通過data7data0分8次將計(jì)數(shù)器的計(jì)數(shù)值讀入單片機(jī)8。測(cè)量電路原理圖如圖4.4所示,測(cè)量電路波形圖如圖4.5所示。圖4.4 測(cè)量電路原理圖圖4.5 測(cè)量電路波形圖4.4.1 測(cè)量與自校選擇電路測(cè)頻與自校選擇電路采用的是圖形輸入方式,其原理圖如圖4.6所示。as為自校與測(cè)頻選擇,接單片機(jī)的p2.7引腳,fx接標(biāo)準(zhǔn)頻率輸入,fs接被測(cè)頻率輸入。測(cè)頻與自校選擇電路用于系統(tǒng)自檢,當(dāng)as為高電平時(shí),系統(tǒng)自檢開始,fout輸出標(biāo)準(zhǔn)頻率bclk,將標(biāo)準(zhǔn)頻率作為被測(cè)頻率進(jìn)行測(cè)量,根據(jù)測(cè)量結(jié)果

53、來判斷系統(tǒng)運(yùn)行是否正常;當(dāng)as為低電平時(shí),系統(tǒng)自檢結(jié)束,fout輸出被測(cè)頻率tclk。標(biāo)準(zhǔn)頻率取自fpga的外部晶振。選擇控制信號(hào)as為高電平時(shí),輸出端為bclk;as為低電平時(shí),輸出端為tclk。測(cè)頻與自校選擇電路波形圖如圖4.7所示。圖4.6 測(cè)頻與自校選擇電路原理圖圖4.7 測(cè)頻與自校選擇電路波形圖4.4.2 測(cè)頻/測(cè)周電路測(cè)頻原理圖如圖4.8所示。測(cè)頻/測(cè)周期電路是由兩個(gè)32位計(jì)數(shù)器、一個(gè)d觸發(fā)器和一片mux64-8選擇器組成。bclk管腳為標(biāo)準(zhǔn)頻率信號(hào)的輸入引腳,tclk管腳為被測(cè)頻率信號(hào)的輸入引腳;cl管腳為預(yù)置門控信號(hào)輸入引腳;clr為計(jì)數(shù)器清零信號(hào)輸入引腳,每次新的測(cè)量開始時(shí)都

54、要將計(jì)數(shù)器清零,以免產(chǎn)生錯(cuò)誤;sel2sel0管腳為單片機(jī)讀入數(shù)據(jù)時(shí)的數(shù)據(jù)選擇信號(hào)輸入,以便單片機(jī)分八次將兩個(gè)32位計(jì)數(shù)器的計(jì)數(shù)值讀入。圖4.8 等精度測(cè)頻原理圖當(dāng)系統(tǒng)開始測(cè)量被測(cè)信號(hào)的頻率時(shí),首先由單片機(jī)將clr端置為高電平,完成測(cè)試電路的初始化。接下來,單片機(jī)將門控信號(hào)cl置為高電平,由被測(cè)信號(hào)的上升沿將兩個(gè)計(jì)數(shù)器同時(shí)打開,對(duì)被測(cè)頻率和標(biāo)準(zhǔn)頻率同時(shí)進(jìn)行計(jì)數(shù)。門控時(shí)間結(jié)束后,單片機(jī)將門控信號(hào)cl置為低電平,在被測(cè)信號(hào)的下一個(gè)脈沖的上升沿到來時(shí),兩個(gè)計(jì)數(shù)器將同時(shí)停止工作。計(jì)數(shù)結(jié)束后,由start端輸出的低電平來指示計(jì)數(shù)的結(jié)束,通過sel信號(hào)和mux64-8多路選擇器將計(jì)數(shù)器中得到的64位數(shù)據(jù)分8次讀入單片機(jī)并按下式計(jì)算和結(jié)果顯示。設(shè)標(biāo)準(zhǔn)信號(hào)的頻率為fs,被測(cè)信號(hào)的頻率為fx,在一次預(yù)置門控時(shí)間內(nèi),對(duì)被測(cè)信號(hào)的計(jì)數(shù)器為nx,對(duì)標(biāo)準(zhǔn)信號(hào)的計(jì)數(shù)值為ns,則下

溫馨提示

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

評(píng)論

0/150

提交評(píng)論