簡易低頻信號源設(shè)計畢業(yè)論文_第1頁
簡易低頻信號源設(shè)計畢業(yè)論文_第2頁
簡易低頻信號源設(shè)計畢業(yè)論文_第3頁
簡易低頻信號源設(shè)計畢業(yè)論文_第4頁
簡易低頻信號源設(shè)計畢業(yè)論文_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、簡易低頻信號源設(shè)計 40摘 要信號發(fā)生器是一種經(jīng)常使用的設(shè)備,由純粹物理器件構(gòu)成的傳統(tǒng)的設(shè)計方法存在許多弊端,如體積較大、重量較沉、移動不方便、信號失真較大,無法滿足用戶對精度、便攜性、穩(wěn)定性等要求。本課題設(shè)計一種基于單片機控制技術(shù)與數(shù)模轉(zhuǎn)化技術(shù)的低頻信號發(fā)生系統(tǒng),涉及單片機最小系統(tǒng)、D/A轉(zhuǎn)換電路、放大電路及電源電路等硬件模塊,涉及主程序、三角波產(chǎn)生函數(shù)、方波產(chǎn)生函數(shù)、正弦波產(chǎn)生函數(shù)、鍵處理函數(shù)及顯示函數(shù)等軟件模塊。通過硬件電路和軟件程序相結(jié)合,,輸出自定義波形,波形的頻率和幅度在一定范圍內(nèi)可任意改變。從調(diào)試結(jié)果看,該系統(tǒng)能控制產(chǎn)生方波、三角波、正弦波,頻率范圍1-1KHz、信號幅度0-5V

2、,實現(xiàn)了設(shè)計任務(wù)規(guī)定的功能。該低頻信號發(fā)生器具有頻率穩(wěn)定、準(zhǔn)確、波形質(zhì)量好、操作方便、體積小、耗電少等特點, 滿足了工業(yè)領(lǐng)域?qū)π盘栐吹囊?。關(guān)鍵詞:低頻信號, D/A轉(zhuǎn)換,單片機ABSTRACTSignal generator is a kind of device that is used frequently,design method is constituted by a purely physical and traditional device that has many drawbacks, such as the larger weight than the sink, mob

3、ile inconvenient larger, the signal distortion, and can not meet the user on the accuracy, portable and stability requirements. This topic is to design a low-frequency signal generation system which based on the single-chip control technology and digital-to-analog conversion techniques, involving ha

4、rdware module of the micro controller minimum system, D / A conversion circuit, amplifier circuit, and a power supply circuit, and relates to the main program, the triangle wave generating function, square wave generating function, sine wave generator function, a function of the key processing and d

5、isplay functions such as software modules. Combination of hardware circuitry and software program, the output of the custom waveform, frequency and amplitude of the waveform within a certain range can be arbitrarily changed. From the debug result, the system can be controlled to generate a square wa

6、ve, triangle wave, sine wave, the frequency range 1-1KHz signal amplitude 0-5V, to achieve design mandate. The low frequency signal generator with a frequency stability, accurate, waveform quality, easy operation, small size, low power consumption and other features to meet the requirements of the i

7、ndustrial areas of the signal source.Key words: low-frequency signal, D/A converter, single-chip system目錄1 緒論11.1課題背景11.2設(shè)計目的和意義11.3相關(guān)領(lǐng)域國內(nèi)外技術(shù)的歷史和發(fā)展11.4單片機在低頻信號發(fā)生器中的應(yīng)用32系統(tǒng)總體設(shè)計52.1 硬件系統(tǒng)方案52.2軟件系統(tǒng)方案73硬件電路設(shè)計93.1 單片機最小系統(tǒng)93.2 D/A轉(zhuǎn)換電路133.3按鍵和液晶顯示153.4放大電路164 軟件設(shè)計214.1 主程序214.2方波程序214.3三角波程序224.4鋸齒波程序234.5正

8、弦波程序234.6 按鍵處理程序245 調(diào)試結(jié)果與分析255.1 調(diào)試環(huán)境:255.2 調(diào)試過程與結(jié)果266 結(jié)論30參考文獻(xiàn)32致 謝33附錄341 緒論1.1課題背景隨著電子測量及其他部門對各類信號發(fā)生器的廣泛需求及電子技術(shù)的循環(huán)發(fā)展,促使了信號發(fā)生器的種類增多,性能提高并且開始向著自動化、智能化方向發(fā)展。現(xiàn)在,許多信號發(fā)生器都帶有微處理器,因而具備了自校、之間、自動故障診斷和自動波形形成等功能,可以號種子計算機及其他測量儀器,方便的工程自動檢測系統(tǒng)。當(dāng)前信號發(fā)生器總的趨勢是向著頻率覆蓋、低功耗、高頻率精度、多功能、自動化和智能化方向發(fā)展。1.2設(shè)計目的和意義單片機應(yīng)用十分廣泛,具有廣泛的

9、使用價值。低頻信號發(fā)生器作為一種常用的信號源,只要運用于電子電路、自動控制和科學(xué)研究領(lǐng)域。它是一種作為電子測量,計量工作并且提供符合嚴(yán)格技術(shù)要求的電信號設(shè)備,銀次是電子測試系統(tǒng)的重要部件,是決定電子測試系統(tǒng)性能的關(guān)鍵設(shè)別。本設(shè)計要求輸出信號的頻率較低,因此使用了單片機作為控制器,用D/A轉(zhuǎn)換器以及LM324放大電路來輸出相應(yīng)波形。通過軟硬件的仿真調(diào)試來表明電路輸出頻率的穩(wěn)定性較好。1.3相關(guān)領(lǐng)域國內(nèi)外技術(shù)的歷史和發(fā)展信號發(fā)生器已經(jīng)成為了一種我們經(jīng)常使用的設(shè)備,他是有由純粹物理器件構(gòu)成的,在傳統(tǒng)的設(shè)計方法中存在著許多弊端,比如體積大、重量沉、移動不方便、信號失真大,這些問題都讓信號發(fā)生器無法滿足

