基于AT89C52的頻率計(jì)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第1頁
基于AT89C52的頻率計(jì)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第2頁
基于AT89C52的頻率計(jì)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第3頁
基于AT89C52的頻率計(jì)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第4頁
基于AT89C52的頻率計(jì)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 摘 要 頻率計(jì)作為一件很普遍的的電子器件,在很多領(lǐng)域都能夠用到,目前大部分頻率計(jì)的測頻范圍都很窄,有時(shí)不能滿足所要測的頻率。因此,本文提出寬頻帶頻率計(jì)的的設(shè)計(jì)方案,以單片機(jī)at89c52為控制核心,實(shí)現(xiàn)測量多種波形的頻率值。采用在高頻段直接測頻法,在低頻段測周期法的設(shè)計(jì)思路;硬件部分由放大電路、波形變換和整形電路、閘門時(shí)基控制電路、分頻電路、單片機(jī)和數(shù)據(jù)顯示電路組成;軟件部分由信號頻率測量模塊、周期測量模塊、定時(shí)器中斷服務(wù)模塊、數(shù)據(jù)顯示模塊等功能模塊實(shí)現(xiàn)。應(yīng)用單片機(jī)的控制功能和數(shù)學(xué)運(yùn)算能力,實(shí)現(xiàn)計(jì)數(shù)功能和頻率、周期的換算。設(shè)計(jì)的頻率計(jì)測量范圍能夠達(dá)到2hz1mhz,滿足所要求的頻率范圍,測量

2、精度較高,平均相對誤差低。關(guān)鍵詞:at89c52;寬頻帶;頻率計(jì)abstractas a very common electronic components,the frequency meter is used in many areas. at present, most of the frequency meter measuring frequency range is very narrow, and sometimes it cant satisfy the frequency of the measure. therefore, this paper puts forward t

3、he frequency meter wide band to realize the value of measurement frequency wave. this design is going to make the at89c52 single chip microcomputer as control core.the high frequency band in direct frequency measurement method, at low frequency measurement cycle method of design thinking is to adopt

4、ed; hardware consists of amplifying circuit, wave transform and plastic circuit, gate, and the control circuit, points frequency circuit, scm and data display circuit composed; software is realized by the signal frequency measurement modules, cycle measurement modules, timer interrupt service module

5、, data showed module and function modules. application of the single chip microcomputer control function and mathematical operation ability can realize the count function and frequency of the conversion, period. the frequency of the design plan measurement range can reach 2 hz 1 mhz, meeting the req

6、uired frequency range, high measurement precision, the average relative error low.keywords: at89c52; broadband belt; frequency meter 目 錄1 緒論11.1 課題的引入11.2 背景11.3 目的及意義12 頻率計(jì)總體方案設(shè)計(jì)22.1 總體設(shè)計(jì)方案22.2 測量方法分析42.2.1 直接測頻法42.2.2 間接測量法(測周期法)42.2.3 直接與間接相結(jié)合的方法53 系統(tǒng)硬件設(shè)計(jì)63.1 信號預(yù)處理電路63.1.1 放大電路63.1.2 波形變換和整形電路73.

7、1.3 閘門時(shí)基電路83.1.4 分頻電路93.2 最小系統(tǒng)113.2.1 at89c52113.2.2 復(fù)位電路133.2.3 晶振電路143.3 顯示電路143.4 總電路圖174 系統(tǒng)軟件設(shè)計(jì)184.1 直接頻率測量模塊184.2 信號周期測量模塊194.3 定時(shí)器中斷服務(wù)模塊204.4多進(jìn)制二進(jìn)制數(shù)轉(zhuǎn)換為bcd碼模塊214.5 相關(guān)子模塊224.6 led動(dòng)態(tài)顯示模塊224.7 源程序235 仿真和調(diào)試245.1硬件的仿真245.2 軟件的調(diào)試255.2.1 軟件調(diào)試步驟255.2.2問題及解決方法28結(jié)論30致 謝31參考文獻(xiàn)32附錄a33附錄b38基于at89c52的頻率計(jì)設(shè)計(jì)1.

8、1 課題的引入頻率是一種計(jì)算單位內(nèi)的信號變化的數(shù)值的儀器,是最基本的參數(shù)之一。由于頻率信號抗干擾能力強(qiáng)、易于傳輸,可以獲得較高的測量精度,能用多種測量方法測量。傳統(tǒng)的頻率計(jì)通常采用組合電路和時(shí)序電路等大量的硬件電路構(gòu)成,產(chǎn)品不但體積較大,運(yùn)行速度慢,而且測量低頻信號時(shí)不宜直接使用。隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的迅速發(fā)展,特別是單片機(jī)的出現(xiàn)和發(fā)展,使傳統(tǒng)的電子測量儀器在原理、功能、精度及自動(dòng)化水平等方面都發(fā)生了巨大的變化。從單片機(jī)引入我國至今,單片機(jī)的應(yīng)用越來越廣泛。運(yùn)用單片機(jī)設(shè)計(jì)頻率計(jì),并采用適當(dāng)?shù)乃惴ㄈ〈鷤鹘y(tǒng)電路,并采用適當(dāng)?shù)乃惴ㄈ〈鷤鹘y(tǒng)電路,克服了傳統(tǒng)頻率計(jì)結(jié)構(gòu)復(fù)雜、穩(wěn)定性差、精度不高的弊端

9、,其體積小、保密性強(qiáng)、設(shè)計(jì)簡單、成本低,不僅大大降低了設(shè)計(jì)成本和實(shí)現(xiàn)復(fù)雜度,而且頻率計(jì)性能也將大幅提高,可實(shí)現(xiàn)精度較高、等精度和寬范圍頻率計(jì)的要求。1.2 背景頻率計(jì)是一種很普遍的測量儀器,其基本功能是測量信號的頻率和周期,還廣泛應(yīng)用于各個(gè)領(lǐng)域。20世紀(jì)70年代,美國仙童(fairchild)公司研制出世界上第一臺單片微型機(jī)f8。此時(shí)單片機(jī)仍處在初級的發(fā)展階段,元件集成規(guī)模還比較小,功能比較簡單,一般均把cpu、ram有的還包括了一些簡單的i/o口集成到芯片上,它還需配上外圍的其他處理電路方才構(gòu)成完整的計(jì)算系統(tǒng)。但此后,單片機(jī)的發(fā)展迅速,各種功能不斷增強(qiáng)和完善,應(yīng)用領(lǐng)域也越來越廣,現(xiàn)已成為微型

