單片機(jī)技術(shù)及應(yīng)用課程設(shè)計報告波形發(fā)生器_第1頁
單片機(jī)技術(shù)及應(yīng)用課程設(shè)計報告波形發(fā)生器_第2頁
單片機(jī)技術(shù)及應(yīng)用課程設(shè)計報告波形發(fā)生器_第3頁
單片機(jī)技術(shù)及應(yīng)用課程設(shè)計報告波形發(fā)生器_第4頁
單片機(jī)技術(shù)及應(yīng)用課程設(shè)計報告波形發(fā)生器_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)技術(shù)及應(yīng)用課程設(shè)計報告專 業(yè): 電子信息工程 班 級: 07302 (本) 姓 名: 指導(dǎo)教師: 二零一零 年 六 月 二十 目錄一 課程設(shè)計目的3二 課程設(shè)計題目描述和要求3三 課程設(shè)計報告內(nèi)容43.1波形圖思路43.2波形圖設(shè)計過程(方案設(shè)計與論證,調(diào)試與儀器說明)43.1.1鋸齒波模塊:43.1.2三角波模塊:63.1.3方波模塊:73.1.4正弦波模塊:93.1.5頂層模塊:113,1,6采用dac0832實現(xiàn)波形發(fā)生器的總程序模塊14四 原始硬件圖18五 改進(jìn)后的硬件圖.19六 總結(jié).20七 老師評語.22.參考文獻(xiàn)23 波形發(fā)生器 一 課程設(shè)計目的實現(xiàn)波形發(fā)生器可以產(chǎn)生鋸齒波

2、、三角波、方波和正弦波等常用標(biāo)準(zhǔn)波形。二 課程設(shè)計題目描述和要求利用dac接口實現(xiàn)波形發(fā)生器可以產(chǎn)生鋸齒波、三角波、方波和正弦波等常用標(biāo)準(zhǔn)波形。將p1.0,p1.2,p1.4和p1.6分別作為這四種波的控制位,當(dāng)相應(yīng)的控制鍵按下后,出現(xiàn)相應(yīng)的波形設(shè)計原理dac接口技術(shù)dac(digital-analog-conventor)的功能是將數(shù)字量轉(zhuǎn)化為與其成比例的模擬電壓或電流信號,輸出到儀表外部進(jìn)行各種控制dac芯片種類很多,有通用廉價的dac芯片,也有高速高精度及高分辨率的dac芯片在這里我們采用的的是dac0832各種類型的dac芯片都具有數(shù)字量輸入端,模擬量輸入端和基準(zhǔn)電壓端。數(shù)字量輸入端有

3、以下幾種類型:1無數(shù)據(jù)鎖存,2帶單數(shù)據(jù)鎖存器,3帶雙數(shù)據(jù)鎖存器,4可接收串行數(shù)字輸入。第一種在與單片機(jī)接口時,要外加鎖存器,第二種和第三種可直接與單片機(jī)接口,第四種與單片機(jī)接口十分簡單,接收數(shù)據(jù)較慢,適用于遠(yuǎn)距離現(xiàn)場控制的場合模擬量輸出有兩種方式:電壓輸出及電流輸出。電壓輸出的dac芯片相當(dāng)于一個電壓源,其內(nèi)阻很小,選用這種芯片時,與它匹配的電阻應(yīng)較大,電流輸出的芯片相當(dāng)于電流源,其內(nèi)阻較大,選用這種芯片時,負(fù)載電阻不可太大。在實際應(yīng)用中,常選用電流輸出的dac芯片實現(xiàn)電壓輸出三 課程設(shè)計報告內(nèi)容3.1波形圖思路在8051單片機(jī)的控制下,產(chǎn)生三角波,鋸齒波,方波以及正弦波,各種波形所采用的硬件

4、接口都是一樣的,由于控制程序不同而產(chǎn)生不同的波形3.2波形圖設(shè)計過程(方案設(shè)計與論證,調(diào)試與儀器說明) 將該任務(wù)分成六個模塊進(jìn)行設(shè)計,分別為:鋸齒波模塊,三角波模塊,方波模塊,正弦波模塊,然后是頂層模塊,最后是將所有模塊拼合成總體模塊 我們所涉及的電路:dac0832工作于單緩沖器方式,它的ile接+5v。/cs和/xfer相連后由8051的p2.7控制,/wr1和/wr2相連后由8051的/wr控制dac0832的地址為7fffh,工作于單緩沖器方式,執(zhí)行一次對dac0832的寫入操作即可完成一次d/a轉(zhuǎn)換。3.2.1鋸齒波模塊:8051單片機(jī)的累加器a從0開始循環(huán)增量,每增量一次向dac0

5、832寫入一個數(shù)據(jù),得到一個輸出電壓,這樣可以獲得一個正向的階梯波dac0832的分辨率為8位,如其滿足的電壓為5v,則一個階梯的幅度為 5v/(2*2*2*2*2*2*2*2)=19.5mv程序如下: 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個機(jī)器周期,采用12mhz的晶振,一個機(jī)器周期為1us,則每個階梯的時間為t=5*1us,一個正向階梯波的總周期的總時間為t=255*t

