版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 第一章 前言</b></p><p> 頻率測量是電子學(xué)測量中最為基本的測量之一。由于頻率信號(hào)抗干擾性強(qiáng),易于傳輸,因此可以獲得較高的測量精度。隨著數(shù)字電子技術(shù)的發(fā)展,頻率測量成為一項(xiàng)越來越普遍的工作,測頻原理和測頻方法的研究正受到越來越多的關(guān)注。</p><p><b> 1.1頻率計(jì)概述</b></p&
2、gt;<p> 數(shù)字頻率計(jì)是計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。它是一種用十進(jìn)制數(shù)字顯示被測信號(hào)頻率的數(shù)字測量儀器。它的基本功能是測量正弦信號(hào)、方波信號(hào)及其他各種單位時(shí)間內(nèi)變化的物理量。在進(jìn)行模擬、數(shù)字電路的設(shè)計(jì)、安裝、調(diào)試過程中,由于其使用十進(jìn)制數(shù)顯示,測量迅速,精確度高,顯示直觀,經(jīng)常要用到頻率計(jì)。傳統(tǒng)的頻率計(jì)采用測頻法測量頻率,通常由組合電路和時(shí)序電路等大量的硬件電路組成,產(chǎn)品不但體積大,運(yùn)
3、行速度慢而且測量低頻信號(hào)不準(zhǔn)確。本次采用單片機(jī)技術(shù)設(shè)計(jì)一種數(shù)字顯示的頻率計(jì),測量準(zhǔn)確度高,響應(yīng)速度快,體積小等優(yōu)點(diǎn)[1]。</p><p> 1.2頻率計(jì)發(fā)展與應(yīng)用</p><p> 在我國,單片機(jī)已不是一個(gè)陌生的名詞,它的出現(xiàn)是近代計(jì)算機(jī)技術(shù)的里程碑事件。單片機(jī)作為最為典型的嵌入式系統(tǒng),它的成功應(yīng)用推動(dòng)了嵌入式系統(tǒng)的發(fā)展。單片機(jī)已成為電子系統(tǒng)的中最普遍的應(yīng)用。單片機(jī)作為微型計(jì)算機(jī)的一
4、個(gè)重要分支,其應(yīng)用范圍很廣,發(fā)展也很快,它已成為在現(xiàn)代電子技術(shù)、計(jì)算機(jī)應(yīng)用、網(wǎng)絡(luò)、通信、自動(dòng)控制與計(jì)量測試、數(shù)據(jù)采集與信號(hào)處理等技術(shù)中日益普及的一項(xiàng)新興技術(shù),應(yīng)用范圍十分廣泛。其中以AT89S52為內(nèi)核的單片機(jī)系列目前在世界上生產(chǎn)量最大,派生產(chǎn)品最多,基本可以滿足大多數(shù)用戶的需要[2]。</p><p> 1.3頻率計(jì)設(shè)計(jì)內(nèi)容</p><p> 利用電源、單片機(jī)、分頻電路及數(shù)碼管顯示等
5、模塊,設(shè)計(jì)一個(gè)簡易的頻率計(jì)能夠粗略的測量出被測信號(hào)的頻率。 參數(shù)要求如下:</p><p> 1.測量范圍10HZ—2MHZ;</p><p> 2.用四位數(shù)碼管顯示測量值;</p><p> 第二章 系統(tǒng)總體方案設(shè)計(jì)</p><p><b> 2.1測頻的原理</b></p><p>
6、 測頻的原理歸結(jié)成一句話,就是“在單位時(shí)間內(nèi)對(duì)被測信號(hào)進(jìn)行計(jì)數(shù)”。被測信號(hào),通過輸入通道的放大器放大后,進(jìn)入整形器加以整形變?yōu)榫匦尾ǎ⑺腿胫鏖T的輸入端[3]。由晶體振蕩器產(chǎn)生的基頻,按十進(jìn)制分頻得出的分頻脈沖,經(jīng)過基選通門去觸發(fā)主控電路,再通過主控電路以適當(dāng)?shù)木幋a邏輯便得到相應(yīng)的控制指令,用以控制主門電路選通被測信號(hào)所產(chǎn)生的矩形波,至十進(jìn)制計(jì)數(shù)電路進(jìn)行直接計(jì)數(shù)和顯示。若在一定的時(shí)間間隔T內(nèi)累計(jì)周期性的重復(fù)變化次數(shù)N,則頻率的表達(dá)式為式
7、:</p><p><b> ?。?)</b></p><p> 圖1說明了測頻的原理及誤差產(chǎn)生的原因。</p><p><b> 時(shí)基信號(hào)</b></p><p><b> 待測信號(hào)</b></p><p> 丟失(少計(jì)一個(gè)脈沖) 計(jì)到N個(gè)
8、脈沖 多余(比實(shí)際多出了0.x個(gè)脈沖)</p><p><b> 圖1 測頻原理</b></p><p> 在圖1中,假設(shè)時(shí)基信號(hào)為1KHZ,則用此法測得的待測信號(hào)為1KHZ×5=5KHZ。但從圖中可以看出,待測信號(hào)應(yīng)該在5.5KHZ左右,誤差約有0.5/5.5≈9.1%。這個(gè)誤差是比較大的,實(shí)際上,測量的脈沖個(gè)數(shù)的誤差會(huì)在±1之間。假
9、設(shè)所測得的脈沖個(gè)數(shù)為N,則所測頻率的誤差最大為δ=1/(N-1)*100%。顯然,減小誤差的方法,就是增大N。本頻率計(jì)要求測頻誤差在1‰以下,則N應(yīng)大于1000。通過計(jì)算,對(duì)1KHZ以下的信號(hào)用測頻法,反應(yīng)的時(shí)間長于或等于10S,。由此可以得出一個(gè)初步結(jié)論:測頻法適合于測高頻信號(hào)。</p><p> 頻率計(jì)數(shù)器嚴(yán)格地按照公式進(jìn)行測頻[4]。由于數(shù)字測量的離散性,被測頻率在計(jì)數(shù)器中所記進(jìn)的脈沖數(shù)可有正一個(gè)或負(fù)一個(gè)
10、脈沖的量化誤差,在不計(jì)其他誤差影響的情況下,測量精度將為:</p><p> 應(yīng)當(dāng)指出,測量頻率時(shí)所產(chǎn)生的誤差是由N和T倆個(gè)參數(shù)所決定的,一方面是單位時(shí)間內(nèi)計(jì)數(shù)脈沖個(gè)數(shù)越多時(shí),精度越高,另一方面T越穩(wěn)定時(shí),精度越高。為了增加單位時(shí)間內(nèi)計(jì)數(shù)脈沖的個(gè)數(shù),一方面可在輸入端將被測信號(hào)倍頻,另一方面可增加T來滿足,為了增加T的穩(wěn)定度,只需提高晶體振蕩器的穩(wěn)定度和分頻電路的可靠性就能達(dá)到。</p><p
11、> 上述表明,在頻率測量時(shí),被測信號(hào)頻率越高,測量精度越高。</p><p><b> 2.2總體思路</b></p><p> 頻率計(jì)是我們經(jīng)常會(huì)用到的實(shí)驗(yàn)儀器之一,頻率的測量實(shí)際上就是在單位時(shí)間內(nèi)對(duì)信號(hào)進(jìn)行計(jì)數(shù),計(jì)數(shù)值就是信號(hào)頻率。本文介紹了一種基于單片機(jī)AT89S52 制作的頻率計(jì)的設(shè)計(jì)方法,所制作的頻率計(jì)測量比較高的頻率采用外部十分頻,測量較低頻率
12、值時(shí)采用單片機(jī)直接計(jì)數(shù),不進(jìn)行外部分頻。該頻率計(jì)實(shí)現(xiàn)10HZ~2MHZ的頻率測量,而且可以實(shí)現(xiàn)量程自動(dòng)切換功能,四位共陽極動(dòng)態(tài)顯示測量結(jié)果,可以測量正弦波、三角波及方波等各種波形的頻率值。</p><p> 第三章 硬件電路具體設(shè)計(jì)</p><p> 根據(jù)系統(tǒng)設(shè)計(jì)的要求,頻率計(jì)實(shí)際需要設(shè)計(jì)的硬件系統(tǒng)主要包括以下幾個(gè)部分:AT89S52單片機(jī)最小系統(tǒng)模塊、電源模塊、放大整形模塊、分頻模塊
13、及顯示模塊,下面將分別給予介紹。</p><p> 3.1 AT89S52主控制器模塊</p><p> 3.1.1 AT89S52的介紹</p><p> 8位單片機(jī)是MSC-51系列產(chǎn)品升級(jí)版[5],有世界著名半導(dǎo)體公司ATMEL在購買MSC-51設(shè)計(jì)結(jié)構(gòu)后,利用自身優(yōu)勢技術(shù)——(掉電不丟數(shù)據(jù))閃存生產(chǎn)技術(shù)對(duì)舊技術(shù)進(jìn)行改進(jìn)和擴(kuò)展,同時(shí)使用新的半導(dǎo)體生產(chǎn)工藝
14、,最終得到成型產(chǎn)品。AT89S52片內(nèi)集成256字節(jié)程序運(yùn)行空間、8K字節(jié)Flash存儲(chǔ)空間,支持最大64K外部存儲(chǔ)擴(kuò)展。根據(jù)不同的運(yùn)行速度和功耗的要求,時(shí)鐘頻率可以設(shè)置在0-33M之間。片內(nèi)資源有4組I/O控制端口、3個(gè)定時(shí)器、8個(gè)中斷、軟件設(shè)置低能耗模式、看門狗和斷電保護(hù)??梢栽?V到5.5V寬電壓范圍內(nèi)正常工作。不斷發(fā)展的半導(dǎo)體工藝也讓該單片機(jī)的功耗不斷降低。使用雙列直插DIP-40的封裝。AT89S52引腳如下圖3所示。<
15、/p><p><b> 3.2 引腳功能</b></p><p><b> VCC:電源電壓;</b></p><p><b> GND:地;</b></p><p> P0口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“
16、1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在 flash編程時(shí),P0口用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻[7]。</p><p> P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P1 輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì) P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)
17、可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入,P1口功能具體如表1所示。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。</p><p> 表1 P1口的第二種功能說明表</p><p> P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩
18、沖器能驅(qū)動(dòng)4 個(gè)TTL邏輯電平。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。</p><p> 第四章 系統(tǒng)的軟件設(shè)計(jì)</p><p> 系統(tǒng)軟件設(shè)計(jì)主要采用模塊化設(shè)計(jì),敘述
19、了各個(gè)模塊的程序流程圖,并介紹了軟件Keil和Proteus的使用方法和調(diào)試仿真。</p><p> 4.1 軟件模塊設(shè)計(jì)</p><p> 系統(tǒng)軟件設(shè)計(jì)采用模塊化設(shè)計(jì)方法。整個(gè)系統(tǒng)由初始化模塊,信號(hào)頻率測量模塊,自動(dòng)量程轉(zhuǎn)換和顯示模塊等模塊組成。系統(tǒng)軟件流程如圖19所示。</p><p> 頻率計(jì)開始工作或者完成一次頻率測量,系統(tǒng)軟件都進(jìn)行測量初始化。測量初
20、始化模塊設(shè)置堆棧指針(SP)、工作寄存器、中斷控制和定時(shí)/計(jì)數(shù)器的工作方式。定時(shí)/計(jì)數(shù)器的工作首先被設(shè)置為計(jì)數(shù)器方式,即用來測量信號(hào)頻率[15]。</p><p> 圖19 系統(tǒng)軟件流程總圖</p><p> 首先定時(shí)/計(jì)數(shù)器的計(jì)數(shù)寄存器清0,運(yùn)行控制位TR置1,啟動(dòng)對(duì)待測信號(hào)的計(jì)數(shù)。計(jì)數(shù)閘門由軟件延時(shí)程序?qū)崿F(xiàn),從計(jì)數(shù)閘門的最小值(即測量頻率的高量程)開始測量,計(jì)數(shù)閘門結(jié)束時(shí)TR清0,
21、停止計(jì)數(shù)。計(jì)數(shù)寄存器中的數(shù)值經(jīng)過數(shù)制轉(zhuǎn)換程序從十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。判斷該數(shù)的最高位,若該位不為0,滿足測量數(shù)據(jù)有效位數(shù)的要求,測量值和量程信息一起送到顯示模塊;若該位為0,將計(jì)數(shù)閘門的寬度擴(kuò)大10倍。</p><p> 4.2 應(yīng)用軟件簡介</p><p> 此設(shè)計(jì)需要在Keil軟件平臺(tái)上完成程序的調(diào)試,在Proteus軟件平臺(tái)上完成仿真顯示。因此介紹如何使用Keil和Prote
22、us進(jìn)行軟件的仿真。</p><p><b> Keil簡介</b></p><p> Keil軟件是目前最流行開發(fā)系列單片機(jī)的軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。而Proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工
23、作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時(shí),關(guān)心的不再是某些語句執(zhí)行時(shí)單片機(jī)寄存器和存儲(chǔ)器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。對(duì)于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象[16]。</p><p><b> ?。?)建立工程文件</b></p><p> 點(diǎn)
24、擊“Project->New project”菜單,出現(xiàn)一個(gè)對(duì)話框,要求給將要建立的工程起一個(gè)名字,你可以在編緝框中輸入一個(gè)名字,點(diǎn)擊“保存”按鈕,出現(xiàn)第二個(gè)對(duì)話框,按要求選擇目標(biāo)器件片。建立新文件并增加到組。分別設(shè)置“target1”中的“Target,output,debug”各項(xiàng),使程序匯編后產(chǎn)生HEX文件。</p><p> (2)匯編,調(diào)試系統(tǒng)程序</p><p> K
25、eil 單片機(jī)模擬調(diào)試軟件內(nèi)集成了一個(gè)文本編輯器,用該文本編輯器可以編輯源程序。在集成開發(fā)環(huán)境中選擇菜單“File → New...”、單擊對(duì)應(yīng)的工具按鈕或者快捷鍵Ctrl +N 將打開一個(gè)新的文本編輯窗口,完成匯編語言源文件的輸入,并且完成源程序向當(dāng)前工程的添加。</p><p> 然后在集成開發(fā)環(huán)境中選擇菜單“File→Save As...”可以完成文件的第一次存儲(chǔ)。注意,匯編語言源文件的擴(kuò)展名應(yīng)該是“AS
26、M”,它應(yīng)該與工程文件存儲(chǔ)在同一文件夾之內(nèi)。在完成文件的第一次存儲(chǔ)以后,當(dāng)對(duì)匯編語言源文件又進(jìn)行了修改,再次存儲(chǔ)文件則應(yīng)該選擇菜單“File→Save”、單擊對(duì)應(yīng)的工具按鈕或者快捷鍵Ctrl +S 實(shí)現(xiàn)文件的保存。</p><p> 接著的工作需要把匯編語言源文件加入工程之中。選擇工程管理器窗口的子目“Source Group 1”,再單擊鼠標(biāo)右鍵打開快捷菜單。在快捷菜單中選擇“Add File to Grou
27、p ‘Source Group 1’”,加入文件對(duì)話框被打開。在這個(gè)對(duì)話框的“查找范圍(I)”下拉列表框中選擇存儲(chǔ)匯編語言源文件的文件夾,在“文件類型(T)” 下拉列表框選擇“Asm Source file(*.a*;*.src)”,這時(shí)存儲(chǔ)的匯編語言源文件將顯示出來。雙擊要加入的文件名或者選擇要加入的文件名再單擊“Add”按鈕即可完成把匯編語言源文件加入工程。文件加入以后,加入文件對(duì)話框并不消失,更多的文件也可以利用它加入工程。如果不
28、需要加入其它文件,單擊“Close”按鈕可以關(guān)閉加入文件對(duì)話框。這時(shí)工程管理窗口的文件選項(xiàng)卡中子目錄“Source Group 1”下出現(xiàn)一個(gè)匯編語言源文件。 需要注意,當(dāng)把匯編語言源文件加入工程但還沒有關(guān)閉加入文件對(duì)話框,這時(shí)有可能被誤認(rèn)為文件沒有成功地加入工程而再次進(jìn)行加入操作,系統(tǒng)將顯示所需的文件已經(jīng)加入的提示。在這種情況下,單擊提示框中的“確定”按鈕,再單擊“Close</p><p> ?。?)編譯源程
29、序,出現(xiàn)錯(cuò)誤時(shí),返回上一級(jí)對(duì)錯(cuò)誤更改后重新編譯,直到?jīng)]有錯(cuò)誤為止。</p><p><b> protues簡介</b></p><p> protues是Labcenter公司出品的電路分析、實(shí)物仿真系統(tǒng),而KEIL是目前世界上最好的51單片機(jī)匯編和C語言的集成開發(fā)環(huán)境。他支持匯編和C的混合編程,同時(shí)具備強(qiáng)大的軟件仿真和硬件仿真功能[17]。Protues能夠很
30、方便的和KEIL、Matlab IDE等編譯模擬軟件結(jié)合。Proteus提供了大量的元件庫有RAM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件,它可以仿真單片機(jī)和周邊設(shè)備,可以仿真51系列、AVR,PIC等常用的MCU,與keil和MPLAB不同的是它還提供了周邊設(shè)備的仿真,只要給出電路圖就可以仿真。</p><p> 這里我將keil和 Protues兩個(gè)軟件的快速集成起來
31、使用。</p><p> (1)首先將keil和 Protues兩個(gè)軟件安裝好。</p><p> (2)然后在C:\Program Files\Labcenter Eletronics\Protues 6 Professional\MODELS(我的Protues是安裝C盤里面的)目錄下的VDM51.DLL 動(dòng)態(tài)連接庫文件復(fù)制到C:KEIL\C51\BIN 目錄下面(我的keil 也
32、安裝在C盤)這個(gè)文件將在keil的debug設(shè)置時(shí)用到。</p><p> ?。?)打開protues軟件,新建一文件將硬件原理圖繪入圖中。</p><p> ?。?)將KEIL生成的HEX文件下載入單片機(jī)中,點(diǎn)擊“開始”進(jìn)行仿真。</p><p> (5)在keil中進(jìn)行debug,同時(shí)在proteus中查看直觀的結(jié)果(如LCD顯示??)。這樣就可以像使用仿真器
33、一樣調(diào)試程序。利用Proteus與Keil整合進(jìn)行</p><p> 第五章 頻率計(jì)的系統(tǒng)調(diào)試</p><p> 常見的數(shù)碼管由七個(gè)條狀和一個(gè)點(diǎn)狀發(fā)光二極管管芯制成,叫七段數(shù)碼管,根據(jù)其結(jié)構(gòu)的不同,可分為共陽極數(shù)碼管和共陰極數(shù)碼管兩種。根據(jù)管腳資料,可以判斷使用的是何種接口類型[14].兩種數(shù)碼管內(nèi)部原理如圖16所示。</p><p> 圖16 兩種數(shù)碼管內(nèi)部
34、原理圖</p><p> LED數(shù)碼管中各段發(fā)光二極管的伏安特性和普通二極管類似,只是正向壓降較大,正向電阻也較大。在一定范圍內(nèi),其正向電流與發(fā)光亮度成正比。所以它的輸入端在5 V電源或高于TTL高電平(3.5 V)的電路信號(hào)相接時(shí),一定要串加限流電阻,以免損壞器件。</p><p><b> 頻率值顯示電路</b></p><p> 數(shù)
35、碼管電路設(shè)計(jì)不加三極管驅(qū)動(dòng)時(shí),使用4位數(shù)碼管進(jìn)行頻率值顯示,如果選擇共陰極數(shù)碼管顯示,則需要8個(gè)三極管進(jìn)行驅(qū)動(dòng),因此選用共陽極數(shù)碼管進(jìn)行動(dòng)態(tài)顯示,具體數(shù)碼管設(shè)計(jì)電路如圖17所示。</p><p> 圖17 數(shù)碼管顯示電路</p><p><b> 5.2 軟件調(diào)試</b></p><p> Pouteus軟件調(diào)試</p>&
36、lt;p> 根據(jù)系統(tǒng)設(shè)計(jì)要求,進(jìn)行Keil和Proteus系統(tǒng)仿真,不斷調(diào)試程序,直到符合功能要求。Proteus總體仿真圖29所示。</p><p> 圖29 頻率計(jì)整體仿真圖</p><p><b> 功能調(diào)試</b></p><p> 當(dāng)測量頻率值小于1KHz以下時(shí),數(shù)碼管顯示頻率值,并紅色LED燈亮,作為Hz檔單位指示。例
37、如輸入信號(hào)123Hz,仿真顯示如圖30所示。</p><p> 圖30 HZ檔頻率仿真</p><p><b> 5.3 誤差分析</b></p><p> 從記錄的數(shù)據(jù)可以看出,系統(tǒng)軟件仿真誤差很小,在10Hz-2MHz范圍內(nèi)測量出來的頻率基本上就是輸入信號(hào)的頻率,在超出這個(gè)范圍后,才出現(xiàn)很小的誤差。但是在硬件調(diào)試中,可能是由于標(biāo)準(zhǔn)元器
38、件本身誤差,如隨著時(shí)間的延長,其值相比出廠時(shí)產(chǎn)生誤差;造成測量結(jié)果沒有軟件仿真精確。同時(shí)手工焊接單片機(jī)最小系統(tǒng)、分頻整形電路等也會(huì)帶來一定的干擾,造成信號(hào)的失真,從而導(dǎo)致測量精度下降,測量范圍有所縮小,但是可以看出,誤差在允許范圍內(nèi),所設(shè)計(jì)的電路基本符合要求。</p><p><b> 第六章 總結(jié)</b></p><p> 課程設(shè)計(jì)已經(jīng)結(jié)束,通過這次設(shè)計(jì),我受益
39、匪淺。課程設(shè)計(jì)是一次綜合性的實(shí)踐,它將各種知識(shí)結(jié)合到一起綜合運(yùn)用到實(shí)踐上來擴(kuò)展、彌補(bǔ)、串聯(lián)所學(xué)的知識(shí)。通過本次課程設(shè)計(jì)我得到了很多收獲。首先,了解了單片機(jī)的基本知識(shí)和在控制領(lǐng)域的作用和地位。其次掌握了C語言的編寫程序,學(xué)會(huì)了使用PROTUTES和KEIL的仿真來實(shí)現(xiàn),同時(shí)掌握了如何收集、查閱、應(yīng)用文獻(xiàn)資料,如何根據(jù)實(shí)際需要有選擇的閱讀書籍和正確確定系統(tǒng)所要使用的元器件的類型。再次,在精神方面鍛煉了思想、磨練了意志。面對(duì)存在的困難首先分析
40、問題根據(jù)目的要求確定可實(shí)現(xiàn)的部分,定出那不準(zhǔn)的方面找同學(xué)和老師討論研究,再完善、再修改、再發(fā)現(xiàn)問題、再解決培養(yǎng)了自己的耐心、恒心及遇事不亂的精神??傊?,我明白了理論和實(shí)踐之間存在的距離只有靠不斷的思考不斷的動(dòng)手才能將所學(xué)的知識(shí)真正運(yùn)用到實(shí)踐上來。在課程設(shè)計(jì)中我的很多方面的能力都得到了提高,尤其在單片機(jī)軟件編程方面讓我感觸頗深。我個(gè)人認(rèn)為軟件設(shè)計(jì)是個(gè)即靈活又細(xì)膩的工作,它要求耐心和細(xì)心去不斷完善,同時(shí)還需要有良好的邏輯思維能力。通過這次畢
41、業(yè)設(shè)計(jì),我分析問題和解決問題的能力有所提高,也鞏固了所學(xué)的知識(shí),加深了對(duì)理論知識(shí)的</p><p><b> 參考文獻(xiàn) </b></p><p> ?。?]鄒大挺.頻率計(jì)的設(shè)計(jì)[J]. 《電子產(chǎn)品世界》出版社. 2006. 第193期. 4-7. </p><p> [2]雷玉堂.光電檢測技術(shù)[M]. 中國計(jì)量出版社. 1995.</
42、p><p> ?。?]季建華. 智能儀表原理[M]. 山東教育出版社. 2004.</p><p> ?。?]王永生. 電子測量學(xué)[M]. 西北工業(yè)大學(xué)出版社. 2003.</p><p> [5]李華.單片機(jī)實(shí)用接口技術(shù)[M]. 航空航天大學(xué)出版社. 2006.</p><p> ?。?]張鵬.王雪梅. 單片機(jī)原理與應(yīng)用實(shí)例教程[M]. 海軍
43、出版社. 2007.</p><p> ?。?]赫建國等. 單片機(jī)在電子電路設(shè)計(jì)中的應(yīng)用[M]. 清華大學(xué)出版社. 2005.</p><p> ?。?]康華光.電子技術(shù)基礎(chǔ)(模擬部分)[M]. 高等教育出版社. 1998.</p><p> ?。?]http://www.21icsearch.com/s_LM7805.html.LM7805英文參考手冊[Z]<
44、;/p><p> ?。?0]謝自美.電子線路設(shè)計(jì)與實(shí)驗(yàn)[M]. 華中科技大學(xué)出版社. 2006. </p><p> [11] http://www.21icsearch.com/s_74LS00. html.74LS00英文參考手冊[Z].</p><p> ?。?2]http://www.21icsearch.com/s_74LS161.html.74LS161英
45、文參考手冊[Z].</p><p> ?。?3]http://www.21icsearch.com/s_74LS151.html.74LS151英文參考手冊[Z].</p><p> ?。?4]康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分)[M]. 高等教育出版社. 1998.</p><p> [15]賴麒文. 8051單片機(jī)C語言軟件設(shè)計(jì)的藝術(shù)[M]. 科學(xué)出版社. 200
46、4.</p><p> ?。?6]徐波. Keil的使用技巧[J]. 《電子產(chǎn)品世界》出版社. 2006. 第224期. 6-9.</p><p> [17]吳清平. 單片機(jī)原理與應(yīng)用實(shí)例教程[M]. 海軍出版社. 2008.</p><p><b> 【簡要說明】</b></p><p> 一、尺寸:長128mm
47、寬87mm高18mm二、支持芯片:AT89S51/S52/S53 支持STC89C51/C52/C53(加轉(zhuǎn)換板可使用ATMEGA8/48、ATMEGA16/32)三、工作電壓:直流4.5~5.5伏四、單片機(jī)標(biāo)準(zhǔn)十針下載接口。(可使用并口下載線和USB下載線下載)五、特點(diǎn): 1、具有電源指示。
48、160; 2、所以I/O口以引出并有LED燈指示。 3、四位數(shù)碼管顯示、四位按鍵輸入、32位LED發(fā)光二極管顯示。 4、標(biāo)準(zhǔn)的11.0592M晶振。(晶振
49、可以插拔更換) 5、具有上電復(fù)位和手動(dòng)復(fù)位。 6、四種供電接口(USB供電、端子引入供電、排針引入供電、電源頭接口供電)
50、60;7、串口通信使用MAX232接口,同時(shí)可以下載STC單片機(jī)程序。 8、帶有蜂鳴器,可以輸出音調(diào)</p><p><b> 頻率計(jì)源程序:</b></p><p> #include<reg52.h> //庫文件</
51、p><p> #define uchar unsigned char//宏定義無符號(hào)字符型</p><p> #define uint unsigned int //宏定義無符號(hào)整型</p><p> /********************************************************************</p>
52、<p><b> 初始定義</b></p><p> *********************************************************************/</p><p> code uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80
53、,0x90}; //顯示段碼 數(shù)碼管字跟 不加code,默認(rèn)在數(shù)據(jù)存儲(chǔ)器256b</p><p> uchar wei[4]={0XEf,0XDf,0XBf,0X7f}; //位的控制端 (四位數(shù)碼管)</p><p> sbit key1=P2^0;</p><p> uint tcnt=0; //計(jì)中斷</p><p>
54、int th0,t0,val=0;</p><p> sbit sound=P3^7; //蜂鳴器</p><p> /********************************************************************</p><p><b> 延時(shí)函數(shù)</b></p><p>
55、; *********************************************************************/</p><p> void delay(uchar t)</p><p><b> {</b></p><p> uchar i,j;</p><p> for(i=
56、0;i<t;i++)</p><p> for(j=13;j>0;j--);}</p><p> void delay_2ms()</p><p><b> {</b></p><p> uchar l,k;</p><p> for(l=0;l<0;l++)</
57、p><p> for(k=0;k<254;k++);}</p><p> /********************************************************************</p><p><b> 顯示函數(shù)</b></p><p> ******************
58、***************************************************/ </p><p> void Led(int date) //顯示函數(shù)</p><p><b> {</b></p><p> /*****************數(shù)據(jù)轉(zhuǎn)換************************
59、*****/ </p><p> uint z,x,c,v;</p><p> z=date/1000; //求千位</p><p> x=date%1000/100; //求百位</p><p> c=date%100/10; //求十位</p><p> v=date%10; //求個(gè)
60、位</p><p><b> P2=0XFF;</b></p><p> P0=seg7code[z];</p><p> P2=wei[0];</p><p> delay(80);</p><p> P2=0XFF; </p><p> P0=seg7co
61、de[x];</p><p> P2=wei[1];</p><p> delay(80);</p><p> P2=0XFF; </p><p> P0=seg7code[c];</p><p> P2=wei[2];</p><p> delay(80);</p>
62、<p> P2=0XFF; </p><p> P0=seg7code[v];</p><p> P2=wei[3];</p><p> delay(80); </p><p><b> P2=0XFF;</b></p><p><b> }</b>
63、</p><p> /********************************************************************</p><p><b> 定時(shí)中斷服務(wù)函數(shù)</b></p><p> *******************************************************
64、**************/</p><p> void t1(void) interrupt 3 using 0 //定時(shí)中斷服務(wù)函數(shù) p23 ,p46</p><p> { tcnt++; //每過50ms tcnt 加一</p><p> if(tcnt==20) //計(jì)滿20 次(1 秒)時(shí)</p><p> { t
65、h0=TH0; //讀計(jì)數(shù)值</p><p><b> t0=TL0;</b></p><p> val=th0*256+t0; //換算計(jì)數(shù)值</p><p> tcnt=0;//重新再計(jì)</p><p> TH0=0; //計(jì)數(shù)器歸零</p><
66、;p><b> TL0=0;} </b></p><p> TH1=(65535-50000)/256; //對(duì)TH1 TL1 賦值</p><p> TL1=(65535-50000)%256; </p><p><b> }</b></p><p> void T0() inte
67、rrupt 1 //計(jì)數(shù)中斷</p><p> { sound=~sound;}//計(jì)數(shù)溢出中斷</p><p> void init()</p><p><b> {</b></p><p> TMOD=0x15; //定時(shí)器1工作方式1,計(jì)數(shù)器0工作方式1</p><p><b
68、> IE=0X8A;</b></p><p> TR1=1; //開始計(jì)時(shí)</p><p> TR0=1; //開始計(jì)數(shù)</p><p> TH0=(65535-50000)/256; //對(duì)TH1 TL1 賦值</p><p> TL0=(65535-50000)%256;</p>
69、<p><b> }</b></p><p> /********************************************************************</p><p><b> 主函數(shù)</b></p><p> *****************************
70、****************************************/</p><p> void main()</p><p> { if(!key1) </p><p> delay_2ms();</p><p> if(!key1) </p><p><b> { init();&
71、lt;/b></p><p><b> while(1)</b></p><p> {Led(val);</p><p><b> } }</b></p><p><b> }</b></p><p> /**************
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于at89s52單片機(jī)的數(shù)字頻率計(jì)課程設(shè)計(jì)畢業(yè)論文
- 單片機(jī)課程設(shè)計(jì)(數(shù)字頻率計(jì))
- 單片機(jī)課程設(shè)計(jì)---數(shù)字頻率計(jì)
- 單片機(jī)課程設(shè)計(jì)---數(shù)字頻率計(jì)
- 單片機(jī)數(shù)字頻率計(jì)課程設(shè)計(jì)
- 基于89c52單片機(jī)的數(shù)字頻率計(jì)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)數(shù)字頻率計(jì)設(shè)計(jì)
- 基于at89c52單片機(jī)實(shí)現(xiàn)數(shù)字頻率計(jì)的設(shè)計(jì)
- 基于89c52單片機(jī)的數(shù)字頻率計(jì)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---數(shù)字頻率計(jì)
- 基于單片機(jī)的數(shù)字頻率計(jì)設(shè)計(jì)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字頻率計(jì)的設(shè)計(jì)
- 課程設(shè)計(jì)報(bào)告基于單片機(jī)數(shù)字頻率計(jì)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---簡易數(shù)字頻率計(jì)
- 基于at89s52單片機(jī)的頻率計(jì)設(shè)計(jì)畢業(yè)論文
- 基于c語言單片機(jī)數(shù)字頻率計(jì)設(shè)計(jì)
- 基于單片機(jī)的頻率計(jì)外文翻譯--快速數(shù)字頻率計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)數(shù)字頻率計(jì)
- 數(shù)字頻率計(jì)課程設(shè)計(jì)
- 數(shù)字頻率計(jì)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論