版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、本科畢業(yè)設(shè)計(jì)論文基于單片機(jī)的方波頻率檢測和倍頻系統(tǒng)設(shè)計(jì)Design Based on SCM Square Wave Frequency Detection and Times Frequency System 基于單片機(jī)的方波頻率檢測和倍頻系統(tǒng)設(shè)計(jì)摘要:本文介紹了基于單片機(jī)的方波頻率檢測和倍頻系統(tǒng)設(shè)計(jì)。該系統(tǒng)功能是檢測由SP1642B型函數(shù)信號發(fā)生器作為方波發(fā)生源的方波,并檢測出所輸入的方波頻率,然后由液晶顯示器1602顯示所檢測到的方波頻率,根據(jù)所檢測到的頻率作為原始頻率,進(jìn)行程序所設(shè)定的倍率的倍頻,通過P1.2口輸出倍頻后的方波信號,最后用示波器顯示其倍頻后的方波波形以及方波頻率。確定了
2、方波頻率檢測倍頻系統(tǒng)的軟硬件設(shè)計(jì)方案。硬件系統(tǒng)包括原始頻率輸入電路、單片機(jī)主電路局部、按鍵及顯示人機(jī)交互局部、倍頻輸出電路。確立了以STC89C52單片機(jī)為核心的硬件系統(tǒng)設(shè)計(jì)。軟件系統(tǒng)采用c語言編寫。 經(jīng)過硬軟件系統(tǒng)實(shí)現(xiàn)后的實(shí)驗(yàn)測定,改系統(tǒng)檢測倍頻功能到達(dá)設(shè)計(jì)要求,輸出數(shù)值誤差1%。關(guān)鍵字:方波信號;頻率檢測;倍頻;STC89C52;LCD1602;中圖分類號:TP391Design Based on SCM Square Wave Frequency Detection and Times Frequency System Abstract: This article describes a
3、 design based on the square wave frequency detection of the microcontroller and multiplier system. The system function is the source detected by SP1642B function signal generator as a square wave square wave. And to detect the input square wave frequency , and then detected by the liquid crystal dis
4、play 1602 shows the square wave frequency. Then detected by a liquid crystal display 1602 shows the square wave frequency, according to the detected frequency as the original frequency, Procedures set by the rate multiplier. P1.2 port output multiplier of the square wave signal. Finally , with an os
5、cilloscope to display the square wave frequency doubling and square-wave frequency. The square wave frequency detection multiplier system hardware and software design. The hardware system consists of the original frequency input circuit , the microcontroller main circuit part of the button and displ
6、ay human-computer interaction part , the multiplier output circuit. Established as the core of STC89C52 microcontroller hardware system design. Using C language as programming language After determination of the experimental hardware and software system , change the system detects a multiplier funct
7、ion to meet the design requirements , the output of numerical error less than 1 % .Keywords: Square wave signal ; frequency detection; multiplier;STC89C52; ICL8038Classification: TP391目錄1.緒論11.1本設(shè)計(jì)研究的問題和意義11.2國內(nèi)外開展?fàn)顩r11.3本設(shè)計(jì)的設(shè)計(jì)要求和主要工作12 系統(tǒng)的整體方案設(shè)計(jì)22.1系統(tǒng)整體方案的設(shè)計(jì)22.2單片機(jī)的選型32.3方波頻率檢測及其倍頻原理53 硬件系統(tǒng)設(shè)計(jì)63.1最小系
8、統(tǒng)設(shè)計(jì)63.2輸入信號調(diào)理電路設(shè)計(jì)93.3鍵盤輸入、輸出顯示及其接口電路設(shè)計(jì)104 軟件系統(tǒng)設(shè)計(jì)124.1編程軟件keil124.2程序編寫思路,需要實(shí)現(xiàn)的功能與之所對應(yīng)的子程序154.3軟件設(shè)計(jì)165 系統(tǒng)測試及其結(jié)果分析165.1系統(tǒng)測試方案設(shè)計(jì)165.2系統(tǒng)測試及其結(jié)果分析18結(jié)論及其展望20致謝詞21參考文獻(xiàn)22附錄A 電路原理圖23附錄B 實(shí)物圖24附錄C 程序代碼25 1.緒論1.1本設(shè)計(jì)研究的問題和意義在芯片處理日益強(qiáng)大的今天,生產(chǎn)生活中各種芯片有著各自重要的作用,發(fā)揮著不可或缺的作用。單片機(jī)在各種科學(xué)領(lǐng)域有個不可替代的作用,它小巧,廉價同時作用巨大不可替代。單片機(jī)在信號發(fā)生處理
9、領(lǐng)域,也有個非常大的作用。在實(shí)際生產(chǎn)生活中,單片機(jī)不僅僅需要產(chǎn)生一定要求的波形,而且還需要對的信號進(jìn)行檢測和處理,來作為可以使用的量來運(yùn)用到生產(chǎn)生活中來。而其中最為常用的一種應(yīng)用就是信號的倍頻和分頻,用以增加和降低信號的頻率。本設(shè)計(jì)就是研究關(guān)于對方波信號的檢測問題和倍頻問題,并以設(shè)定的方波進(jìn)行定量輸出。是利用單片機(jī)對頻率的方波,利用單片機(jī)進(jìn)行頻率的測量,講結(jié)果經(jīng)過單片機(jī)處理后,得到所需要的評論,并通過單片機(jī)的I/O引腳輸出。通過完成次設(shè)計(jì),完成自己的畢業(yè)設(shè)計(jì),更能讓自己更加了解單片機(jī)的中斷和定時器的使用,如何使用單片機(jī)完成信號的檢測和輸出以及掌握單片機(jī)中斷和定時器資料在較為復(fù)雜的時序情況下的程
10、序編制。1.2國內(nèi)外開展?fàn)顩r隨著電子產(chǎn)品的廣泛應(yīng)用,單片機(jī)的應(yīng)用領(lǐng)域相當(dāng)廣泛,如儀器儀表、家電、機(jī)電一體化、產(chǎn)品研發(fā)與開發(fā)等行業(yè),都可以是單片機(jī)設(shè)計(jì)人員的就業(yè)、提升、創(chuàng)業(yè)之所。.目前單片機(jī)已滲透到我們生活的各個領(lǐng)域,幾乎很難找到?jīng)]有單片機(jī)足跡的領(lǐng)域。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實(shí)時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的平安保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說全自動控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了頻率檢測倍頻在科技研究和實(shí)際應(yīng)用中的作用日益重要。傳統(tǒng)的頻
11、率檢測倍頻通常采用組合電路和時序電路等大量的硬件電路構(gòu)成,產(chǎn)品不但體積較大,運(yùn)行速度慢,而且測量低頻信號時不宜直接使用。頻率信號抗干擾性強(qiáng)、易于傳輸 ,可以獲得較高的測量精度。同時 ,頻率檢測方法的優(yōu)化也越來越受到重視.并采用單片機(jī)和相關(guān)硬軟件實(shí)現(xiàn)。在根底理論和專業(yè)技術(shù)根底上,通過對數(shù)字頻率檢測的設(shè)計(jì),用十進(jìn)制數(shù)字來顯示被測信號頻率的測量裝置。以精確迅速的特點(diǎn)測量信號頻率,在本設(shè)計(jì)在實(shí)踐理論上鍛煉提高了自己的綜合運(yùn)用知識水平,為以后的開發(fā)及科研工作打下根底。1.3本設(shè)計(jì)的設(shè)計(jì)要求和主要工作本設(shè)計(jì)主要實(shí)現(xiàn)基于單片機(jī)的系統(tǒng)設(shè)計(jì)和樣機(jī)制作,具有鍵盤和顯示人機(jī)接口功能,配有直流電源,并考慮抗干擾和低功
12、耗設(shè),設(shè)計(jì)要求檢測誤差1%。本設(shè)計(jì)的兩方面的工作:一方面是如何安排單片機(jī)的定時中斷資源,完成信號的檢測、處理和輸出,二是如何根據(jù)需要的頻率,編寫定時器的中斷程序,滿足輸出方波和檢測方波頻率的時序要求完成倍頻設(shè)計(jì)如圖1。頻率顯示單片機(jī)輸入方波信號方波輸出圖1 設(shè)計(jì)整體框架2 系統(tǒng)的整體方案設(shè)計(jì)2.1系統(tǒng)整體方案的設(shè)計(jì)單片機(jī)本身對信號的處理過程并不復(fù)雜,完成測控模塊的關(guān)鍵在于使用適宜的分配單片機(jī)的資源和合理地安排信號處理的時序。在單片機(jī)對方波信號進(jìn)行檢測局部中,我采用了使用單片機(jī)自帶的計(jì)數(shù)器對輸入脈沖進(jìn)行計(jì)數(shù)的方法,好處是設(shè)計(jì)出的頻率計(jì)系統(tǒng)結(jié)構(gòu)和程序編寫簡單,本錢低廉,不需要外部計(jì)數(shù)器,直接利用所
13、給的單片機(jī)最小系統(tǒng)就可以實(shí)現(xiàn)。這種方法的缺陷是受限于單片機(jī)計(jì)數(shù)的晶振頻率,輸入的時鐘頻率通常是單片機(jī)晶振頻率的幾分之一甚至是幾十分之一,在本次設(shè)計(jì)使用的STC98C52單片機(jī),由于檢測一個由“1到“0的跳變需要兩個機(jī)器周期,前一個機(jī)器周期測出“1,后一個周期測出“0。故輸入時鐘信號的最高頻率不得超過單片機(jī)晶振頻率的二十四分之一。根據(jù)頻率檢測的原理,很容易想到利用51單片機(jī)的T0、T1兩個定時/計(jì)數(shù)器,一個用來定時,另一個用來計(jì)數(shù),兩者均應(yīng)該工作在中斷方式,一個中斷用于1s時間的中斷處理,一個中斷用于對頻率脈沖的計(jì)數(shù)溢出處理,對另一個計(jì)數(shù)單元加一,此方法可以彌補(bǔ)計(jì)數(shù)器最多只能計(jì)數(shù)65536的缺乏
14、。將計(jì)數(shù)中斷彌補(bǔ)計(jì)數(shù)器最高計(jì)數(shù)65536的缺乏作為本設(shè)計(jì)的擴(kuò)展。本設(shè)計(jì)采用STC89C52系列單片機(jī)進(jìn)行信頻。標(biāo)準(zhǔn)方波信號由單片機(jī)的14管腳進(jìn)入單片機(jī),定時器設(shè)置為定時器方式,工作方式為。輸入方波信號的下降沿分別控制著計(jì)數(shù)的啟停,每次計(jì)數(shù)所得到的值就是該方波信號的半周期寬度。然后把這個值除以,用減所得數(shù)作為定時器的初值,定時器也設(shè)置為定時器方式,工作方式為。當(dāng)計(jì)數(shù)溢出中斷時,在中斷效勞程序中使輸出電平翻轉(zhuǎn),輸出倍頻的標(biāo)準(zhǔn)方波信號。2.2單片機(jī)的選型 在本設(shè)計(jì)中,我采用的是STC89C52,此單片機(jī)與我們學(xué)習(xí)的AT89C52,無論是功能硬件,引腳排列還是其他都是一樣的,但是STC系列單片機(jī)支持U
15、SB口和用串口下載,這是ATMEL系列單片機(jī)所無法比較的。我在設(shè)計(jì)之初時,買了ATMEL系列的單片機(jī),等到需要燒寫程序時,發(fā)現(xiàn)周圍的同學(xué)手中的燒寫器都不能給AT單片機(jī)燒寫程序,這確實(shí)困擾我一段時間,我只能再去市場買了STC系列的單片機(jī)。 STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,
16、MAX810復(fù)位電路,三個16 位 定時器/計(jì)數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口。另外 STC89X52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運(yùn)作頻率35Mhz,6T/12T可選。 和ATMEL的比照,STC89C52RC單片機(jī): 8K字節(jié)程序存儲空間; 512字節(jié)數(shù)據(jù)存儲空間; 內(nèi)帶4K字節(jié)EEPROM存儲空間; 可直接使用串口下載等等。圖2單片機(jī)引腳圖引腳說明:VCC:電源電壓GND:
17、地P0口:P0口是一組8位漏極開路型雙向I/O口,作為輸出口用時,每個引腳能驅(qū)動8個TTL邏輯門電路。當(dāng)對0端口寫入1時,可以作為高阻抗輸入端使用。當(dāng)P0口訪問外部程序存儲器或數(shù)據(jù)存儲器時,它還可設(shè)定成地址數(shù)據(jù)總線復(fù)用的形式。在這種模式下,P0口具有內(nèi)部上拉電阻。在EPROM編程時,P0口接收指令字節(jié),同時輸出指令字節(jié)在程序校驗(yàn)時。程序校驗(yàn)時需要外接上拉電阻。P1口:P1口是一帶有內(nèi)部上拉電阻的8位雙向I/O口。P1口的輸出緩沖能接受或輸出4個TTL邏輯門電路。當(dāng)對P1口寫1時,它們被內(nèi)部的上拉電阻拉升為高電平,此時可以作為輸入端使用。當(dāng)作為輸入端使用時,P1口因?yàn)閮?nèi)部存在上拉電阻,所以當(dāng)外部
18、被拉低時會輸出一個低電流IIL。P2口:P2是一帶有內(nèi)部上拉電阻的8位雙向的I/O端口。P2口的輸出緩沖能驅(qū)動4個TTL邏輯門電路。當(dāng)向P2口寫1時,通過內(nèi)部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流IIL。P2口在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器例如MOVX DPTR時,P2口送出高8位地址數(shù)據(jù)。在這種情況下,P2口使用強(qiáng)大的內(nèi)部上拉電阻功能當(dāng)輸出1時。當(dāng)利用8位地址線訪問外部數(shù)據(jù)存儲器時例MOVX R1,P2口輸出特殊功能存放器的內(nèi)容。當(dāng)EPROM編程或校驗(yàn)時,P2口同時接收高8位地址和一些控制信號。P3
19、口:P3是一帶有內(nèi)部上拉電阻的8位雙向的I/O端口。P3口的輸出緩沖能驅(qū)動4個TTL邏輯門電路。當(dāng)向P3口寫1時,通過內(nèi)部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流IIL。P3口同時具有多種特殊功能,具體如下表3所示:端口引腳第二功能P3.0RXD (串行輸入口)P3.1TXD串行輸出口P3.2 (外部中斷0)P3.3外部中斷1P3.4T0定時器0P3.5T1定時器1P3.6外部數(shù)據(jù)存儲器寫選通P3.7外部數(shù)據(jù)存儲器都選通圖3 P3口引腳功能RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期的高電平將使單片機(jī)復(fù)位
20、。ALE/ :當(dāng)訪問外部存儲器時,地址鎖存允許是一輸出脈沖,用以鎖存地址的低8位字節(jié)。當(dāng)在Flash編程時還可以作為編程脈沖輸出。一般情況下,ALE是以晶振頻率的1/6輸出,可以用作外部時鐘或定時目的。但也要注意,每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。程序存儲允許時外部程序存儲器的讀選通信號。當(dāng)stc89C52執(zhí)行外部程序存儲器的指令時,每個機(jī)器周期 兩次有效,除了當(dāng)訪問外部數(shù)據(jù)存儲器時, 將跳過兩個信號。 /VPP:外部訪問允許。為了使單片機(jī)能夠有效的傳送外部數(shù)據(jù)存儲器從0000H到FFFH單元的指令, 必須同GND相連接。需要主要的是,如果加密位1被編程,復(fù)位時EA端會自動內(nèi)部鎖存
21、。當(dāng)執(zhí)行內(nèi)部編程指令時, 應(yīng)該接到VCC端。XTAL1:振蕩器反相放大器以及內(nèi)部時鐘電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.3方波頻率檢測及其倍頻原理完成一個最根本操作讀或?qū)懰枰臅r問稱為機(jī)器周期。52 單片機(jī)的機(jī)器周期是固定的,即一個機(jī)器周期由12 個時鐘周期組成。采 用6MHz 的時鐘頻率時,一個機(jī)器周期就是2s ,采用12MHz 的時鐘頻率時, 一個機(jī)器周期就是1s 。 指令周期:指令周期是執(zhí)行一條指令所需要的時間,一般由假設(shè)干個機(jī)器周期 組成,指令不同,后需要的機(jī)器周期數(shù)也不同。對于一些簡單的單字節(jié)指令,分 指令周期可能和機(jī)器周期時間相同;而對于一些比較復(fù)雜的指令,如
22、乘除運(yùn)算那么 需要多個機(jī)器周期才能完成,這時指令周期大于機(jī)器周期。通常,一個機(jī)器周期即可完成的指令稱為單周期指令,兩個機(jī)器周期才能 完成的指令稱為雙周期指令。STC單片機(jī)中的大多數(shù)指令都是單周期或雙周 期指令,只有乘、除運(yùn)算為四周期指令。 復(fù)位電路 大規(guī)模集成電路在上電時一般都需要進(jìn)行一次復(fù)位操作,以便使芯片內(nèi)的一 些部件處于一個確定的初始狀態(tài),復(fù)位是一種很重要的操作。器件本身一般不具 有自動上電復(fù)位能力,需要借助外部復(fù)位電路提供的復(fù)位信號才能進(jìn)行復(fù)位操作所謂“頻率,就是周期性信號在單位時間1s內(nèi)變化的次數(shù)。假設(shè)在一定時間間隔T內(nèi)測得這個周期性信號的重復(fù)變化次數(shù)N,那么其頻率可表示為f=N/T
23、。其中脈沖形成電路的作用是將被測信號變成脈沖信號,其重復(fù)頻率等于被測頻率f。利用單片機(jī)的內(nèi)部定時器作為定時時間周期,假設(shè)其周期為1s,那么輸入的脈沖信號持續(xù)計(jì)數(shù)時間亦準(zhǔn)確地等于1s,所計(jì)數(shù)的脈沖個數(shù)即為被測信號的頻率。方波頻率根本設(shè)計(jì)原理是直接用十進(jìn)制數(shù)字顯示被測信號頻率的一種測量裝置。它以測量頻率的方法方波的頻率進(jìn)行自動的測量。根據(jù)頻率檢測的原理,我利用STC89C52兩個定時/計(jì)數(shù)器,一個用來定時,另一個用來計(jì)數(shù),兩者均應(yīng)該工作在中斷方式,一個中斷用于1s時間的中斷處理,一個中斷用于對頻率脈沖的計(jì)數(shù)溢出處理,對另一個計(jì)數(shù)單元加一,此方法可以彌補(bǔ)計(jì)數(shù)器最多只能計(jì)數(shù)65536的缺乏。將計(jì)數(shù)中斷
24、彌補(bǔ)計(jì)數(shù)器最高計(jì)數(shù)65536的缺乏作為本設(shè)計(jì)的擴(kuò)展。倍頻使輸出信號頻率等于輸入信號頻率整數(shù)倍的電路。輸入頻率為f1,那么輸出頻率為f0nf1,系數(shù)n為任意正整數(shù),稱倍頻次數(shù)。倍頻技術(shù)用途廣泛,如發(fā)射機(jī)采用倍頻器后可使主振器振蕩在較低頻率,以提高頻率穩(wěn)定度;調(diào)頻設(shè)備用倍頻器來增大頻率偏移;在相位鍵控通信機(jī)中,倍頻器是載波恢復(fù)電路的一個重要組成單元。3 硬件系統(tǒng)設(shè)計(jì)3.1最小系統(tǒng)設(shè)計(jì) 所謂單片機(jī)最小系統(tǒng)就是指能讓單片機(jī)工作的最少的器件構(gòu)成的系統(tǒng)。最小系統(tǒng)雖然簡單,但是卻是大多數(shù)控制系統(tǒng)所必不可少的關(guān)鍵局部。對于STC89C52單片機(jī),其內(nèi)部已經(jīng)包含了一定數(shù)量的程序存儲器和數(shù)據(jù)存儲器,在外部只要增加
25、時鐘電路和復(fù)位電路即可構(gòu)成單片機(jī)最小系統(tǒng)。時鐘電路 單片機(jī)系統(tǒng)中的各個局部是在一個統(tǒng)一的時鐘脈沖控制下有序地進(jìn)行工作,時鐘電路是單片機(jī)系統(tǒng)最根本、最重要的電路。 我的畢業(yè)設(shè)計(jì)其實(shí)就是一個最小系統(tǒng),一片單片機(jī)和周圍的一些電路就能讓整個系統(tǒng)工作起來,方波信號的發(fā)生借助于函數(shù)信號發(fā)生器,輸出信號的檢測借助于示波器。 通過翻閱單片機(jī)的各種書籍和網(wǎng)上查閱各種資料,確定了我此次設(shè)計(jì)的硬件局部的電路設(shè)計(jì)。再通過與那老師溝通,參加了LCD液晶顯示模塊和按鍵的選擇倍頻模塊,這樣使得整個系統(tǒng)比較完整。圖3 本設(shè)計(jì)的電路原理圖3.1.1時鐘電路設(shè)計(jì)單片機(jī)內(nèi)部有一個高增益反相放大器,引腳XTAL1 和XTAL2 分別
26、是該放大器的輸入端和輸出端,如果引腳XTAL1 和XTAL2 兩端跨接上晶體振蕩器晶振或陶瓷振蕩器就構(gòu)成了穩(wěn)定的自激振蕩電路,該振蕩電路的輸出可直接送入內(nèi)部時序電路。STC單片機(jī)的時鐘可由兩種方式產(chǎn)生,即內(nèi)部時鐘方式和外部時鐘方式。1內(nèi)部時鐘方式。內(nèi)部時鐘方式即是由單片機(jī)內(nèi)部的高增益反相放大器和外部跨接的晶振、微調(diào)電容構(gòu)成時鐘電路產(chǎn)生時鐘的方法。外接晶振陶瓷振蕩器時,C1、C2 的值通常選擇為30pF40pF左右;C1、C2 對頻率有微調(diào)作用,晶振或陶瓷諧振器的頻率范圍可在1.2MHz 12MHz之間選擇。為了減小寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)引
27、腳XTALl 和XTAL2 靠近。由于內(nèi)部時鐘方式外部電路接線簡單,單片機(jī)應(yīng)用系統(tǒng)中大多采用這種方式。內(nèi)部時鐘方式產(chǎn)生的時鐘信號的頻率就是晶振的固有頻率,常用fsoc 來表示。如選擇12MHz 晶振,那么fsoc=12106Hz。2外部時鐘方式。外部時鐘方式即完全用單片機(jī)外部電路產(chǎn)生時鐘的方 法,外部電路產(chǎn)生的時鐘信號被直接接到單片機(jī)的XTAL1 引,此時XTAL2 開路。因?yàn)镃PU 的工作周期是基于時鐘信號的,是與時鐘信號密不可分 的。 CPU 在執(zhí)行指令時,都是按照一定順序進(jìn)行的,由于指令的字節(jié)數(shù)不同,取 指所需時間也就不同,即使是字節(jié)數(shù)相同的指令,執(zhí)行操作也會有很大差異,不同的指令的執(zhí)行
28、時間當(dāng)然也不相同,即CPU 在執(zhí)行各個指令時,所需要的節(jié)拍數(shù) 是不同的。在本設(shè)計(jì)中,在時鐘電路局部設(shè)計(jì)中,我采用了12MHz的晶振作為時鐘頻率的起振器。在晶振后連接兩個30Pf的電容在接入單片機(jī)的18、19管腳,來給單片機(jī)提供時鐘頻率。如圖2所示。對于兩個電容C1、C2的作用,主要是此電容對頻率有微調(diào)作用,晶振或陶瓷諧振器的頻率范圍可在1.2MHz12MHz之間選擇。為了減小寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)引腳XTALl 和XTAL2 靠近。由于內(nèi)部時鐘方式外部電路接線簡單,單片機(jī)應(yīng)用系統(tǒng)中大多采用這種方式。圖2.時鐘電路局部設(shè)計(jì) 3.1.2復(fù)位電
29、路設(shè)計(jì)在實(shí)際設(shè)計(jì)中,都必須考慮到在系統(tǒng)超出所能正常工作范圍的情況下,如何能夠讓系統(tǒng)快速恢復(fù)到正常狀態(tài),這樣可以提高系統(tǒng)的工作效率,同時也能減少非正常工作環(huán)境對于系統(tǒng)硬件的損耗,也能在一定程度上減少耗能。我這個畢業(yè)設(shè)計(jì)中采用了一般常用的復(fù)位方法:手動復(fù)位法。手動按鈕復(fù)位需要人為在復(fù)位輸入端RST上參加高電平如圖3所示。一般采用的方法是在RST端和正電源Vcc之間接一個按鈕。當(dāng)人為按下按鈕時,那么Vcc的+5V電平就會直接加到RST端。手動按鈕復(fù)位的電路如所示。由于人的動作再快也會使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位時間要求。在實(shí)際測量過程中,當(dāng)方波頻率超過本設(shè)計(jì)能檢測的范圍,單片機(jī)就
30、不能正確檢測方波的頻率,最直接的現(xiàn)象就是LCD停留在一開始超過檢測范圍的頻率上,無論我怎么調(diào)節(jié)函數(shù)發(fā)生器的頻率大小,LCD也不會改變數(shù)值。這時就需要我來手動復(fù)位了,所以設(shè)置這個電路還是有它的理由的,一般說來,單片機(jī)的電路設(shè)計(jì)都會有復(fù)位電路,區(qū)別就在于手動復(fù)位還是自動復(fù)位的問題了。圖3就是在本設(shè)計(jì)中的復(fù)位電路。圖3 復(fù)位電路設(shè)計(jì)3.1.3電源電路設(shè)計(jì)在本次設(shè)計(jì)中,需要電源的主要有單片機(jī)、LCD1602、函數(shù)信號發(fā)生器和示波器。由于函數(shù)信號發(fā)生器和示波器需要220v交流電,所以是單獨(dú)供電,不需要設(shè)計(jì)中的電源供電。由于單片機(jī)和LCD1602所需要的是5伏直流電,所以我用5伏交流-直流插頭來作為整個設(shè)
31、計(jì)的電源。3.2輸入信號調(diào)理電路設(shè)計(jì)由于在設(shè)計(jì)中,系統(tǒng)依賴函數(shù)信號發(fā)生器產(chǎn)生的方波信號,P1.4口作為信號的輸入口,單片機(jī)依據(jù)P1.4的原始方波信號來檢測信號頻率和倍頻輸出。單片機(jī)在檢測到脈沖信號的下升沿的時候翻開計(jì)數(shù)器T0, 并且在檢測到下個下降沿降沿的時候關(guān)閉計(jì)數(shù)器T0,存放器TH0、TL0內(nèi)的值即為脈沖寬度,單位是1uS。檢測電路在檢測信號的周期和頻率時, T1作為定時器,T0為計(jì)數(shù)器,測量信號的有效頻率值。f=NT0所計(jì)高電平次數(shù)/t(T1定時時間);3.3鍵盤輸入、輸出顯示及其接口電路設(shè)計(jì) 單片機(jī)完成輸入方波的頻率檢測后,得到表示方波周期的數(shù)值f,將該周期的波形二倍頻、三倍頻等,按照
32、要求的頻率處理后,通過T2控制頻率,通過P1.2引腳信號輸出。在P1.0 P1.1兩個引腳上,我設(shè)置了兩個按鍵電路,分別是二倍頻和三倍頻的電路,只要按下其中一個按鍵,就會控制程序完成所設(shè)定的倍頻數(shù)。這本設(shè)計(jì)中,由于只有兩個按鍵只能實(shí)現(xiàn)兩種倍頻,所以如果要實(shí)現(xiàn)其他倍頻,就必須修改軟件中的倍頻局部子程序,這也還是比較方便的。在系統(tǒng)上電后,程序默認(rèn)的是二倍頻。在單片機(jī)檢測單片機(jī)的倍頻是,方波的下降沿觸發(fā)單片機(jī)工作,T0計(jì)數(shù)T1定時,所測得的倍頻通過LCD1602輸出如圖4。圖4 LCD1602 。 LCD1602能夠同時顯示16x02即32個字符。16列2行 1602液晶也叫1602字符型液晶它是一
33、種專門用來顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶模塊它有假設(shè)干個5X7或者5X11等點(diǎn)陣字符位組成,每個點(diǎn)陣字符位都可以顯示一個字符。每位之間有一個點(diǎn)距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒茱@示圖形 1602采用標(biāo)準(zhǔn)的16腳接口如表1:編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data I/O2VDD電源正極10D3Data I/O3VL液晶顯示偏壓信號11D4Data I/O4RS數(shù)據(jù)/命令選擇端12D5Data I/O5R/W讀寫選擇端H/L13D6Data I/O6E使能信號14D7Data I/O7D0Data I/O15BLA背光源正極8D1D
34、ata I/O16BLK背光源負(fù)極表4 1602型LCD的接口信號說明根本操作程序:讀狀態(tài):輸入:RS=L,RW=H,E=H輸出:D0D7=狀態(tài)字讀數(shù)據(jù):輸入:RS=H,RW=H,E=H輸出:無寫指令:輸入:RS=L,RW=L,D0D7=指令碼,E=高脈沖 輸出:D0D7=數(shù)據(jù)寫數(shù)據(jù):輸入:RS=H,RW=L,D0D7=數(shù)據(jù),E=高脈沖 輸出:無1602液晶模塊內(nèi)部的字符發(fā)生存儲器CGROM)已經(jīng)存儲了160個不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比方大寫的英文字母“A的代碼是01000001B41H,顯示時模塊把
35、地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A。 因?yàn)?602識別的是ASCII碼,試驗(yàn)可以用ASCII碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值同時它具有微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。所以我用LCS1602作為顯示器替代了原來設(shè)計(jì)的四位數(shù)碼管來顯示頻率。圖5所示的是本次設(shè)計(jì)中按鍵顯示局部電路。圖5 按鍵顯示電路設(shè)計(jì)4 軟件系統(tǒng)設(shè)計(jì) 4.1編程軟件keil軟件編寫是在KEIL環(huán)境下進(jìn)行的,采用C語言編寫圖7 keil軟件Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要
36、看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能表達(dá)高級語言的優(yōu)勢。下面詳細(xì)介紹Keil C51開發(fā)系統(tǒng)各局部功能和使用。 Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu),C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)立生成庫文件,也
37、可以與庫文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。圖8 Keil 軟件編譯z4.2程序編寫思路,需要實(shí)現(xiàn)的功能與之所對應(yīng)的子程序 本次設(shè)計(jì)中的軟件局部使用的c語言來編寫的,c語言相較于匯編語言,更加的簡潔,同時身邊的同學(xué)也根本是使用c語言,所以這樣的好處是有問題的話,可以很好的請教周圍的同學(xué),這樣能到達(dá)事半功倍的效果。 要實(shí)現(xiàn)設(shè)計(jì)中對于方波頻率檢測和倍頻輸出的功能,在軟件設(shè)計(jì)中就要根據(jù)所需要實(shí)現(xiàn)的
38、功能來對應(yīng)編寫相對應(yīng)的子程序。 因?yàn)橐褂肔CD液晶顯示,所以要寫一段程序,讓液晶初始化,同時編寫液晶的顯示程序,LCD通過對地址來賦值來到達(dá)顯示的功能,相較于數(shù)碼管比較簡潔明了,省去了一大堆步驟。 在倍頻中,有按鍵來控制倍頻的具體倍數(shù),所以也要編寫相應(yīng)的子程序來實(shí)現(xiàn)按鍵功能。在設(shè)計(jì)中,對方波的檢測的算法,T0,T1的中斷,是本設(shè)計(jì)的中心內(nèi)容,設(shè)計(jì)功能全直接依賴于頻率的算法和倍頻算法。思路是:當(dāng)方波的下降沿觸發(fā)了單片機(jī)的T0計(jì)數(shù)T1定時,然后TL0/THO的值,即為方波的頻率。系統(tǒng)頻率檢測工作流程如圖10 圖10系統(tǒng)工作流程圖4.3軟件設(shè)計(jì)液晶顯示流程:本系統(tǒng)采用的LCD1602實(shí)現(xiàn)數(shù)據(jù)的顯示
39、,輸出穩(wěn)定,控制簡單。程序包括這幾局部:1.定義存儲輸出數(shù)據(jù)的全局變量數(shù)組;2.初始化程序csh(); 3.寫指令程序write_com(uchar com);4.寫數(shù)據(jù)子程序write_data(uchar date);5顯示子程序xianshi()。圖14 液晶顯示流程5 系統(tǒng)測試及其結(jié)果分析5.1系統(tǒng)測試方案設(shè)計(jì) 系統(tǒng)分為軟硬件兩大局部,對于硬件局部,我根據(jù)原理圖,用數(shù)字萬用表的蜂鳴檔先對硬件的連接局部做了一個仔細(xì)的檢測,主要是檢測有無虛焊、漏焊、錯焊。在檢測中我發(fā)現(xiàn)了很多的虛焊,很多線路不能正常短路,我再一個個挑出來,重新焊過。之后重新檢查了一邊線路沒有了錯誤。后來在檢測顯示電路的電路
40、連接中,發(fā)現(xiàn)LCD1602有幾根引腳接錯,然后我改正過來。 通過一系列的檢查,我的硬件局部根本沒有問題。同時也檢查了我所買的元器件,都是沒有問題。 經(jīng)過嚴(yán)格的檢查,我把硬件通上電,同時系統(tǒng)不加單片機(jī),我測了個硬件局部的電壓情況,經(jīng)過測試,電壓都是正常的,電源的正負(fù)極也沒有接錯。至此我的硬件局部算是真正完成了,沒有任何問題,接下來要做的就是對于軟件局部的調(diào)試了。 軟件局部主要是一個編寫過程中,錯誤的改正。一開始編寫難免有各種的問題,有很多不太懂,我只能去找那老師,那老師給我分析了很多關(guān)于如何實(shí)現(xiàn)頻率檢測的原理和倍頻的算法。老師又提供了很多對我很有用的資料,讓我在設(shè)計(jì)中能找到方向。 在軟件設(shè)計(jì)中還
41、要感謝別的同學(xué)對我的幫助,在編寫中是他給我指出了很多錯誤,同時教我如何安排軟件的時序運(yùn)行。 在兩個多禮拜的軟件調(diào)試中,終于把軟件給寫出來了,后來燒寫到單片機(jī)之后,系統(tǒng)終于可以檢測到了方波的信號頻率,同時示波器也檢測到了方波信號和倍頻如圖7。圖7 系統(tǒng)檢測5.2系統(tǒng)測試及其結(jié)果分析基于單片機(jī)直接計(jì)數(shù)脈沖,受單片機(jī)晶振頻率的影響,外圍電路與外部中斷口接觸良好問題,外界環(huán)境干擾等因素,故本頻率存在一定客觀和主觀上的誤差。經(jīng)實(shí)際屢次測試頻率,在檢測方波頻率顯示最后數(shù)值,和真實(shí)值根本沒有誤差,非常精確。經(jīng)過本人測試,由于本設(shè)計(jì)顯示的精度為1赫茲嗎,所以LCD無法顯示小數(shù)點(diǎn)后的數(shù)值,軟件中設(shè)定了四舍五入,
42、也就是實(shí)際誤差在0.5赫茲左右,在1Hz到20K最大值的測量中,誤差根本穩(wěn)定在0.5Hz。在倍頻中,由示波器實(shí)際檢測出來的頻率值在一定范圍內(nèi)非常準(zhǔn)確,在10kHz一下,頻率誤差在1%以下。由于此設(shè)計(jì)收到本身設(shè)計(jì)的限制,精度遠(yuǎn)遠(yuǎn)打不倒工業(yè)生產(chǎn)的標(biāo)準(zhǔn),尤其是受到倍頻算法的影響,倍頻誤差大于方波檢測的誤差。但由于本設(shè)計(jì)本錢低、產(chǎn)品可模塊化設(shè)計(jì)、電源直接使用干電池、體積小、使用時可隨時隨地移動、使用起來特別的方便,所以在一般應(yīng)用中還是有一點(diǎn)的使用價值和使用空間。表2倍率實(shí)際值100150200300400500600X2201.4302.1400.7605.3801.6996.41.190KX3303
43、.0460.7605.3908.11.205K1.493K1.786K表2 倍頻測量記錄單位Hz表3倍率 實(shí)際值7008009001KX21.305K1.572K1.761K1.946KX32.066K2.347K2.618K2.912K表3 倍頻測量記錄單位Hz實(shí)際值100150200300400500600檢測值100150200300400500600表4 方波頻率測量單位HZ實(shí)際值7008009001K檢測值7008009001K表5 方波頻率測量單位Hz以上兩個只記錄的測試的一局部數(shù)據(jù),因?yàn)閿?shù)據(jù)是無窮多的,所以只挑了一些有代表性的數(shù)值來作為記錄值。從中可以看到,數(shù)據(jù)是有誤差的,不過這
44、也是無法防止的,況且本身的設(shè)計(jì)不是經(jīng)過各種優(yōu)化過的,所以產(chǎn)生誤差也是在情理之中。結(jié)論及其展望從實(shí)驗(yàn)中可以看出,本設(shè)計(jì)可以檢測方波0-20KHz之間的頻率,檢測的精度已經(jīng)非常高了,唯一的缺點(diǎn)就是沒法顯示小數(shù)點(diǎn)后面的位數(shù)。當(dāng)方波頻率超過20KHz時,LCD就一直卡在一個數(shù)值不動,無論如何轉(zhuǎn)動函數(shù)信號發(fā)生器,LCD都不會改變數(shù)值,只能通過按下復(fù)位按鍵,才能讓系統(tǒng)重新工作。檢測范圍是受到了內(nèi)部中斷的影響。雖然此次設(shè)計(jì)電路局部還算簡潔,但還是花費(fèi)了我?guī)讉€月的時間,主要是前期的設(shè)計(jì)方案確實(shí)定和軟件局部編程問題。雖然時間精力花費(fèi)了許多,但最終還是能成功運(yùn)行,實(shí)現(xiàn)了對于方波頻率的檢測和倍頻,這樣也到達(dá)了畢業(yè)設(shè)
45、計(jì)對自己的能力的考核的目的。我的設(shè)計(jì)還有很多地方可以去完善,可以去細(xì)化電路,讓系統(tǒng)變得更加精確,能力更加豐富。致謝詞在設(shè)計(jì)過程中,得到了我的指導(dǎo)老師的悉心指導(dǎo)與幫助,還有其他老師和同學(xué)的大力支持和協(xié)助,在此一并表示衷心的感謝。大學(xué)四年即將結(jié)束,借此時機(jī)也對這四年來幫助、關(guān)心、鼓勵過我的老師、同學(xué)說聲謝謝。參考文獻(xiàn)1 凌惟侯.國內(nèi)外單片機(jī)開展與應(yīng)用.自動化博覽,1992,2:1-22 於丹. 春風(fēng)化雨芽將萌談我國單片機(jī)的開展.微電腦世界,2004-17:11-133 XU Bi-rong.Duffing system-based square wave frequency detection,
46、Journal of Guilin University of Electronic Technology,2021.04 309-3134 深圳市群豪儀器儀表工具. SP1641B/SP1642B系列使用說明書.2021,1-85 陳紅仙.Keil C51編程控制倍頻正弦信號的產(chǎn)生.蘇州大學(xué)學(xué)報(bào)(工科版)。J,2005,06:33-366 Michael Fisch. The frequency and the pulse width of the variable pulse modulator. EDN China, 2003,07:87-887 邵華東 李揚(yáng) 丁翔 施家驊.示波器帶寬對
47、方波信號測試影響的研究J. 儀器表用戶:009,16 ,57-588 彭惠芹. 集成運(yùn)算放大器構(gòu)成方波信號發(fā)生器的電路分析.山西大同大學(xué)學(xué)報(bào):自然科學(xué)版,2021. 6:31-3210趙志剛. DCS可程控方波信號發(fā)生器的設(shè)計(jì)與應(yīng)用. ?機(jī)電信息? 2021,30 :8-9 11萬福君 潘松鋒 劉芳等 MCS-51單片機(jī)原理系統(tǒng)設(shè)計(jì)與應(yīng)用 M.清華大學(xué)出版社,2021.9,54-19012何立民.單片機(jī)與嵌入式系統(tǒng)應(yīng)用M.北京航天大學(xué)出版社,2003.22-25 13周澤魁.控制儀表與計(jì)算機(jī)控制技術(shù) M.北京工業(yè)出版社,2021.7,150-16514李華.MCS-51系列單片機(jī)實(shí)用接口技術(shù) M.北京航
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- SZSD01 0006-2024國際貿(mào)易商品追溯平臺建設(shè)指南
- 2024年軌道交通服務(wù)項(xiàng)目評估分析報(bào)告
- 2023年醫(yī)用中心供氧設(shè)備項(xiàng)目評估分析報(bào)告
- 2024屆海南省??谑懈呷?月第一次階段性測試數(shù)學(xué)試題
- 餐飲員工培訓(xùn)協(xié)議書簡易版
- 不存在合同關(guān)系回復(fù)
- 保障保險合同
- 山西省2024八年級物理上冊第二章聲現(xiàn)象專題訓(xùn)練3.辨析聲音的特性課件新版新人教版
- 山東省威海市文登區(qū)實(shí)驗(yàn)中學(xué)(五四制)2024-2025學(xué)年七年級上學(xué)期期中考試生物試題
- 《紡織品 色牢度試驗(yàn) 洗液沾色的測定》
- 2024年杭州市房產(chǎn)交易產(chǎn)權(quán)登記管理中心招考高頻難、易錯點(diǎn)500題模擬試題附帶答案詳解
- 2024秋期國家開放大學(xué)《財(cái)務(wù)報(bào)表分析》一平臺在線形考(作業(yè)一至五)試題及答案
- 國家基本醫(yī)療保險、工傷保險和生育保險藥品目錄(2023年)
- 《深度學(xué)習(xí)入門-基于Python的實(shí)現(xiàn)》 課件全套 吳喜之 1-9 從最簡單的神經(jīng)網(wǎng)絡(luò)說起- -TensorFlow 案例
- 年產(chǎn)80萬件針織服飾技改項(xiàng)目可行性研究報(bào)告寫作模板-申批備案
- 城市公益公墓區(qū)建設(shè)方案
- 第七單元測試卷-2024-2025學(xué)年語文三年級上冊統(tǒng)編版
- 智能網(wǎng)聯(lián)汽車電子電氣架構(gòu)產(chǎn)業(yè)技術(shù)路線圖
- 1輸變電工程施工質(zhì)量驗(yàn)收統(tǒng)一表式(線路工程)-2024年版
- 護(hù)理觀察瞳孔
- 第五單元 倍的認(rèn)識(單元測試)-2024-2025學(xué)年三年級上冊數(shù)學(xué)人教版
評論
0/150
提交評論