智能信號發(fā)生器_第1頁
智能信號發(fā)生器_第2頁
智能信號發(fā)生器_第3頁
智能信號發(fā)生器_第4頁
智能信號發(fā)生器_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機技術(shù)課程設(shè)計說明書智能信號發(fā)生器專業(yè)電氣工程及其自動化學(xué)生姓名班級學(xué)號指導(dǎo)教師完成日期2015年 12 月 11 日目錄課題認(rèn)識·······································

2、;·················2一、 系統(tǒng)設(shè)計與方案論證······························

3、3;········31.1課題要求與內(nèi)容········································

4、;··31.2系統(tǒng)方案設(shè)計············································31.3主控模塊的選擇&#

5、160;········································41.4系統(tǒng)設(shè)計總框圖·······

6、83;··································5二、系統(tǒng)硬件電路設(shè)計·············

7、3;·····························52.1單片機最小系統(tǒng)設(shè)計··················

8、83;···················52.2信號發(fā)生模塊電路設(shè)計····························&

9、#183;·······72.2.1D/A轉(zhuǎn)換元件的選擇·····································72.2.2系統(tǒng)的D/A轉(zhuǎn)換電

10、路 ··································72.2.3TLC5615的時序分析   ·········

11、;······················8 2.3開關(guān)電路設(shè)計·························&

12、#183;··················8三、系統(tǒng)軟件設(shè)計·····························

13、3;·················93.1系統(tǒng)軟件流程圖 ······························

14、;··········93.2主控制器軟件設(shè)計······································

15、;··93.3波形產(chǎn)生模塊的子程序設(shè)計································10四、實踐應(yīng)用············

16、;·······································114.1開發(fā)工具及環(huán)境·········

17、;·································114.1.1系統(tǒng)軟件設(shè)計環(huán)境與步驟··············

18、;··················114.1.2系統(tǒng)硬件設(shè)計環(huán)境與電路的繪制··························124.2系統(tǒng)出現(xiàn)的問題:&

19、#183;········································124.3硬件靜態(tài)的調(diào)試故障措施:······&#

20、183;··························12五、仿真圖及結(jié)果分析 ····················&#

21、183;····················13六、結(jié)束語····························&

22、#183;························15參考文獻························&

23、#183;······························16附錄··················

24、83;········································17附錄一 智能信號發(fā)生器總接線圖······

25、3;·······················17附錄二 總程序·························&

26、#183;····················18課題認(rèn)識波形發(fā)生器是一種常用的信號源,廣泛地應(yīng)用于電子工程、通信工程、自動控制、遙測控制、測量儀器、儀表和計算機等技術(shù)領(lǐng)域。 基于直接頻率合成(DDS)技術(shù)實現(xiàn)的波形發(fā)生器具有頻率分辨率高,頻率切換速度快,輸出信號噪聲低,易于集成等優(yōu)點,具有較高的實用價值。直接數(shù)字頻率合成技術(shù)(DDS),就是將要產(chǎn)生的波形數(shù)據(jù)存入波形存儲器中,然后在

27、參考脈沖的作用下,對輸入的頻率數(shù)據(jù)進行累加并將累加器的輸出經(jīng)過轉(zhuǎn)換后作為讀取波形存儲器的地址,讀出的波形數(shù)據(jù)經(jīng)過數(shù)模轉(zhuǎn)換后變?yōu)殡妷盒盘?,也就是連續(xù)的階梯信號,再加一級低通濾波電路,過濾掉波形信號里的高頻成分,即可得到較為理想的波形信號。  單片機以其體積小,功能齊全,價格低廉,可靠性高等方面所具有的獨特優(yōu)點,長期以來被廣泛的應(yīng)用在各個領(lǐng)域。作為一種優(yōu)秀的控制裝置,當(dāng)只要求波形發(fā)生裝置工作在頻率較低的頻段時,用單片機取代專用DDS芯片和FPGA,通樣可以得到頻率精確可調(diào)的高質(zhì)量的波形信號。本系統(tǒng)將波形數(shù)據(jù)存放在單片機的存儲器中,利用軟件編程的方法模擬DDS原理,實現(xiàn)直接數(shù)字頻

