2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  畢 業(yè) 論 文(設(shè) 計(jì))</p><p><b>  摘 要</b></p><p>  傳統(tǒng)的頻率計(jì)數(shù)器由組合電路和時(shí)序電路等大量的硬件電路組成。我們知道這種開發(fā)費(fèi)時(shí)費(fèi)力且成本高昂,所以本文以頻率計(jì)數(shù)器為研究對(duì)象,利用Proteus強(qiáng)大的微機(jī)處理器仿真功能,結(jié)合Keil編譯器,給出了簡(jiǎn)易且容易操作的頻率計(jì)數(shù)器的設(shè)計(jì)方案并完成仿真測(cè)試。本文設(shè)計(jì)

2、了一種以單片機(jī)AT89C51為核心的數(shù)字頻率計(jì)數(shù)器,其中硬件部分主要是由整形電路、單片機(jī)最小系統(tǒng)和顯示單元組成的,軟件設(shè)計(jì)是由一些功能模塊來實(shí)現(xiàn)的,例如有初始化模塊、晶振模塊、數(shù)據(jù)顯示模塊以及復(fù)位模塊等等。這種方法很好地彌補(bǔ)了傳統(tǒng)開發(fā)模式的各種缺點(diǎn)。該頻率計(jì)數(shù)器由6位數(shù)碼管顯示器和單片機(jī)AT89C51,以及信號(hào)時(shí)鐘發(fā)生器等構(gòu)成,可測(cè)量頻率范圍為1Hz到100KHz之間。</p><p>  關(guān)鍵詞:頻率計(jì)數(shù)器;

3、PROTEUS仿真; 單片機(jī); 1~100kHz</p><p><b>  ABSTRACT</b></p><p>  Traditional frequency counter by combinational circuits and sequential circuits, etc. A lot of hardware circuit. We know th

4、at this development laborious and costly, so based on the frequency counter as the research object, the use of Proteus powerful microcomputer processor simulation, combining with Keil compiler, presents a simple and easy

5、 to operate the frequency counter design and complete the simulation test. In this paper, we design a microcontroller AT89C51 as the core of the digital freq</p><p>  Key words:Frequency counter; PROTEUS sim

6、ulation and single-chip microcomputer; 1~ 100KHZ </p><p><b>  目錄</b></p><p><b>  摘 要2</b></p><p>  ABSTRACT3</p><p><b>  目錄4</b>

7、</p><p><b>  第一章 引言5</b></p><p><b>  1.1引言5</b></p><p>  1.1.1簡(jiǎn)單介紹頻率計(jì)數(shù)器5</p><p>  1.1.2研究意義6</p><p>  1.2要實(shí)現(xiàn)的目標(biāo)7</p>&l

8、t;p>  第二章 工具介紹8</p><p>  2.1 PROTEUS仿真軟件8</p><p><b>  2.1.1簡(jiǎn)介8</b></p><p>  2.1.2 功能特點(diǎn)8</p><p>  2.1.3 proteus的使用9</p><p>  2.2 keil uv

9、ision4軟件10</p><p>  2.2 .1 keil uvision4軟件的介紹10</p><p>  2.2.2 keil uvision4軟件的使用10</p><p>  2.3 關(guān)于C語言11</p><p>  第三章 硬件和軟件設(shè)計(jì)12</p><p>  3.1硬件設(shè)計(jì)12<

10、;/p><p>  3.1.1 AT89C51單片機(jī)12</p><p>  3.1.2 AT89C51的晶振接法13</p><p>  3.1.3單片機(jī)的復(fù)位14</p><p>  3.1.4顯示電路15</p><p>  3.1.5系統(tǒng)總體電路圖16</p><p>  3.2軟

11、件設(shè)計(jì)16</p><p>  3.2.1關(guān)于信號(hào)處理的介紹16</p><p>  3.2.2關(guān)于終端控制17</p><p>  3.2.3關(guān)于控制寄存器18</p><p>  第四章 調(diào)試測(cè)試19</p><p>  4.1軟件的編譯調(diào)試19</p><p>  4.2載入單

12、片機(jī)后的測(cè)試19</p><p>  4.3誤差分析21</p><p><b>  結(jié)束語22</b></p><p><b>  參考文獻(xiàn)24</b></p><p><b>  附錄25</b></p><p><b>  第一

13、章 引言</b></p><p><b>  1.1引言</b></p><p>  1.1.1簡(jiǎn)單介紹頻率計(jì)數(shù)器</p><p>  我們經(jīng)常需要測(cè)量頻率、時(shí)間間隔、相位和對(duì)事件計(jì)數(shù),精確的測(cè)量離不開頻率計(jì)數(shù)器或它的同類產(chǎn)品,如電子計(jì)數(shù)器和時(shí)間間隔分析儀。這些儀器為研發(fā)提供高精度和分析能力,為大批量生產(chǎn)提供高效率并為維修提供低成本

14、和便攜性。信號(hào)頻率、時(shí)間間隔、相位和脈沖計(jì)數(shù)等是常見的測(cè)量對(duì)象,對(duì)它們的測(cè)量離不開頻率計(jì)數(shù)器或它的同類產(chǎn)品,如電子計(jì)數(shù)器和時(shí)間間隔分析儀等。利用先進(jìn)的PROTEUS仿真軟件可以方便地研究頻率計(jì)數(shù)器。</p><p>  最早的電子計(jì)數(shù)器是為了對(duì)諸如原子現(xiàn)象之類的事情進(jìn)行計(jì)數(shù)而設(shè)計(jì)出來的。在發(fā)明計(jì)數(shù)器之前,頻率的測(cè)量都是用頻率計(jì)(一種精度很低的協(xié)調(diào)裝置)完成。頻率計(jì)數(shù)器是以數(shù)字方式對(duì)信號(hào)參數(shù)進(jìn)行精密測(cè)量的首批儀器之