10、計(jì)算機(jī)的重要分支。隨著嵌入式系統(tǒng)式系統(tǒng)片上系統(tǒng)等概念的提出.普遍接受及應(yīng)用,單片機(jī)的發(fā)展又進(jìn)入了一個(gè)新的階段,單片機(jī)的體積更小功能更齊全可靠性更高。從80年代單片機(jī)引入我國至今,單片機(jī)已廣泛地應(yīng)用于電子設(shè)計(jì)中。頻率計(jì)的設(shè)計(jì)運(yùn)用51系列單片機(jī)和高速計(jì)數(shù)器的組合,并采用適當(dāng)?shù)乃惴ㄈ〈鷤鹘y(tǒng)電路,不僅能克服傳統(tǒng)頻率計(jì)結(jié)構(gòu)復(fù)雜、穩(wěn)定性差、精度不高的弊端,而且頻率計(jì)性能也將大幅提高,可實(shí)現(xiàn)精度較高、等精度和寬范圍頻率計(jì)的要求。1.3 目的及意義 目前頻率計(jì)大部分都是采用專用計(jì)數(shù)芯片和數(shù)字邏輯電路組成,這些芯片本身的工作頻率不高,從而限制了產(chǎn)品工作頻率的提高。有時(shí)在測量高頻率或者低頻率的時(shí)候,往往不能滿足測

11、量要求,而且測量精度也受到芯片本身極大的限制。因此,本設(shè)計(jì)提出寬頻帶頻率計(jì)的設(shè)計(jì)。相比傳統(tǒng)的頻率計(jì),它的結(jié)構(gòu)更簡單,穩(wěn)定性好,精度高,體積更小,保密性更強(qiáng)。降低了設(shè)計(jì)成本和復(fù)雜度,比傳統(tǒng)的性能更好,運(yùn)用范圍更廣。為適應(yīng)實(shí)際工作的需要,本次設(shè)計(jì)給出了一種較小規(guī)模和單片機(jī)(at89c52)相結(jié)合的頻率計(jì)的設(shè)計(jì)方案,不但切實(shí)可行,而且體積小、保密性強(qiáng)、設(shè)計(jì)簡單、成本低、精度高、可測頻帶寬,大大降低了設(shè)計(jì)成本和實(shí)現(xiàn)復(fù)雜度。2 頻率計(jì)總體方案設(shè)計(jì)數(shù)字頻率計(jì)的主要功能是測量周期信號的頻率。頻率是周期信號在單位時(shí)間內(nèi)變化的次數(shù)。在給定的時(shí)間內(nèi),對通過的信號波形進(jìn)行計(jì)數(shù),這個(gè)計(jì)數(shù)值,就是要測頻率的大小。 通常

12、,輸入信號的頻率不穩(wěn)定。頻率計(jì)的作用是先獲得相對穩(wěn)定與準(zhǔn)確時(shí)間,同時(shí)將被測信號轉(zhuǎn)換成幅度與波形均能被數(shù)字電路識別的脈沖信號,然后將這一段時(shí)間間隔內(nèi)的脈沖個(gè)數(shù)顯示出來,得到所要測的頻率,這就是數(shù)字頻率計(jì)的基本原理。2.1 總體設(shè)計(jì)方案方案一:采用中小規(guī)模數(shù)字集成電路測頻系統(tǒng),完成頻率計(jì)測量功能。原理框圖如圖2-1所示。 該方案的特點(diǎn)是集成電路具有體積小,重量輕,引出線和焊接點(diǎn)少,壽命長,可靠性高,性能好等優(yōu)點(diǎn),同時(shí)成本低,便于大規(guī)模生產(chǎn)。圖2-1 方案一的原理框圖 該方案采用的是中小規(guī)模數(shù)字集成電路,用機(jī)械式功能轉(zhuǎn)換開關(guān)換檔,完成測頻率、測周期及測脈寬等功能。頻率范圍寬:測量頻率范圍為10hz2

13、0ghz。雖然能夠?qū)崿F(xiàn)寬頻帶頻率的測量,但其功能擴(kuò)展不易實(shí)現(xiàn),智能化程度也不高,不符合目前數(shù)字頻率計(jì)的發(fā)展要求。而且,電路過于復(fù)雜,而且多量程換檔開關(guān)使用不便。所以不選擇此方案。方案二:系統(tǒng)采用可編程邏輯器件作為信號處理及系統(tǒng)控制核心,完成包括計(jì)數(shù)、門控、顯示等一系列工作。頻率計(jì)由單片機(jī)控制,采用可編程邏輯器件,配合相應(yīng)的前置電路,接口電路以及相應(yīng)的軟件,實(shí)現(xiàn)對頻率、脈寬、占空比的測量,對輸入信號的頻率范圍自動(dòng)判斷,并選擇相應(yīng)的的測量方法,從而實(shí)現(xiàn)量程的自動(dòng)轉(zhuǎn)換,系統(tǒng)的智能化提高。原理框圖如圖2-2所示。圖2-2 方案二的原理框圖該方案在設(shè)計(jì)方法、硬件電路的實(shí)現(xiàn)上都要比方案一簡潔、新穎,而且采

14、用可編程邏輯器件(pld)的eda技術(shù)也是現(xiàn)代電子產(chǎn)品開發(fā)的方向,應(yīng)用這種技術(shù)來實(shí)現(xiàn)數(shù)字頻率計(jì)的設(shè)計(jì)是可行的。但從系統(tǒng)設(shè)計(jì)的要求上看,要能實(shí)現(xiàn)測量頻率是2hz1mhz的范圍,以頻率下限2hz為例,要達(dá)到誤差小于0.1的目的,必須顯示3位的有效數(shù)字,而使用直接測頻的方法,要達(dá)到達(dá)個(gè)測量精度,需要主門連續(xù)開啟100秒。該方案利用了pld的可編程和大規(guī)模集成的特點(diǎn),使電路大為簡化,但測量精度不夠高,導(dǎo)致系統(tǒng)性價(jià)比降低,系統(tǒng)功能擴(kuò)展受到限制。方案三:系統(tǒng)控制核心采用單片機(jī)at89c52,門控信號由at89c52內(nèi)部的計(jì)數(shù)/定時(shí)器產(chǎn)生。單片機(jī)的最小系統(tǒng)采用24m的晶振,計(jì)數(shù)頻率約為500khz,上限頻率