28、率合成的功能。本設(shè)計主要由主控制器模塊和信號發(fā)生模塊兩大部分組成。采用AT89C52單片機為主控制器,由它來控制DDS芯片通過TLC5615完成數(shù)字量輸入到模擬量輸出的轉(zhuǎn)換,然后經(jīng)運放調(diào)節(jié)電壓幅度,產(chǎn)生1MHz15MHz的正弦波、鋸齒波和三角波,最后由示波器顯示。本論文其重點討論了TLC5615基本工作原理、DAC數(shù)模轉(zhuǎn)換及其與89C52單片機控制系統(tǒng)的硬件結(jié)構(gòu)和軟件設(shè)計框圖。一、系統(tǒng)設(shè)計與方案論證1.1課題要求與內(nèi)容設(shè)計目的:(1)了解轉(zhuǎn)換與單片機的接口方法;(2)了解轉(zhuǎn)換芯片的性能及編程方法;(3)了解單片機系統(tǒng)中擴展轉(zhuǎn)換的基本方法設(shè)計要求:利用數(shù)字序列輸出一個從0V開始逐漸升至5V再降至

29、0V的可變電壓,循環(huán)并且利用示波器觀測波形。制作信號發(fā)生器,并且討論精度及其提高的方法。(使用TLC5615)本文共分為四個大部分: 第一部分:系統(tǒng)總體方案設(shè)計,提出了信號發(fā)生器系統(tǒng)的總體設(shè)計方案,并進行比較,最終選擇了最優(yōu)方案進行設(shè)計。 第二部分:系統(tǒng)硬件設(shè)計部分,詳細(xì)說明了系統(tǒng)的硬件設(shè)計,以及各模塊的硬件設(shè)計說明。 第三部分:系統(tǒng)軟件設(shè)計部分,闡述了系統(tǒng)主流程圖以及各子程序流程圖。 第四部分:系統(tǒng)的調(diào)試,闡述了系統(tǒng)軟硬件調(diào)試過程。 1.2系統(tǒng)方案設(shè)計目前,波形發(fā)生器設(shè)計方案主要有以下幾種: 1方案一  用分立元

30、件組成的函數(shù)發(fā)生器。分立器件是相對于集成芯片而言的。隨著科學(xué)技術(shù)的不斷發(fā)展,人們漸漸步入電子時代,分立器件也被也被廣泛應(yīng)用到消費電子、計算機及外設(shè)、網(wǎng)絡(luò)通信,汽車電子、LED顯示平等領(lǐng)域。它包括:半導(dǎo)體二極管、半導(dǎo)體三極管、電容、電阻、邏輯器件、傳感器、敏感器件以及裝好的壓電晶體類似半導(dǎo)體器件等。 用分立器件組成的函數(shù)信號發(fā)生器通常機構(gòu)簡單、成本較低。但是由于元器件的分散性及環(huán)境條件的改變等因素,致使波形頻率產(chǎn)生偏差,它通常是單函數(shù)發(fā)生器且平率不高,其工作不很穩(wěn)定,不易調(diào)試。 2方案二 制作函數(shù)信號發(fā)生器可用運放IC、晶體管等通用元器件。晶體管、運放IC等通用器件

31、均可以制作函數(shù)信號發(fā)生器,用專業(yè)的發(fā)生器產(chǎn)生信號則是普遍選擇。函數(shù)信號發(fā)生器IC在早些時候,如M8045、CA102、XR5547等,不僅精度不夠高,功能也比較少,頻率上限只有200kHz,若想產(chǎn)生更高的頻率信號是難以實現(xiàn)的,再加上不夠靈活的調(diào)節(jié)方式,頻率,占空比無法單獨調(diào)節(jié)。 由于用通用器件制作的信號發(fā)生器同樣具有頻率不高的缺點,因此,在本論文設(shè)計中,此種方案也不宜采用。 3方案三 采用TLC5615通過查表得方式輸出需要的波形,通過單片機定時向DAC轉(zhuǎn)化器發(fā)送轉(zhuǎn)換數(shù)據(jù),實現(xiàn)不同的幅值和頻率的輸出。這種方法能夠?qū)崿F(xiàn)各種需要的波形的輸出,成本也不高,只是在擴展外設(shè)