15、一?! 『饬款l率計(jì)數(shù)器的主要指標(biāo)是測(cè)量范圍、測(cè)量功能、精度和穩(wěn)定性,這些也是決定價(jià)格高低的主要依據(jù)。隨著電子測(cè)試技術(shù)的發(fā)展,頻率計(jì)數(shù)器日趨成熟。目前,頻率計(jì)數(shù)器已經(jīng)能輕松測(cè)量射頻、微波頻段信號(hào)。除頻率測(cè)量外,大多數(shù)頻率計(jì)數(shù)器還綜合了以下功能:頻率比、時(shí)間間隔、周期、上升/下降時(shí)間、相位、占空比、正/負(fù)脈沖寬度、總和、峰值電壓以及時(shí)間間隔平均等。頻率計(jì)功能延伸的最高境界就是綜合了調(diào)制域分析儀的功能。 本文從頻率計(jì)數(shù)器基本功能出發(fā)

16、,對(duì)測(cè)量參數(shù)分別做出介紹,最后介紹頻率計(jì)數(shù)器的一些數(shù)學(xué)統(tǒng)計(jì)功能。</p><p>  頻率計(jì)數(shù)器作用是根據(jù)其應(yīng)用來設(shè)計(jì)的。頻率計(jì)數(shù)器最常見的應(yīng)用是確定發(fā)射機(jī)和接收機(jī)的特性。發(fā)射機(jī)的頻率必須進(jìn)行檢驗(yàn)和校準(zhǔn),才能符合有關(guān)規(guī)章制度的要求。頻率計(jì)數(shù)器能對(duì)輸出頻率和一些關(guān)鍵的內(nèi)部頻率點(diǎn)(如本振)進(jìn)行測(cè)量,是否滿足技術(shù)指標(biāo)。</p><p>  頻率計(jì)數(shù)器的另一些應(yīng)用包括計(jì)算機(jī)領(lǐng)域,在此領(lǐng)域中的數(shù)據(jù)通

17、信、微處理器和顯示器中都使用了高性能時(shí)鐘。對(duì)性能要求不高的應(yīng)用領(lǐng)域包括對(duì)機(jī)電產(chǎn)品進(jìn)行測(cè)量。頻率計(jì)數(shù)器的早期應(yīng)用之一是作為信號(hào)發(fā)生器的一部分。在信號(hào)發(fā)生器信號(hào)輸出之前,先通過頻率計(jì)數(shù)器部件測(cè)量該信號(hào),測(cè)量到的結(jié)果被轉(zhuǎn)換為模擬信號(hào)用于反饋控制信號(hào)發(fā)生器的頻率,直到達(dá)到所需要的數(shù)值,從而能得到穩(wěn)定的信號(hào)輸出。目前,很多信號(hào)發(fā)生器中都集成了頻率計(jì)數(shù)器的簡(jiǎn)單作用。例如OI1842信號(hào)發(fā)生器也集成了測(cè)量范圍為0.1Hz~50MHz的頻率計(jì)數(shù)器作用。

18、</p><p>  在目前的電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測(cè)量方案、測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率的測(cè)量就顯得更為重要。頻率計(jì)可以用純硬件電路搭制。本文設(shè)計(jì)了一種以單片機(jī)AT89C51為核心的數(shù)字頻率計(jì),其中硬件部分主要是由整形電路、單片機(jī)最小系統(tǒng)和顯示單元組成的,軟件設(shè)計(jì)是由一些功能模塊來實(shí)現(xiàn)的,例如有初始化模塊、數(shù)據(jù)顯示模塊等等。此外,通過控制單片機(jī)的各項(xiàng)功能和運(yùn)算操作能力進(jìn)而

19、來實(shí)現(xiàn)周期和頻率間的計(jì)數(shù)和數(shù)據(jù)的保存。通過這樣的設(shè)計(jì)能測(cè)量頻率1Hz-100kHz,這既達(dá)到了設(shè)計(jì)所要求的頻率測(cè)量范圍,又達(dá)到了較高的精確度。測(cè)量時(shí),將被測(cè)輸入信號(hào)送給單片機(jī),通過程序控制計(jì)數(shù),結(jié)果送數(shù)碼管顯示頻率值。本設(shè)計(jì)中的頻率計(jì)具有電路結(jié)構(gòu)簡(jiǎn)單、成本低、測(cè)量方便、精度較高等特點(diǎn),適合測(cè)量低頻信號(hào),能基本滿足一般情況下的需求,既保證了測(cè)頻精度,又使系統(tǒng)具有較好的實(shí)時(shí)性,并且本頻率計(jì)設(shè)計(jì)簡(jiǎn)潔,便于攜帶,擴(kuò)展能力強(qiáng),適用范圍廣。另外,由

20、于本設(shè)計(jì)采用了模塊化的設(shè)計(jì)方法,提高了測(cè)量頻率的范圍,并且本次設(shè)計(jì)包括硬件畫圖和軟件程序編寫。</p><p><b>  1.1.2研究意義</b></p><p>  我們知道隨著科學(xué)技術(shù)的發(fā)展,尤其是單片機(jī)技術(shù)和半導(dǎo)體技術(shù)的高速發(fā)展,頻率計(jì)的研究及應(yīng)用越來越受到廣泛重視,這樣對(duì)頻率測(cè)量設(shè)備的要求也越來越高。就目前來說,微處理器芯片發(fā)展迅速,不同領(lǐng)域的應(yīng)用芯片在其