15、較低。所以在測量高頻信號時(shí),需要對信號進(jìn)行預(yù)分頻處理。由于使用了單片機(jī),整個(gè)系統(tǒng)的靈活性更高,也可以用多種語言實(shí)現(xiàn)編程,能方便地對系統(tǒng)進(jìn)行功能擴(kuò)展與改進(jìn)。原理框圖如圖2-3所示。脈沖形成電路分頻電路74ls393主 控at89c52單片機(jī)led顯示閘門開關(guān)74ls08門控信號圖2-3 方案三的原理框圖該方案使用了功能較強(qiáng)的at89c52芯片,單片機(jī)完成運(yùn)算控制功能,使本系統(tǒng)可以通過對軟件改進(jìn)而擴(kuò)展功能,提高測量精度,而且可以用c語言和匯編語言編程,使軟件的設(shè)計(jì)變得相對簡單。因此選用方案三,采用單片機(jī)作為核心控制系統(tǒng)。2.2 測量方法分析常用頻率計(jì)的測量方法有三種:直接測量法、間接測量法、直接與

16、間接測量結(jié)合法。2.2.1 直接測頻法直接測頻法測量原理是:頻率是單位時(shí)間內(nèi)信號發(fā)生周期變化的次數(shù),如果設(shè)定在單位時(shí)間1s內(nèi)被測信號的脈沖計(jì)數(shù),測得的這個(gè)脈沖個(gè)數(shù)就是要測的被測信號的頻率。如圖2-4?;鶞?zhǔn)閘門信號被測信號實(shí)際檢出信號1s圖2-4 直接測頻法時(shí)序圖經(jīng)過實(shí)驗(yàn)可以得出,高頻率的信號測的信號頻率與實(shí)際頻率相差不大,但在低頻段測量時(shí),相對誤差很大,即直接測量法適合用在高頻段頻率的測量中,在低頻段中不適用。2.2.2 間接測量法(測周期法) 直接測量法可以直接測出單位時(shí)間內(nèi)的脈沖個(gè)數(shù)即頻率,但對于低頻率的信號測量誤差會(huì)很大。因此,對于低頻段的信號頻率,必須采用其他的測量方法。為了減小低頻段

17、信號頻率的測量誤差,采用測周期法,也就是間接測量法。其原理是測量在單位時(shí)間內(nèi)的被測信號的周期。在單位時(shí)間內(nèi),已知標(biāo)準(zhǔn)的短周期間隔的較高頻率的信號通過,通過數(shù)字電路或微型計(jì)算機(jī)的運(yùn)算,單位時(shí)間的已知信號頻率的個(gè)數(shù)越多,其被測頻率也就越低。如圖2-5.被測閘門信號高頻信號實(shí)際檢出信號未知圖2-5 間接測量法時(shí)序圖該方法只適合低頻率信號的測量,高頻率信號測量會(huì)有很大的誤差。2.2.3 直接與間接相結(jié)合的方法本設(shè)計(jì)是測量寬頻帶頻率的測量,頻率測量范圍很大,能夠測量從2hz1mhz之間的任意一個(gè)頻率;又需要盡可能地提高測量頻率的準(zhǔn)確度和精確度,所以對頻率的測量通過分段,采用直接與間接相結(jié)合的方法。把測量

18、工作分為兩種方法:(1)在的高頻段采用直接測頻法。(2)在的低頻段采用測周期法。 3 系統(tǒng)硬件設(shè)計(jì)頻率計(jì)由單片機(jī)at89c52 、信號預(yù)處理電路、測量數(shù)據(jù)顯示電路所組成,其中信號預(yù)處理電路包括待測信號放大、波形變換、波形整形和分頻電路。系統(tǒng)硬件實(shí)現(xiàn)框圖如圖3-1所示。待測信號放大電路波形變換、整形閘門控制分頻電路單片機(jī)顯示電路圖3-1 頻率計(jì)原理框圖3.1 信號預(yù)處理電路3.1.1 放大電路采用兩個(gè)npn三極管(9018)級聯(lián)方式實(shí)現(xiàn)對待測信號的放大,降低對待測信號的幅度要求。電路中用兩個(gè)三極管(9018)。為了獲得比較寬的頻率,第一個(gè)三極管采用共集電極方式。在三極管之前加入一個(gè)47k的電阻,

19、增大輸入電阻,可以減輕被放大信號的信號源負(fù)擔(dān),少索取信號源電流,使信號源有效的信號電壓盡量加在放大器上。共集電極方式可以放大電流,電壓跟隨作用,輸入電阻高,輸出電阻小頻率特性好。不具有實(shí)質(zhì)性的放大作用。第二個(gè)三極管采用共發(fā)射極方式,主要作用是放大非常弱的輸入脈沖信號。共射級放大電路的電壓和電流增益都大于1,輸入電阻在三級組態(tài)中,輸出電阻和集電極電阻有關(guān),輸出電阻小一些好,可以使放大器帶負(fù)荷的能力強(qiáng)一些??梢远嘁恍┑妮敵鲭娏鳌_m用于低頻。一般通過它的放大后,其電壓可以達(dá)到3伏以上。為了消除不必要的噪聲信號干擾,在兩級放大電路中都加入了濾波電容,保證待測信號的穩(wěn)定。如圖3-2所示。9018參數(shù)如下

20、:npn 集電極-發(fā)射極電壓 15v 集電極-基電壓 30v 射極-基極電壓 5v 集電極電流 0.05a 耗散功率 0.4w 結(jié)溫 150 特征頻率 平均 620mhz 放大倍數(shù):d28-45 e39-60 f54-80 g72-108 h97-146 i132-198圖3-2 放大電路 3.1.2 波形變換和整形電路為了把要檢測的正弦波、三角波、方波等各種波形的正負(fù)交替的信號波形變換成可被單片機(jī)接受的ttl/cmos兼容信號。采用數(shù)字芯片(74hc00)。數(shù)字芯片(74hc00)是ttl2輸入端四與非門,高電平4v,低電平1v。其引腳功能如表3-1所示。74hc00功能表,如圖表3-2所示

21、 。其引腳圖如圖3-3 表3-1 74hc00引腳功能說明引腳名稱說明引腳名稱說明引腳名稱說明1a-4a輸入端1y-4y輸出端gnd地1b-4b輸入端vcc電源表3-2 74hc00功能表y=ab輸入輸出輸入輸出abyhlhllhhhllhh圖3-3 74hc00引腳圖 74hc00在轉(zhuǎn)換過程中有正反饋?zhàn)饔茫梢詫⑦呇刈兓徛闹芷谛孕盘栕儞Q為邊沿很陡的矩形脈沖信號。在數(shù)字系統(tǒng)中,矩形脈沖經(jīng)傳輸后往往會(huì)發(fā)生畸變。引起畸變的原因主要有兩個(gè)方面:一是由干擾信號引起的;二是由傳輸線路引起的。前一種比較普遍。后一種當(dāng)傳輸線上電容較大,波形的上升沿和下降沿明顯變壞。也可能由于傳輸線較長引起振蕩現(xiàn)象;還有