32、的時候浪費了大量的接口,以后的系統(tǒng)擴展可能會有影響。 4方案四 利用專用直接數(shù)字合成DDS芯片制作的函數(shù)信號發(fā)生器。DDS有如下優(yōu)點: (1)速度快,可達到s數(shù)量級; (2)頻率分辨率較高,輸出頻點多,可達多個頻點切換; (3)能夠輸出正交信號; (4)頻率切換時能實現(xiàn)相位連續(xù); (5)可以產(chǎn)生任意的波形; (6)輸出噪聲低,對參數(shù)頻率源的噪聲有改善作用; 雖然DDS有上述諸多優(yōu)點,而且利用直接數(shù)字合成DDS芯片實現(xiàn)的函數(shù)信號發(fā)生器能夠產(chǎn)生任意波形并達到很高的頻率,克服了方案一、方案二的多數(shù)缺點,但是限于

33、本人學(xué)識有限與課程要求,故本設(shè)計采用方案三。1.3主控模塊的選擇 方案一:用單片AT89C52作為系統(tǒng)的主控核心。單片機具有體積小,使用靈活的,易于人機對話和良好的數(shù)據(jù)處理,有較強的指令尋址和運算功能等優(yōu)點。且單片機功耗低,價格低廉的優(yōu)點。 方案二:C8051F005單片機是完全集成的混合信號系統(tǒng)級芯片,具有與8051兼容的微控制器內(nèi)核,與MCS-51指令集完全兼容。片內(nèi)集成了控制系統(tǒng)和數(shù)據(jù)采集中常用的模擬部件和其他數(shù)字外設(shè)及功能部件,還具有標(biāo)準(zhǔn)8052的數(shù)字外設(shè)部件,而且執(zhí)行速度快,但其價格較貴。 方案三:用FPGA等可編程器件作為控制模塊。FPGA可以實現(xiàn)各種

34、復(fù)雜的邏輯功能,密度高,速度快,穩(wěn)定性好等許多有點。FPGA在掉電后會丟失數(shù)據(jù)上電后須進行一次配置,因此FPGA在應(yīng)用中需要配置電路和一定的程序。并且FPGA作為數(shù)字邏輯器件,競爭、冒險是數(shù)字邏輯器件較為突出的問題,因此在使用時必須注意毛刺的產(chǎn)生、消除及抗干擾性。 在此系統(tǒng)中,采用AT89C52單片機作為控制比采用C8051F005單片機、FPGA實現(xiàn)更簡便?;诰C合性價比,確定選擇方案一。1.4系統(tǒng)設(shè)計總框圖開關(guān)模塊三角波信號發(fā)晶振電路主控制模塊生模塊鋸齒波復(fù)位電路正弦波圖1.系統(tǒng)設(shè)計總框圖本系統(tǒng)主要包括以下幾個模塊:主控制器及其接口電路模塊,波形產(chǎn)生模塊。其中,主控制器負(fù)責(zé)接收并

35、處理來自開關(guān)的命令輸入,由信號發(fā)生模塊輸出模擬信號,再由示波器顯示當(dāng)前波形的頻率值或幅值。二、系統(tǒng)硬件電路設(shè)計根據(jù)系統(tǒng)框圖可知,本系統(tǒng)的硬件電路設(shè)計應(yīng)包括單片機最小系統(tǒng)設(shè)計、信號發(fā)生模塊設(shè)計和開關(guān)提示電路設(shè)計等。2.1單片機最小系統(tǒng)設(shè)計單片機最小系統(tǒng)是指在保證控制器正常工作的前提下,所需的最小計硬件電路,它主要包括:晶振電路、復(fù)位電路、供電電路。 單片機最小系統(tǒng)如圖2所示:圖2.單片機最小系統(tǒng)下面分析一下電路中各個部分的作用: 1. 供電電路:40腳接電源+5V,20腳接地,這樣便完成了單片機的供電。 2. 選擇使用內(nèi)部ROM:我們下載程序的時

36、候是將程序下載到單片機內(nèi)部的ROM里面存放,將EA/VPP端接到高電平(+5V),就告訴單片機系統(tǒng)我們選擇的是內(nèi)部的ROM,這樣單片機工作的時候就會執(zhí)行內(nèi)部ROM里面的代碼了。如果將EA/VPP接地,單片機就會執(zhí)行擴展的外部ROM,我們沒有擴展ROM呀,以后在沒有擴展ROM的時候我們都將它接高電平就可以。 3. 復(fù)位電路:復(fù)位電路的原理是單片機RST引腳接收到2us的電平信號,只要保證電容的充放電時間大于2us可實現(xiàn)復(fù)位,所以電路中的電容值是可以改變的。按鍵按下系統(tǒng)復(fù)位,電解電容處于一個短路電路中,釋放了所有的電能,電阻兩端的電壓增加引起的。單片機最小系統(tǒng)復(fù)位電路的電解電容