10、用戶對精度、便攜性、穩(wěn)定性等要求。本課題的設(shè)計是一種基于單片機控制技術(shù)的信號發(fā)生器,具有頻率穩(wěn)定、準(zhǔn)確、波形質(zhì)量好、輸出頻率范圍寬、便攜性好等特點,以滿足一些用戶及工業(yè)領(lǐng)域?qū)π盘栐吹囊蟆,F(xiàn)如今電子技術(shù)發(fā)展速度十分迅速,信號發(fā)生器對于電路測試等一些專業(yè)領(lǐng)域來說,要求也隨著科技的發(fā)展越來越高,對精確度也越來越高。它不只是能夠產(chǎn)生正弦波,方波,三角波,鋸齒波等,信號發(fā)生器還要通過模擬來輸出不規(guī)則的信號用來形成實際的環(huán)境信號。而且在輸出的過程中要包括頻率,波形,輸出電壓,功率等一些參數(shù)并且在可控的范圍內(nèi)恩能夠夠進(jìn)行精確的調(diào)整以及良好的穩(wěn)定性。在早期電子設(shè)備開始被研發(fā)推廣,波形發(fā)生器也應(yīng)運而生。在40

11、年代因為通信和雷達(dá)技術(shù)的發(fā)展需求而被用于測試不同的接收機。那個年代的科技發(fā)張水平有限,因次最一開始的信號發(fā)生器的器件結(jié)構(gòu)相對于現(xiàn)在要復(fù)雜很多,功率大,電路簡單,所以發(fā)張的速度非常緩慢。一直到1964年才研發(fā)出第一臺全晶體管信號發(fā)生器。在隨之而來的60年代中,信號發(fā)生器則有了巨大的改變。多出了很多新種類的發(fā)生器如函數(shù)發(fā)生器,掃頻信號發(fā)生器等。這些新的發(fā)生器性能指標(biāo)同樣相對于一開始的信號發(fā)生器有了大幅度的提高,而在機械結(jié)構(gòu)以及功能上都有了明顯的改善。70年代是個分割期,在之前的時期里主要有兩類信號發(fā)生器:正弦波以及脈沖波,函數(shù)發(fā)生器則是介于這兩者之間,如果要產(chǎn)生一些特殊的波形時則要采用比較復(fù)雜的電

12、路以及機電結(jié)合的方法才能實現(xiàn)。這段期間主要采用的是模擬電子技術(shù)。模擬的元器件岑在著一些明顯的缺點如尺寸規(guī)格打,價格昂貴以及功耗巨大,信號波形越復(fù)雜電路也會隨之變得復(fù)雜,兩者之間成正比。與此同時還有兩個更為重要的問題:1 當(dāng)時是通過電位器的調(diào)節(jié)來實現(xiàn)輸出頻率,所以很難將頻率固定在某一特定的數(shù)值上。2 脈沖的占空比無法自由調(diào)節(jié)。在70年代后期隨著微處理器的出現(xiàn),已經(jīng)可以利用處理器,軟硬件以及A/D,D/A轉(zhuǎn)換來擴(kuò)大波形發(fā)生器的功能用來產(chǎn)生更加復(fù)雜的波形。1975年任意波形發(fā)生器被研發(fā),讓信號發(fā)生器的種類多了一個品類。在剛開始將任意波形發(fā)生器投放到市場前,三角波,方波等特殊波形是通過函數(shù)發(fā)生器來產(chǎn)生

13、的。而聲音及鄭東分析則會需要復(fù)雜的調(diào)制信號源,以便于仿真出真實的信號。如醫(yī)療儀器中往往需要測試心電波,而只有通過借助任意波形發(fā)生器才能非常容易的產(chǎn)生需要的波形。在一些其他領(lǐng)域中也會需要借助任意波形發(fā)生器來產(chǎn)生一些非標(biāo)準(zhǔn)的,特殊的波形來實現(xiàn)目的。任意波形示波器在前期的著重點在重音頻頻段,而如今的任意波形發(fā)生器已經(jīng)擴(kuò)展到了射頻頻段,數(shù)字示波器也已與之緊密配合,一旦數(shù)字示波器捕捉到信號,同樣的示波器就會被任意波形發(fā)生器復(fù)制出來。數(shù)字示波器在電路的結(jié)構(gòu)上是通過模擬/數(shù)字的轉(zhuǎn)換,而認(rèn)識波形發(fā)生器則是數(shù)字/模擬的逆轉(zhuǎn)換,在本次的畢設(shè)中運用的就是數(shù)字/模擬的逆轉(zhuǎn)換。在90年代末期,市場上出現(xiàn)了一些真正高性能

14、,高價格的函數(shù)發(fā)生器。21世紀(jì)是一個高速發(fā)展的時代,隨著集成電路的發(fā)展創(chuàng)新,出現(xiàn)了可以擁有多種工作頻率的DDS芯片,于此同時也促進(jìn)了函數(shù)發(fā)生器的發(fā)展,具體的體現(xiàn)主要有一下幾個方面:(1)曾近因為頻率的低應(yīng)用范圍狹小,而現(xiàn)在輸出波形頻率的提高讓波形發(fā)生器運用到了諸多領(lǐng)域中去。隨著軟件的開發(fā)讓波形數(shù)據(jù)輸入變得簡單容易,方便快捷。各種計算機語言的迅速發(fā)展也在無形中推動了波形發(fā)生器軟件技術(shù)前進(jìn)。(2)信息科技技術(shù)的蓬勃發(fā)展使得現(xiàn)在的儀器形態(tài)發(fā)生了重大改變,外形的尺寸和價格都是以前同類產(chǎn)品的一半。最新的儀器都具有多種特性并且可以執(zhí)行不同功能?,F(xiàn)在我國在研制波形發(fā)生器方面已經(jīng)取得了一定的成果,但是總體來說

15、還是沒有形成一定規(guī)模的產(chǎn)業(yè)。中國現(xiàn)在的成熟產(chǎn)品大多數(shù)都是PC儀器插卡,獨立的儀器和VXI系統(tǒng)的模塊相對來說比較少,和國外的研究相比來說存在這很大的差距,中國在這方面的研究還有很長的路要走。在當(dāng)今這個信息科技發(fā)展迅速的時代,科技已經(jīng)成為了第一生產(chǎn)力,日新月異的科技發(fā)展帶動了各個國家的全面發(fā)展。而單片機已經(jīng)在不知不覺中滲透到了我們生活中,現(xiàn)在幾乎很難找到?jīng)]有單片機存在的領(lǐng)域。單片機已經(jīng)開始影響了我們的衣食住行。1.4單片機在低頻信號發(fā)生器中的應(yīng)用如今的信息科技社會是伴隨著科學(xué)技術(shù)的迅速發(fā)展和越來越智能化的儀器設(shè)備,電子科技的發(fā)展,改變了我們的日常生活。單片機的應(yīng)用在現(xiàn)代電子領(lǐng)域中,仍在繼續(xù)深入探索