22、可能信號上出現(xiàn)附加的噪聲。這些都將嚴(yán)重影響到矩形脈沖的實(shí)際效果。74hc00芯片可以很好地解決這些問題,得到比較理想的矩形脈沖波形。其電路如圖3-4所示。在實(shí)際應(yīng)用中,僅僅用到一個(gè)與非門,它的1腳接高電平,2腳接通過放大作用放大的輸入信號,3腳輸出高低電平的數(shù)字信號,實(shí)現(xiàn)波形的變換和整形。圖3-4 波形變換和整形電路 3.1.3 閘門時(shí)基電路為了對數(shù)字信號的控制,采用數(shù)字芯片(74ls08)。74ls08是兩輸入端四與門,其管腳如圖3-5,其功能表如表3-3。 表3-3 74ls08功能表y=ab輸入輸出abyllllhlhllhhh圖3-5 74ls08引腳圖 在實(shí)際應(yīng)用中,只用到其中的一個(gè)

23、與門,它的1腳接74hc00的輸出信號,2腳接到單片機(jī)的p3.1,2腳的電平是高還是低,取決與單片機(jī)。當(dāng)2腳是低電平時(shí),無論74hc00輸出的是高電平,還是低電平,在74ls08的3腳都沒有信號輸出;當(dāng)2腳是高電平時(shí),從74hc00的3腳出來的信號就通過74ls08的1腳傳送到3腳,然后進(jìn)入下一個(gè)控制電路。 芯片74ls08在電路中起到一個(gè)開關(guān)的作用,只有在高電平有效時(shí),才能進(jìn)行信號的傳輸,起到控制的作用。低電平時(shí),則無效。其在電路中的應(yīng)用如圖3-6。圖3-6 閘門時(shí)基電路 3.1.4 分頻電路為了擴(kuò)展單片機(jī)的頻率測量范圍實(shí)現(xiàn)寬頻的目地,也為了實(shí)現(xiàn)單片機(jī)頻率測量和周期測量的使用統(tǒng)一的輸入信號。

24、采用數(shù)字芯片74ls393。74ls393是雙4位二進(jìn)制計(jì)數(shù)器。采用兩個(gè)芯片接成級聯(lián)的方式,組成一個(gè)8位二進(jìn)制計(jì)數(shù)器,同時(shí)也是分頻比為256的分頻器,然后將它們接入單片機(jī)的p1口。計(jì)數(shù)時(shí)序如表3-4。表3-4 74ls393的計(jì)數(shù)時(shí)序計(jì)數(shù)輸出qdqcqbqa0llll1lllh2llhl3llhh4lhll5lhlh6lhhl7lhhh8hlll9hllh10hlhl11hlhh12hhll13hhlh14hhhl15hhhh74ls393是具有獨(dú)立時(shí)鐘的雙4位二進(jìn)制計(jì)數(shù)器,每個(gè)計(jì)數(shù)器都有直接清除,有效提高系統(tǒng)密度,緩沖輸出減小集電極轉(zhuǎn)換的可能性。每個(gè)計(jì)數(shù)器又有個(gè)清除輸入和一個(gè)時(shí)鐘輸入。由于每

25、個(gè)計(jì)數(shù)級都有并行輸出,所以系統(tǒng)定時(shí)信號可以獲得輸入計(jì)數(shù)頻率的任何因子。74ls393的最大計(jì)數(shù)速率可達(dá)50mhz,與at89c52內(nèi)的t0組成24位的計(jì)數(shù)器,其最大計(jì)數(shù)值為-1=16777215,分辨率將大大提高。其分頻電路如圖3-7。另外,采用74ls393的好處還在于它的清零端口可以與單片機(jī)的一個(gè)引腳相連,通過對單片機(jī)軟件編程實(shí)現(xiàn)分頻器74ls393的自動(dòng)清零和重新計(jì)數(shù),就不再需要硬件電路來實(shí)現(xiàn),簡化了電路的設(shè)計(jì)。74ls393a引腳1連接由74ls08的3腳,作為信號輸入。2腳與74ls393b的2腳相連接到單片機(jī)的p3.0口,作為輸入。74ls393b的1腳接到74ls393a的引腳6

26、,由74ls393a的6腳提供時(shí)鐘信號。74ls393的輸出端口分別連接到單片機(jī)的p0口上作為輸入。圖3-7 分頻電路3.2 最小系統(tǒng)3.2.1 at89c52 頻率測量電路選用at89c52 作為頻率計(jì)的信號處理核心。在眾多的單片機(jī)系列中,at89c52是一種低功耗、高性能cmos8位微控制器,具有8k在系列可編程flash存儲(chǔ)器。在單芯片上,擁有靈巧的8位cpu和在系統(tǒng)可編程flash,使得at89c52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超高效的解決方案。at89c52的管腳如圖3-8。 頻率測量電路選用at89c52 作為頻率計(jì)的信號處理核心。at89c52 包含2 個(gè)16 位定時(shí)/計(jì)

27、數(shù)器、1個(gè)具有同步移位寄存器方式的串行輸入/輸出口和8k8位片內(nèi)flash 程序存儲(chǔ)器。16位定時(shí)/計(jì)數(shù)器用于實(shí)現(xiàn)待測信號的頻率測量或者待測信號的周期測量。同步移位寄存器方式的串行輸入/輸出口用于把測量結(jié)果送到顯示電路。8k8位片內(nèi)flash 程序存儲(chǔ)器用于放置系統(tǒng)軟件。32個(gè)i/o口線使單片機(jī)外圍能最大可能的擴(kuò)展。另外引腳在程序控制下有第二功能,可供設(shè)計(jì)者靈活選擇。如當(dāng)需要系統(tǒng)擴(kuò)展時(shí),則數(shù)據(jù)線和地址線低8位分時(shí)復(fù)用通道p0口,地址高8位和其他信號可合用通道p2口,功能變換和選擇由相應(yīng)的指令完成。單片機(jī)i/o引腳一線多功能的特點(diǎn)方便了用戶的設(shè)計(jì),在組成系統(tǒng)時(shí)可自選擇。圖3-8 at89c52管