37、C3大小直接影響單片機的復(fù)位時間,一般采用1030uF,單片機最小系統(tǒng)容值越大需要的復(fù)位時間越短。本次設(shè)計選用10uF的電解電容。4. 時鐘電路:時鐘電路由C1、C2和晶振X1組成。時鐘電路的作用是給單片機提供時鐘脈沖,只有給單片機提供時鐘脈沖單片機才會執(zhí)行程序。單片機最小系統(tǒng)晶振X1以采用6MHz或者11.0592MHz,在正常工作的情況下可以采用更高頻率的晶振,單片機最小系統(tǒng)晶振的振蕩頻率直接影響單片機的處理速度,頻率越大處理速度越快。本次設(shè)計選用12MHz的常用晶振。單片機最小系統(tǒng)起振電容C1、C2一般采用1533pF,并且電容離晶振越近越好,晶振離單片機越近越好。本次設(shè)計選用

38、30pF的起振電容。在電路圖中,電容的的大小是10uF,電阻的大小是10k。所以根據(jù)公式,可以算出電容充電到電源電壓的0.7倍(單片機的電源是5V,所以充電到0.7倍即為3.5V),需要的時間是10K*10UF=0.1S。也就是說在電腦啟動的0.1S內(nèi),電容兩端的電壓時在03.5V增加。這個時候10K電阻兩端的電壓為從51.5V減少(串聯(lián)電路各處電壓之和為總電壓)。所以在0.1S內(nèi),RST引腳所接收到的電壓是5V1.5V。在5V正常工作的AT89C52單片機中小于1.5V的電壓信號為低電平信號,而大于1.5V的電壓信號為高電平信號。所以在開機0.1S內(nèi),單片機系統(tǒng)自動復(fù)位(RST引腳接收到的高

39、電平信號時間為0.1S左右)。在單片機啟動0.1S后,電解電容C3兩端的電壓持續(xù)充電為5V,這是時候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時候,開關(guān)導(dǎo)通,這個時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓在0.1S內(nèi),從5V釋放到變?yōu)榱?.5V,甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機系統(tǒng)自動復(fù)位。 2.2信號發(fā)生模塊電路設(shè)計2.2.1D/A轉(zhuǎn)換元件的選擇設(shè)計要求中要求用到TLC549元件

40、,但基于TLC549的功能是實現(xiàn)A/D轉(zhuǎn)換,與本設(shè)計的要求不符,故選擇與之相關(guān)的TLC5615元件,而其功能則是實現(xiàn)D/A轉(zhuǎn)換,符合設(shè)計要求。2.2.2系統(tǒng)的D/A轉(zhuǎn)換電路原理圖如圖所示:圖3. TLC5615D/A轉(zhuǎn)換接線圖腳1DIN(串行數(shù)據(jù)輸入端)與AT89C52單片機的P1.7相連;腳2SCLK(串行時鐘輸入端)與AT89C52單片機的P1.5相連;腳3CS(芯片選用通端,低電平有效)與AT89C52單片機的P1.6相連;腳4DOUT(用于級聯(lián)時的串行數(shù)據(jù)輸出端)本設(shè)計不需用;腳6REFIN(基準(zhǔn)電壓輸入端)通過100的電阻與+5V電源相連;腳7OUT(DAC模擬電壓輸出端)本次設(shè)計的

41、信號輸出端,可與示波器相連,檢查輸出波形是否滿足要求;腳5AGND(模擬地)與腳8VDD(正電源端)在元件內(nèi)部已經(jīng)準(zhǔn)備就緒,仿真元件此時并不顯示出引腳。D/A轉(zhuǎn)換器經(jīng)常用于信號發(fā)生器的設(shè)計中,通過它可以生成各種波形。其基本原理如下:利用D/A轉(zhuǎn)換器輸出模擬量與輸入數(shù)字量成正比這一特點,通過程序控制CPU向TLC5615送出隨時間成一定規(guī)律變化的數(shù)字,則D/A轉(zhuǎn)換器輸出端就可輸出隨時間按一定規(guī)律變化的波形。D/A是先把數(shù)字量轉(zhuǎn)換成模擬量,在單片機設(shè)計中經(jīng)常用到。眾所周知,單片機輸出信號為數(shù)字量,而本設(shè)計旨在輸出各種波形,屬模擬量,所以單片機的數(shù)字量必須經(jīng)過D/A的轉(zhuǎn)換變?yōu)槟M信號才能滿足要求。2

