版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、摘 要信號發(fā)生器是一種常用的信號源,如今廣泛地應(yīng)用于電子電路、自動控制系統(tǒng)和教學(xué)實驗等領(lǐng)域。在科學(xué)研究、工程教育及生產(chǎn)實踐中,如工業(yè)過程控制、教學(xué)實驗、機械振動試驗、動態(tài)分析、材料試驗、生物醫(yī)學(xué)等領(lǐng)域,常常需要用到低頻信號發(fā)生器。而在我們?nèi)粘I诨钪校约耙恍┛茖W(xué)研究中,鋸齒波、正弦波、三角波和方波波信號是常用的基本測試信號。本設(shè)計以STC89C52單片機為數(shù)據(jù)處理和控制核心,在單片機的輸出端口接DAC0832進行D/A轉(zhuǎn)換,再通過運算放大器LM324進行波形調(diào)整,最后輸出波形接在示波器上顯示??僧a(chǎn)生方波、三角波、正弦波、鋸齒波四種低頻波形,其中,波形的頻率和幅度由程序控制,波形的選擇以及波形
2、頻率和幅度的調(diào)整,可通過擴展在單片機外圍的按鍵來控制。本設(shè)計具有線路簡單、波形調(diào)整方便、結(jié)構(gòu)緊湊、價格低廉、性能優(yōu)越等優(yōu)點。關(guān)鍵詞:數(shù)據(jù)處理;數(shù)模轉(zhuǎn)換;信號發(fā)生器;波形調(diào)整AbstractNowadays, as a kind of common signal source, the signal-generater has been broadly applied at the electronics electric circuit, auto control system and teaching experiment etc. Scientific research, engineer
3、ing, education and production practice, such as industrial process control, teaching experiment, mechanical vibration test, dynamic analysis, material testing, biomedical and other fields, often need to use low frequency signal generator. In our daily life in living, and some scientific research, sa
4、wtooth and sine wave, triangle wave,square wave signal is commonly used in the basic test signals.this design uses STC89C52 as the core of data processing and control, the output port of MCU connect DAC0832 to carry on D/A transformation, then, adjusting the waveform through the operational amplifie
5、r, finally, the output waveform will be displayed in oscilloscope. It can create four low frequency waveforms, such as square wave, triangle wave, sine wave and sawtooth wave. The frequency and amplitude waveforms are controlled by software, and we can change them through the keyboard that connected
6、 with the MCU. All in all, this system has advantage of simple and compact structure, convenient adjustment of wave, low cost and superior performance, etc.Key words :data processing; D/A transformation; signal-generator; wave adjustmentIV目 錄1 緒論11.1 課題背景11.2 研究目的和意義11.3 發(fā)展歷史與現(xiàn)狀22 硬件電路設(shè)計32.1 設(shè)計思路32.
7、2 控制模塊42.3 DA轉(zhuǎn)換模塊52.5 MCU復(fù)位電路72.6 晶振電路72.7 I/V轉(zhuǎn)換電路83 軟件程序設(shè)計103.1 軟件設(shè)計思路103.2 方波程序123.3 鋸齒波程序133.4 正弦波程序143.5 三角波程序164 軟件仿真184.1 軟件仿真184.2 仿真結(jié)果194. 3仿真遇到的問題215 硬件安裝與調(diào)試225.1 硬件測試定義和目的225.2 焊接225.3 硬件電路調(diào)試235.4 調(diào)試中出現(xiàn)的問題及解決方法256 總結(jié)27參考文獻28致 謝29附錄30附錄1:原理圖30附錄2:源程序32附錄3:元器件清單411 緒論1.1 課題背景隨著電子測量及其他領(lǐng)域?qū)Ω黝愋盘?/p>
8、發(fā)生器的廣泛需求及電子技術(shù)的迅速發(fā)展,促使信號發(fā)生器種類增多,性能提高。尤其隨著70年代微處理器的出現(xiàn),更促使信號發(fā)生器向著自動化、智能化方向發(fā)展?,F(xiàn)在,許多信號發(fā)生器帶有微處理器,因而具備了自校、自檢、自動故障診斷和自動波形形成和修正等功能,可以和控制計算機及其他測量儀器一起方便的構(gòu)成自動測試系統(tǒng)。當前信號發(fā)生器總的趨勢是向著寬頻率覆蓋、低功耗、高頻率精度、多功能、自動化和智能化方向發(fā)展。在科學(xué)研究、工程教育及生產(chǎn)實踐中,如工業(yè)過程控制、教學(xué)實驗、機械振動試驗、動態(tài)分析、材料試驗、生物醫(yī)學(xué)等領(lǐng)域,常常需要用到低頻信號發(fā)生器。而在我們?nèi)粘I钪校约耙恍┛茖W(xué)研究中,鋸齒波和正弦波、矩形波信號是
9、常用的基本測試信號。譬如在示波器、電視機等儀器中,為了使電子按照一定規(guī)律運動,以利用熒光屏顯示圖像,常用到鋸齒波產(chǎn)生器作為時基電路。信號發(fā)生器作為一種通用的電子儀器,在生產(chǎn)、科研、測控、通訊等領(lǐng)域都得到了廣泛的應(yīng)用。 但市面上能看到的儀器在頻率精度、帶寬、波形種類及程控方面都已不能滿足許多方面實際應(yīng)用的需求。加之各類功能的半導(dǎo)體集成芯片的快速生產(chǎn),都使我們研制一種低功耗、寬頻帶、能產(chǎn)生多種波形并具有程控等功能的低頻信號發(fā)生器成為可能。1.2 研究目的和意義便攜式和智能化越來越成為儀器的基本要求,對傳統(tǒng)儀器的數(shù)字化,智能化,集成化也就顯得尤為重要。平時常用信號源產(chǎn)生正弦波,方波,三角波等常見波形
10、作為待測系統(tǒng)的輸入,測試系統(tǒng)的性能。在某些場合,我們需要特殊波形對系統(tǒng)進行測試,這是傳統(tǒng)的模擬信號發(fā)生器和數(shù)字信號發(fā)生器很難勝任的。利用單片機的強大功能,設(shè)計合適的人機交互界面,使用戶能夠通過手動的設(shè)定,設(shè)置所需波形。本設(shè)計課題研究和制作的低頻信號發(fā)生系統(tǒng),其工作流程:波形的設(shè)定,單片機控制和數(shù)據(jù)輸出(鍵盤控制),D/A轉(zhuǎn)換,信號轉(zhuǎn)換與放大,示波器波形顯示。具有電路實現(xiàn)簡單,成本低,波形易調(diào)整等優(yōu)點。1.3 發(fā)展歷史與現(xiàn)狀在 70 年代前,信號發(fā)生器主要有兩類:正弦波發(fā)生器和脈沖波發(fā)生器,而函數(shù)發(fā)生器介于兩類之間,能夠提供正弦波、余弦波、方波、三角波等幾種常用標準波形,產(chǎn)生其它波形時,需要采用
11、較復(fù)雜的電路和機電結(jié)合的方法。這個時期的波形發(fā)生器多采用模擬電子技術(shù),而且模擬器件構(gòu)成的電路存在著尺寸大、價格貴、功耗大等缺點,并且要產(chǎn)生較為復(fù)雜的信號波形,則電路結(jié)構(gòu)非常復(fù)雜。同時,主要表現(xiàn)為兩個突出問題:一是通過電位器的調(diào)節(jié)來實現(xiàn)輸出頻率的調(diào)節(jié),因此很難將頻率調(diào)到某一固定值;二是脈沖的占空比不可調(diào)節(jié)。在 70 年代后,微處理器的出現(xiàn),可以利用處理器、A/D/和 D/A,硬件和軟件使波形發(fā)生器的功能擴大,產(chǎn)生更加復(fù)雜的波形。這時期的波形發(fā)生器多以軟件為主,實質(zhì)是采用微處理器對DAC的程序控制,就可以得到各種簡單的波形。2 硬件電路設(shè)計2.1 設(shè)計思路控制模塊顯示模塊D/A轉(zhuǎn)換模塊信號發(fā)生器的
12、基本構(gòu)成有如下幾個部分:控制模塊、D/A轉(zhuǎn)換模塊、按鍵模塊、指示模塊等部分,各部分之間的關(guān)系可用如下所示的設(shè)計框圖2-1表示。按鍵模塊momo 波形指示模塊 圖2-2流程圖本設(shè)計的低頻函數(shù)信號發(fā)生器由MCU、D/A轉(zhuǎn)換電路、電壓轉(zhuǎn)換放大電路和電源等電路組成,工作原理為當程序載入MCU后,上電直接輸出方波,通過按下波形選擇按鍵分別出現(xiàn)三角波、正弦波、鋸齒波,再按下后又回到方波,如此循環(huán),其它按鍵可調(diào)波形的幅度和頻率,原理框圖如圖2-1所示。復(fù)位電路STC89C52D/A轉(zhuǎn)換芯片電流信號轉(zhuǎn)電壓信號并放大按鍵波形輸出圖2-3 原理框圖本設(shè)計采用STC89C52單片機為控制核心,通過DAC0832數(shù)模
13、轉(zhuǎn)換器,通過將數(shù)字信號轉(zhuǎn)換為模擬信號來輸出多種模擬波形信號,再經(jīng)過兩個運算放大器實現(xiàn)電壓信號的轉(zhuǎn)變和放大,從而輸出4種模擬波形,通過編寫程序,來控制輸出波形的頻率和幅度,并實現(xiàn)波形之間的切換。2.2 控制模塊控制模塊以STC89C52單片機為核心,周圍接外接電路。STC89C52單片機的介紹和使用方法如下:STC89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用STC公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單
14、元,STC89C52單片機在電子行業(yè)中有著廣泛的應(yīng)用。其引腳圖如圖2-4所示。圖2-4 :STC89C52引腳圖主要特性如下:(1)兼容MCS51指令系統(tǒng) (2)8k可反復(fù)擦寫(大于1000次)Flash ROM; (3)32個雙向I/O口; (4)256x8bit內(nèi)部RAM; (5)3個16位可編程定時/計數(shù)器中斷; (6)時鐘頻率0-24MHz; (7)2個串行中斷,可編程UART串行通道; (8)2個外部中斷源,共8個中斷源; (9)2個讀寫中斷口線,3級加密位; (10)低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能; (11)有PDIP、PQFP、TQFP及PLCC等幾種封裝形式,以適
15、應(yīng)不同需求單片機主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負端。P0P3 為可編程通用I/O 腳,其功能用途由軟件定。,本設(shè)計中單片機引腳連接如2-5圖所示:圖2-5單片機引腳連接圖在本設(shè)計中,P3端口(3239 腳)被定義為開關(guān)按鍵功能控制端口,分別與相應(yīng)的開關(guān)按鍵相連接,控制波形轉(zhuǎn)換以及幅度和頻率的調(diào)整。P1端口為數(shù)據(jù)輸出端,輸出255個數(shù)以產(chǎn)生不同的波形,P0口接波形指示電路,不同的led燈表
16、示單片機輸出不同種波形。2.3 DA轉(zhuǎn)換模塊本設(shè)計中DA轉(zhuǎn)換采用DAC0832模塊,DAC0832是一種電流輸出型D/A轉(zhuǎn)換器,可與微處理器直接進行控制連接,是美國國民半導(dǎo)體公司研制的一種8位D/A轉(zhuǎn)換芯片。此外,還有DAC0830和DAC0831。由于器件采用吸納進的CMOS工藝,因此功耗低、輸出漏電流誤差較小,性價比高,因此廣泛應(yīng)用于目前很多小型的D/A轉(zhuǎn)換電路設(shè)計中。其引腳圖如圖2-6所示:圖2-6 DAC0832引腳圖其中待轉(zhuǎn)換的8位數(shù)字量由芯片的8位數(shù)據(jù)輸入線D0D7輸入,經(jīng)DAC0832轉(zhuǎn)換后,通過2個電流輸出端IOUT1和IOUT2輸出,IOUT1是邏輯電平為1的各位輸出電流之和
17、,IOUT2是邏輯電平為0的各位輸出電流之和。另外,ILE、和是控制轉(zhuǎn)換的控制信號。在本設(shè)計中,DAC0832與單片機連接方式詳見下圖:圖2-7 DAC0832與單片機連圖其中,DAC0832的引腳詳細連接如下所述:(1) DAC0832的8位的數(shù)據(jù)輸入端DI7DI0接單片機的P1.7P1.0口輸入端數(shù)據(jù),將255個不同的數(shù)據(jù)轉(zhuǎn)換成對應(yīng)的模擬量。(2) IOUT1和IOUT2為DAC0832的電流輸出端,分別接放大器的+、-輸入端,通過放大器轉(zhuǎn)換為電壓信號。(3) Vcc為芯片供電電壓,接+5V電壓。(4) RFB:反饋電阻引出端,DAC0832內(nèi)部已經(jīng)有反饋電阻,所以 RFB端可以直接接到外
18、部運算放大器的輸出端,這樣相當于將一個反饋電阻接在運算放大器的輸出端和輸入端之間。(5) VREF:參考電壓輸入端,此端接一個正5V電壓,它決定0至255的數(shù)字量轉(zhuǎn)化出來的模擬量電壓值的幅度最大為5V,幅度最小變化量為0.02V。VREF端與D/A內(nèi)部T形電阻網(wǎng)絡(luò)相連。(6) WR2、和XFER直接接地,使第二級8位DAC寄存器的輸入端到輸出端直通,只有第一級8位輸入寄存器置成可選通、可鎖存的單緩沖輸入方式。(7) ILE接+5V高電平,輸入寄存器的狀態(tài)隨數(shù)據(jù)輸入線狀態(tài)變化,LE的負跳變將輸入數(shù)據(jù)線上的信息存入輸入寄存器。2.5 MCU復(fù)位電路單片機復(fù)位電路是指單片機的初始化操作。單片機啟運運
19、行時,都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。因而,復(fù)位是一個很重要的操作方式。復(fù)位電路的基本功能是:系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復(fù)位。單片機的復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳RST通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。本設(shè)計復(fù)位電路如下圖2-8所示,圖2-8 RC
20、復(fù)位電路單片機的復(fù)位操作使單片機進入初始化狀態(tài),其中包括使程序計數(shù)器PC0000H,這表明程序從0000H地址單元開始執(zhí)行。2.6 晶振電路晶振是晶體振蕩器的簡稱,在電氣上它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡(luò),電工學(xué)上這個網(wǎng)絡(luò)有兩個諧振點,以頻率的高低分其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。STC89C52單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值
21、雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為30F。在焊接刷電路板時,晶體振蕩器和電容應(yīng)盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作.晶振有一個重要的參數(shù),那就是負載電容值,選擇與負載電容值相等的并聯(lián)電容,就可以得到晶振標稱的諧振頻率。晶體振蕩電路如下圖2-9所示。圖2-9 振蕩電路2.7 I/V轉(zhuǎn)換電路信號發(fā)生器一般要求輸出是電壓,DAC0832為電流輸出型轉(zhuǎn)換器,所以還必須經(jīng)過一個外接的運算放大器LM324轉(zhuǎn)換成電壓。
22、LM324芯片介紹如下:LM324是四運放集成電路,它采用14腳雙列直插塑料封裝,外形如圖所示。它的內(nèi)部包含四組形式完全相同的運算放大器,除電源共用外,四組運放相互獨立。每一組運算放大器可用下圖3-6中圖1所示的符號來表示,它有5個引出腳,其中“+”、“-”為兩個信號輸入端,“V+”、“V-”為正、負電源端,“Vo”為輸出端。兩個信號輸入端中,Vi-(-)為反相輸入端,表示運放輸出端Vo的信號與該輸入端的相位相反;Vi+(+)為同相輸入端,表示運放輸出端Vo的信號與該輸入端的相位相同。LM324的引腳排列見下圖3-6的圖2。由于LM324四運放電路具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,
23、價格低廉等優(yōu)點,因此被廣泛應(yīng)用在各種電路。LM324對應(yīng)引腳如圖2-10所示: 圖2-10 LM324引腳圖圖2-11所示為兩級運算放大器LM324組成的模擬電壓輸出電路。從第一個運放輸出為單極性模擬電壓,從第二個運放輸出為雙極性模擬電壓。圖2-11 波形轉(zhuǎn)換電路273 軟件程序設(shè)計3.1 軟件設(shè)計思路 本設(shè)計中的應(yīng)用軟件是根據(jù)功能要求而設(shè)計的,能可靠地實現(xiàn)系統(tǒng)的各種功能。本軟件設(shè)計具有下列特點:(1) 根據(jù)軟件功能要求,將系統(tǒng)軟件分成若干個獨立的部分。設(shè)計出軟件的總體結(jié)構(gòu),結(jié)構(gòu)清晰、流程合理。(2) 樹立結(jié)構(gòu)化程序設(shè)計風(fēng)格,各功能程序模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植、修改。(3
24、) 以簡明、直觀法對任務(wù)進行描述,在編寫應(yīng)用軟件之前,繪制出程序流程圖。(4) 合理分配系統(tǒng)資源,包括ROM、RAM、定時數(shù)器、中斷資源等。(5) 在程序的有關(guān)位置處寫上功能注釋,提高程序的可讀性。(6) 加強軟件抗干擾設(shè)計,提高系統(tǒng)應(yīng)用可靠性。Keil的介紹:Keil是德國開發(fā)的一個51單片機開發(fā)軟件平臺,最開始只是一個支持C語言和匯編語言的編譯器軟件。后來隨著開發(fā)人員的不斷努力以及版本的不斷升級,使它已經(jīng)成為了一個重要的單片機開發(fā)平臺,不過KEIL的界面并不是非常復(fù)雜,操作也不是非常困難,很多工程師的開發(fā)的優(yōu)秀程序都是在KEIL的平臺上編寫出來的??梢哉f它是一個比較重要的軟件,熟悉他的人很
25、多很多,操作有不懂的地方只要找相關(guān)的書看看,到相關(guān)的單片機技術(shù)論壇問問,很快就可以掌握它的基本使用了。 Keil的Vision2可以進行純粹的軟件仿真(仿真軟件程序,不接硬件電路);也可以利用硬件仿真器,搭接上單片機硬件系統(tǒng),在仿真器中載入項目程序后進行實時仿真;還可以使用Vision2的內(nèi)嵌模塊Keil Monitor-51,在不需要額外的硬件仿真器的條件下,搭接單片機硬件系統(tǒng)對項目程序進行實時仿真。 本系統(tǒng)的程序設(shè)計要注意處理好幾個硬件功能在程序執(zhí)行上的次序,具體處理可放到子程序中。子程序主要包含兩大方面,其一為波形產(chǎn)生子程序,其二為案件處理程。主程序流程圖如圖3-1所示:圖3-1 主程序
26、流程圖主程序流程如下所述:(1) 程序初始化,執(zhí)行按鍵掃描程序,判斷S3鍵是否按下,是則做波形切換處理,否則進入下一步;(2) 掃描S1,S2鍵是否按下,是則做調(diào)幅處理,否則進入下一步;(3) 掃描S4,S5鍵是否按下,是則做調(diào)頻處理,否則返回程序,重新執(zhí)行按鍵掃描程序。按鍵處理子程序相對比較簡單,只需要先掃描是否有按鍵動作,然后,再根據(jù)按鍵對應(yīng)的功能進行程序操作。對于增減幅度按鍵的動作,可先檢查當前輸出波形是否為正弦波。若不是,則可令幅度值加5或減5,對應(yīng)的電壓值為加或減0.1V;若是,則可通過減少其幅值計算時的負倍數(shù)來達到增大幅值的目的,也可通過增加其幅值計算時的負倍數(shù)來達到減小幅值的目的
27、通過調(diào)幅增和調(diào)幅減按鍵,幅度數(shù)值變化范圍為50-250,對應(yīng)的電壓值為1V-5V。對于增減頻率按鍵的動作,由于本程序設(shè)計是通過調(diào)節(jié)延時時間來實現(xiàn)調(diào)節(jié)輸出波形頻率的,因此,增大或減小延時時間,就可達到減小或增大頻率的目的,通過頻率增和頻率減鍵,頻率的變化范圍是5Hz-50Hz。波形產(chǎn)生子程序是本次程序設(shè)計的核心。信號發(fā)生器輸出4種波形,因而對應(yīng)就會有4個相應(yīng)的波形產(chǎn)生子程序。下面開始進行分別介紹。3.2 方波程序方波輸出一組高電平與低電平交替產(chǎn)生的信號,因此,需要先令信號輸出端輸出高電平,然后令其按照規(guī)定的延時時間保持此電平不變;再令信號輸出端輸出低電平,然后也令其按照規(guī)定延時時間保持此電平不變
28、,如此反復(fù),就可實現(xiàn)輸出方波的目的。程序如下所示。void fang()if(flag=0)/ /判斷信號標志位if(s_Counter+=199) /延時flag=1;s_Counter-;P1=fudu; /輸出高電平elseif(s_Counter-=fudu)s_Counter=0;P1=s_Counter;delay(k);程序流程圖如圖3-3所示:圖3-3 鋸齒波程序流程圖具體流程如下所述:(1) 判斷累加器值是否為所設(shè)定峰值;(2) 是則累加器清零,并將累加器值賦給P1口輸出并延時;否將累加器值賦給P1口輸出則繼續(xù)累加并延時;(3) 返回重新判斷累加器值3.4 正弦波程序正弦波的
29、產(chǎn)生采用查表法,即在程序運行前先給定一個正弦波輸出數(shù)字值表格。表格數(shù)值計算思路如下:由于單片機的I/O輸出均為+5V的TTL電平,因此產(chǎn)生的正弦波幅值也就為+5V。先將一個周期內(nèi)的正弦波形等分為N份,那么第一點的角度為0,對應(yīng)的正弦值為5sin0,第二點的角度為360/N,對應(yīng)的正弦值為5sin(360/N)如此計算下去,將這些模擬量正弦值都轉(zhuǎn)換為雙極性方式下的數(shù)字量,就得到一張按照點號順序排列的數(shù)字量正弦值表格。本設(shè)計中將一周期內(nèi)正弦波等分為180份,具體數(shù)值見源程序。具體程序如下所示:void zhengxian()unsigned char k1=2*k;P1=sinTabs_Count
30、er/beishu;s_Counter+;if(s_Counter=180)s_Counter=0;delay(k1);程序流程圖如圖3-4所示:圖3-4 正弦波程序流程圖具體流程如下所述:(1) 設(shè)定正弦表數(shù)組,共180個元素;(2) 累加器累加;(3) 判斷累加器值是否大于等于180;(4) 是則將累加器清零并輸出數(shù)組中第一個元素的值,否則將累加器的數(shù)值所對應(yīng)的數(shù)組中的元素作為輸出并繼續(xù)累加判斷。3.5 三角波程序三角波的產(chǎn)生類似于鋸齒波,只不過他的輸出分為兩段,即線性上升段和線性下降段。線性上升段就是令信號由最小值勻速增至最大值,線性下降段就是令信號由最大值勻速減小到最小值。輸出兩段的轉(zhuǎn)
31、折就在于當前幅值與幅度最大值之間的關(guān)系,當前幅值超過最大值時,應(yīng)轉(zhuǎn)至線性下降段;當前幅值小于1時,表示此時已經(jīng)處于負極性區(qū),應(yīng)轉(zhuǎn)至線性上升段。void sanjiao()if(flag=0)if(s_Counter+=fudu) flag=1; else If(s_Counter-=1) flag=0;P1=s_Counter;delay(k);具體流程如下所述:(1) 判斷flag寄存器值是否為幅度峰值;(2) 是則累加器遞減,并將累加器值作為輸出;否則累加器遞增;(3) 判斷累加器是否為零,是則累加器值遞增,否則繼續(xù)遞減;(4) 累加器為零則將flag賦值為0;為最大值則將flag賦值為1
32、;(5) 返回重新判斷flag和累加器值。程序流程圖如圖3-5所示:圖3-5 三角波程序流程圖4 軟件仿真4.1 軟件仿真 軟件仿真部分主要用proteus進行,proteus軟件具有諸多優(yōu)勢:Proteus是一種低投資的電子設(shè)計自動化軟件,提供Schematic Drawing、SPICE仿真與PCB設(shè)計功能,這一點Proteus 與 multisim比較類似,只不過它可以仿真單片機和周邊設(shè)備,可以仿真51系列、AVR,PIC等常用的MCU,與keil和MATLAB不同的是它還提供了周邊設(shè)備的仿真,只要給出電路圖就可以仿真,例如led,示波器,Proteus提供了大量的元件庫,有LED,LC
33、D,AD/DA等器件,編譯方面支持Keil和MATLAB,里面有大量的例子參考.Proteus也可提供仿真元件資源,Proteus軟件提供了可仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件達30多個元件庫。可提供的仿真儀表資源包括擬儀器儀表的數(shù)量、類型和質(zhì)量,這是衡量仿真軟件實驗室是否合格的一個關(guān)鍵因素。在Proteus軟件中,理論上同一種儀器可以在一個電路中隨意的調(diào)用。除了現(xiàn)實存在的儀器外,Proteus還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標,例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少
34、了儀器對測量結(jié)果的影響。可提供的調(diào)試手段。提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。 Proteus 與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU 的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。Proteus仿真如下將所有器件排列好。器件排列并連接導(dǎo)線見圖4-1所示。圖4-1 連接圖4.2 仿真結(jié)果運行仿真調(diào)試,以
35、下為4種波形仿真結(jié)果:方波仿真結(jié)果如下圖4-2所示:圖4-2 方波三角波仿真結(jié)果如下圖4-3所示:圖4-3 三角波正弦波仿真結(jié)果如下圖4-4所示:圖4-4 正弦波鋸齒波仿真結(jié)果如下圖4-5所示:圖4-5 鋸齒波在仿真過程中,通過幅度增按鍵可以增加幅度值,每次增加0.1V,最大可增到5V;通過幅度減按鍵可以減小幅度值,最小可減到1V;通過頻率增按鍵可以增大頻率,每次增大5Hz ,最大頻率50Hz;通過頻率減按鍵可以減小頻率,每次減小5Hz,最小頻率為5Hz。4. 3仿真遇到的問題問題1:Keil新建工程下創(chuàng)建C程序文件,編譯時找不到解決方法:將編好的程序文件重命名,并保存為.c為結(jié)尾的文件問題2
36、:無法生成hex下載文件解決方法:在Keil菜單里面找到輸出菜單,將創(chuàng)建hex文件前面的空白方框用勾勾上,如下圖4-6所示圖4-6 輸出菜單問題3:用Proteus畫好電路,點擊運行按鈕不能仿真。解決方法:原因是沒有將“.hex”文件寫入。先右鍵點擊圖中的STC89C51芯片選中它,再左鍵點擊選中的芯片,在彈出的對話框的“Program Files”的框中點擊文件夾圖標;然后找到已生成的“.hex”文件,最后點擊確定即可。5 硬件安裝與調(diào)試5.1 硬件測試定義和目的通過查閱資料,選擇元器件,實際動手安裝、調(diào)試等過程,了解和掌握電子線路設(shè)計的一般方法,建立單片機理論和實踐的結(jié)合,了解信號發(fā)生器各
37、單元電路之間的關(guān)系及相互影響,了解和掌握電子線路設(shè)計的一般方法。鞏固和運用在電路與電子技術(shù)等課程中所學(xué)理論知識技能,提高設(shè)計能力和動手能力,從而能正確設(shè)計各個單元電路。為以后從事相關(guān)工作打下基礎(chǔ)。5.2 焊接 通過實驗原理圖進行實物焊接,焊接時能深刻體會到焊接工藝的重要性:各個芯片的引腳功能不能混淆,必須了解各個芯片的使用方法,內(nèi)部結(jié)構(gòu)以及使用時的注意事項,該接電源的一定要接電源,該接地的一定要接地。同時在電路板上要預(yù)先確定電源的正負端,便于區(qū)分及焊接。正確焊接各芯片個管腳連接必須查閱各種資料并記錄,以確保在焊接過程和調(diào)試過程中芯片不被燒壞,同時確保整個電路的正確性。在焊接完后每塊芯片都用萬用
38、表檢測,看是否有短接等,還有焊接時要盡量使布線規(guī)范清晰明了,這樣才有利于在調(diào)試過程中檢查電路。電路焊接完成后如圖5-1所示:圖5-1:實物正面圖背面連接如圖5-2所示:圖5-2:背面連接圖5.3 硬件電路調(diào)試:電路焊接完成后,接電并連接到示波器上。通過波形轉(zhuǎn)換按鍵,依次顯示出方波,三角波,正弦波,鋸齒波四種波形。方波顯示如圖5-3所示:圖5-3:方波圖5-4 三角波正弦波如圖5-5所示:圖5-5:正弦波鋸齒波如圖5-6所示:圖5-6:鋸齒波通過幅度增按鍵可以增加幅度值,每次增加0.1V,最大可增到5V;通過幅減按鍵可以減小幅度值,最小可減到1V;通過頻率增按鍵可以增大頻率,每次增大5Hz ,最
39、大頻率50Hz;通過頻率減按鍵可以減小頻率,每次減小5Hz,最小頻率為5Hz。5.4 調(diào)試中出現(xiàn)的問題及解決方法:(1) 單片機中無法燒制程序在仿真完成后,在用開發(fā)板向單片機中燒制程序過程中出現(xiàn)無法識別的問題,經(jīng)查所用單片機為Atmel系列,開發(fā)板為STC開發(fā)板,故無法識別。更換為STC單片機后可以正常燒寫。(2) 單片機不能正常起振焊接完成后通電,整個電路不能正常工作。后臨時寫了一個單片機控制led燈閃爍程序并臨時連接一個led燈驅(qū)動電路,接電后led燈未正常閃爍。證明單片機并未正常工作,晶振電路未正常起振,請教老師后懷疑因晶振電路距離單片機晶振引腳過遠,將晶振電路重新焊接在距離單片機晶振引
40、腳旁邊,通電后重新測試,單片機可以正常工作。(3) 波形顯示電路不能正常顯示單片機正常工作后,波形指示燈可以正常指示,連接到示波器上不能正常顯示波形,請教老師后懷疑為DAC0832時序延遲問題,解決方案為將程序中波形顯示模塊加上一個延時,重新燒寫程序后波形顯示功能部分可以實現(xiàn),然而波形幅度顯示不全,正的最大值遠遠小于理論值,老師建議將兩個放大電路之間的電阻由7K減小為4k.,后正負幅度均可正常顯示。(4) 功放芯片不正常工作本設(shè)計中功放采用LM324芯片,一個LM324中含有四個獨立的功放。本設(shè)計中電路用到兩放大,最初焊接時用一塊兒芯片中的兩個放大電路。一級放大中輸出后接電阻接回到另一極放大的輸入,電路通電工作一段時間后,LM324芯片溫度極高,可能燒壞芯片,故重新設(shè)計時用了兩塊兒LM324芯片,一個芯片里面只使用一個功放電路,其他三個不用。電路通電工作一段時間后,芯片溫度依然正常。(5) 開關(guān)電路不能正??刂撇ㄐ物@示電路通電并連接示波器后,按下開關(guān)后,波形不能正常變化??赡苁菃纹瑱C時序問題,單片機高低電平轉(zhuǎn)換時間過短,將單片機中程序再次修改,將延時程序中延時加長,再次通電后開關(guān)可以正??刂撇ㄐ物@示。6 總結(jié)畢業(yè)設(shè)計結(jié)束之際,在此要對本設(shè)計的過程和心得作一個總結(jié),在這忙碌的三個月里,我仔細研究了設(shè)計方案的可
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45097.2-2024智能消費品安全第2部分:風(fēng)險評估
- 2024年苗木種植與環(huán)保技術(shù)合作合同3篇
- 2024年遠程監(jiān)控設(shè)施安裝協(xié)議3篇
- 倉庫叉車租賃合同
- 水產(chǎn)品安全質(zhì)量協(xié)議書
- 國際體育俱樂部租賃合約
- 城市輕軌監(jiān)理招標文件樣本
- 廣東省加油站非油品業(yè)務(wù)拓展
- 工業(yè)園區(qū)臨電施工合同
- 醫(yī)療行業(yè)專家顧問聘用合同模板
- 期末(試題)-2024-2025學(xué)年人教PEP版英語六年級上冊
- 三創(chuàng)賽獲獎-非遺文化創(chuàng)新創(chuàng)業(yè)計劃書
- 冷庫項目專項扶持資金申請報告(模板范本)
- 鉑銠合金漏板.
- (完整版)建筑力學(xué)(習(xí)題答案)
- 少年宮籃球活動教案
- 國有建設(shè)企業(yè)《大宗材料及設(shè)備采購招標管理辦法》
- 民間秘術(shù)絕招大全
- N摻雜TiO2納米管的合成及光催化性能研究
- 二沉池設(shè)計說明書
- (完整版)展廳展館博物館美術(shù)館設(shè)計標招標評分細則及打分表
評論
0/150
提交評論