21、中發(fā)展很快。而51單片機(jī)是一門發(fā)展極快,應(yīng)用方式極其靈活的使用技術(shù)。它以靈活輕便的設(shè)計(jì)、微小可以忽略不計(jì)的功耗、低廉可觀的成本,在數(shù)據(jù)采集方面、過程的控制當(dāng)中、模糊控制、智能化儀表等領(lǐng)域得到廣泛的應(yīng)用,極大地提高了這些關(guān)鍵領(lǐng)域的技術(shù)水平和自動(dòng)化程度,為現(xiàn)代工業(yè)注入了新的活力。</p><p>  頻率計(jì)數(shù)器是一種基礎(chǔ)測(cè)量?jī)x器,到目前為止已有30多年的發(fā)展歷史。我們所知道的傳統(tǒng)的數(shù)字頻率計(jì)數(shù)器,可以通過各種普通的硬

22、件電路以及軟件電路組合來實(shí)現(xiàn),其中間的開發(fā)過程當(dāng)中、以及調(diào)試過程十分復(fù)雜,而且由于電子元器件中減少相互干擾的程度,最后導(dǎo)致影響頻率計(jì)的精度,同時(shí)由于電子器件體積不小,已經(jīng)遠(yuǎn)遠(yuǎn)不能夠適應(yīng)當(dāng)前電子行業(yè)的不斷發(fā)展要求需要。隨著當(dāng)前科學(xué)技術(shù)的高速發(fā)展,頻率計(jì)數(shù)器也日益得到了發(fā)展和技術(shù)的提高。目前已經(jīng)有操作非常方便、量程寬闊、可靠性較高的頻率計(jì);也有較高的分辨率、高精度值、測(cè)量高穩(wěn)定性、位移速度的頻率計(jì)數(shù)器。早期,設(shè)計(jì)師們追求的目標(biāo)主要在于是擴(kuò)展

23、測(cè)量范圍,再加上提高測(cè)量精度、高穩(wěn)定度等,這些也是人們衡量頻率計(jì)的技術(shù)水平,決定頻率計(jì)數(shù)器價(jià)格高低的判斷依據(jù)。目前這些基本科學(xué)技術(shù)日臻完善與成熟,得到了長(zhǎng)足的發(fā)展?,F(xiàn)代科技技術(shù)可以相當(dāng)容易地將頻率計(jì)數(shù)器的測(cè)頻上限擴(kuò)展到微波頻段。在我們測(cè)試通訊方面、微波器件或產(chǎn)品的研發(fā)的過程中,是需要測(cè)量其中的頻率的。在現(xiàn)代電子技術(shù)設(shè)計(jì)中,頻率是其中最基本的參數(shù),我們知道并且與許多電參量的測(cè)量方案、測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率的測(cè)量就顯得出更加的

24、重</p><p>  51 單片機(jī)頻率計(jì)數(shù)器以其可靠性高、體積小巧、價(jià)格低廉、功能俱全等優(yōu)點(diǎn),廣泛地適用于各種現(xiàn)代智能儀器和現(xiàn)代化工業(yè)體系中,這些的生活當(dāng)中的智能儀器的操作在進(jìn)行儀器校核以及測(cè)量過程的控制中,達(dá)到了自動(dòng)化、智能化,傳統(tǒng)儀器面板上的開關(guān)和旋鈕被現(xiàn)實(shí)生活中鍵盤所代替利用,如今的測(cè)試員在測(cè)量時(shí)只需按需要的鍵,省掉很多繁復(fù)的人工調(diào)節(jié),智能儀器通常能自動(dòng)選擇量程,能夠具有自動(dòng)校準(zhǔn)功能。有的還能自動(dòng)調(diào)整測(cè)試

25、點(diǎn),如此一來方便了正常操作,也提高了測(cè)試精度,另外,在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測(cè)量方案、測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率計(jì)在科教科研、儀器測(cè)量、工業(yè)控制、集成控制等方面都有較廣泛的應(yīng)用和推廣。并且在不斷發(fā)展當(dāng)中,我相信在不久的將來必將取得更大的發(fā)展。</p><p><b>  1.2要實(shí)現(xiàn)的目標(biāo)</b></p><p>  利用AT

26、89C51單片機(jī)的T0、T1的定時(shí)計(jì)數(shù)器功能,來完成對(duì)單片機(jī)內(nèi)部定時(shí)器的輸入信號(hào)進(jìn)行頻率計(jì)數(shù),計(jì)數(shù)的頻率結(jié)果通過LCD(1602)并口顯示器動(dòng)態(tài)顯示出來。要求能夠?qū)?HZ-100KHZ的信號(hào)頻率進(jìn)行準(zhǔn)確計(jì)數(shù)。在PROTEUS仿真軟件下進(jìn)行電路設(shè)計(jì)、選擇元器件、接插件、連接電路以及電路檢測(cè)并最終獲得實(shí)驗(yàn)結(jié)果。最終使得改變時(shí)鐘發(fā)生的頻率,用6位數(shù)碼管顯示,比較誤差值。</p><p><b>  第二章 工

27、具介紹</b></p><p>  2.1 PROTEUS仿真軟件</p><p><b>  2.1.1簡(jiǎn)介</b></p><p>  Proteus軟件是英國(guó)的Labcenter electronics公司出版的EDA工具軟件。它不僅具有我們所認(rèn)識(shí)的其它EDA工具軟件的仿真功能,此外還具備仿真單片機(jī)及外圍部件。就目前情況來看它