42、.2.3TLC5615的時序分析    TLC5615的時序如圖所示: 圖4. TLC5615的時序分析圖由時序圖可以看出,當(dāng)片選CS為低電平時,輸入數(shù)據(jù)DIN由時鐘SCLK同步輸入或輸出,而且最高有效位在前,低有效位在后。輸入時SCLK的上升沿把串行輸入數(shù)據(jù)DIN移入內(nèi)部的16位移位寄存器,SCLK的下降沿輸出串行數(shù)據(jù)DOUT,片選CS的上升沿把數(shù)據(jù)傳送至DAC寄存器。當(dāng)片選CS為高電平時,串行輸入數(shù)據(jù)DIN不能由時鐘同步送入移位寄存器;輸出數(shù)據(jù)DOUT保持最近的數(shù)值不變而不進入高阻狀態(tài)。由此要想串行輸入數(shù)據(jù)和輸出數(shù)據(jù)必須滿足兩個條

43、件:第一時鐘SCLK的有效跳變;第二片選CS為低電平。這里,為了使時鐘的內(nèi)部饋通最小,當(dāng)片選CS為高電平時,輸入時鐘SCLK應(yīng)當(dāng)為低電平。  串行數(shù)模轉(zhuǎn)換器TLC5615的使用有兩種方式,即級聯(lián)方式和非級聯(lián)方式。如不使用級聯(lián)方式,DIN只需輸入12位數(shù)據(jù)。 DIN輸入的12位數(shù)據(jù)中,前10位為TLC5615輸入的D/A轉(zhuǎn)換數(shù)據(jù),且輸入時高位在前,低位在后,后兩位必須寫入數(shù)值為零的低于LSB的位,因為 TLC5615的DAC輸入鎖存器為12位寬。如果使用TL5615的級聯(lián)功能,來自DOUT的數(shù)據(jù)需要輸入16位時鐘下降沿,因此完成一次數(shù)據(jù)輸入需要 

44、16個時鐘周期,輸入的數(shù)據(jù)也應(yīng)為16位。輸入的數(shù)據(jù)中,前4位為高虛擬位,中間10位為D/A轉(zhuǎn)換數(shù)據(jù),最后2位為低于LSB的位即零。2.3開關(guān)電路設(shè)計開關(guān)電路如圖所示:圖5. 開關(guān)電路開關(guān)輸入引腳4、5、6分別與單片機的P3.2、P3.1、P3.0相連;由于P3口無論作為輸入口使用還是第二功能信號的輸入,鎖存器輸出和“第二輸出功能”線都應(yīng)保持高電平,所以開關(guān)的輸出引腳1、2、3都必須與地相連。開關(guān)一(S1):輸出三角波。當(dāng)開關(guān)S1打開時,信號輸出端輸出三角波;當(dāng)S1關(guān)閉時,信號立即降為0V。開關(guān)二 (S2):輸出鋸齒波。當(dāng)開關(guān)S2打開時,信號輸出端輸出鋸齒波;當(dāng)S2關(guān)閉時,信號立即降為0V。開關(guān)

45、三 (S3):輸出正弦波。當(dāng)開關(guān)S3打開時,信號輸出端輸出正弦波;當(dāng)S3關(guān)閉時,信號立即降為0V。特殊情況:當(dāng)S1打開,輸出三角波時,如果再打開S2或S3或同時打開S2、S3時,輸出的信號將立即降為0。這種情況同樣適用于先打開S2或S3,再打開其余開關(guān)的場合。三、系統(tǒng)軟件設(shè)計3.1系統(tǒng)軟件流程圖 系統(tǒng)軟件流程圖如圖所示:圖6. 系統(tǒng)軟件流程圖3.2主控制器軟件設(shè)計 主控制器AT89C52負(fù)責(zé)接收并處理來自開關(guān)的命令輸入,驅(qū)動TLC5615當(dāng)前波形的頻率值或幅值,向波形產(chǎn)生模塊發(fā)送當(dāng)前波形的頻率值數(shù)據(jù),向幅值調(diào)節(jié)模塊發(fā)送當(dāng)前波形的幅值數(shù)據(jù)。 主控制器對開關(guān)的操作是通