16、,這樣的發(fā)展一定會使得傳統(tǒng)控制與檢測技術(shù)也隨之日新月異。由單片機所構(gòu)成的器件都有著較高的可靠性以及高性能的價格比,這樣的器件早已被廣泛的應(yīng)用在智能儀表系統(tǒng)和辦公自動化等其它領(lǐng)域中,并且在洗衣機、微波爐及音響汽車等生活用品中也運用了單片機,我們的生活中已經(jīng)處處可見它的應(yīng)用。單片機在不知不覺中開始占領(lǐng)了我們的生活,相信在未來我們的生活一定會離不開單片機。因此,單片機技術(shù)的發(fā)展和應(yīng)用水平已經(jīng)逐漸開始成為了國家工業(yè)發(fā)展水平的象征性之一?,F(xiàn)在的一塊單片機芯片已經(jīng)可以取締一臺計算機的作用。正是因為單片機具有不同的結(jié)構(gòu)形式,在一些應(yīng)用到的領(lǐng)域中,它完成的許多工作都是很多大中型的計算機以及通用微型計算機無法完

17、成的任務(wù)。這讓它具備了很多優(yōu)勢和特點,也正因為這樣才可以讓它能夠在不同領(lǐng)域中的應(yīng)用得到迅速的發(fā)展。它的優(yōu)點可以概括為以下幾點。1 單片機是能夠把將在應(yīng)用中所有需要的存儲器以及不同的I/O 端口都集成在一塊簡單的芯片中,因此它的性能是毋庸置疑的,擁有著非常高的性能而且它的價格相比較而言是非常低廉的,擁有著很高的性能價格比。2 單片機是“麻雀雖小,五臟俱全”,它十分適合應(yīng)用于很多領(lǐng)域中的控制用途。為了能夠到達(dá)工業(yè)領(lǐng)域?qū)刂频膰?yán)格要求,一般單片機指令系統(tǒng)都會有較多的轉(zhuǎn)移指令,I/O端口的邏輯操作指令以及位操作指令。相比較其他同檔次的微機,它的邏輯控制功能以及運行速度都會高出很多。3 單片機是一塊芯片

18、中包含了各種功能的部件,所以它的集成度相對來說較高,是由大規(guī)?;蛘叱笠?guī)模的集成電路組成。并且內(nèi)部是采用總線結(jié)構(gòu),這種結(jié)構(gòu)可以減少芯片之間繁瑣的連線,這樣可以提高單片機的可靠性以及抗干擾能力。同時,它的體積較小,在較強的磁環(huán)境中可以易于采取相應(yīng)的屏蔽措施,十分適合工作在惡劣環(huán)境下。4 現(xiàn)如今大量攜帶式的產(chǎn)品和家用消費類產(chǎn)品中都包含了單片機,這正是因為它的低電壓和低功耗。現(xiàn)在許多單片機能夠在2.2V的電壓下運行,有些已經(jīng)可以在1.2V或0.9V的電壓下工作,功耗也隨之降到了了A級,一粒鈕扣電池就能夠使用很長的一段時間。通過單片機和程序設(shè)計來產(chǎn)生的低頻信號,有著非常低的下限頻率。它的優(yōu)點是電路設(shè)計

19、簡單,電路結(jié)構(gòu)緊湊,價格便宜,頻率的穩(wěn)定度高,抗干擾能力強,應(yīng)用范圍廣泛,同時還能夠細(xì)微調(diào)整波形大小,改良波形效果,可以滿足系統(tǒng)的要求。并且只需要稍微修改,調(diào)整程序,就能夠完成相應(yīng)功能的升級。本文的設(shè)計思路是通過AT89S51單片機,DAC0832數(shù)模轉(zhuǎn)換電路以及LM324組成的低頻信號發(fā)生器,它的特點是價格便宜、性能較高,在低頻的范圍內(nèi)穩(wěn)定性較好、操作方便、體積小、耗電少。2系統(tǒng)總體設(shè)計低頻信號發(fā)生器采用單片機波形合成發(fā)生器產(chǎn)生高精度,低失真的正弦波電壓,可用于校驗頻率繼電器,同步繼電器等,也可作為低頻變頻電源使用。本設(shè)計是以單片機為核心的低頻函數(shù)信號發(fā)生器。信號發(fā)生器是通過數(shù)字波形合成的,

20、再由硬件電路和軟件程序相結(jié)合而產(chǎn)生,能夠自定義輸出正弦波、方波、三角波及鋸齒形等波形。在一定的范圍內(nèi),波形的頻率和幅度可以任意改變。本文描述了輸出波形的原理、硬件電路方案和軟件編寫的設(shè)計思路。本文詳細(xì)介紹了D/A轉(zhuǎn)換器是如何被單片機控制輸出上述信號的硬件電路和軟件編程、DAC0832 D/A轉(zhuǎn)換器的工作原理、AT89C52的功能以及與設(shè)計電路有關(guān)的各種芯片、還有關(guān)于如何也輸出不同頻率信號波形的設(shè)計方案。這種信號發(fā)生器的優(yōu)點是體積小、價格低、性能穩(wěn)定、功能齊全。2.1 硬件系統(tǒng)方案鍵盤電源LM324運算放大器輸出 AT89S51D/A轉(zhuǎn)換LCD 顯示圖2- 1 硬件系統(tǒng)框圖簡易低頻信號發(fā)生器主要

21、是由AT89S51單片機、D/A轉(zhuǎn)換電路,LM324運算放大電路,按鍵電路以及LCD顯示電路組成。低頻信號發(fā)生器開始工作時,供電電源為低頻信號發(fā)生器提供相應(yīng)工作電壓VCC,發(fā)光二極管發(fā)光顯示系統(tǒng)正在工作狀態(tài),通過按鍵控制來完成相應(yīng)的工作任務(wù),波形選擇按鍵控制輸出不同的信號波形(方波,鋸齒波,三角波,以及正弦波),而頻率選擇按鈕控制輸出信號的頻率值以完成信號控制。AT89S51單片機在接收到鍵盤控制信號后,根據(jù)軟件程序輸出數(shù)字波形信號,數(shù)字信號經(jīng)過D/A數(shù)模轉(zhuǎn)換模塊后,將數(shù)字信號轉(zhuǎn)換成模擬信號,只有模擬信號才能經(jīng)過運算放大器進(jìn)行放大處理,LM324將小信號放大后輸出。同時,LCD需顯示相應(yīng)的波形