28、腳圖p1口設(shè)置為接收數(shù)據(jù)端口,通過分頻器74ls393分頻后依次接到p1口的8個(gè)引腳。p2口的各引腳接到74ls06的輸入端,用于位驅(qū)動(dòng);p3口設(shè)置為第二功能。p3.1控制閘門時(shí)間的開啟;p3.3用于周期測量時(shí)的時(shí)基控制端;p3.4用于直接測頻率時(shí)脈沖信號的計(jì)數(shù)端;p3.5用于定時(shí)。將p0口和p2口設(shè)置為發(fā)送數(shù)據(jù)端口。單片機(jī)復(fù)位端(rst)可采用采用外部手動(dòng)復(fù)位,實(shí)際操作也很方便。 p0口:p0口是一個(gè)8位漏級開路的雙向i/o口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)ttl邏輯電平。對p0口端口寫“1”時(shí),引腳作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),p0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,p

29、0具有內(nèi)部上拉電阻。 p1口:p1口是一個(gè)具有內(nèi)部上拉電阻的8位是雙向i/o口,p1的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯電平。對p1口寫“1”時(shí),內(nèi)部上拉電阻的原因,將輸出電流ill。 p2口:p2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向i/o口,p2輸出緩沖級可驅(qū)動(dòng)吸收或輸出電流4個(gè)ttl邏輯電平。對p2口寫“1”時(shí),通過內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流ill。 p3口:p3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向i/o口,p3輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯電平。對p3口寫“1”時(shí),內(nèi)部上拉電阻

30、把端口拉高,此時(shí)可以作為輸入端口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流ill。p3口除了作為一般、的i/o口線外,更重要的是它的第二功能,如表3-5所示。 表3-5 p3口引腳第二功能引腳號第二功能p3.0rxd(串行輸入)p3.1txd(串行輸出)p3.2int0(外部中斷0)p3.3int1(外部中斷1)p3.4t0(定時(shí)器0外部輸入)p3.5t1(定時(shí)器1外部輸入)p3.6wr(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7rd(外部數(shù)據(jù)存儲(chǔ)器讀選通) rst:復(fù)位輸入。晶振工作時(shí),rst腳持續(xù)2個(gè)機(jī)器周期以高電平將使用單片機(jī)復(fù)位。 ale/prog:地址鎖存器控制信號(a

31、le)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳(prog)也使用作編程輸入脈沖。 psen:外部程序儲(chǔ)存器選通信號(psen)是外部程序存儲(chǔ)器選通信號。當(dāng)at89c52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),psen在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)儲(chǔ)存器時(shí),psen將不被激活。 ea/vpp:訪問外部程序存儲(chǔ)器控制信號。為使能從0000hffffh的外部程序存儲(chǔ)器讀取指令,ea端必須保持低電平(接地)。為了執(zhí)行內(nèi)部程序指令,ea應(yīng)該接vcc。 xta l1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。xta l2:振蕩器反相放大器的輸出端。3.2.2 復(fù)位電

32、路單片機(jī)的復(fù)位電路(如圖3-9)在最小系統(tǒng)中有很重要的作用。不管是置位還是復(fù)位,都是為了把電路初始化到一個(gè)確定的狀態(tài)。它的作用是將工作狀態(tài)初始化到空狀態(tài),在單片機(jī)內(nèi)部,復(fù)位的時(shí)候單片機(jī)是把一些寄存器以及存儲(chǔ)設(shè)備裝入廠商預(yù)設(shè)的一個(gè)值。本設(shè)計(jì)的復(fù)位電路由按鍵復(fù)位和上電復(fù)位兩部分組成。(1)上電復(fù)位:at89c52單片機(jī)為高電平復(fù)位,在復(fù)位引腳rst上連接一個(gè)電容到vcc,再連接一個(gè)電阻到gnd,由此形成一個(gè)rc充放電回路保證單片機(jī)在上電時(shí)rst腳上有足夠時(shí)間的高電平進(jìn)行復(fù)位,隨后回歸到低電平進(jìn)入正常工作狀態(tài),這個(gè)電阻和電容的值為8k和0.1uf。(2)按鍵復(fù)位:按鍵復(fù)位就是在復(fù)位電容上并聯(lián)一個(gè)開關(guān)

33、,當(dāng)開關(guān)按下時(shí)電容被放電、rst也被拉到高電平,而且由于電容的充電,會(huì)保持一段時(shí)間的高電平來使單片機(jī)復(fù)位。圖3-9 單片機(jī)復(fù)位電路3.2.3 晶振電路在at89c52的最小系統(tǒng)中,晶振電路的作用非常大。晶振電路電路中的晶體振蕩器能結(jié)合單片機(jī)內(nèi)部電路產(chǎn)生單片機(jī)所需要的時(shí)鐘頻率。單片機(jī)運(yùn)行速度的快慢決定于晶振提供的時(shí)鐘頻率。頻率越高,運(yùn)行速度越快;率越低,那么運(yùn)行的越慢。單片機(jī)接的一切指令的執(zhí)行都是建立在單片機(jī)晶振提供的時(shí)鐘頻率。本設(shè)計(jì)的晶振電路由一個(gè)24m晶振和兩個(gè)30pf的電容組成,給系統(tǒng)提供所需的時(shí)鐘頻率。如圖3-10所示。圖3-10 晶振電路3.3 顯示電路 在實(shí)際的設(shè)計(jì)中,p0口的各引腳

34、接到74ls245的輸入端,用于段驅(qū)動(dòng)。74ls245用來驅(qū)動(dòng)led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74ls245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)at89c52單片機(jī)的p0口總線負(fù)載達(dá)到或超過p0最大負(fù)載能力時(shí),必須接入74ls245等總線驅(qū)動(dòng)器。當(dāng)片選端/ce低電平有效時(shí),dir=“0”,信號由 b 向 a 傳輸;(接收)dir=“1”,信號由 a 向 b 傳輸;(發(fā)送)當(dāng)ce為高電平時(shí),a、b均為高阻態(tài)。其管腳如圖3-11。 圖3-11 74ls245管腳圖 如圖3-13所示。一般而言,數(shù)據(jù)顯示有靜態(tài)顯示和動(dòng)態(tài)顯示兩種。所謂靜態(tài)顯示,就是當(dāng)