46、過不斷地掃描來完成的,當(dāng)有開關(guān)按下,并根據(jù)鍵值調(diào)用相應(yīng)的功能函數(shù)。主控制器其他功能的實現(xiàn),也是分別調(diào)用相應(yīng)的功能函數(shù)。具體細(xì)節(jié)在后面每個模塊的軟件設(shè)計分析中詳細(xì)介紹。3.3波形產(chǎn)生模塊的子程序設(shè)計 本模塊設(shè)計實現(xiàn)的功能為:接收來自主控制器的頻率值數(shù)據(jù),模擬DDS原理輸出波形。按照系統(tǒng)整體設(shè)計要求,本模塊軟件部分設(shè)計實現(xiàn)如下功能: (1) 三角波的輸出 圖7.三角波輸出流程圖當(dāng)程序進行波形選擇時,單片機不斷地掃描開關(guān)。當(dāng)檢測到S1打開時,則程序進行下一環(huán)節(jié)輸出三角波;當(dāng)再次檢測到S1關(guān)閉時,則三角波信號停止輸出,單片機會重新進行開關(guān)掃描,直到檢測到有一開關(guān)打開。(2

47、) 鋸齒波的輸出圖8.鋸齒波輸出流程圖當(dāng)程序進行波形選擇時,單片機不斷地掃描開關(guān)。當(dāng)檢測到S2打開時,則程序進行下一環(huán)節(jié)輸出鋸齒波;當(dāng)再次檢測到S2關(guān)閉時,則鋸齒波信號停止輸出,單片機會重新進行開關(guān)掃描,直到檢測到有一開關(guān)打開。(3) 正弦波的輸出圖9.正弦波輸出流程圖當(dāng)程序進行波形選擇時,單片機不斷地掃描開關(guān)。當(dāng)檢測到S3打開時,則程序進行下一環(huán)節(jié)輸出正弦波;當(dāng)再次檢測到S3關(guān)閉時,則正弦波信號停止輸出,單片機會重新進行開關(guān)掃描,直到檢測到有一開關(guān)打開。四、實踐運用4.1開發(fā)工具及環(huán)境4.1.1系統(tǒng)軟件設(shè)計環(huán)境與步驟 51單片機系列的編程語言常用的有兩種,一種是匯編語言,一種是C語

48、言。本文件系統(tǒng)采用單片機C語言實現(xiàn),編譯器為Keil uVision3。 KEIL公司的C51編譯器DOS版本曾通過美國Franklin公司在市場上暢銷多年,最早傳入我國并得到廣泛使用的是Franklin C51 V3.2版本。隨著時間的推移,KEIL公司的產(chǎn)品不斷升級,V5.0以上版本C51編譯器就配有基于Windows的uVision集成開發(fā)環(huán)境和dScope軟件模擬調(diào)試程序?,F(xiàn)KEIL公司的編譯器有支持經(jīng)典8051和8051派生產(chǎn)品的版本,統(tǒng)稱為Cx51。新版本uVision3把uVision1用的模擬調(diào)試器dScope與集成開發(fā)環(huán)境無縫結(jié)合起來,

49、界面更友好,使用更方便,支持的單片機品種更多。因此,Keil uVision3是單片機程序開發(fā)的理想環(huán)境。C語言,是一種計算機程序設(shè)計的語言。它既具有高級語言的優(yōu)勢,又具有匯編語言的特點。它既可以作為系統(tǒng)設(shè)計語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴硬件的應(yīng)用程序。因此,它的應(yīng)用范圍非常廣泛,不僅僅是在各種軟件開發(fā)上,而且各類科學(xué)研究都會用到C語言,一些具體應(yīng)用,比如單片機以及嵌入式系統(tǒng)開發(fā)。 首先新建一個工程文件,點擊“Project->New Project”菜單,選擇工程文件要存放的路徑 ,輸入工程文件名“*”, 