22、信息(波形名稱以及頻率),按鍵控制改變后,輸出波形改變并且LCD對應(yīng)顯示輸出波形信息。2.1.1總體設(shè)計方案選擇方案一:AT89S51芯片中只有一路模擬輸出或幾路模擬信號非同步輸出,這種情況下對DAC0832 執(zhí)行一次寫操作,則把一個數(shù)據(jù)直接寫入寄存器,DAC0832的輸出模擬信號隨之對應(yīng)變化。輸出波形穩(wěn)定,精度高,濾波好,抗干擾效果好,連接簡單,性價比高。方案二:鎖相頻率合成。這是一種傳統(tǒng)的方法,它是由IC145152芯片和壓控振蕩器連接組成一個鎖相環(huán)電路,由此輸出正弦波,方波是通過過零比較器來輸出,三角波則是通過積分電路來轉(zhuǎn)換。所以這個方案比較復(fù)雜,受到干擾性大,結(jié)果不容易實現(xiàn)。方案三:通

23、過MAX038作為主控芯片形成電路再輸出波形。MAX038的精確度極高,能夠產(chǎn)生精密的高頻波形可以輸出精確的鋸齒波、三角波、方波和正弦波波形,但是MAX038的成本太高,程序較為復(fù)雜不適用于畢業(yè)設(shè)計。通過各方面利弊考慮,最中選擇了方案一作為本次畢業(yè)設(shè)計方案。2.1.2 芯片選擇方案一:采用AVR單片機。AVR單片機的硬件結(jié)構(gòu)是8位機和16位機的結(jié)合體,也就是說他包括了局部寄存器堆(32個寄存器文件)和單體高速輸入/輸出的方案(即輸入捕獲寄存器,輸出比較匹配寄存器及相應(yīng)控制邏輯)。這使得它提高了指令執(zhí)行速度以及增強了相應(yīng)的功能;與此同時對外設(shè)管理的開銷也減少了,相對來說簡化了它的硬件結(jié)構(gòu),降低了

24、它的成本。所以AVR單片機無論是在軟硬件的成本,速度和性能等多方面因素都進(jìn)一步得到了優(yōu)化。因此它是一款性價比很高的單片機。方案二:采用MSP430系列單片機。MSP 430單片機是16位的單片機,它是運用了精簡指令集(RISC)結(jié)構(gòu),大量不同的尋址方式(包含了4中目的操作數(shù)尋址和7種源操作數(shù)尋址)、多種模擬指令以及簡潔的27條內(nèi)核指令;片內(nèi)數(shù)據(jù)存儲器以及寄存器都能夠進(jìn)行多種運算;還可以進(jìn)行高效的查表處理指令等功能。這些特點都確保了它的源程序可以高效率的編制。方案三:采用51單片機作為主控芯片。51單片機對于初學(xué)者來說較容易掌控。AT89S51單片機是高性能的8位單片微型計算機。它的集成電路芯片

25、包含了計算機的中央處理器CPU、存儲器、寄存器、I/O接口,從而形成比較完整的計算機。原本我方案中的計劃是選擇89C51來當(dāng)我的核心芯片。在制作PCB板前,我又查閱了一些資料以及對店家的詢問了解到了89S51。89S51相對于89C51來說功能更加強大,比如:ISP的在線編程功能得到了增強,改寫單片機存儲器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離是這個功能的特點。這是一個十分強大而且容易使用的功能。89S51的最高工作頻率是33MHz,而89C51的工作極限頻率是24MHz,也就是說89S51比89C51有了更高的工作頻率,從而有了更快的運算速度。此外,它的成本相對于89C51來說更加的低廉。所以

26、不管是從功能還是價格來說89S51相對于89C51來說更加的適合我的課題設(shè)計。方案選擇:這是一個畢業(yè)設(shè)計,我只需要完成簡易低頻信號源的設(shè)計,因此51單片機足以滿足我的所有需求,并且51單片機的價格對于我們來說比較容易接受,性價比是最高的并且編程相對于來說比較容易,所以最終我選擇了89S51作為我的核心芯片。2.1.3 按鍵選擇方案一:矩陣式按鍵。矩陣式按鍵的按鍵點是在行、列母線構(gòu)成的矩陣電路交叉處。當(dāng)鍵盤上沒有按鍵閉合是,所有的行列線都會斷開,行線是高電平。當(dāng)某一個按鍵閉合會死,該按鍵所對應(yīng)的行列線會被短路。方案二:獨立式按鍵。獨立式按鍵的軟硬件都相對簡單一些只是會占用一些I/O端口。方案選擇

27、:我選擇獨立式按鍵,因為我們的主旨是要制作簡易的低頻信號源而我不需要那么多的按鍵所以矩陣式的按鍵數(shù)量太多完全沒有必要,編程也較為簡單,所以我采用了獨立式的按鍵。2.1.4 設(shè)計要求(1)能夠顯示正弦波,三角波,方波以及鋸齒波(2)能夠通過按鍵來選擇波形(3)能夠通過按鍵來控制頻率(4)LCD顯示波形名稱2.1.5 系統(tǒng)模塊按照畢設(shè)的設(shè)計要求,我把系統(tǒng)模塊分為以下部分:主控模塊,LCD顯示模塊,按鍵處理模塊,波形產(chǎn)生模塊以及波形顯示模塊。主控模塊:以AT89S51單片機作為主控制器LCD顯示模塊:通過數(shù)碼管顯示波形名稱和相應(yīng)頻率按鍵模塊:通過按鍵選擇波形以及頻率的大小波形產(chǎn)生模塊:通過D/A轉(zhuǎn)換

28、以及運算放大電路輸出波形2.2軟件系統(tǒng)方案軟件系統(tǒng)根據(jù)不同的功能分為不同的程序模塊:主程序模塊,、方波模塊、三角波模塊、鋸齒波模塊、正弦波模塊、按鍵控制模塊等。首先各模塊初始化,保證程序運行不會出錯,然后按鍵選擇,處理程序,通過不同的按鍵來選擇波形和頻率大小,同時液晶屏顯示波形名稱和頻率大小,最后由示波器來顯示波形大小。主程序初始化程序按鍵控制程序波形數(shù)據(jù)產(chǎn)生程序LCD顯示程序正弦波三角波鋸齒波方波圖2- 2 軟件系統(tǒng)框圖3硬件電路設(shè)計3.1 單片機最小系統(tǒng)AT89S51是一種低功耗,高性能CMOS 8位單片機,單片機里有4k Bytes ISP(In-system programmable)