35、顯示器顯示某一個(gè)字符時(shí),相應(yīng)的發(fā)光二極管恒定地導(dǎo)通和截止。它的優(yōu)點(diǎn)是顯示穩(wěn)定,顯示亮度大;缺點(diǎn)是使用的數(shù)碼管數(shù)量少。正是因?yàn)樗倪@個(gè)缺點(diǎn)和本設(shè)計(jì)的要求,數(shù)字頻率計(jì)的顯示電路選擇了采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)顯示,就是led顯示器一位一位地輪流電亮(掃描)。對于每一位led顯示器來說,每隔一段時(shí)間點(diǎn)亮一次。led 顯示器的亮度既與導(dǎo)通電流有關(guān),也與led顯示器點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。通過調(diào)整led顯示器的導(dǎo)通電流和時(shí)間比例參數(shù),可以實(shí)現(xiàn)較高亮度且穩(wěn)定的顯示。發(fā)光二極管共有兩種連接方法:(1)共陰極接法發(fā)光二極管的陰極連在一起構(gòu)成公共陰極。使用時(shí)公共陰極接地,這樣,高電平接到陽極端,發(fā)光二極管

36、被點(diǎn)亮,相應(yīng)的段被顯示;其他的不點(diǎn)亮。(2)共陽極接法發(fā)光二極管的陽極連在一起構(gòu)成公共陽極。使用時(shí)公共陽極接5v,這樣,低電平接到陰極端,發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示;其他的不點(diǎn)亮。本設(shè)計(jì)led顯示器采用共陰極動(dòng)態(tài)顯示形式,8位led用兩塊四位集成的數(shù)碼管連接組成。頻率計(jì)數(shù)結(jié)果以bcd碼的形式存放在at89c52的存儲(chǔ)單元中,通過p0口接到74ls245上,控制8位led的段選碼;通過p2口接到74ls04上,控制8位led的位選碼。74ls245是8位總線驅(qū)動(dòng)器,由芯片上的t/引腳(1腳)控制數(shù)據(jù)的傳輸方向。當(dāng)t/=1時(shí),數(shù)據(jù)從a端傳送到b端;當(dāng)t/=0時(shí),數(shù)據(jù)從b端傳送到a端。根據(jù)本設(shè)

37、計(jì)的原理圖知,數(shù)據(jù)是從a端傳送到b端,因此設(shè)t/=1,即是高電平有效。另外,由于51單片機(jī)的p0口沒有上拉電阻,在將p0口設(shè)置為輸出端時(shí),必須考慮在段驅(qū)動(dòng)的每一段位上接入上拉電阻,使led顯示管能夠工作。單片機(jī)的p1口掃描輸出時(shí)總有一位為高電平,如果沒有反相驅(qū)動(dòng)器將這一位的高電平變成低電平,那在led上顯示出來的將是亂碼。74ls04是反相器,正好符合設(shè)計(jì)要求。由于是8位led顯示管,所以采用兩個(gè)74ls04來控制。74ls04是6組反相器,其引腳圖如圖3-12。引出端符號1a-6a 輸入端 1y-6y 輸出端極限值電源電壓為7v 輸入電壓為7v工作環(huán)境溫度為0-70度存儲(chǔ)溫度為-65-150

38、度圖3-12 74ls04管腳圖圖3-13 測量數(shù)據(jù)顯示電路a圖3-13 測量數(shù)據(jù)顯示電路b 3.4 總電路圖總電路圖見附錄b 4 系統(tǒng)軟件設(shè)計(jì)一個(gè)設(shè)計(jì)能否成功,不只是要有硬件,也要有軟件。軟件編程部分是設(shè)計(jì)電路能否成功的關(guān)鍵。本設(shè)計(jì)用的是單片機(jī)at89c52,具有編程和自動(dòng)運(yùn)算的功能,所以很多功能都得用軟件部分來實(shí)現(xiàn)。 數(shù)字頻率計(jì)的系統(tǒng)軟件設(shè)計(jì)采用模塊化設(shè)計(jì)方法。如圖4-1所示。整個(gè)系統(tǒng)由初始化模塊、頻率測量模塊、二進(jìn)制轉(zhuǎn)bcd碼模塊、測量數(shù)據(jù)顯示模塊、信號周期測量模塊、浮點(diǎn)數(shù)格式化模塊、定時(shí)器中斷服務(wù)模塊、相關(guān)子模塊組成。圖4-1 系統(tǒng)軟件流程圖 下面分別介紹各個(gè)功能模塊的作用。4.1 直

39、接頻率測量模塊直接頻率測量模塊是整個(gè)軟件設(shè)計(jì)模塊中最重要的一部分。要對頻率的直接測量,首先對定時(shí)器/計(jì)數(shù)器t0、t1進(jìn)行初始化,t1設(shè)置為定時(shí)器方式1,t0設(shè)置為計(jì)數(shù)器方式1;然后打開閘門p3.1。用軟件進(jìn)行設(shè)置是將ea=1,運(yùn)行控制位tr=1,然后啟動(dòng)定時(shí)/計(jì)數(shù)器開始工作;再運(yùn)行軟件延時(shí)程序,同時(shí)定時(shí)/計(jì)數(shù)器對外部的待測信號進(jìn)行計(jì)數(shù),延時(shí)結(jié)束時(shí)tr 清0,停止計(jì)數(shù);最后從計(jì)數(shù)寄存器讀出測量數(shù)據(jù),在完成數(shù)據(jù)處理后,由顯示電路顯示測量結(jié)果。其流程框圖如圖4-2所示。源程序見附錄a。t0/ti初始化啟動(dòng)定時(shí)器t1打開計(jì)數(shù)閘門p3.1關(guān)閉計(jì)數(shù)閘門p3.1關(guān)閉計(jì)數(shù)器讀入計(jì)數(shù)值計(jì)數(shù)值修正結(jié)果轉(zhuǎn)換成bcd

40、碼送動(dòng)態(tài)顯示輔助計(jì)數(shù)器加1定時(shí)時(shí)間到?yynn計(jì)數(shù)器t0溢出?延時(shí)100s開始圖4-2 直接測頻法流程框圖4.2 信號周期測量模塊 在低頻率段,為了保證比較高的測量精度和較小的測量誤差,在數(shù)字頻率計(jì)低頻段的設(shè)計(jì)中,往往不是直接測量輸入脈沖信號的頻率,而是去轉(zhuǎn)測它的周期。利用測周期法實(shí)現(xiàn)頻率測量時(shí),外部的待測信號通過頻率計(jì)的預(yù)處理電路變成寬度等于待測信號周期的方波,該方波同樣加至定時(shí)/計(jì)數(shù)器的輸入腳。首先將計(jì)數(shù)器清0,如果輸入高電平,則將控制位tr置1,開始計(jì)數(shù)。同時(shí)檢測輸入的高電平是否結(jié)束,如果是,將tr清0,停止計(jì)數(shù),如果沒結(jié)束,則繼續(xù)。當(dāng)計(jì)數(shù)完成,從寄存器中讀出測量數(shù)據(jù),在完成數(shù)據(jù)處理后,