50、;最后單擊保存。在彈出的對話框中選擇 CPU 廠商及型號選擇好Atmel公司的AT89S52后,單擊確定。然后新建一個“*.C”文件,保存。保存好后把此文件加入到工程中,再打開,輸入本設(shè)計的總程序,再編譯。要生成“*.hex”燒寫文件,先單擊Options for Target,在框圖中,我們單擊 Output,選中Create HEX F,再單擊“確定”。打開文件夾*,查看是否生成了HEX文件。如果沒有生成,在執(zhí)行一遍步驟。4.1.2系統(tǒng)硬件設(shè)計環(huán)境與電路的繪制本次設(shè)計采用Proteus仿真工具及環(huán)境。Proteus

51、60;與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU 的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。繪制電路圖,首先單擊繪圖工具欄中的按鈕,再單擊對象選擇按鈕P,出現(xiàn)挑選元件對話框,在元件列表中左鍵選取AT89C52,在原理圖編輯窗口中適當(dāng)?shù)奈恢脝螕糇箧I,這樣AT89C52就被放到原理圖編輯窗口中了,同樣放置TLC5615、DIPSW3、晶

52、振、電解電容、電阻等須用到的電氣元件及電源。右擊選元件后再左擊即可編輯元件的屬性,也可以右擊后在快捷菜單中選擇命令Edit Prorerties,然后設(shè)置元器件的參數(shù)。然后進行元器件之間的連線,保存文件。繪制電路圖完成后,對AT89C51的屬性進行編輯時要加入仿真文件,在Program File中單擊出現(xiàn)文件瀏覽對話框,找出Keil編譯程序后生成的*.hex文件,單擊確定完成添加文件,單擊OK退出。點擊運行按鈕,進行仿真。如若出現(xiàn)問題,進行調(diào)試。4.2系統(tǒng)出現(xiàn)的問題:本設(shè)計軟件與硬件關(guān)系不是十分緊密,故在完成硬件及軟件調(diào)試后,聯(lián)調(diào)難度不大。測試中,誤差來源主要有以下幾點:(

53、1)示波器本身在測量上存在誤差。 (2)AT89C52參考時鐘芯片晶振誤差。 (3)由于布線非專業(yè)布線,未考慮到布線對信號的影響,且手工焊接質(zhì)量難以保證,故此造成雜波頻率疊加也會影響頻率值精度。4.3硬件靜態(tài)的調(diào)試故障措施:(1)排除邏輯故障 這類故障往往由于設(shè)計和加工制板過程中工藝性錯誤所造成的。主要包括錯線、開路、短路。排除的方法是首先將加工的印制板認(rèn)真對照原理圖,看兩者是否一致。應(yīng)特別注意電源系統(tǒng)檢查,以防止電源短路和極性錯誤,并重點檢查系統(tǒng)總線(地址總線、數(shù)據(jù)總線和控制總線)是否存在相互之間短路或與其它信號線路短路。必要時利用數(shù)字萬用表的短路測試功能,可以

54、縮短排錯時間。(2)排除元器件失效 造成這類錯誤的原因有兩個:一個是元器件買來時就已壞了;另一個是由于安裝錯誤,造成器件燒壞??梢圆扇z查元器件與設(shè)計要求的型號、規(guī)格和安裝是否一致。在保證安裝無誤后,用替換方法排除錯誤。(3)排除電源故障 在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,若在5V4.8V之間屬正常。若有高壓,聯(lián)機仿真器調(diào)試時,將會損壞仿真器等,有時會使應(yīng)用系統(tǒng)中的集成塊發(fā)熱損壞。(4)聯(lián)機仿真調(diào)試聯(lián)機仿真必須借助仿真開發(fā)裝置、示波器、萬用表等工具。這些工具是單片機開發(fā)的最基本

55、工具。 信號線是聯(lián)絡(luò)AT89C52和外部器件的紐帶,如果信號線連結(jié)錯誤或時序不對,那么都會造成對外圍電路讀寫錯誤。51系列單片機的信號線大體分為讀、寫信號線、片選信號線、時鐘信號線、外部程序存貯器讀選通信號(PSEN)、地址鎖存信號(ALE)、復(fù)位信號等幾大類。這些信號大多屬于脈沖信號,對于脈沖信號借助示波器(這里指通用示波器)用常規(guī)方法很難觀測到,必須采取一定措施才能觀測到。應(yīng)該利用軟件編程的方法來實現(xiàn)。例如對片選信號,運行下面的小程序就可以檢測出譯碼片選信號是否正常。五、仿真圖及結(jié)果分析 三角波仿真圖(按下開關(guān)S1)圖10.三角波仿真圖上圖所示是三角波,幅值大小為5.0