29、的可反復(fù)擦寫1000次的Flash只讀程序存儲器,它是ATMEL公司運用高密度、非易失性存儲技術(shù)而制造的,同時兼容了標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),通用8位中央處理器和ISP Flash存儲單元也被集成在芯片中, AT89S51強大的功能可以提供高性價比的解決方案給嵌入式控制應(yīng)用系統(tǒng)。AT89S51有以下幾種特點:芯片包含了40個引腳, Flash片內(nèi)程序存儲器是4k 比特,隨機存取數(shù)據(jù)存儲器是128 比特,32個外部雙向輸入/輸出端口,5個中斷優(yōu)先級2層中斷嵌套中斷,16位可編程定時計數(shù)器有2個,全雙工的串行通信端口有2個,看門狗電路,片內(nèi)時鐘振蕩器。另外,AT89S51可以通

30、過軟件設(shè)置為省電模式以此減少耗電量同時設(shè)計和配置了振蕩頻率可為0Hz并。在程序的空閑模式下,CPU會暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)仍然可以繼續(xù)工作,在掉電模式下凍結(jié)振蕩器從而保存RAM中的數(shù)據(jù),同時停止芯片其它功能運行直到外部中斷被激活或者硬件復(fù)位。此外該芯片還有三種不同規(guī)格的封裝規(guī)格:PDIP、TQFP和PLCC,用來達(dá)到不同產(chǎn)品對芯片規(guī)格的需求圖3- 1 AT89S51實物引腳圖3.1.1 芯片特性:(1)可編程FLASH存儲器是4K字節(jié)(2)全靜態(tài)工作范圍:0Hz-24KHz(3)三級程序存儲器保密鎖定(4)內(nèi)部RAM是128*8位(5)三十二條可編程的I/O接線(6)

31、16位定時器/計數(shù)器有兩個(7)中斷源六個(8)可編程串行通道(9)低功耗的閑置和掉電模式(10)片內(nèi)振蕩器(11)時鐘電路3.1.2 管腳說明:VCC:提供電路電壓。GND:接地。P0口:P0口是8位的漏級開路雙向I/O端口,每個引腳可以吸收八個TTL門的電流。當(dāng)P0口的管腳第一次寫入1時,此時定義為高阻輸入。外部程序數(shù)據(jù)存儲器可以運用P0端口,數(shù)據(jù)/地址的第八位可以定義為P0端口。P0 端口在FIASH編程中用于原碼的輸入端口,P0端口會輸出原碼在FIASH校驗的時候,同時P0的外部必須被拉高。P1口:P1端口的8位雙向I/O口可以內(nèi)部提供上拉電阻,P1端口可以接收輸出4TTL門電流通過緩

32、沖器。P1端口可以當(dāng)作輸入在管腳寫入1后同時被內(nèi)部上拉為高電平,因為內(nèi)部上拉的原因,P1端口輸出電流時,外部被下拉為低電平。P1端口用來作為第八位地址來接收數(shù)據(jù),在FLASH編程和校驗的時候。P2口:P2端口的8位雙向I/O口是內(nèi)部上拉電阻,P2口可以接收數(shù)據(jù)通過緩沖器,同時4個TTL門電流輸出,當(dāng)P2端口輸入1時,它的管腳被用于輸入而且內(nèi)部上拉電阻拉高。P2端口的管腳被外部拉低作為輸入,因為內(nèi)部上拉的原因輸出電流。P2端口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。當(dāng)?shù)刂窞椤?”時,P2口輸出特殊功能寄存器的內(nèi)容是通過內(nèi)部上拉優(yōu)勢同時對外部八位地址數(shù)據(jù)對

33、存儲器進(jìn)行讀寫。P2端口接收高八位地址信號和控制信號是在FLASH編程和校驗的時候。P3口:P3端口的雙向I/O口是8個帶內(nèi)部上拉電阻,輸出4個TTL門電流可被接收。當(dāng)P3端口寫入1后,它們的內(nèi)部被上拉為高電平,并當(dāng)作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。表3- 1 AT89S51端口引腳功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2(外中斷0)P3.3(外中斷1)P3.4T0(定時/計數(shù)器0)P3.5T1(定時/計數(shù)器1)P3.6(外部數(shù)據(jù)存儲器寫選通)P3.7(外部數(shù)據(jù)存儲器讀選通)讀端口和讀引腳讀端口在I

34、/O口的兩種工作方式中都被用作輸入口。實際情形中,數(shù)據(jù)并不從外部被導(dǎo)入,讀入到內(nèi)部總線的而是在端口鎖存器中的內(nèi)容,再寫回到端口鎖存器時,經(jīng)過某種運算或變換后真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線上面也只有在讀端口的時候。輸入緩沖器其實就是兩個在圖中表示的三角形。根據(jù)不同的指令,完成不同的操作可以根據(jù)CPU能夠分別發(fā)出的讀端口或讀引腳信號。這并不怎么需要我們?nèi)ゲ傩模驗楫吘惯@是由硬件自動完成的,之后就是操作對讀引腳的實行,不這樣的話,讀入的就可能有錯。對于上面的圖,一旦不對端口置1,為什么一開始在端口鎖存器的狀態(tài)有為0的可能,而場效應(yīng)管柵極的信號在加到Q端為0Q為1時為1,導(dǎo)通了場效應(yīng)管。對地的低阻抗

35、出現(xiàn),此時即使1為引腳上輸入的信號,外加的1信號讀入后也不一定是1其原因是由于端口的低阻抗使得信號變低。置1操作若先被執(zhí)行,場效應(yīng)管截止引腳信號則會被直接加到三態(tài)緩沖器中,讀入顯示正確。在進(jìn)行輸入操作時,因為還有一個準(zhǔn)備動作必須被附加,因而,準(zhǔn)雙向口89C51的P0/P1/P2/P3口同是這類I/O口,在輸入的時候,全部作為準(zhǔn)雙向口,接下來的另一個問題,從圖中可以看出,除了P1口外,其實還有一個不同,P0P2P3口都還有另外的功能。RST為復(fù)位輸入。RST腳兩個機器周期的高電平時間在振蕩器復(fù)位器件時要保持。ALE/PROG:地址鎖存允許的輸出電平在訪問外部存儲器時的作用就是對地址的地位字節(jié)的鎖

