版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、成績優(yōu) 良 中 及格 不及格課 程 設(shè) 計課程名稱單片機原理及應(yīng)用課題名稱波形發(fā)生器設(shè)計專 業(yè)電氣工程及其自動化班 級1281班學(xué) 號姓 名朱 英指導(dǎo)老師周 煉2015年6月19日電氣信息學(xué)院課程設(shè)計任務(wù)書課題名稱波形發(fā)生器設(shè)計姓 名朱 英專業(yè)電氣工程及其自動化化班級1281班學(xué)號指導(dǎo)老師周煉課程設(shè)計時間2015年6月8日-2015年6月19日一、任務(wù)及要求設(shè)計任務(wù): 本課題要求以MCS-51系列單片機為核心,用集成電路組成鋸齒波、方波和三角波發(fā)生器。 (1)輸出波形至少包括方波、三角波、鋸齒波;(2)頻率范圍在一定范圍內(nèi)可調(diào):(3)輸出電壓均無明顯失真;設(shè)計要求:(1)確定系統(tǒng)設(shè)計方案;(2
2、)進行系統(tǒng)的硬件設(shè)計;(3)完成應(yīng)用程序設(shè)計; (4) 應(yīng)用系統(tǒng)的硬件和軟件的調(diào)試。二、進度安排第一周:周一:集中布置課程設(shè)計任務(wù)和相關(guān)事宜,查資料確定系統(tǒng)總體方案。周二周三:完成硬件設(shè)計和電路連接周四周日:完成軟件設(shè)計第二周:周一周三:程序調(diào)試周四周五:設(shè)計報告撰寫。周五進行答辯和設(shè)計結(jié)果檢查。三、參考資料1、王迎旭等.單片機原理及及應(yīng)用. 2版.機械工業(yè)出版社,20122、胡漢才.單片機原理及其接口技術(shù).3版.清華大學(xué)出版社,2010.3、戴燦金.51單片機及其C語言程序設(shè)計開發(fā)實例.清華大學(xué)出版社,2010目 錄第1章 總體方案設(shè)計11.1 系統(tǒng)總體框圖設(shè)計11.2系統(tǒng)的主要性能指標(biāo)22
3、.3 總體設(shè)計思路21.4元器件的選擇2第2章 硬件電路設(shè)計32.1 單片機晶振及復(fù)位電路32.2 單片機與D/A連接圖42.3 按鍵電路圖5第3章 軟件設(shè)計53.1 主程序模塊63.2 鋸齒波程序模塊63.3 三角波程序模塊83.4 方波程序模塊93.5 正弦波程序模塊10第4章 調(diào)試114.1調(diào)試步驟114.2仿真結(jié)果12第5章 總結(jié)14附 錄15附錄A:波形發(fā)生器原理圖15附錄B:程序清單16第1章 總體方案設(shè)計1.1 系統(tǒng)總體框圖設(shè)計通過查閱相關(guān)的資料,本設(shè)計采用單片機(AT89S52)和數(shù)模轉(zhuǎn)換芯片(DAC0832)實現(xiàn)波形的產(chǎn)生,波形的產(chǎn)生由程序控制,向D/A的輸入端按一定的規(guī)律發(fā)
4、送數(shù)據(jù),經(jīng)過D/A和74LS21輸出,通過兩個中斷控制不同波形的產(chǎn)生??傮w框圖如圖1-1所示,此方案通過編程簡化了外部電路,原理簡單,容易實現(xiàn)。使用4個按鍵共同實現(xiàn)鋸齒波,三角波,方波,正弦波這四種常見波形的產(chǎn)生及幅值調(diào)節(jié)的功能。 按鈕開關(guān)單片機控制單元D/A示波器 圖1-1系統(tǒng)原理框圖1.2系統(tǒng)的主要性能指標(biāo)主要功能是實現(xiàn)利用單片機AT89S52和8位D/A轉(zhuǎn)換芯片DAC0832共同實現(xiàn)鋸齒波、三角波,方波,正弦波這四種常見波形的發(fā)生,并且通過按鍵利用DAC接口實現(xiàn)波形發(fā)生器可以產(chǎn)生鋸齒波、三角波、方波和正弦波等常用標(biāo)準(zhǔn)波形。將P1.0,P1.2,P1.4和P1.6分別作為這四種波的控制位,
5、當(dāng)相應(yīng)的控制鍵按下后,出現(xiàn)相應(yīng)的波形。1.3 總體設(shè)計思路 本次設(shè)計結(jié)合D/A和A/D轉(zhuǎn)換,用鍵盤輸入來選擇DAC0832的輸出波形,再通過ADC0832采集后在PC機上以圖形方式顯示。設(shè)計要求該波形發(fā)生器能產(chǎn)生鋸齒波、三角波、方波等形狀的波形,頻率和幅度可調(diào)。不同的波形主要是由輸入DAC0832的不同規(guī)律的數(shù)據(jù),波形的頻率控制是通過對輸出數(shù)據(jù)的時間間隔控制。幅度是通過改變輸出數(shù)據(jù)的大小來控制的。1.4元器件的選擇用單片80C51作為系統(tǒng)的主控核心。單片機具有體積小,使用靈活的,易于人機對話和良好的數(shù)據(jù)處理,有較強的指令尋址和運算功能等優(yōu)點。且單片機功耗低,價格低廉的優(yōu)點。在8051單片機的控
6、制下,產(chǎn)生三角波,鋸齒波,方波以及正弦波,各種波形所采用的硬件接口都是一樣的,由于控制程序不同而產(chǎn)生不同的波形。 圖1-2 單片機80C51DAC0832是雙列直插式8位D/A轉(zhuǎn)換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。 圖1-3 單片機DAC0832第2章 硬件電路設(shè)計2.1 單片機晶振及復(fù)位電路單片機晶振電路:對于80C51一般的晶振頻率可以在1.2MHz12MHz之間選擇,這,里電容C2、C3可以對應(yīng)的選擇10pF30pF。當(dāng)使用89C55時晶振頻率可以提高到24MHZ。對于本設(shè)計的電容C2、C3用22pF,陶瓷電容C1位10uF,晶振選用12MHz。晶振電路如下圖2-1所示,一
7、條引腳接在XTAL1,另一條接在XTAL2。單片機的復(fù)位電路:為了防止程序執(zhí)行過程中失步或運行紊亂,此處采用了上電復(fù)位電路,電路圖如下圖所示: 圖2-1 單片機晶振及復(fù)位電路2.2 單片機與D/A連接圖 圖2-2 單片機與D/A連接圖2.3 按鍵電路圖 圖2-3 案件電路圖第3章 軟件設(shè)計此次課程設(shè)計使用的軟件為Keil uVision4和protues。3.1 主程序模塊 根據(jù)功能,系統(tǒng)軟件設(shè)計分成幾個模塊編程:主程序模塊,鋸齒波程序模塊,三角波程序模塊,正弦波程序模塊,方波程序模塊,延時程序模塊。 圖3-1 主程序流程圖 下面要實現(xiàn)的各種波形通過開關(guān)的切換過程的流程圖,按下一個開關(guān)通過P1
8、.0為0則輸出鋸齒波,,P1.2為0輸出三角波,P1.4為0輸出方波,P1.6為0輸出正弦波。 圖3-2 波形選擇流程圖3.2 鋸齒波程序模塊8051單片機的累加器A從0開始循環(huán)增量,每增量一次向DAC0832寫入一個數(shù)據(jù),得到一個輸出電壓,這樣可以獲得一個鋸齒波。圖3-3 鋸齒波程序流程圖程序如下: MOV DPTR,#7FFFH ;DAC0832地址 ST:MOV A,#00H LOOP:MOVX DPTR,A ;啟動D/A轉(zhuǎn)換 INC A ;累加器內(nèi)容加一 AJMP LOOP ; 連續(xù)輸出波形 程序從標(biāo)號LOOP處執(zhí)行到指令到執(zhí)行AJMP LOOP共需5個機器周期,采用12MHZ的晶振,
9、一個機器周期為1us,則每個階梯的時間為t=5*1us,一個正向階梯波的總周期的總時間為T=255*t=1275us,即此階梯波的重復(fù)頻率為F=1/T=78HZ.由此可見,由軟件來產(chǎn)生波形,其頻率是較低的。要想提高頻率,可通過改進程序,改變這種波形的周期,可采用延時的方法,程序若如下: MOV DPTR,#7FFFH ;DAC0832地址 ST:MOV A,#00HLOOP:MOVX DPTR,A ;啟動D/A變換ACALL DELAY ;延時INC A AJMP LOOP ;連續(xù)輸出波形DELAY:MOV R4,#0FFH ;延時子程序LOOP1:MOV R5,#10HLOOP2:NOP D
10、JNZ R5,LOOP2 DJNZ R4,LOOP1 RET 在延時子程序中改變延時時間的長短,即可改變輸出波形的周期。3.3 三角波程序模塊 在以上這個正向的鋸齒波的前提下,若要獲得負向的鋸齒波只需將以上程序中的指令I(lǐng)NCA換成指令DECA即可,如果想獲得任意起始電壓和終止電壓的波形,則需先確定起始電壓和終止電壓所對應(yīng)的數(shù)字。 程序中首先從起始電壓對應(yīng)的數(shù)字量開始輸出,當(dāng)達到終止電壓對應(yīng)的數(shù)字量時返回,如此反復(fù)。將正向鋸齒波與負向鋸齒波組合起來就可以獲得三角波。圖3-4 三角波程序流程圖三角波程序如下: MOV DPTR,#7FFFH ;DAC0832地址TRI: MOV A,#00H ;三
11、角波UP: MOVX DPTR,A ;啟動D/A轉(zhuǎn)換 INC A ;上升沿 CJNE A,#0FFH,UPDOWN: MOVX DPTR,A ;啟動D/A轉(zhuǎn)換 DEC A ;下降沿 CJNE A,#00H,DOWN AJMP UP ;連續(xù)輸出波形3.4 方波程序模塊方波信號也是波形發(fā)生器中常用的一種信號,下面的程序可以從DAC的輸出端得到矩形波,當(dāng)延時子程序DELAY1與DELAY2的延時時間大體相同時即為方波,改變延時時間可得到不同占空比的矩形波,上限電平及上限電平對應(yīng)的數(shù)字量可用前面講過的方法獲得。 圖3-5 方波程序流程圖程序如下:MOV DPTR,#7FFFH ;DAC0832地址SQ
12、: MOV A,#LOW ;取低電平數(shù)字量 MOVX DPTR,A ;DAC輸出低電平 ACALL DELAY1 ;延時1 MOV A,#HIGH MOVX DPTR,A ;DAC輸出高電平 ACALL DELAY2 ;延時2 AJMP SQ ;連續(xù)輸出波形 以上程序中未列出延時子程序,可仿照前面鋸齒波中的延時子程序編寫。3.5 正弦波程序模塊計算0Pi/2區(qū)間N/4個離散的正弦值,根據(jù)對稱關(guān)系,復(fù)制Pi/2 Pi區(qū)間的值,將0Pi區(qū)間各點根據(jù)求補即得Pi2Pi區(qū)間各值,將得到的這些數(shù)據(jù)根據(jù)所用DAC的位數(shù)進行量化,得到相應(yīng)的數(shù)字值,正弦波波形通過查表指令得出。程序太長,見附錄。 圖3-6 正
13、弦波程序流程圖第4章 調(diào)試4.1調(diào)試步驟1)輸入源程序輸入源程序時,應(yīng)以西文方式輸入字母和符號,且中文注釋前要加分號。2)對源程序進行匯編和糾錯 根據(jù)自動匯編提供的錯誤信息逐條糾正錯誤,直至匯編信息提示無誤。 3)確定調(diào)試方案在調(diào)試程序前認(rèn)真分析源程序,確定各功能程序運行的預(yù)期結(jié)果。然后結(jié)合源程序應(yīng)達到的結(jié)果,通過某些關(guān)鍵參數(shù)和實驗現(xiàn)象檢驗程序運行結(jié)果正確與否。并針對具體的分析和觀察對象選擇較合適的調(diào)試方法。如單步運行、跟蹤運行、連續(xù)運行、快速運行至光標(biāo)處、設(shè)置斷點等調(diào)試方法。 4)調(diào)試程序 調(diào)試子程序。由于程序比較多,整體調(diào)試不容易發(fā)現(xiàn)和改正錯誤,故采取子程序調(diào)試的方法,但要明確子程序的具體
14、功能。例如:調(diào)試顯示子程序時,只將顯示子程序進行匯編,確認(rèn)無誤后單步執(zhí)行,觀察CPU窗口和DATA窗口以及CODE窗口相應(yīng)單元的變化是否跟預(yù)期的一樣。如果有問題找出問題所在。采取各個擊破的方法調(diào)試好各個子程序。確定各子程序無誤后,再調(diào)試完整的程序,要注意各子程序之間的銜接以及和主程序之間的調(diào)用和返回。運行后,觀察有無顯示,顯示的變化過程是否正確。若運行結(jié)果不正確,首先應(yīng)根據(jù)程序運行的實際現(xiàn)象分析判斷哪些因素可引起相關(guān)故障,再通過調(diào)試方法逐一認(rèn)證和排除。通過反復(fù)調(diào)試,發(fā)現(xiàn)并排除軟件與硬件存在的各類問題,以滿足系統(tǒng)設(shè)計的預(yù)期目的。 4.2仿真結(jié)果1) 鋸齒波仿真圖圖4-1 鋸齒波仿真2)三角波仿真
15、圖圖4-2 三角波仿真3) 方波仿真圖圖4-3 方波的仿真4)正弦波仿真圖圖4-4 正弦波的仿真第5章 總結(jié) 兩周的課程設(shè)計很快就這樣過去了,經(jīng)過此課程設(shè)計已經(jīng)了解了DAC0832的基本的功能的實現(xiàn)和開關(guān)的操作。在這次的軟件設(shè)計中,程序設(shè)計采用的是匯編語言。匯編語言具有速度快,可以直接對硬件進行操作的優(yōu)點,它可以極好的發(fā)揮硬件的功能。但是匯編語言也存在編寫的代碼非常難懂,不好維護,難于調(diào)試的缺點。因此,在大型程序的設(shè)計中,多采用C語言進行程序編譯。C語言簡潔高效,是最貼近硬件的高級編程語言,現(xiàn)在單片機產(chǎn)品推出時紛紛配套了C語言編譯器,應(yīng)用廣泛。不過就本次課程設(shè)計來說,匯編語言還是適用的。在這次
16、的硬件設(shè)計中,我遇到了一些問題,當(dāng)我把電路搭建好以后,用PROTEUS去仿真,可是在電腦上無法仿真,發(fā)現(xiàn)電腦的系統(tǒng)有問題,經(jīng)過重裝系統(tǒng)得以解決為。在調(diào)試程序前,一定要預(yù)先將源程序分析透徹,在此基礎(chǔ)上訓(xùn)練如何通過實驗現(xiàn)象分析和判斷產(chǎn)生故障的原因及故障可能存在的大致范圍;靈活運用開發(fā)系統(tǒng)所提供的各種調(diào)試方法,快速有效地排查和縮小故障范圍。通過反復(fù)調(diào)試,不斷地分析和排除故障,調(diào)試軟件和硬件的能力及速度。調(diào)試程序時,要結(jié)合能反映故障存在與否的參數(shù)變化、運行路徑變化、顯示內(nèi)容變化等,選擇合適的觀測點和觀測對象,再運用適當(dāng)?shù)恼{(diào)試方法,快速地檢驗調(diào)試結(jié)果,由此分析和判斷故障點??傮w來說,這次單片機的課程設(shè)計
17、使我受益匪淺。在摸索該如何設(shè)計電路使之實現(xiàn)所需功能的過程中,特別有趣,培養(yǎng)了我的設(shè)計思維,增加了實際操作能力。在讓我體會到了設(shè)計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。最后,在實習(xí)之后,我們了解到,在設(shè)計程序時,不能妄想一次就將整個程序設(shè)計好,反復(fù)修改、不斷改進是程序設(shè)計的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個程序的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在實習(xí)過程中遇到問題是很正常的,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。但是從中學(xué)到的知識會讓我受益終身。發(fā)現(xiàn)、提出、分析、解決問題和實踐能力提高
18、都會受益于我在以后的學(xué)習(xí)、工作和生活中。附 錄附錄A:波形發(fā)生器原理圖附錄B:程序清單ORG 0000HSTART:LJMP MAINORG 0003H ;外部中斷 入口LJMP INSER ;轉(zhuǎn)到中斷服務(wù)程序ORG 0030HMAIN:MOV DPTR,#7FFFH ;DAC0832地址SETB EX0 ;允許 中斷 SETB IT0 ;負邊沿觸發(fā)方式 SETB EA ;開中斷HERE: JB 20H.0,ST ;階梯波處理JB 20H.1,TRI ;三角波處理JB 20H.2,SQ ;方波處理JB 20H.3,SIN ;正弦波處理SJMP HERE ;等待中斷INSER:JNB P1.0,
19、 LL1 ;中斷服務(wù)程序,查詢按鍵SJMP L1LL1: MOV 20H,#00H SETB 20H.0 ;設(shè)置階梯波標(biāo)志SJMP RTL1: JNB P1.2, LL2SJMP L2LL2: MOV 20H,#00HSETB 20H.1 ;設(shè)三角梯波標(biāo)志 SJMP RTL2: JNB P1.4, LL3SJMP L3LL3: MOV 20H,#00HSETB 20H.2 ;設(shè)置方波標(biāo)志 SJMP RTL3: JNB P1.6, LL4SJMP RTLL4: MOV 20H,#00HSETB 20H.3 ;設(shè)置正弦波標(biāo)志 RT: RETI ;中斷返回ST: MOV A,#00H ;階梯波LOO
20、PP: MOVX DPTR,A ;啟動D/A轉(zhuǎn)換 INC A JB 20H.0,LOOPP ;連續(xù)輸出波形 LJMP HERE TRI: MOV A,#00H ;三角波UP: MOVX DPTR,A ;啟動D/A轉(zhuǎn)換 INC A ;上升沿nopnop CJNE A,#0FFH,UPDOWN: MOVX DPTR,A ;啟動D/A轉(zhuǎn)換 DEC A ;下降沿 CJNE A,#00H,DOWN JB 20H.1, UP ;連續(xù)輸出波形 LJMP HERESQ: MOV A,#00H ;方波 MOVX DPTR,A ;DAC輸出低電平 ACALL DELAY ;延時1 MOV A,#0FFH MOVX
21、 DPTR,A ;DAC輸出高電平 ACALL DELAY ;延時2 JB 20H.2, SQ ;連續(xù)輸出波形 LJMP HERESIN: MOV DPTR,#SINTAB ;正弦波MOV R0,#6DHLOOP: CLR AMOVC A,A+DPTRMOV R0,AINC DPTRINC R0CJNE R0,#80H,LOOPMOV DPTR,#7FFFH ;DAC0832端口地址MOV R0,#6DHLOOP1: MOV A,R0 ;取得第一個1/4周期的數(shù)據(jù)MOVX DPTR,A ;送往DAC0832INC R0CJNE R0,#7FH,LOOP1LOOP2: MOV A,R0 ;取得第
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴陽職業(yè)技術(shù)學(xué)院《塑料成型工藝及模具設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025海南省安全員-B證考試題庫及答案
- 貴陽人文科技學(xué)院《汽車?yán)碚摗?023-2024學(xué)年第一學(xué)期期末試卷
- 2025年重慶建筑安全員考試題庫附答案
- 廣州應(yīng)用科技學(xué)院《近代材料研究方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州現(xiàn)代信息工程職業(yè)技術(shù)學(xué)院《專業(yè)英語與文獻閱讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州衛(wèi)生職業(yè)技術(shù)學(xué)院《材料科學(xué)基礎(chǔ)B》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年湖北建筑安全員知識題庫附答案
- 2025云南建筑安全員B證考試題庫
- 2025年山西省安全員《A證》考試題庫
- 2025年廣西旅發(fā)南國體育投資集團限公司招聘高頻重點提升(共500題)附帶答案詳解
- 2024-2025學(xué)年銅官山區(qū)數(shù)學(xué)三年級第一學(xué)期期末調(diào)研試題含解析
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實踐指導(dǎo)材料之18:“7支持-7.1資源”(雷澤佳編制-2025B0)
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實踐指導(dǎo)材料之17:“6策劃-6.6合作”(雷澤佳編制-2025B0)
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實踐指導(dǎo)材料之16:“6策劃-6.5組織結(jié)構(gòu)”(雷澤佳編制-2025B0)
- 全國英語教師賽課一等獎七年級上冊(人教2024年新編)《Unit 7 Happy Birthday》教學(xué)設(shè)計
- 2024年世界職業(yè)院校技能大賽高職組“關(guān)務(wù)實務(wù)組”賽項參考試題庫(含答案)
- 江西省2023-2024學(xué)年高二上學(xué)期期末教學(xué)檢測數(shù)學(xué)試題 附答案
- 超市項目投標(biāo)書模板
- 耐火材料行業(yè)競爭格局分析(如市場份額、競爭優(yōu)劣勢等)
- 技術(shù)服務(wù)保障措施以及保障措施服務(wù)計劃書
評論
0/150
提交評論