![波形發(fā)生器課程設(shè)計(jì)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/7de07508-1f17-499d-b7c2-25bc72bf2574/7de07508-1f17-499d-b7c2-25bc72bf25741.gif)
![波形發(fā)生器課程設(shè)計(jì)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/7de07508-1f17-499d-b7c2-25bc72bf2574/7de07508-1f17-499d-b7c2-25bc72bf25742.gif)
![波形發(fā)生器課程設(shè)計(jì)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/7de07508-1f17-499d-b7c2-25bc72bf2574/7de07508-1f17-499d-b7c2-25bc72bf25743.gif)
![波形發(fā)生器課程設(shè)計(jì)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/7de07508-1f17-499d-b7c2-25bc72bf2574/7de07508-1f17-499d-b7c2-25bc72bf25744.gif)
![波形發(fā)生器課程設(shè)計(jì)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/7de07508-1f17-499d-b7c2-25bc72bf2574/7de07508-1f17-499d-b7c2-25bc72bf25745.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課 程 設(shè) 計(jì)題 目 波形發(fā)生器姓 名 院 (系) 專業(yè)班級(jí) 學(xué) 號(hào) 日 期 2010年12月13日2010年12月19日摘要數(shù)模轉(zhuǎn)化器可以實(shí)現(xiàn)將數(shù)字量轉(zhuǎn)化為模擬量的功能,對于理想的數(shù)模轉(zhuǎn)換器,輸入的數(shù)字量的波形與輸出的模擬量之間呈線性關(guān)系。因此,通過使用單片機(jī)來輸出不同的數(shù)字量,再通過D/A轉(zhuǎn)換,就可以得到不同的波形。本文主要講述通過單片機(jī)產(chǎn)生方波、三角波、鋸齒波、梯形波、正弦波的數(shù)字量,并給出相應(yīng)的D/A轉(zhuǎn)化電路,進(jìn)而得到具有相應(yīng)波形的模擬量。這五種波形的數(shù)字量都可以簡單地通過定時(shí)器中斷來產(chǎn)生。關(guān)鍵詞:波形發(fā)生 數(shù)模轉(zhuǎn)換 單片機(jī) 定時(shí)器中斷1、 實(shí)驗(yàn)原理利用單片機(jī)實(shí)現(xiàn)波形輸出的重點(diǎn)在于對應(yīng)
2、波形的數(shù)字量的產(chǎn)生。不同波形產(chǎn)生實(shí)質(zhì)上是對輸出的二進(jìn)制數(shù)字量進(jìn)行相應(yīng)改變來實(shí)現(xiàn)的。在本文中,所有波形的二進(jìn)制數(shù)字量的產(chǎn)生都通過定時(shí)器中斷。在每次中斷中,八位的二進(jìn)制數(shù)字量通過I/O口輸出,再經(jīng)由D/A轉(zhuǎn)化電路轉(zhuǎn)化為模擬量。除正弦信號(hào),其他波形的初始的八位二進(jìn)制數(shù)字量都為0。各種波形的數(shù)字量產(chǎn)生如下:1) 對于方波信號(hào),在每次定時(shí)器中斷時(shí)都對二進(jìn)制數(shù)字量進(jìn)行位取反,因此,方波信號(hào)的二進(jìn)制數(shù)字量總是在0x00和0xff二者上變動(dòng)。2) 對于三角波信號(hào),在每次定時(shí)器中斷中,二進(jìn)制數(shù)字量依次加1,達(dá)到0xff時(shí)依次減13) 對于鋸齒波信號(hào),其類似于三角波信號(hào),但在達(dá)到0xff時(shí)將二進(jìn)制數(shù)字量置為0x0
3、04) 對于梯形波信號(hào),其類似于三角波信號(hào),但在達(dá)到0xff或0x00時(shí),都會(huì)保持一段時(shí)間5) 對于正弦波信號(hào),可以直接對正弦曲線進(jìn)行均勻取樣后直接轉(zhuǎn)化為數(shù)字量,在每次定時(shí)器中斷中,都依序?qū)⑦@些數(shù)字量輸出對于D/A轉(zhuǎn)換,可以利用集成芯片DAC0832來實(shí)現(xiàn)。由于DAC0832輸出的是電流量,在D/A轉(zhuǎn)換后需要添加額外的比例運(yùn)放電路來產(chǎn)生電壓量。2、 實(shí)驗(yàn)電路實(shí)驗(yàn)的流程如下:單片機(jī)在開始運(yùn)行后就會(huì)不斷進(jìn)行鍵盤掃描。當(dāng)按下對應(yīng)波形的按鈕后,單片機(jī)會(huì)產(chǎn)生相應(yīng)波形的數(shù)字量,這個(gè)數(shù)字量作為DAC0832的輸入再被轉(zhuǎn)化為電流量。電流量經(jīng)過兩個(gè)反比例運(yùn)算放大器后,轉(zhuǎn)化為電壓量輸出到示波器中顯示。3、 實(shí)驗(yàn)結(jié)
4、果實(shí)驗(yàn)所產(chǎn)生的方波、三角波、鋸齒波、梯形波、正弦波波形如下所示4、 實(shí)驗(yàn)體會(huì)5、 程序代碼#include typedef unsigned char uchar;typedef unsigned int uint;/正弦曲線四分之一周期曲線的數(shù)字量uchar code sdata256 = 128,130,131,133,134,136,137,139,140,142,144,145,147,148,150,151,153,154,156,157,159,160,162,164,165,167,168,169,171,172,174,175,177,178,180,181,182,184,1
5、85,187,188,189,191,192,194,195,196,197,199,200,201,203,204,205,206,208,209,210,211,212,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,236,237,238,239,240,240,241,242,242,243,244,244,245,246,246,247,247,248,248,249,249,250,250,251,251,251,252,252,252,253,2
6、53,253,253,254,254,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,254,254,253,253,253,253,252,252,252,251,251,251,250,250,249,249,248,248,247,247,246,246,245,244,244,243,242,242,241,240,240,239,238,237,236,236,235,234,233,232,231,230,229,228,227,226,225,224,223,222,2
7、21,220,219,218,217,216,215,214,212,211,210,209,208,206,205,204,203,201,200,199,197,196,195,194,192,191,189,188,187,185,184,182,181,180,178,177,175,174,172,171,169,168,167,165,164,162,160,159,157,156,154,153,151,150,148,147,145,144,142,140,139,137,136,134,133,131,130,128;/timer用于重裝時(shí)間常數(shù)static unionuin
8、t time;structuchar th;uchar tl;time_array;timer;/counter用于波形發(fā)生時(shí)的計(jì)數(shù),從0到255static uchar counter;/state表示當(dāng)前所要輸出波形,1表示方波,2表示三角波,3表示鋸齒玻,4表示梯形波,5表示正弦波,0表示暫停波形發(fā)生(保持P2口輸出不變)static uchar state;/new_state根據(jù)P1口的電平,轉(zhuǎn)化為statestatic uchar new_state;/check_state_bit用于get_state函數(shù)中static uchar check_state_bit;/direct
9、ion表示波形方向,direction=0表示波形處于上升,direction=1表示波形處于下降static bit direction; /delay用于梯形波中static bit delay;/stop表示暫停波形發(fā)生(保持P2口輸出不變)static bit stop;/* 獲取當(dāng)前狀態(tài),即哪個(gè)按鈕被按下 若沒有按鈕被按下,則state保持不變 若P1_0=0,則state=1,表示方波發(fā)生 若P1_1=0,則state=2,表示三角波發(fā)生 以此類推 若P1_5=0,則state=0,表示暫停波形發(fā)生(保持P2口輸出不變)*/void get_state()/優(yōu)先考慮P1_5口,即優(yōu)
10、先考慮暫停波形發(fā)生if(!P1_5)new_state = 0;return;check_state_bit = 0x01;new_state=1;while (check_state_bit & P1) & new_state6)check_state_bit=1;+new_state;if(new_state=6)new_state = state;/每次state即將發(fā)生改變,即切換輸出到另一種波形時(shí),都進(jìn)行初始化void init()P2=0;direction=0;counter=0;/檢查P1口,以輸出相應(yīng)的選擇的波形void check()get_state();/如果state
11、即將發(fā)生改變if(state!=new_state)/當(dāng)P1_5口為低電平,new_state=0/則暫停波形發(fā)生,則暫停定時(shí)器1定時(shí),并令P3_6口(WR)為高電平if(new_state=0)P3_6=1;TR1=0;stop=1;return;/切換輸出波形elseinit();state = new_state;if(state=4)delay=0;else if(stop)P3_6=0;TR1=1;stop=0;/當(dāng)INT0腳接收到一個(gè)下降沿,則觸發(fā)外部中斷0/則輸出波形的周期倍增void int0int() interrupt 0if(timer.time=15680)timer.
12、time = 245;elsetimer.time=1;init();/定時(shí)器1用于波形的發(fā)生void timeint() interrupt 3/time.time等價(jià)于time.time=65535-time.timetimer.time = timer.time + 1;TL1 = timer.time_array.tl;TH1 = timer.time_array.th;timer.time = ( timer.time -1 );/方波發(fā)生if(state=1)+counter;if(counter=0xff)direction = direction;P2 = P2;counter
13、 = 1;/其余波的發(fā)生else if(state1 & state6)/當(dāng)輸出梯形波,若delay=1則進(jìn)行延遲,即保持當(dāng)前輸出電平不變if (state=4)if(!delay)P2=counter;/輸出正弦波else if(state=5)if(direction)P2 = (sdatacounter)+1;elseP2 = sdatacounter;/輸出三角波、鋸齒波elseP2=counter;/當(dāng)波形處于下降過程if(direction)/若counter下降至0,則改變波形方向至上升過程if(counter = 0)/對于梯形波,下降結(jié)束后進(jìn)行延遲if(state=4)del
14、ay=delay;if(delay)counter=0xfe;elsedirection=direction;elsedirection=direction;counter+;elsecounter-;/當(dāng)波形處于上升過程else/若counter上升至0xff,則改變波形方向至下降過程if(counter=0xff)/對于梯形波,上升結(jié)束后進(jìn)行延遲if(state=4)delay=delay;if(delay)counter=0x01;elsedirection=direction;/對于鋸齒波,當(dāng)上升至0xff,將counter置為0else if(state=3)counter=0;elsedirection=direction;counter-;elsecounter+;void main()IEN = 0x8F;TMOD = 0x10;PT1 = 1;IT0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度房屋買賣合同小額貸款與房產(chǎn)評(píng)估機(jī)構(gòu)合作服務(wù)協(xié)議
- 2025年度高科技企業(yè)研發(fā)資金過橋借款協(xié)議
- 2025年度人工智能醫(yī)療診斷系統(tǒng)合同范本
- 體育體育課程改革與提升方案計(jì)劃
- 產(chǎn)品經(jīng)理工作回顧與市場需求分析計(jì)劃
- 心理科心理咨詢工作成果與發(fā)展計(jì)劃
- 建設(shè)學(xué)生藝術(shù)素養(yǎng)的美術(shù)教學(xué)工作方案計(jì)劃
- 時(shí)間管理技巧的深入探索計(jì)劃
- 加強(qiáng)醫(yī)院綠色低碳建設(shè)的實(shí)施計(jì)劃
- 2025年藥品批發(fā)零售項(xiàng)目建議書
- 幼兒園一崗雙責(zé)制度及實(shí)施方案(5篇)
- 臨時(shí)占用城市道路申請表
- 《紐約國際介紹》課件
- 部編版語文七年級(jí)下冊期中專項(xiàng)復(fù)習(xí)-標(biāo)點(diǎn)符號(hào) 試卷(含答案)
- 演藝項(xiàng)目投資計(jì)劃書
- 醫(yī)學(xué)統(tǒng)計(jì)學(xué):第五章 統(tǒng)計(jì)表和統(tǒng)計(jì)圖
- 醫(yī)療器械耗材售后服務(wù)承諾書
- 小學(xué)體育與健康水平三五年級(jí)體能訓(xùn)練教學(xué)案例
- 公司破產(chǎn)解除勞動(dòng)合同協(xié)議書
- 2023-2024學(xué)年天津市小學(xué)語文一年級(jí)期末通關(guān)試卷附參考答案和詳細(xì)解析
- 常見急癥的急救處理
評(píng)論
0/150
提交評(píng)論