28、是最好的仿真單片機(jī)及外圍器件的工具之一,所以這次實(shí)驗(yàn)我們也將用到它。</p><p>  Proteus是世界上著名的EDA工具,從電路原理圖分布、調(diào)試代碼到單片機(jī)與外圍電路協(xié)同仿真,切換設(shè)置,真正的實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)流暢。他是目前世界上唯一將電路仿真、PCB和虛擬性質(zhì)的模型仿真軟件三項(xiàng)合一的設(shè)計(jì)平臺(tái)規(guī)劃,這種創(chuàng)新給這款軟件帶來了無與倫比的優(yōu)勢(shì)。其中各種處理器模型支持8051、及HC11、PIC10/1

29、2/16/18/24/30/DsPIC33、ARM、8086和MSP430等各種單片機(jī),目前來看2011年又增加了比如Cortex和DSP等系列處理器的模塊。這些亮點(diǎn)導(dǎo)致他基本是獨(dú)一無二的。</p><p>  2.1.2 功能特點(diǎn)</p><p><b>  主要特點(diǎn)</b></p><p>  1、原理分布圖的展現(xiàn)</p>&

30、lt;p>  2、自動(dòng)或人工布線PCB</p><p>  3、電路超級(jí)仿真模塊SPICE</p><p>  4、電路互動(dòng)仿真模塊</p><p>  用戶甚至可以實(shí)時(shí)采用諸如RAM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。</p><p>  5、仿真處理器及其外圍電路</p>

31、<p>  可以仿真51系列、AVR、PIC、ARM、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型。</p><p><b>  人性化設(shè)計(jì):</b></p><p>  超過27000多種元器件,可以方便進(jìn)行創(chuàng)建。即使模糊的搜索也能找到相應(yīng)的元器件。智能化的連線結(jié)構(gòu),方便簡(jiǎn)單。支持總線結(jié)構(gòu),讓用戶和讀者能夠明確分析線路結(jié)構(gòu)。還有很多方便快捷的運(yùn)用方式

32、,這里不再贅述。</p><p>  2.1.3 proteus的使用</p><p><b>  新建一個(gè)空白文檔</b></p><p>  打開元件庫(kù),并尋找自己所用的元件,例如AT89C51。</p><p>  然后把所需的元件用普通連線和總線的方式連接起來。例如本次實(shí)驗(yàn)的連接方式。</p>&l

33、t;p>  2.2 keil uvision4軟件</p><p>  2.2 .1 keil uvision4軟件的介紹</p><p>  2009年2月發(fā)布Keil uVision4,Keil uVision4引入了靈活的窗口管理系統(tǒng)窗口,使研究開發(fā)人員能夠使用多臺(tái)監(jiān)視器進(jìn)行監(jiān)視,并提供了視覺上操作上的表面對(duì)窗口位置的完全控制的任何地方的數(shù)據(jù)。新的用戶界面可以較好地利用當(dāng)前屏幕

34、范圍內(nèi)部的內(nèi)容和更加真實(shí)有效地組織多個(gè)窗口進(jìn)行編譯,提供一個(gè)整潔,美觀大方、速效的環(huán)境來開發(fā)用戶應(yīng)用程序。新版本支持了更多最新的最全面的ARM芯片,還添加了一些其他非常多的有趣的新功能和介紹。</p><p>  最新的一款Keil uVision4 IDE,旨在提高開發(fā)人員的生產(chǎn)力,實(shí)現(xiàn)更加快速,更加有效的程序開發(fā)工作。</p><p>  1、多顯示器和靈活的窗口管理系統(tǒng)</p&

35、gt;<p>  2、系統(tǒng)瀏覽器窗口的顯示設(shè)備外設(shè)寄存器信息</p><p>  3、調(diào)試還原視圖創(chuàng)建并保存多個(gè)調(diào)試窗口布局</p><p>  4、多項(xiàng)目工作區(qū)簡(jiǎn)化與眾多的項(xiàng)目</p><p>  2.2.2 keil uvision4軟件的使用</p><p>  需要嚴(yán)格按照keil編譯步驟來進(jìn)行,否則會(huì)出現(xiàn)若干問題,比如

36、程序不能定義,或者項(xiàng)目創(chuàng)建失敗。這是筆者在吃過非常多的虧之后總結(jié)的。</p><p>  第一步,新建Project,點(diǎn)擊New project出現(xiàn),輸入路徑并創(chuàng)建文件名。</p><p>  第二步,新建空白的程序文檔,并立刻保存,如果要編寫C語言則保存為.c文件。如果是要編寫匯編語言則保存為.asm文件。</p><p>  第三步,把第二步所建立的文件加載到工

37、程當(dāng)中,并右擊工程名,選擇Options for target,在OUTPUT選項(xiàng)卡中將創(chuàng)建.hex文件的選項(xiàng)打勾。</p><p>  第四步,編譯并修改程序語言,編譯成功后會(huì)實(shí)現(xiàn)創(chuàng)建.hex文件。</p><p><b>  2.3 關(guān)于C語言</b></p><p>  由于本次實(shí)驗(yàn)是用C語言編寫的所以有必要對(duì)C語言做簡(jiǎn)單介紹。</

38、p><p>  C 語言這種語言是美國(guó)的Dennis Ritchie在1972年設(shè)計(jì)發(fā)明的。它由早期的編程語言BCPL( Basic Combined Programming Language) 發(fā)展演變而來。C 語言之所以發(fā)展迅速,成為最受歡迎的語言之一,此外最近大幅度發(fā)展的C++編程軟件也是在C的基礎(chǔ)上演變而來的,主要因?yàn)樗哂袕?qiáng)大的功能,從而全世界有非常多的程序編寫員特別崇拜C語言。</p>&l