56、V,周期為250ms,頻率為4Hz。要想獲得不同的幅值或頻率,可以在程序中進行重新設(shè)置初值和范圍。鋸齒波仿真圖(按下開關(guān)S2)圖11.鋸齒波仿真圖上圖所示是鋸齒波,幅值大小為5.0V,周期為125ms,頻率為8Hz。要想獲得不同的幅值或頻率,可以在程序中進行重新設(shè)置初值和范圍。正弦波仿真圖(按下開關(guān)S3)圖12.正弦波仿真圖上圖所示是三角波,幅值大小為2.5V,周期為60ms,頻率為16.7Hz。要想獲得不同的幅值或頻率,可以在程序中進行重新設(shè)置初值和范圍。六、結(jié)束語通過此次設(shè)計的圓滿完成,我感慨頗多。在著手設(shè)計的這段日子里,我又學(xué)到了很多東西。以前沒做過D/A轉(zhuǎn)換的設(shè)計,這次就要對TLC56

57、15芯片進行了解,他的內(nèi)部結(jié)構(gòu),與單片機的連接方法等,這讓我更為深刻的體會到把所學(xué)的知識運用到現(xiàn)實的復(fù)雜,把各門課程綜合起來解決一個問題的重要性。而且只有通過某一個特定的要求,我們學(xué)習(xí)知識運用知識的能力才會更快更好地提升。就這次設(shè)計而言,正因為遇到了各種困難,才加速了我運用知識解決問題的能力。如果是平時,只會課本是課本,不會靈活應(yīng)用,也不會深入了解。從這次設(shè)計我得出我們要多多參與實踐,在實踐中提升自己。同時也發(fā)現(xiàn)自己有很多不足之處,比如Proteus軟件就不夠熟悉,畫圖時不夠流暢。還有c語言的編程有待提高,單片機與各芯片接口的運用還了解不深,這次設(shè)計完成后。自己一定得好好重溫一下單片機。

58、60;當(dāng)然,這次設(shè)計的順利完成,離不開班上同學(xué)的耐心幫助,在此,我對所有幫助過我的同學(xué)表示我真摯的感謝!參考文獻1 程全 基于AT89C52實現(xiàn)的多種波形發(fā)生器的設(shè)計J. 周口:周口師范學(xué)院學(xué)報,2005. 2 周明德 微型計算機系統(tǒng)原理及應(yīng)用M.北京:清華大學(xué)出版社,2002.3 劉樂善微型計算機接口技術(shù)及應(yīng)用M.北京:北京航空航天大學(xué)出版社,2001. 4 童詩白模擬電路技術(shù)基礎(chǔ)M.北京:高等教育出版社,2000.5 杜華.任意波形發(fā)生器及應(yīng)用J.國外電子測量技術(shù),2005. 6 張友德單片微型機原理、應(yīng)用與實踐M.上海:復(fù)旦大學(xué)

59、出版社,2004.7 程朗基于8051單片機的雙通道波形發(fā)生器的設(shè)計與實現(xiàn)J.計算機工程與應(yīng)用,2004.8 張永瑞電子測量技術(shù)基礎(chǔ)M.西安:西安電子科技大學(xué)出版社,2006.9 譚浩強C程序設(shè)計(第2版)M.北京:清華大學(xué)出版社 1999.10 謝維成等單片機原理與應(yīng)用及C51程序設(shè)計(第2版)M.北京:清華大學(xué)出版社,2009. 11 李朝青單片機原理及接口技術(shù)M.北京:北京航空航天大學(xué)出版社,1994附錄附錄一:智能信號發(fā)生器總接線圖圖13.智能信號發(fā)生器總接線圖附錄二:總程序#include<reg51.h>#include<intrins.h>#include<stdio.h>sbit SCK=P15;sbit CS=P16;sbit DIN=P17;sbit k=P30;sbit m=P31;sbit n=P32;unsigned char code type25

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論