36、存。此引腳在FLASH編程期間主要用就是對編程脈沖的輸入。通常,不變的頻率在ALE端,周期性的輸出正脈沖信號,振蕩器頻率的1/6為此頻率。因此對外部輸出的脈沖或用于定時便是它可用作的目的。值得注意,一個ALE脈沖再在被用作外部數(shù)據(jù)存儲器時將跳過。可在SFR8EH地址上置0實現(xiàn)實現(xiàn)對ALE的輸出的禁止。每當(dāng)這時,ALE起作用是在ALE執(zhí)行MOVX,MOVC指令的情形下,此時,還略微拉高該引腳。置位一旦是微處理器在外部執(zhí)行狀態(tài)ALE禁止時無效。/PSEN是外部程序存儲器的選通信號。在由外部程序存儲器取址期間,/PSEN兩次有效在每個機器周期內(nèi)。但這兩次有效的/PSEN信號在訪問外部數(shù)據(jù)存儲器時將不

37、再出現(xiàn)。/EA/VPP:在當(dāng)/EA保持低電平時的期間內(nèi),外部程序存儲器(0000H-FFFFH)就不管是否有內(nèi)部程序存儲器。/EA加密方式1時將在內(nèi)部鎖定為復(fù)位;內(nèi)部程序存儲器則是在/EA端持續(xù)高電平時。此引腳在FLASH編程期間內(nèi)也可用作12V的編程電源(VPP)。XTAL1:反向振蕩放大器的輸入和內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.1.3 AT89S51的晶振以及連接方法:CPU在工作中一個時鐘脈沖一定要有。在外部時鐘方式下,即通過外部電路來向89S51提供始終脈沖,見圖3-2(a)和在內(nèi)部時鐘方式下,即通過晶振來讓89S51內(nèi)部電路產(chǎn)生時鐘脈沖是89S51提供了

38、兩種時鐘脈沖的方法。通常情形下,第二種方法比較常用,圖3-(b)為其電路。圖3-2 89S51的時鐘脈沖圖3-2中:J通常都是石英晶體,它的頻率的大小通過系統(tǒng)的需要和器件決定,可以使用陶瓷濾波器如果頻率穩(wěn)定度要求不高。C1、C2:使用石英晶體時,C1=C2=30(±10)pF使用陶瓷濾波器時,C1=C2=40(±10)pF3.1.4 AT89S51的復(fù)位:給CPU一個復(fù)位信號就是使CPU開始工作的一種方法,收到復(fù)位信號后,規(guī)定值通過CPU將內(nèi)部特殊功能寄存器被設(shè)置,“0000H”為此時程序計數(shù)器設(shè)置的值。結(jié)束復(fù)位信號后,從程序存儲器的“0000H”處開始,CPU執(zhí)行程序。8

39、9S51為高電平復(fù)位,一般有3種復(fù)位方法。第一,上電復(fù)位。其次就是手動復(fù)位,即對一個復(fù)位按鈕進(jìn)行設(shè)置,一個復(fù)位信號在操作者按下按鈕時產(chǎn)生。最后就是自動復(fù)位,即設(shè)計一個復(fù)位電路,一個復(fù)位信號在系統(tǒng)滿足某一條件時自動產(chǎn)生。圖3-3為最簡單的上電復(fù)位和手動復(fù)位方法。89S51圖3-3 89S51的復(fù)位電路3.2 D/A轉(zhuǎn)換電路DAC0832是一個8分辨率的D/A轉(zhuǎn)換集成芯片??梢酝耆嫒菸⑻幚砥?。這個DA芯片的優(yōu)勢在于它價格低廉、接口簡單、易于轉(zhuǎn)換控制,被廣泛運用于單片機應(yīng)用系統(tǒng)中。D/A轉(zhuǎn)換器是由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。圖3-4 DAC0832引腳圖

40、(1) D7D0:數(shù)據(jù)輸入端是8位,最高位是D7。(2)IOUT1:模擬電流輸出端1。(3) IOUT2:模擬電流輸出端2,輸出電流最大時,DAC寄存器中的數(shù)據(jù)全為1,輸出電流為0時,DAC寄存器中數(shù)據(jù)全為0。 IOUT2與IOUT1的和為一個常數(shù),即IOUT1IOUT2常數(shù)。(4) Rfe:反饋電阻引出端,因為DAC0832內(nèi)部已經(jīng)有反饋電阻,所以 Rfe端可以直接接到外部運算放大器的輸出端,這樣相當(dāng)于將一個反饋電阻接在運算放大器的輸出端和輸入端之間。(5) Vref:參考電壓輸入端,正電壓和負(fù)電壓都可以接在這個端口, 0至255的數(shù)字量轉(zhuǎn)化出來的模擬量電壓值的幅度都是由它決定,VREF電壓

41、范圍為(+10-10)V。VREF端與D/A內(nèi)部T形電阻網(wǎng)絡(luò)相連。(6) Vcc:芯片電源電壓,電壓范圍為+5 15V。(7) GND(3腳):模擬信號電路接地端。(8) GND(10腳):數(shù)字信號電路接地端。 8位DAC寄存器端是高電平“1”時,WR2和XFER同時有效。DAC寄存器的輸入端D也就是輸入寄存器Q端影響輸出端Q的電平變化;反之,當(dāng)端為低電平“0”時,第二級8位DAC寄存器將鎖存第一級8位輸入寄存器Q端的狀態(tài),用來進(jìn)行D/A轉(zhuǎn)換通過第三級8位DAC轉(zhuǎn)換器。一般情況下可以通過直接接地來簡化接口電路,直接導(dǎo)通第二級8位DAC寄存器的輸入端和輸出端,可選通、可鎖存的單緩沖輸入方式只有第

42、一級8位輸入寄存器才能設(shè)置。雙緩沖輸入方式可在特殊情況下采用,也就是把兩個寄存器都改變受控方式。主要有三種不同的設(shè)計方案可以制作低頻信號發(fā)生器分別是單緩沖方式,雙緩沖方式和直通方式。單緩沖方式適用于1路模擬信號的輸出或者多路模擬信號且不是同步輸出的電路,并且電路線路的連接相對來說較少。而雙緩沖方式則是適用于同時輸出多路模擬信號的電路,一片DAC0832芯片對應(yīng)一路模擬量輸出,這樣可以組成多個DAC0832同步輸出電路,簡單化程序,但是電路線路連接比較復(fù)雜。根據(jù)上述分析,我的課題最終選擇使用單緩沖方式,這樣方便,程序也簡單,容易操作。DAC0832主要有四部分,分別是8位輸入寄存器、8位DAC寄