39、t;p>  第三章 硬件和軟件設(shè)計(jì)</p><p><b>  3.1硬件設(shè)計(jì)</b></p><p>  頻率計(jì)數(shù)器是一個(gè)將被測(cè)頻率顯示出來的計(jì)數(shù)裝置,它主要是由信號(hào)處理電路部分、單片機(jī)AT89C51控制部分、8位LED數(shù)碼管顯示器部分等組成。該系統(tǒng)的功能是將信號(hào)輸入P3.4口,通過單片機(jī)程序控制,對(duì)LED數(shù)碼管顯示器進(jìn)行段控和位控,這些就是為了實(shí)現(xiàn)動(dòng)態(tài)顯示。

40、頻率計(jì)數(shù)器是計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測(cè)量?jī)x器。在進(jìn)行有關(guān)電子技術(shù)的設(shè)計(jì)、安裝、調(diào)試過程中,由于其使用十進(jìn)制數(shù)顯示,測(cè)量迅速,精確度高,顯示直觀,我們會(huì)被經(jīng)常使用到。</p><p>  本次實(shí)驗(yàn)的硬件設(shè)計(jì)相對(duì)簡(jiǎn)單易理解操作,就是輸入信號(hào),處理信號(hào),然后再顯示信號(hào)。圖3.1為頻率計(jì)數(shù)器的硬件設(shè)計(jì)方框圖。</p><p>  圖3.1頻率計(jì)數(shù)器的硬件設(shè)計(jì)框圖</

41、p><p>  3.1.1 AT89C51單片機(jī)</p><p>  這是AT89C51的引腳圖,圖3.2。</p><p>  圖3.2AT89C51的引腳圖</p><p>  3.1.2 AT89C51的晶振接法</p><p>  關(guān)于AT89C51的晶振接法如圖3.3所示。</p><p>

42、;  圖3.3 AT89C51的晶振接法</p><p>  晶振是一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定、精確的單頻振蕩。在通常情況下,晶振的精確度達(dá)到百萬之五十。我們需要晶振提供時(shí)鐘周期然后使得單片機(jī)能夠執(zhí)行代碼。晶振X1、電容C2/C4及片內(nèi)與非門(作為反饋、放大元件)構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號(hào)頻率與晶振頻率及電容C4、C2的容量有關(guān),但主要由電路中晶振頻率決定.。</

43、p><p>  我選用2.4MHz頻率的晶體,電路允許輸入的脈沖頻率為10kHz。電容的大小范圍為一般為20pF~40pF,本次設(shè)計(jì)我們居中選用33pF電容。電容的作用還在于能夠容易起震并減少頻率的溫漂。</p><p>  3.1.3單片機(jī)的復(fù)位</p><p>  單片機(jī)的復(fù)位一般情況下都是靠外部電路鏈接來實(shí)現(xiàn)的,在時(shí)鐘電路工作之后,僅僅需要在單片機(jī)的RST引腳上出

44、現(xiàn)高于24個(gè)時(shí)鐘振蕩脈沖(相當(dāng)于2個(gè)機(jī)器周期)以上的高電平,這樣的單片機(jī)便能夠?qū)崿F(xiàn)初始化狀態(tài)復(fù)位。為了能夠保證應(yīng)用系統(tǒng)能夠可靠正常的復(fù)位,在設(shè)計(jì)復(fù)位電路的時(shí)候,通常使RST引腳保持10ms以上的高電平的水平。只要保持高電平的狀態(tài),那么單片機(jī)就能夠?qū)崿F(xiàn)循環(huán)復(fù)位;當(dāng)RST從高電平順利地轉(zhuǎn)變?yōu)榈碗娖揭院?,AT89C51單片機(jī)從0000H地址開始執(zhí)行程序。需知在復(fù)位有效期間,EA引腳輸出高電平。</p><p>  它的

45、工作原理在于當(dāng)電源接通,上電瞬間,電源對(duì)C1進(jìn)行充電,此時(shí)復(fù)位引腳9即RST高電平有效,隨著時(shí)間推移,RST電平下降,此時(shí)轉(zhuǎn)為單片機(jī)正常工作。一般情況下復(fù)位時(shí)間為3~5個(gè)的RC時(shí)間。</p><p>  按鍵開關(guān)的使用是為了避免死機(jī)狀態(tài)下能夠正常復(fù)位。而設(shè)置并聯(lián)電容C3(這里也可以選擇串聯(lián)一個(gè)遠(yuǎn)小于R1的電阻可以達(dá)到一樣的效果)是為了限制按下瞬間電容C1的電流,避免產(chǎn)生火花,以達(dá)到保護(hù)按鍵開關(guān)的目的。RC復(fù)位電路

46、的復(fù)位電路增加了二極管,在電源電壓瞬間下降時(shí)使電容迅速放電,一定寬度的電源毛刺也可令系統(tǒng)可靠復(fù)位。AT89C51上電復(fù)位電路圖如圖3.4所示:</p><p><b>  圖3.4復(fù)位電路</b></p><p><b>  3.1.4顯示電路</b></p><p>  在一些單片機(jī)系統(tǒng)中,經(jīng)常使用到的顯示器有如下幾種:

47、液晶顯示器,簡(jiǎn)稱LCD;熒光管顯示器而發(fā)光二極管。顯示的部分又分為固定部分的顯示和可以拼裝的字段其他顯示,此外還有共陽極和共陰極之分等。如圖3.5所示。</p><p>  圖3.5顯示所用LED顯示器</p><p>  本次實(shí)驗(yàn)采用7SEG-MPX8-CC-BLUE,里面有八個(gè)數(shù)碼管的顯示電路,這里只用到6個(gè)。每個(gè)數(shù)碼管都是一個(gè)小型電路圖,如圖3.6顯示。</p><