6、=1275us,即此階梯波的重復(fù)頻率為f=1/t=78hz.由此可見,由軟件來產(chǎn)生波形,其頻率是較低的。要想提高頻率,可通過改進(jìn)程序,減少執(zhí)行時間,但這種方法是有限的,根本的辦法還得靠改進(jìn)路. 圖8.13由圖8.13可見,由于每一個階梯波較小,總體看起來是一個鋸齒波.如果要改變這種波形的周期,可采用延時的方法,程序若如下: mov dptr,#7fffh ;dac0832地址st:mov a,#00hloop:movx dptr,a ;啟動d/a變換acall delay ;延時inc aajmp loop ;連續(xù)輸出波形delay:mov r4,#0ffh ;延時子程序loop1:mov r

7、5,#10hloop2:nopdjnz r5,loop2djnz r4,loop1ret在延時子程序中改變延時時間的長短,即可改變輸出波形的周期。鋸齒波波形:3.2.2三角波模塊:在以上這個正向的鋸齒波的前提下,若要獲得負(fù)向的鋸齒波只需將以上程序中的指令inca換成指令deca即可,如果想獲得任意起始電壓和終止電壓的波形,則需先確定起始電壓和終止電壓所對應(yīng)的數(shù)字。程序中首先從起始電壓對應(yīng)的數(shù)字量開始輸出,當(dāng)達(dá)到終止電壓對應(yīng)的數(shù)字量時返回,如此反復(fù)。將正向鋸齒波與負(fù)向鋸齒波組合起來就可以獲得三角波,程序如下: mov dptr,#7fffh ;dac0832地址tri: mov a,#00h ;

8、三角波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.2.3方波模塊:方波信號也是波形發(fā)生器中常用的一種信號,下面的程序可以從dac的輸出端得到矩形波,當(dāng)延時子程序delay1與delay2的延時時間大體相同時即為方波,改變延時時間可得到不同占空比的矩形波,上限電平及上限電平對應(yīng)的數(shù)字量可用前面講過的方法獲得。程序如下:mov dptr,#7fffh ;dac0832地址sq: mov a,#low

9、 ;取低電平數(shù)字量 movx dptr,a ;dac輸出低電平 acall delay1 ;延時1 mov a,#high movx dptr,a ;dac輸出高電平 acall delay2 ;延時2 ajmp sq ;連續(xù)輸出波形以上程序中未列出延時子程序,可仿照前面鋸齒波中的延時子程序編寫,輸出矩形波的占空比為t1/(t1+t2),輸出波形如圖8.15所示。改變延時值使t1=t2即可得到方波矩形波矩形波實驗圖3.2.4正弦波模塊:圖8.14利用dac接口實現(xiàn)正弦波發(fā)生器時,先要對正弦波模擬電壓進(jìn)行離散化。如圖8.14所示,對于一個正弦波取n等分離散點(diǎn),按定義計算出對應(yīng)于1,2,3.n各離

10、散點(diǎn)的數(shù)據(jù)值d1,d2,d3,d4.dn制成一個正弦表。因為正弦波在半周期內(nèi)是以極值點(diǎn)為中心對稱,而且正負(fù)波形為互補(bǔ)關(guān)系,故在制正弦表時只需進(jìn)行1/4周期,取0pi/2之間的數(shù)值,步驟如下:(1) 計算0pi/2區(qū)間n/4個離散的正弦值(2) 根據(jù)對稱關(guān)系,復(fù)制pi/2 pi區(qū)間的值(3) 將0pi區(qū)間各點(diǎn)根據(jù)求補(bǔ)即得pi2pi區(qū)間各值將得到的這些數(shù)據(jù)根據(jù)所用dac的位數(shù)進(jìn)行量化,得到相應(yīng)的數(shù)字值,依次存入ram或固化于eprom中,從而得到一個全周期的正弦編碼表程序如下:sin: mov dptr,#sintab ;正弦波 mov r0,#6dhloop: clr amovc a,a+dpt

11、rmov 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/4周期的數(shù)據(jù)movx dptr,a ;送往dac0832dec r0cjne r0,#6dh,loop2loop3: mov a,r0 ;取得第三個1/4周期的數(shù)據(jù)cpl a ;數(shù)據(jù)取反movx dptr,a ;送往dac0832inc r0

12、cjne r0,#7fh,loop3loop4: mov a,r0 ;取得第四個1/4周期的數(shù)據(jù)cpl a ;數(shù)據(jù)取反movx dptr,a ;送往dac0832dec r0cjne r0,#6dh,loop4jb 20h.3, loop1 ;輸出連續(xù)波形ljmp heresintab: db 7fh,89h,94h,9fh,0aah,0b4h,0beh,0c8h,0d1h,0d9hdb 0e0h,0e7h,0edh,0f2h,0f7h,0fah,0fch,0feh,0ffh正弦波圖3.2.5頂層模塊:根據(jù)按鍵按下的不同,中斷0對應(yīng)于不同的波形處理org 0000hstart:ljmp mai