43、存器、8位D/A轉(zhuǎn)換器以及輸入控制電路。主機的數(shù)字量是存放在8 位輸入寄存器,使輸入數(shù)字量能夠得到緩沖和鎖存,并加以控制;待轉(zhuǎn)換的數(shù)字量存放在8位DAC寄存器,并加以控制;通過8位D/A轉(zhuǎn)換器輸出與數(shù)字量成正比的模擬電流;2個寄存器的選通或鎖存狀態(tài)都是由與門、非與門組成的輸入控制電路來控制。DAC0832與反相比例放大器相連,實現(xiàn)電流到電壓的轉(zhuǎn)換,因此輸出模擬信號的極性與參考電壓的極性相反,數(shù)字量與模擬量的轉(zhuǎn)換關(guān)系為Vout1=-Vref×(數(shù)字碼/256)若D/A轉(zhuǎn)換器輸出為雙極性,如圖3-5所示。圖3-5 D/A轉(zhuǎn)換器雙極性輸出電路圖3-5中,運算放大器A1的單向輸出電壓通過運算

44、放大器A2轉(zhuǎn)換成雙向輸出電壓。DAC0832的作用是將數(shù)字信號轉(zhuǎn)換成模擬信號,是本設(shè)計電路中的主要芯片。3.3按鍵和液晶顯示LCD1602顯示器具有字母、數(shù)字符號、中文字型及圖形顯示及繪圖與文字畫面混合顯示功能。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。內(nèi)置字符發(fā)生存儲器(CGROM),可大量節(jié)省單片機設(shè)計的ROM空間以顯示更多的字符,使得軟件編程比較簡單。圖3-6 LCD1602實物圖工作原理:LCD1602 有11 個控制指令。其中,DDRAM :

45、顯示數(shù)據(jù)RAM,用來寄存待顯示的字符代碼;CGROM :字符發(fā)生存儲器;CGRAM :用戶自定義的字符圖形RAM。1602 液晶的控制管腳都接到了單片機管腳上,在功能設(shè)置指令中可以將液晶設(shè)為8 位數(shù)據(jù)接口和4 位數(shù)據(jù)接口,下圖采用的是8位的數(shù)據(jù)接口,當(dāng)然也可以當(dāng)四位數(shù)據(jù)接口來用。液晶電源正端接5V,負(fù)端接地,背光正端接5V,負(fù)端接地。此外,液晶的偏壓管腳(VO)接到一個電位器的中間抽頭,電位器的兩端分別接5V 和地,這樣就可通過調(diào)節(jié)電位器來實現(xiàn)對1602 液晶對比度的調(diào)節(jié)。經(jīng)實驗測試,筆者手里的1602 液晶的偏壓管腳的電壓調(diào)節(jié)到0.30.4V 時對比度效果最好,也可以將該管腳通過一個1k 的

46、電阻下拉到地。圖3-7 LCD1602引腳圖利用單片機空閑時,調(diào)用鍵盤掃描子程序,反復(fù)掃描鍵盤來響應(yīng)鍵盤的輸入請求。通過KEY1來選擇波形,KEY2來選擇頻率大小。圖3-8 按鍵原理圖3.4放大電路LM324是四運放集成電路,它的外包封裝是14腳雙列直插塑料。它的內(nèi)部構(gòu)架是由四組形式完全相同的運算放大器組成,四組運放放大器電路之間是相互獨立的,但是電源是相同的。圖3-9 LM324原理圖特定的符號可以用來表示每一組運算放大器,每一個運算放大器都有5個引腳, “+”、“-”表示了運算放大器的兩個信號輸入端,“V+”、“V-”表示正、負(fù)電源端, “Vo” 是輸出端。在兩個信號輸入端中, Vi-(-

47、)是反相輸入端,表示運放輸出端Vo的信號與該輸入端的相位相反;Vi+(+)是同相輸入端,表示運放輸出端Vo的信號與該輸入端的相位相同。LM324的引腳排列見圖3-10圖3-10 LM324引腳圖因為LM324芯片的優(yōu)點是電源電壓的取值范圍大,靜態(tài)功率消耗小,可以通過單電源來使用,價格便宜等,所以在各種電路中都被廣泛的應(yīng)用。下面介紹其應(yīng)用實例。反相交流放大器:電路見附圖。晶體管的交流放大可以被這種放大器代替,也可以被用于擴(kuò)音機前置放大等。電路無需調(diào)試。放大器是用單電源來進(jìn)行供電,其中R1、R2組成1/2V+偏置,C1為消振電容。圖3-11 LM324內(nèi)部電路圖外接電阻Ri、Rf來決定放大器電壓放

48、大倍數(shù)Av:Av=-Rf/Ri。輸出信號與輸入信號相位相反用負(fù)號來表示。按圖中所給數(shù)值,Av=-10。此電路輸入電阻為Ri。Ri與信號源內(nèi)阻在一般情況下相等,Rf則根據(jù)要求的放大倍數(shù)來選定。Co和Ci都是耦合電容。同相交流放大器:見附圖,同相交流放大器的特點是輸入阻抗高其中的R1R2組成1/2V+分壓電路通過R3對運放進(jìn)行偏置。外接電阻決定電路的電壓放大倍數(shù)Av:Av=1+Rf/R4,電路輸入電阻為R3。R4的阻值范圍為幾千歐姆到幾十千歐姆。圖3-11 同相交流放大器交流信號三分配放大器:此電路可將輸入交流信號分成三路輸出,三路信號可分別用作指示、控制、分析等用途。而對信號源的影響極小。因運放

49、Ai輸入電阻高,運放A1-A4均把輸出端直接接到負(fù)輸入端,信號輸入至正輸入端,相當(dāng)于同相放大狀態(tài)時Rf=0的情況,故各放大器電壓放大倍數(shù)均為1,與分立元件組成的射極跟隨器作用相同。圖3-12交流信號三分配放大器R1、R2組成1/2V+偏置,靜態(tài)時A1輸出端電壓為1/2V+,故運放A2-A4輸出端亦為1/2V+,通過輸入輸出電容的隔直作用,取出交流信號。有源帶通濾波器:帶通濾波器被使用于許多音響裝置的頻譜分析器,用來選出各個不同頻段的信號,信號幅度的大小是利用發(fā)光二極管點亮的顯示多少來指示。這種有源帶通濾波器的中心頻率,在中心頻率fo處的電壓增益Ao=B3/2B1,品質(zhì)因數(shù),3dB帶寬B=1/(

50、*R3*C)也可根據(jù)設(shè)計確定的Q、fo、Ao值,去求出帶通濾波器的各元件參數(shù)值。R1=Q/(2foAoC),R2=Q/(2Q2-Ao)*2foC),R3=2Q/(2foC)。上式中,當(dāng)fo=1KHz時,C取0.01Uf。此電路亦可用于一般的選頻放大。圖3-13有源帶通濾波器此電路亦也可以用單電源,只需將運放正輸入端偏置在1/2V+并將電阻R2下端接到運放正入端既可。比較器:當(dāng)運放的反饋電阻被去掉時,或者說反饋電阻趨于無窮大時(即開環(huán)狀態(tài)),理論上認(rèn)為放的開環(huán)放大倍數(shù)也為無窮大(實際上是很大,如LM324運放開環(huán)放大倍數(shù)為100dB,既10倍)。這時運放就會形成一個電壓比較器,它的輸出如果不是高