48、;p>  圖3.6 數(shù)碼管顯示電路</p><p>  我們知道共陰和共陽結(jié)構(gòu)的LED顯示器各筆劃的段名和安排的位置是相同的。當(dāng)其中的二極管導(dǎo)通時(shí),相應(yīng)的筆劃部分會(huì)發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。其中的8個(gè)筆劃段a、b、c、d、e、f、g、dP對(duì)應(yīng)于一個(gè)字節(jié)(8位)的D0、D1、D2、D3、D4、D5、D6、D7。如下表1.1,用LED顯示器顯示十進(jìn)制轉(zhuǎn)換成十六進(jìn)制數(shù)的字形代碼。 </p&

49、gt;<p><b>  表1.1 數(shù)制轉(zhuǎn)換</b></p><p>  3.1.5系統(tǒng)總體電路圖</p><p>  3.8系統(tǒng)總體電路圖</p><p><b>  3.2軟件設(shè)計(jì) </b></p><p>  3.2.1關(guān)于信號(hào)處理的介紹</p><p>

50、;  在頻率計(jì)數(shù)器開始工作,或者完成一次簡(jiǎn)單的頻率測(cè)量,系統(tǒng)軟件都進(jìn)行測(cè)量初始化。測(cè)量初始化模塊設(shè)置堆棧指針(SP)、工作寄存器、中斷控制和定時(shí)/計(jì)數(shù)器的工作方式。</p><p>  首先定時(shí)/計(jì)數(shù)器的工作首先被設(shè)置為計(jì)數(shù)器的計(jì)數(shù)寄存器清0后,置運(yùn)行控制位TR為1,啟動(dòng)對(duì)待測(cè)信號(hào)的計(jì)數(shù)。計(jì)數(shù)閘門由軟件延時(shí)程序?qū)崿F(xiàn),從計(jì)數(shù)閘門的最小值開始,也就是從測(cè)量頻率的高量程開始。利用計(jì)數(shù)閘門結(jié)束時(shí)TR清0,停止計(jì)數(shù)。計(jì)數(shù)寄

51、存器中的值通過16進(jìn)制數(shù)道10進(jìn)制數(shù)轉(zhuǎn)換程序轉(zhuǎn)換為10進(jìn)制數(shù)。對(duì)10進(jìn)制數(shù)的最高位進(jìn)行判別,我們發(fā)現(xiàn)若其中的該位不為0,一旦滿足測(cè)量數(shù)據(jù)有效位數(shù)的要求,測(cè)量值和量程信息一起送到顯示模塊;若該位為0,將計(jì)數(shù)閘門的寬度不斷加大,直到10倍,我們需要重新對(duì)待測(cè)信號(hào)的技術(shù),直到滿足測(cè)量數(shù)據(jù)有效位數(shù)的要求,達(dá)到預(yù)期的期望。</p><p>  等到被測(cè)信號(hào)經(jīng)預(yù)處理電路分頻后變成較寬的方波信號(hào),并加至單片機(jī)的P3.4引腳,為

52、單片機(jī)測(cè)信號(hào)頻率提供有效的輸入信號(hào)。單片機(jī)通過檢測(cè)P3.4引腳來判斷是否能夠啟動(dòng)測(cè)周期程序。當(dāng)該引腳為高電平時(shí)則等待,知道該引腳出現(xiàn)低電平時(shí)才開始測(cè)周期。首先我們要將零賦給TH0、TL0兩個(gè)寄存器不斷的輸入,將定時(shí)器T0的運(yùn)行控制位TR0置位,同時(shí)也將ET0置位以允許定時(shí)器T0終端,然后再判斷P3.4引腳是否還為低電平,這個(gè)時(shí)候我們要當(dāng)不是低電平時(shí)等待。</p><p>  3.2.2關(guān)于終端控制</p&g

53、t;<p>  由于我們?cè)诔绦蛟O(shè)計(jì)中用到中斷方式,所以我們?cè)诖藢?duì)單片機(jī)中斷系統(tǒng)中的中斷控制作一下介紹。</p><p>  其實(shí)中斷是工業(yè)過程控制及智能化儀器用微型機(jī)或單片機(jī)應(yīng)用最多的一種數(shù)據(jù)傳送方式。單片機(jī)的這一種工作過程稱為中斷方式。在通常情況下,單片機(jī)執(zhí)行主程序,只有當(dāng)正常狀態(tài)出現(xiàn)故障,或發(fā)出中斷請(qǐng)求時(shí),單片機(jī)才能夠暫停執(zhí)行主程序,轉(zhuǎn)去執(zhí)行或處理其他的中斷服務(wù)程序,執(zhí)行完中斷服務(wù)程序的過程中,

54、再返回到主程序繼續(xù)運(yùn)行。我們?cè)诨谫Y源共享原則上的中斷技術(shù),在計(jì)算機(jī)中得到了廣泛的應(yīng)用。中斷技術(shù)能實(shí)現(xiàn)CPU與外部設(shè)備的并行工作,利用提高CPU的利用率的方式以及數(shù)據(jù)的輸入/輸出效率;我們的中斷技術(shù)也能對(duì)計(jì)算機(jī)運(yùn)行過程中突然發(fā)生的故障及時(shí)發(fā)現(xiàn)并進(jìn)行自動(dòng)處理如:硬件、運(yùn)錯(cuò)誤及程序等方面的故障;中斷技術(shù)還能使我們通過鍵盤不斷的發(fā)出請(qǐng)求命令,隨時(shí)跟進(jìn)對(duì)運(yùn)行中的計(jì)算機(jī)進(jìn)行干擾,而不用先停機(jī)處理,然后再重新開機(jī)等方式進(jìn)行。</p>