13、norg 0003h ;外部中斷 入口ljmp inser ;轉(zhuǎn)到中斷服務(wù)程序org 0030hmain:mov dptr,#7fffh ;dac0832地址setb ex0 ;允許 中斷 setb it0 ;負(fù)邊沿觸發(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, ll1 ;中斷服務(wù)程序,查詢按鍵sjmp l1ll1: mov 20h,#00h setb 20h.0 ;設(shè)置階梯波標(biāo)志sjmp

14、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 ;中斷返回. ;波形程序略 end運(yùn)用proteus設(shè)計的波形發(fā)生器仿真原理圖如上圖是運(yùn)用proteus仿真的圖形,可是出現(xiàn)的圖形很不理想,所以進(jìn)行了改進(jìn)下圖為改進(jìn)后的同相比例運(yùn)算電路改

15、進(jìn)后的proteus仿真的圖形如下.元件列表stc89c51芯片 1塊dac0832芯片 1塊ua741cn芯片 一塊按鍵 4個電阻 10k 1個 電阻 0.22k 4個可提供在線的stc89c小系統(tǒng)板(其中包括了 晶振crystal 12hz有源電容 10u 一個 陶瓷電容 22pf 2個)導(dǎo)線若干還用到實驗室里的直流電壓源和示波器 74ls21引腳圖 ua741cn引腳圖3.2.6采用dac0832實現(xiàn)波形發(fā)生器的總程序模塊org 0000hstart:ljmp mainorg 0003h ;外部中斷 入口ljmp inser ;轉(zhuǎn)到中斷服務(wù)程序org 0030hmain:mov dptr

16、,#7fffh ;dac0832地址setb ex0 ;允許 中斷 setb it0 ;負(fù)邊沿觸發(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, 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)

17、志 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 ;階梯波loopp: 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 ;上升沿 cjne a,

18、#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 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,

19、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/4周期的數(shù)據(jù)movx dptr,a ;送往dac0832dec r0cjne r0,#6dh,loop2loop3: mov a,r0 ;取得第三個1/4周期的數(shù)據(jù)cpl a ;數(shù)據(jù)取反movx dptr,a ;送往dac0832inc r0cjne r0,

20、#7fh,loop3loop4: mov a,r0 ;取得第四個1/4周期的數(shù)據(jù)cpl a ;數(shù)據(jù)取反movx dptr,a ;送往dac0832dec r0cjne r0,#6dh,loop4jb 20h.3, loop1 ;輸出連續(xù)波形ljmp heresintab: db 7fh,89h,94h,9fh,0aah,0b4h,0beh,0c8h,0d1h,0d9hdb 0e0h,0e7h,0edh,0f2h,0f7h,0fah,0fch,0feh,0ffhdelay: mov r4,#0fh ;延時子程序loop11: mov r5,#10hloop22: nopnopnopdjnz r5

21、,loop22djnz r4,loop11retend原理是基于dac的電壓輸出與其數(shù)字輸入量成正比關(guān)系四 原始硬件圖可供在線下載的stc89c51小系統(tǒng)板實驗現(xiàn)象 按下階梯波鍵時 按下三角波鍵時 按下方波鍵時 按下正弦波鍵時 五 經(jīng)改進(jìn)后的硬件圖及改進(jìn)后的現(xiàn)象圖實驗現(xiàn)象階梯波形 三角波形 方波波形 按下正弦波波形鍵時出現(xiàn)的波形 (與正弦波有點(diǎn)出入)六 總結(jié) 組長:陳麗華 全程參與組員:李小兵 負(fù)責(zé)硬件焊接及調(diào)試張歡 負(fù)責(zé)方波模塊及ppt杜浩 負(fù)責(zé)正弦波模塊,有參與到硬件調(diào)試張浩 負(fù)責(zé)階梯波模塊和元器件購買李沖 負(fù)責(zé)三角波模塊和元器件購買 通過這次對波形發(fā)生器的設(shè)計和實踐,讓我們進(jìn)一步了解了設(shè)

22、計的程序,也讓我們了解了關(guān)于波形發(fā)生器的基本原理與設(shè)計理念,要設(shè)計一個電路要先用仿真仿真成功后才能實際節(jié)線和焊接,但是最后的成品卻不一定與仿真時完全一樣,因為在實際接線中有著各種個樣的條件制約著,例如做音樂發(fā)生器時在接蜂鳴器之前必需加一個驅(qū)動. 在程序設(shè)計時時有不懂的地方需時時翻書,說明了對單片機(jī)技術(shù)掌握的并不是很熟悉,有待進(jìn)一步提高對其的深入了解,同時在做這個課程設(shè)計的過程中我們了解到了更多有關(guān)于單片機(jī)的應(yīng)用,像老師所說的那樣,什么東西都可以用單片機(jī)做出來,只是看你鉆沒鉆進(jìn)去,還有就是意識到了學(xué)好模擬電路基礎(chǔ)和數(shù)字電路基礎(chǔ)是十分重要的,那是做單片機(jī)應(yīng)用知識所必備的 在硬件電路的焊接時,一定要

溫馨提示

  • 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

提交評論