41、由顯示電路顯示測量結(jié)果。其流程框圖如圖4-3所示。源程序見附錄a。開始t1初始化p3.3下降沿?t1計(jì)數(shù)并將值保存到tl1寄存單元p3.3上升沿?t1計(jì)數(shù)并將值保存到th1寄存單元等待等待yynn結(jié) 束圖4-3 測周期法流程框圖 4.3 定時(shí)器中斷服務(wù)模塊定時(shí)器中斷應(yīng)用在軟件中實(shí)現(xiàn)某功能時(shí)顯得非常方便和簡單。它解決了快速的cpu和慢速的外設(shè)之間的矛盾,使它們能夠同步工作,大大提高了cpu資源的利用率。首先找到int1的中斷入口地址,并初始化,當(dāng)閘門時(shí)間到時(shí),響應(yīng)中斷,單片機(jī)的定時(shí)/計(jì)數(shù)器對計(jì)數(shù)脈沖進(jìn)行計(jì)數(shù),然后調(diào)bcd碼程序,送led數(shù)碼管顯示。其中斷流程框圖如圖4-4所示。源程序見附錄a。i

42、nt1中斷入口初始化保存計(jì)數(shù)值tr0,th0,tl0清零bcd轉(zhuǎn)換軟件譯碼調(diào)顯示子程序返回圖4-4 int1中斷程序流程圖 4.4多進(jìn)制二進(jìn)制數(shù)轉(zhuǎn)換為bcd碼模塊這是針對于直接測頻法時(shí)計(jì)數(shù)脈沖而言的。因?yàn)閱纹瑱C(jī)at89c52內(nèi)置計(jì)數(shù)器只能進(jìn)行二進(jìn)制計(jì)數(shù),而顯示部分不能識別二進(jìn)制數(shù),所以計(jì)數(shù)的結(jié)果必須先進(jìn)行二進(jìn)制轉(zhuǎn)十進(jìn)制運(yùn)算,變成輸出顯示能夠識別的bcd碼,然后再將結(jié)果送到顯示緩沖區(qū)進(jìn)行顯示。其流程框圖如圖4-5所示。源程序見附錄a。圖4-5 多進(jìn)制二進(jìn)制數(shù)轉(zhuǎn)換為bcd碼流程圖 4.5 相關(guān)子模塊低頻率段的信號測的是信號的周期,要得到信號的頻率,需要做一次倒數(shù)運(yùn)算。運(yùn)用浮點(diǎn)數(shù)算數(shù)運(yùn)算,可以提高運(yùn)

43、算精度。浮點(diǎn)數(shù)有三個(gè)字節(jié),第一字節(jié)的最高位是數(shù)符,第二個(gè)字節(jié)為尾數(shù)的高字節(jié),其余七個(gè)尾數(shù)為低字節(jié)的浮點(diǎn)數(shù)。前三個(gè)字節(jié)截取高16位通過的測試信號周設(shè)置數(shù)符,要轉(zhuǎn)換為上述格式的浮點(diǎn)計(jì)算的信號頻率值。然后浮點(diǎn)運(yùn)算處理,信號的頻率值表達(dá)式使用浮點(diǎn)格式。浮點(diǎn)數(shù)到bcd碼轉(zhuǎn)換模塊轉(zhuǎn)換信號的頻率值在浮點(diǎn)格式表示成本頻率計(jì)數(shù)器顯示格式,發(fā)送到顯示模塊顯示測試信號的頻率值。無論其中哪種方式進(jìn)入顯示模塊,顯示的是完整的,頻率計(jì)都開始下一次測量。源程序見附錄a。4.6 led動(dòng)態(tài)顯示模塊其流程框圖如圖4-6所示。圖4-6 led動(dòng)態(tài)顯示流程圖顯示開始,首先置斷碼、位選碼初值。分別送單片機(jī)端口,位選碼送p2口,段選碼

44、轉(zhuǎn)字型碼送p0口,通過查表將存儲(chǔ)單元的數(shù)據(jù)送led顯示;調(diào)用延時(shí)子程序,指向下一個(gè)顯示單元,如果顯示完,則返回。沒完,位選碼左移一位,繼續(xù)顯示,直到所有位顯示完退出。源程序見附錄a。4.7 源程序詳細(xì)程序見附錄a.5 仿真和調(diào)試5.1硬件的仿真硬件電路的仿真用protues軟件。protues是一款很好用的仿真軟件。(1) 首先打開軟件如圖5-1。圖5-1 軟件界面然后在藍(lán)色區(qū)域內(nèi)添加元器件,連線。然后硬件調(diào)試,由大到小,從整體到局部,進(jìn)行調(diào)試。利用仿真軟件proteus的強(qiáng)大的仿真功能可以有效地檢驗(yàn)所設(shè)計(jì)的原理圖是否在理論上正確合理。選擇適當(dāng)?shù)娜龢O管和設(shè)置基極,發(fā)射極,集電極電阻可以得到適當(dāng)

45、的放大倍數(shù)對所測的信號進(jìn)行有效的處理。直到最后的仿真通過。仿真圖如圖5-2。圖5-2 仿真電路圖5.2 軟件的調(diào)試 軟件的調(diào)試用keil uvision4。keil uvision4是德國keil software公司出品的51系列兼容單片機(jī)c語言軟件開發(fā)系統(tǒng)。5.2.1 軟件調(diào)試步驟(1) 建立源文件:打開keil uvision4,使用菜單中的“file-new”或者點(diǎn)擊工具欄的新建文件按鈕,就可以在項(xiàng)目窗口右側(cè)打開一個(gè)文本編輯窗口。如圖5-3。圖5-3 建立源文件(2) 在文本編輯窗口中輸入?yún)R編語言源程序,然后將該程序保存,加上擴(kuò)展名(.asm或.c),這里將文件保存為test.asm。

46、如圖5-4。圖5-4 文件保存(3) 工程文件的建立:建立工程文件:點(diǎn)擊“project-new project”菜單,出現(xiàn)一個(gè)對話框,輸入gongcheng,不需要擴(kuò)展名,點(diǎn)擊保存按鈕,出現(xiàn)一個(gè)對話框,如圖5-5所示。點(diǎn)擊保存,然后選擇所使用的單片機(jī),展開atmel,選中其中的at89c52,然后點(diǎn)擊確定按鈕。如圖5-6所示?;氐街鹘缑?,此時(shí),在工程窗口的文件頁中,出現(xiàn)了“target1”,前面有 “+”號,點(diǎn)擊“+”展開,可以看到下面的“source group1”,點(diǎn)擊鼠標(biāo)右鍵,選中其中的“add file to group”souce group1”,對話框,把源文件加載到里面。意對話