55、<p>  3.2.3關(guān)于控制寄存器</p><p>  TCON寄存器既參與中斷控制又參與定時(shí)控制。現(xiàn)對(duì)其定時(shí)功能加以介紹。其中有關(guān)定時(shí)的控制位共有4位:</p><p>  F0和TF1——利用計(jì)數(shù)溢出標(biāo)志位當(dāng)計(jì)數(shù)器計(jì)數(shù)溢出(計(jì)滿)時(shí),該位置顯示為“1”;當(dāng)我們使用查詢方式來查詢時(shí),此位作狀態(tài)位供查詢,但在選用中斷方式的時(shí)候,此位作中斷標(biāo)志位,在轉(zhuǎn)向中斷服務(wù)程序時(shí)也應(yīng)該由硬件

56、自動(dòng)清“0”。</p><p>  TMOD寄存器是一個(gè)專用寄存器,用于設(shè)定兩個(gè)定時(shí)器/計(jì)數(shù)器的工作方式。但TMOD寄存器不能位尋址,只能用字節(jié)傳送指令設(shè)置其內(nèi)容。</p><p>  中斷允許控制寄存器(IE)</p><p>  定時(shí)器/計(jì)數(shù)器提供給用戶使用的有:8位計(jì)數(shù)器TH和TL,以及有關(guān)的控制位。這些內(nèi)容只能以軟件方法使用。</p><

57、p>  我們知道能夠產(chǎn)生中斷申請(qǐng)的部件被稱為中斷源。51單片機(jī)提供了五個(gè)中斷源:兩個(gè)外部中斷源和三個(gè)內(nèi)部中斷源。每一個(gè)中斷源都有一個(gè)中斷申請(qǐng)標(biāo)志位,但是串行口占有兩個(gè)中斷標(biāo)志位。一共有六個(gè)中斷標(biāo)志位才行。</p><p>  另外定時(shí)器/計(jì)數(shù)器的兩個(gè)作用是用來精確的確定某一段時(shí)間間隔(作定時(shí)器用)或累計(jì)外部輸入的脈沖個(gè)數(shù)(作計(jì)數(shù)器用)。</p><p>  當(dāng)89C51內(nèi)部的定時(shí)器/

58、計(jì)數(shù)器被選擇為定時(shí)器工作方式的時(shí)候,計(jì)數(shù)輸入信號(hào)是內(nèi)部時(shí)鐘脈沖,每當(dāng)機(jī)器周期迅速產(chǎn)生一個(gè)脈沖使計(jì)數(shù)器增一個(gè)。由此看出,定時(shí)器/計(jì)數(shù)器的輸入脈沖周期與機(jī)器周期其實(shí)是一樣的,實(shí)際為振蕩頻率的1/12。所以當(dāng)我們采用1.2MHz頻率的晶體時(shí),實(shí)際計(jì)數(shù)器的頻率可為100KHz,當(dāng)輸入時(shí)間脈沖的單位周期間隔為1μs。我們知道由于定時(shí)的精度決定于脈沖的周期,因此,當(dāng)單片機(jī)系統(tǒng)需要高精度的定時(shí)器時(shí),盡量選擇頻率較高的晶體最為適宜,才能得到比較好的效果

59、。</p><p>  第四章 調(diào)試測(cè)試 </p><p>  4.1軟件的編譯調(diào)試</p><p>  0錯(cuò)誤0警告并生成了gujiazhu.hex的HEX文件</p><p>  4.2載入單片機(jī)后的測(cè)試</p><p><b>  輸入1HZ</b></p>&l

60、t;p><b>  0誤差。</b></p><p><b>  輸入100Hz</b></p><p>  有短時(shí)間內(nèi)識(shí)別為99Hz,更多的時(shí)間顯示為100Hz所以基本還是0誤差。</p><p><b>  輸入1KHz</b></p><p>  有最高千分之四的誤

61、差</p><p><b>  輸入25KHz</b></p><p>  有近萬分之三的誤差。</p><p>  輸入100KHZ的時(shí)候</p><p>  誤差達(dá)到了近千分之九。</p><p><b>  4.3誤差分析</b></p><p>

62、;  觀察發(fā)現(xiàn)在不同區(qū)間段誤差范圍不同,這是由于晶振管的頻率設(shè)置為2.4MHZ限定了量程在2.4MHZ/24=100KHZ以下。由觀察測(cè)量得知頻率,在1HZ~1KHZ的時(shí)候基本沒有誤差,在1KHZ~10KHZ區(qū)間內(nèi)部誤差在千分之三左右,在10K~100K之間的測(cè)量誤差較小,控制在萬分之四以內(nèi),而在100KHZ以后誤差迅速加大,達(dá)到了千分之九左右。</p><p><b>  結(jié)束語</b>&

63、lt;/p><p>  經(jīng)過長(zhǎng)達(dá)3個(gè)月的準(zhǔn)備工作,最終完成了畢業(yè)論文的寫作,盡管已經(jīng)取得了初步的成果,也就是完成當(dāng)初所設(shè)想的完成設(shè)計(jì),完成仿真,實(shí)現(xiàn)仿真圖的正常展現(xiàn)。從這次寫作畢業(yè)論文中,我學(xué)到了很多東西,除了非常專業(yè)的有關(guān)本次設(shè)計(jì)所需要的知識(shí),我查閱了大量的專業(yè)資料,已經(jīng)WORD軟件PPT軟件等更是學(xué)會(huì)了如何相互學(xué)習(xí),相互交流,取長(zhǎng)補(bǔ)短的學(xué)習(xí)精神。</p><p>  但是,從設(shè)計(jì)初期的規(guī)劃

