版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、成績優(yōu) 良 中 及格 不及格課 程 設 計課程名稱單片機原理及應用課題名稱波形發(fā)生器設計專 業(yè)電氣工程及其自動化班 級1281班學 號姓 名朱 英指導老師周 煉2015年6月19日電氣信息學院課程設計任務書課題名稱波形發(fā)生器設計姓 名朱 英專業(yè)電氣工程及其自動化化班級1281班學號指導老師周煉課程設計時間2015年6月8日-2015年6月19日一、任務及要求設計任務: 本課題要求以MCS-51系列單片機為核心,用集成電路組成鋸齒波、方波和三角波發(fā)生器。 (1)輸出波形至少包括方波、三角波、鋸齒波;(2)頻率范圍在一定范圍內可調:(3)輸出電壓均無明顯失真;設計要求:(1)確定系統(tǒng)設計方案;(2
2、)進行系統(tǒng)的硬件設計;(3)完成應用程序設計; (4) 應用系統(tǒng)的硬件和軟件的調試。二、進度安排第一周:周一:集中布置課程設計任務和相關事宜,查資料確定系統(tǒng)總體方案。周二周三:完成硬件設計和電路連接周四周日:完成軟件設計第二周:周一周三:程序調試周四周五:設計報告撰寫。周五進行答辯和設計結果檢查。三、參考資料1、王迎旭等.單片機原理及及應用. 2版.機械工業(yè)出版社,20122、胡漢才.單片機原理及其接口技術.3版.清華大學出版社,2010.3、戴燦金.51單片機及其C語言程序設計開發(fā)實例.清華大學出版社,2010目 錄第1章 總體方案設計11.1 系統(tǒng)總體框圖設計11.2系統(tǒng)的主要性能指標22
3、.3 總體設計思路21.4元器件的選擇2第2章 硬件電路設計32.1 單片機晶振及復位電路32.2 單片機與D/A連接圖42.3 按鍵電路圖5第3章 軟件設計53.1 主程序模塊63.2 鋸齒波程序模塊63.3 三角波程序模塊83.4 方波程序模塊93.5 正弦波程序模塊10第4章 調試114.1調試步驟114.2仿真結果12第5章 總結14附 錄15附錄A:波形發(fā)生器原理圖15附錄B:程序清單16第1章 總體方案設計1.1 系統(tǒng)總體框圖設計通過查閱相關的資料,本設計采用單片機(AT89S52)和數(shù)模轉換芯片(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)生及幅值調節(jié)的功能。 按鈕開關單片機控制單元D/A示波器 圖1-1系統(tǒng)原理框圖1.2系統(tǒng)的主要性能指標主要功能是實現(xiàn)利用單片機AT89S52和8位D/A轉換芯片DAC0832共同實現(xiàn)鋸齒波、三角波,方波,正弦波這四種常見波形的發(fā)生,并且通過按鍵利用DAC接口實現(xiàn)波形發(fā)生器可以產(chǎn)生鋸齒波、三角波、方波和正弦波等常用標準波形。將P1.0,P1.2,P1.4和P1.6分別作為這四種波的控制位,
5、當相應的控制鍵按下后,出現(xiàn)相應的波形。1.3 總體設計思路 本次設計結合D/A和A/D轉換,用鍵盤輸入來選擇DAC0832的輸出波形,再通過ADC0832采集后在PC機上以圖形方式顯示。設計要求該波形發(fā)生器能產(chǎn)生鋸齒波、三角波、方波等形狀的波形,頻率和幅度可調。不同的波形主要是由輸入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轉換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉換。 圖1-3 單片機DAC0832第2章 硬件電路設計2.1 單片機晶振及復位電路單片機晶振電路:對于80C51一般的晶振頻率可以在1.2MHz12MHz之間選擇,這,里電容C2、C3可以對應的選擇10pF30pF。當使用89C55時晶振頻率可以提高到24MHZ。對于本設計的電容C2、C3用22pF,陶瓷電容C1位10uF,晶振選用12MHz。晶振電路如下圖2-1所示,一
7、條引腳接在XTAL1,另一條接在XTAL2。單片機的復位電路:為了防止程序執(zhí)行過程中失步或運行紊亂,此處采用了上電復位電路,電路圖如下圖所示: 圖2-1 單片機晶振及復位電路2.2 單片機與D/A連接圖 圖2-2 單片機與D/A連接圖2.3 按鍵電路圖 圖2-3 案件電路圖第3章 軟件設計此次課程設計使用的軟件為Keil uVision4和protues。3.1 主程序模塊 根據(jù)功能,系統(tǒng)軟件設計分成幾個模塊編程:主程序模塊,鋸齒波程序模塊,三角波程序模塊,正弦波程序模塊,方波程序模塊,延時程序模塊。 圖3-1 主程序流程圖 下面要實現(xià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轉換 INC A ;累加器內容加一 AJMP LOOP ; 連續(xù)輸出波形 程序從標號LOOP處執(zhí)行到指令到執(zhí)行AJMP LOOP共需5個機器周期,采用12MHZ的晶振,
9、一個機器周期為1us,則每個階梯的時間為t=5*1us,一個正向階梯波的總周期的總時間為T=255*t=1275us,即此階梯波的重復頻率為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 三角波程序模塊 在以上這個正向的鋸齒波的前提下,若要獲得負向的鋸齒波只需將以上程序中的指令INCA換成指令DECA即可,如果想獲得任意起始電壓和終止電壓的波形,則需先確定起始電壓和終止電壓所對應的數(shù)字。 程序中首先從起始電壓對應的數(shù)字量開始輸出,當達到終止電壓對應的數(shù)字量時返回,如此反復。將正向鋸齒波與負向鋸齒波組合起來就可以獲得三角波。圖3-4 三角波程序流程圖三角波程序如下: MOV DPTR,#7FFFH ;DAC0832地址TRI: MOV A,#00H ;三
11、角波UP: MOVX DPTR,A ;啟動D/A轉換 INC A ;上升沿 CJNE A,#0FFH,UPDOWN: MOVX DPTR,A ;啟動D/A轉換 DEC A ;下降沿 CJNE A,#00H,DOWN AJMP UP ;連續(xù)輸出波形3.4 方波程序模塊方波信號也是波形發(fā)生器中常用的一種信號,下面的程序可以從DAC的輸出端得到矩形波,當延時子程序DELAY1與DELAY2的延時時間大體相同時即為方波,改變延時時間可得到不同占空比的矩形波,上限電平及上限電平對應的數(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ù)對稱關系,復制Pi/2 Pi區(qū)間的值,將0Pi區(qū)間各點根據(jù)求補即得Pi2Pi區(qū)間各值,將得到的這些數(shù)據(jù)根據(jù)所用DAC的位數(shù)進行量化,得到相應的數(shù)字值,正弦波波形通過查表指令得出。程序太長,見附錄。 圖3-6 正
13、弦波程序流程圖第4章 調試4.1調試步驟1)輸入源程序輸入源程序時,應以西文方式輸入字母和符號,且中文注釋前要加分號。2)對源程序進行匯編和糾錯 根據(jù)自動匯編提供的錯誤信息逐條糾正錯誤,直至匯編信息提示無誤。 3)確定調試方案在調試程序前認真分析源程序,確定各功能程序運行的預期結果。然后結合源程序應達到的結果,通過某些關鍵參數(shù)和實驗現(xiàn)象檢驗程序運行結果正確與否。并針對具體的分析和觀察對象選擇較合適的調試方法。如單步運行、跟蹤運行、連續(xù)運行、快速運行至光標處、設置斷點等調試方法。 4)調試程序 調試子程序。由于程序比較多,整體調試不容易發(fā)現(xiàn)和改正錯誤,故采取子程序調試的方法,但要明確子程序的具體
14、功能。例如:調試顯示子程序時,只將顯示子程序進行匯編,確認無誤后單步執(zhí)行,觀察CPU窗口和DATA窗口以及CODE窗口相應單元的變化是否跟預期的一樣。如果有問題找出問題所在。采取各個擊破的方法調試好各個子程序。確定各子程序無誤后,再調試完整的程序,要注意各子程序之間的銜接以及和主程序之間的調用和返回。運行后,觀察有無顯示,顯示的變化過程是否正確。若運行結果不正確,首先應根據(jù)程序運行的實際現(xiàn)象分析判斷哪些因素可引起相關故障,再通過調試方法逐一認證和排除。通過反復調試,發(fā)現(xiàn)并排除軟件與硬件存在的各類問題,以滿足系統(tǒng)設計的預期目的。 4.2仿真結果1) 鋸齒波仿真圖圖4-1 鋸齒波仿真2)三角波仿真
15、圖圖4-2 三角波仿真3) 方波仿真圖圖4-3 方波的仿真4)正弦波仿真圖圖4-4 正弦波的仿真第5章 總結 兩周的課程設計很快就這樣過去了,經(jīng)過此課程設計已經(jīng)了解了DAC0832的基本的功能的實現(xiàn)和開關的操作。在這次的軟件設計中,程序設計采用的是匯編語言。匯編語言具有速度快,可以直接對硬件進行操作的優(yōu)點,它可以極好的發(fā)揮硬件的功能。但是匯編語言也存在編寫的代碼非常難懂,不好維護,難于調試的缺點。因此,在大型程序的設計中,多采用C語言進行程序編譯。C語言簡潔高效,是最貼近硬件的高級編程語言,現(xiàn)在單片機產(chǎn)品推出時紛紛配套了C語言編譯器,應用廣泛。不過就本次課程設計來說,匯編語言還是適用的。在這次
16、的硬件設計中,我遇到了一些問題,當我把電路搭建好以后,用PROTEUS去仿真,可是在電腦上無法仿真,發(fā)現(xiàn)電腦的系統(tǒng)有問題,經(jīng)過重裝系統(tǒng)得以解決為。在調試程序前,一定要預先將源程序分析透徹,在此基礎上訓練如何通過實驗現(xiàn)象分析和判斷產(chǎn)生故障的原因及故障可能存在的大致范圍;靈活運用開發(fā)系統(tǒng)所提供的各種調試方法,快速有效地排查和縮小故障范圍。通過反復調試,不斷地分析和排除故障,調試軟件和硬件的能力及速度。調試程序時,要結合能反映故障存在與否的參數(shù)變化、運行路徑變化、顯示內容變化等,選擇合適的觀測點和觀測對象,再運用適當?shù)恼{試方法,快速地檢驗調試結果,由此分析和判斷故障點??傮w來說,這次單片機的課程設計
17、使我受益匪淺。在摸索該如何設計電路使之實現(xiàn)所需功能的過程中,特別有趣,培養(yǎng)了我的設計思維,增加了實際操作能力。在讓我體會到了設計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。最后,在實習之后,我們了解到,在設計程序時,不能妄想一次就將整個程序設計好,反復修改、不斷改進是程序設計的必經(jīng)之路;要養(yǎng)成注釋程序的好習慣,一個程序的完美與否不僅僅是實現(xiàn)功能,而應該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在實習過程中遇到問題是很正常的,但我們應該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。但是從中學到的知識會讓我受益終身。發(fā)現(xiàn)、提出、分析、解決問題和實踐能力提高
18、都會受益于我在以后的學習、工作和生活中。附 錄附錄A:波形發(fā)生器原理圖附錄B:程序清單ORG 0000HSTART:LJMP MAINORG 0003H ;外部中斷 入口LJMP INSER ;轉到中斷服務程序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 ;中斷服務程序,查詢按鍵SJMP L1LL1: MOV 20H,#00H SETB 20H.0 ;設置階梯波標志SJMP RTL1: JNB P1.2, LL2SJMP L2LL2: MOV 20H,#00HSETB 20H.1 ;設三角梯波標志 SJMP RTL2: JNB P1.4, LL3SJMP L3LL3: MOV 20H,#00HSETB 20H.2 ;設置方波標志 SJMP RTL3: JNB P1.6, LL4SJMP RTLL4: MOV 20H,#00HSETB 20H.3 ;設置正弦波標志 RT: RETI ;中斷返回ST: MOV A,#00H ;階梯波LOO
20、PP: MOVX DPTR,A ;啟動D/A轉換 INC A JB 20H.0,LOOPP ;連續(xù)輸出波形 LJMP HERE TRI: MOV A,#00H ;三角波UP: MOVX DPTR,A ;啟動D/A轉換 INC A ;上升沿nopnop CJNE A,#0FFH,UPDOWN: MOVX DPTR,A ;啟動D/A轉換 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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲線上活動策劃方案
- 沈陽理工大學《工程制圖A》2022-2023學年第一學期期末試卷
- 沈陽理工大學《大學生健康教育》2022-2023學年第一學期期末試卷
- 沈陽理工大學《材料工程測試技術》2022-2023學年第一學期期末試卷
- 果汁全國總代理合同模板
- 2024年九年級語文下冊第五單元17屈原節(jié)選同步練習含解析新人教版
- 2024委托調查合同模板
- 韓非子-文白對照
- 2024房房租賃合同范本簡單
- 2024合同、合同編號及下單管理規(guī)定
- 《演講與口才》(雙色2版)-課程標準
- 產(chǎn)品召回追溯演練記錄和報告
- 社區(qū)法律知識講座
- DB43-T 1878-2020 電能過濾器通用技術規(guī)范
- 大數(shù)據(jù)與會計論文
- 人民武裝工作概述課件
- 高三定語從句復習公開課 全國一等獎
- Intercultural Communication 跨文化傳播-暨南大學中國大學mooc課后章節(jié)答案期末考試題庫2023年
- 不穩(wěn)定血紅蛋白病
- 六年級上冊數(shù)學教學設計-第五單元 數(shù)據(jù)處理∣北師大版
- 免費下載裝修合同范本
評論
0/150
提交評論