47、框的“文件類型“默認(rèn)為c souce file (*.c),而文件的擴(kuò)展名為是以.asm ,所以在列表框中找不到test.asm,要將文件類型改掉,點(diǎn)擊對話框中”文件類型后的下拉列表,找到并選中“asm souce file(*.asm,*.a51)”,這樣,在列表框中就可以找到test.asm文件了。圖5-5 工程文件的建立圖5-6 單片機(jī)的選擇打開文件,然后編譯,編譯按鈕在左上角,如圖5-7所示。最后編譯成功,如圖5-8??缮梢粋€(gè).hex文件,可以下載到proteus中仿真。圖5-7 程序的編譯圖5-8 成功編譯圖利用keil uvision4軟件編寫單片機(jī)的工作程序并且檢驗(yàn)程序是否成功

48、編譯。通過keil uvision4逐步運(yùn)行程序的功能可以檢測出程序的錯(cuò)漏從而進(jìn)行改正。程序編譯成功后,利用proteus軟件把程序加載到原理圖中進(jìn)行仿真,通過顯示器顯示出來的頻率大小與所設(shè)計(jì)的頻率相比較可以看出所編寫的程序是否滿足要求,是否符合設(shè)計(jì)所要求的精度。測出各頻率范圍的誤差,如果不符合設(shè)計(jì)所要求的精度可以通過改變單片機(jī)定時(shí)器的初始值或者優(yōu)化程序的結(jié)構(gòu)來減小誤差增加精度。led數(shù)碼管采用的是動(dòng)態(tài)掃描的方法進(jìn)行顯示,要設(shè)計(jì)好相應(yīng)的掃描時(shí)間,因?yàn)閽呙钑r(shí)間太短則led顯示出來的數(shù)字便會(huì)一直在閃爍不穩(wěn)定,掃描時(shí)間太長則led顯示便會(huì)出現(xiàn)短時(shí)間的熄滅。調(diào)試電路的時(shí)候發(fā)現(xiàn)由于p2口的驅(qū)動(dòng)能力不夠大

49、因此要驅(qū)動(dòng)led數(shù)碼管工作就應(yīng)該加上反相器或者三極管作為驅(qū)動(dòng)電路。測試結(jié)果:電路導(dǎo)通,led燈顯示所測量的信號頻率,測量范圍:2hz-1mhz。5.2.2問題及解決方法 (1)提示無asm文件剛開始編譯時(shí),提示沒有.asm文件,最后發(fā)現(xiàn)。軟件默認(rèn)的是.c。需要把文件格式改為全部類型,就行了。(2)程序有錯(cuò) 在進(jìn)入keil的調(diào)試環(huán)境后,編譯程序發(fā)現(xiàn)很多錯(cuò)誤,不是語法上的問題。仔細(xì)檢查,發(fā)現(xiàn)很多符號是在中文輸入法下輸入的,在軟件編譯時(shí)會(huì)出現(xiàn)錯(cuò)誤。(3) 程序調(diào)試時(shí),出現(xiàn)錯(cuò)誤。在調(diào)試程序的時(shí)候,很多語句的執(zhí)行必須滿足一定的條件才能執(zhí)行,有些語句往往沒有先定義,所以有錯(cuò)。結(jié)論 本文介紹了基于單片機(jī)的寬

50、頻頻率計(jì)的設(shè)計(jì),用芯片at89c52制作。其測量原理非常簡單,硬件電路制作方便,軟件編程易于實(shí)現(xiàn),所測得的頻率范圍較寬,精度較高,平均相對誤差在0.34%左右,是在允許的測量誤差范圍內(nèi)。此次設(shè)計(jì)的數(shù)字頻率計(jì)達(dá)到了測量頻率的目的,但在實(shí)際制作和測試過程中,由于自己知識有限,時(shí)間短和經(jīng)驗(yàn)不足等原因,還是出現(xiàn)了一些問題和需要繼續(xù)改進(jìn)、完善的地方。比如:在制pcb板時(shí),單面布線的布通率始終無法達(dá)到100%,因此焊接電路板時(shí)必須采用導(dǎo)線連接,測量時(shí)準(zhǔn)確性受外部因素影響比不用導(dǎo)線連接時(shí)大,造成的測量誤差就大些。在編寫程序時(shí),閘門時(shí)間沒能準(zhǔn)確地微調(diào)至1秒,致使測量的誤差比理想的要大。由于單片機(jī)內(nèi)部具有豐富的

51、存儲(chǔ)資源和強(qiáng)大的數(shù)據(jù)處理能力,因此采用單片機(jī)設(shè)計(jì)的數(shù)字頻率計(jì)只需要改動(dòng)很少的硬件部分就可以和其他的自動(dòng)化儀表組成多功能控制系統(tǒng),測量速度得到提高,用于連續(xù)測量的控制系統(tǒng)是非常有價(jià)值和意義的。致 謝首先在這里感謝王老師認(rèn)真的指導(dǎo),從開完開題報(bào)告開始,一直指導(dǎo)我。本次畢業(yè)設(shè)計(jì)給了我很多感觸,不管是從設(shè)計(jì)過程還是設(shè)計(jì)結(jié)果,雖說是一個(gè)艱辛的過程,但從中卻學(xué)到很多東西。剛開始確定這個(gè)題目,對頻率計(jì)一無所知,從網(wǎng)上查資料,咨詢老師和翻閱書籍,終于有了初步的概念。從不懂到了解,然后從了解到設(shè)計(jì),直至最后的設(shè)計(jì)完成,王老師都一直幫助著我。當(dāng)然,過程中很多不懂的問題,我的同學(xué)也給了我很大的幫助。通過本次設(shè)計(jì),讓我重新學(xué)習(xí)了匯編語言編程,很久沒用過的東西,剛開始還有點(diǎn)陌生,但慢慢的就好了。還有系統(tǒng)的設(shè)計(jì),硬件軟件的設(shè)計(jì),讓我學(xué)會(huì)了從系統(tǒng)到局部的考慮。還學(xué)會(huì)了使用keli4,proteus等編譯、仿真軟件。對各個(gè)芯片也有了更深的認(rèn)識。 參考文獻(xiàn)1 李建忠.單片機(jī)原理及應(yīng)用m.西安:西安電子科技大學(xué)出版社,2002.1-2.2 唐俊翟,許雷,張群瞻.單片機(jī)原理與應(yīng)用m.北京:冶金工業(yè)出版社,2003.6-7,10-11.3 趙明安.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論