64、(最主要的方面)到論文的書寫格式,都存在著某些不足,比如設(shè)計(jì)過于簡(jiǎn)單,還停留在90年代的方式,還有就是關(guān)于結(jié)果的分析還是不能夠到位,,即不能夠深入進(jìn)去,需要不斷的修正。</p><p><b>  致謝</b></p><p>  本次實(shí)驗(yàn)?zāi)軌蝽樌耐ㄟ^仿真離不開xx老師的督促和教導(dǎo),使我本人能夠做到不拋棄不放棄,堅(jiān)持完成張老師安排的任務(wù),在此,學(xué)生無以為報(bào),僅以文字

65、表達(dá)謝意。</p><p>  另外更要感謝我們信息工程學(xué)院的全體老師這四年來的諄諄教導(dǎo),感謝信息工程學(xué)院09級(jí)所有同學(xué)無論在學(xué)習(xí)生活上,都不同程度的給予我?guī)椭?,在此表示深深的謝意。是他們使得我在這四年里生活的非常愉快!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 譚浩強(qiáng).C程序設(shè)計(jì)(第三版)[M].清華大學(xué)出版社

66、,2005。</p><p>  [2] 鄭江.?dāng)?shù)字電路實(shí)驗(yàn)(第一版)[M].南京大學(xué)出版社,2008。</p><p>  [3] 牛昱光.單片機(jī)原理與接口技術(shù)(第一版)[M].電子工業(yè)出版社,2010。</p><p>  [4] 閻石.?dāng)?shù)字電子技術(shù)基礎(chǔ)(第五版)[M].高等教育出版社,2005。</p><p>  [5] 郭天祥.單片

67、機(jī)C語言教程[M].電子工業(yè)出版社,2009。</p><p>  [6] 郝建國(guó).基于單片機(jī)的頻率設(shè)計(jì)[J].西安郵電學(xué)院學(xué)報(bào),2003。</p><p>  [7] 柳毅.探索單片機(jī)的密碼鎖[J].科學(xué)時(shí)代,2012。</p><p><b>  附錄</b></p><p>  #include <AT89C

68、51.H> </p><p>  unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; </p><p>  unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, </p><p>  0x6d,0x7d,0x0

69、7,0x7f,0x6f,0x00,0x40}; </p><p>  unsigned char dispbuf[8]={0,0,0,0,0,0,10,10}; </p><p>  unsigned char temp[8]; </p><p>  unsigned char dispcount; </p><p>  unsigned c

70、har T0count; </p><p>  unsigned char timecount; </p><p>  bit flag; </p><p>  unsigned long x; </p><p>  void main(void) //主函數(shù)

71、</p><p><b>  { </b></p><p>  unsigned char i; </p><p>  TMOD=0x15; </p><p><b>  TH0=0; </b></p><p><b>  TL0=0; </b>&

72、lt;/p><p>  TH1=(65536-5000)/256; </p><p>  TL1=(65536-5000)%256; </p><p><b>  TR1=1; </b></p><p><b>  TR0=1; </b></p><p><b>  E

73、T0=1; </b></p><p><b>  ET1=1; </b></p><p><b>  EA=1; </b></p><p><b>  while(1) </b></p><p><b>  { </b></p>

74、<p>  if(flag==1) </p><p><b>  { </b></p><p><b>  flag=0; </b></p><p>  x=T0count*65536+TH0*256+TL0; </p><p>  for(i=0;i<8;i++) &

75、lt;/p><p><b>  { </b></p><p>  temp[i]=0; </p><p><b>  } </b></p><p><b>  i=0; </b></p><p>  while(x/10) </p><p

76、><b>  { </b></p><p>  temp[i]=x%10; </p><p><b>  x=x/10; </b></p><p><b>  i++; </b></p><p><b>  } </b></p><

77、;p>  temp[i]=x; </p><p>  for(i=0;i<6;i++) </p><p><b>  { </b></p><p>  dispbuf[i]=temp[i]; </p><p><b>  } </b></p><p>  time

78、count=0; </p><p>  T0count=0; </p><p><b>  TH0=0; </b></p><p><b>  TL0=0; </b></p><p><b>  TR0=1; </b></p><p><b>

79、  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  void t0(void) interrupt 1 using 0 //中斷1模塊的函數(shù)編寫</p><p><b>  { <

80、;/b></p><p>  T0count++; </p><p><b>  } </b></p><p>  void t1(void) interrupt 3 using 0 //中斷3模塊的函數(shù)編寫</p><p><b>  { </b></p>

81、<p>  TH1=(65536-5000)/256; </p><p>  TL1=(65536-5000)%256; </p><p>  timecount++; </p><p>  if(timecount==200) </p><p><b>  { </

82、b></p><p><b>  TR0=0; </b></p><p>  timecount=0; </p><p><b>  flag=1; </b></p><p><b>  } </b></p><p><b>  P2=0

83、xff;</b></p><p>  P0=dispcode[dispbuf[dispcount]]; </p><p>  P2=dispbit[dispcount]; </p><p>  dispcount++; </p><p>  if(dispcount==8) </p><p><b&g

溫馨提示

  • 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. 眾賞文庫(kù)僅提供信息存儲(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)論