51、電平(V+),就是低電平(V-或接地)。當(dāng)正輸入端電壓高于負(fù)輸入端電壓時,運放就會輸出低電平。圖3-14 比較器原理圖附圖中使用兩個運放組成一個電壓上下限比較器,電阻R1、R1組成分壓電路,為運放A1設(shè)定比較電平U1;電阻R2、R2組成分壓電路,為運放A2設(shè)定比較電平U2。輸入電壓U1同時加到A1的正輸入端和A2的負(fù)輸入端之間,當(dāng)Ui >U1時,運放A1輸出高電平;當(dāng)Ui <U2時,運放A2輸出高電平。運放A1、A2只要有一個輸出高電平,晶體管BG1就會導(dǎo)通,發(fā)光二極管LED就會點亮。若選擇U1>U2,則當(dāng)輸入電壓Ui越出U2,U1區(qū)間范圍時,LED點亮,

52、這便是一個電壓雙限指示器。若選擇U2 > U1,則當(dāng)輸入電壓在U2,U1區(qū)間范圍時,LED點亮,這是一個“窗口”電壓指示器。此電路與各類傳感器配合使用,稍加變通,便可用于各種物理量的雙限檢測、短路、斷路報警等。單穩(wěn)態(tài)觸發(fā)器:見附圖。一些自動控制系統(tǒng)都會運用這種觸發(fā)器。分壓電路由電阻R1、R2組成,偏置電壓U1由運放A1負(fù)輸入端提供,作為比較電壓基準(zhǔn)。靜態(tài)時,電容C1充電完畢,運放A1正輸入端電壓U2等于電源電壓V+,故A1輸出高電平。當(dāng)輸入電壓Ui變?yōu)榈碗娖綍r,二極管D1導(dǎo)通,電容C1通過D1迅速放電,使U2突然降至地電平,此時因為U1>U2,故運放A1輸出低電

53、平。當(dāng)輸入電壓變高時,二極管D1截止,電源電壓R3給電容C1充電,當(dāng)C1上充電電壓大于U1時,既U2>U1,A1輸出又變?yōu)楦唠娖?,從而結(jié)束了一次單穩(wěn)觸發(fā)。顯然,提高U1或增大R2、C1的數(shù)值,都會使單穩(wěn)延時時間增長,反之則縮短。圖3-15單穩(wěn)態(tài)觸發(fā)器如果將二極管D1去掉,則此電路具有加電延時功能。剛加電時,U1>U2,運放A1輸出低電平,隨著電容C1不斷充電,U2不斷升高,當(dāng)U2>U1時,A1輸出才變?yōu)楦唠娖健? 軟件設(shè)計4.1 主程序液晶顯示波形名稱和頻率大小數(shù)據(jù)轉(zhuǎn)換成液晶字符掃描按鍵定時器初始化液晶初始化延時開始圖4-1 主流程圖本次軟件設(shè)計的功能就是通過按鍵來控制單片機

54、等芯片來輸出不同波形。程序開始時,延時然后液晶盒定時器相繼初始化,然后掃描按鍵,通過掃描按鍵來產(chǎn)生數(shù)據(jù),數(shù)據(jù)轉(zhuǎn)換成液晶字符,同時液晶顯示波形名稱和頻率大小,在中斷函數(shù)中完成波形的產(chǎn)生。4.2方波程序開始P0=0延時P0=255延時圖4-2 方波流程圖方波產(chǎn)生首先將DAC0832口地址至為4000H,當(dāng)P0中的內(nèi)容為0時,輸出對應(yīng)模擬量,然后延時,當(dāng)P0中的內(nèi)容為255時,同樣輸出對應(yīng)模擬量,再延時,從而得到方波。4.3三角波程序三角波產(chǎn)生首先將DAC0832口地址至為4000H,通過P0中數(shù)值的加4遞升,當(dāng)P0中的內(nèi)容大于等于252時,改為減4遞減,從而循環(huán)產(chǎn)生三角波。開始P0=0P0+4如果

55、P0>=252P0-4如果P0=0NYNY圖4-3 三角波程序流程圖4.4鋸齒波程序如果P0>254開始P0=0P0+2P0=0延時NY圖4-4 鋸齒波程序流程圖鋸齒波產(chǎn)生首先將DAC0832口地址至為4000H,通過P0中數(shù)值的加一遞升,當(dāng)P0中的內(nèi)容大于254時,P0值變?yōu)?,延時一段時間,如此產(chǎn)生鋸齒波。4.5正弦波程序N大于等于128開始P0=數(shù)據(jù)表第N個數(shù)據(jù)N=0 N+延時NY圖4-5 正弦波程序流程圖正弦波的產(chǎn)生是讀取正弦波的數(shù)據(jù)表。通過查表法來讀取數(shù)據(jù)。4.6 按鍵處理程序圖4-6 按鍵處理程序流程圖首先經(jīng)過去抖動處理,KEY1是控制選擇波形,KEY2是控制頻率大小。

56、5 調(diào)試結(jié)果與分析5.1 調(diào)試環(huán)境:PC機,keil , Protues調(diào)試說明:通過程序編譯輸出正弦波,三角波,矩形波和鋸齒波,通過獨立按鍵來選擇波形和改變頻率大小。Keil C51軟件中包含了大量的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具以及Windows界面系統(tǒng)。還有就是只需看一下編譯后生成的匯編代碼,就可以體會Keil相對于其他軟件的優(yōu)勢。下面我將簡單介紹Keil C51開發(fā)系統(tǒng)中部分功能及其使用。1 C51工具包的整體結(jié)構(gòu):C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE)中分別有uVision與Ishell,編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程都可以在IDE中完成。IDE本身或其它編輯器編輯C或匯編源文件都可以被

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論