版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
波形發(fā)生器課程設(shè)計波形發(fā)生器課程設(shè)計/波形發(fā)生器課程設(shè)計課程設(shè)計題目波形發(fā)生器姓名院(系)專業(yè)班級學號日期2010年12月13日—2010年12月19日摘要數(shù)模轉(zhuǎn)化器可以實現(xiàn)將數(shù)字量轉(zhuǎn)化為模擬量的功能,對于理想的數(shù)模轉(zhuǎn)換器,輸入的數(shù)字量的波形與輸出的模擬量之間呈線性關(guān)系。因此,通過使用單片機來輸出不同的數(shù)字量,再通過D/A轉(zhuǎn)換,就可以得到不同的波形。本文主要講述通過單片機產(chǎn)生方波、三角波、鋸齒波、梯形波、正弦波的數(shù)字量,并給出相應的D/A轉(zhuǎn)化電路,進而得到具有相應波形的模擬量。這五種波形的數(shù)字量都可以簡單地通過定時器中斷來產(chǎn)生。關(guān)鍵詞:波形發(fā)生數(shù)模轉(zhuǎn)換單片機定時器中斷實驗原理利用單片機實現(xiàn)波形輸出的重點在于對應波形的數(shù)字量的產(chǎn)生。不同波形產(chǎn)生實質(zhì)上是對輸出的二進制數(shù)字量進行相應改變來實現(xiàn)的。在本文中,所有波形的二進制數(shù)字量的產(chǎn)生都通過定時器中斷。在每次中斷中,八位的二進制數(shù)字量通過I/O口輸出,再經(jīng)由D/A轉(zhuǎn)化電路轉(zhuǎn)化為模擬量。除正弦信號,其他波形的初始的八位二進制數(shù)字量都為0。各種波形的數(shù)字量產(chǎn)生如下:對于方波信號,在每次定時器中斷時都對二進制數(shù)字量進行位取反,因此,方波信號的二進制數(shù)字量總是在0x00和0xff二者上變動。對于三角波信號,在每次定時器中斷中,二進制數(shù)字量依次加1,達到0xff時依次減1對于鋸齒波信號,其類似于三角波信號,但在達到0xff時將二進制數(shù)字量置為0x00對于梯形波信號,其類似于三角波信號,但在達到0xff或0x00時,都會保持一段時間對于正弦波信號,可以直接對正弦曲線進行均勻取樣后直接轉(zhuǎn)化為數(shù)字量,在每次定時器中斷中,都依序?qū)⑦@些數(shù)字量輸出對于D/A轉(zhuǎn)換,可以利用集成芯片DAC0832來實現(xiàn)。由于DAC0832輸出的是電流量,在D/A轉(zhuǎn)換后需要添加額外的比例運放電路來產(chǎn)生電壓量。實驗電路實驗的流程如下:單片機在開始運行后就會不斷進行鍵盤掃描。當按下對應波形的按鈕后,單片機會產(chǎn)生相應波形的數(shù)字量,這個數(shù)字量作為DAC0832的輸入再被轉(zhuǎn)化為電流量。電流量經(jīng)過兩個反比例運算放大器后,轉(zhuǎn)化為電壓量輸出到示波器中顯示。實驗結(jié)果實驗所產(chǎn)生的方波、三角波、鋸齒波、梯形波、正弦波波形如下所示實驗體會程序代碼#include<at89c51cc03.h>typedefunsignedcharuchar;typedefunsignedintuint;//正弦曲線四分之一周期曲線的數(shù)字量ucharcodesdata[256]=\{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,185,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,253,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,221,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ù)staticunion{ uinttime; struct{ ucharth; uchartl; }time_array;}timer;//counter用于波形發(fā)生時的計數(shù),從0到255staticucharcounter;//state表示當前所要輸出波形,1表示方波,2表示三角波,3表示鋸齒玻,4表示梯形波,5表示正弦波,0表示暫停波形發(fā)生(保持P2口輸出不變)staticucharstate;//new_state根據(jù)P1口的電平,轉(zhuǎn)化為statestaticucharnew_state;//check_state_bit用于get_state函數(shù)中staticucharcheck_state_bit;//direction表示波形方向,direction=0表示波形處于上升,direction=1表示波形處于下降staticbitdirection;//delay用于梯形波中staticbitdelay;//stop表示暫停波形發(fā)生(保持P2口輸出不變)staticbitstop;/*獲取當前狀態(tài),即哪個按鈕被按下若沒有按鈕被按下,則state保持不變?nèi)鬚1_0=0,則state=1,表示方波發(fā)生若P1_1=0,則state=2,表示三角波發(fā)生以此類推若P1_5=0,則state=0,表示暫停波形發(fā)生(保持P2口輸出不變)*/voidget_state(){ //優(yōu)先考慮P1_5口,即優(yōu)先考慮暫停波形發(fā)生 if(!P1_5){ new_state=0; return; } check_state_bit=0x01; new_state=1; while((check_state_bit&P1)&&new_state<6){ check_state_bit<<=1; ++new_state; } if(new_state==6) new_state=state;}//每次state即將發(fā)生改變,即切換輸出到另一種波形時,都進行初始化voidinit(){ P2=0; direction=0; counter=0;}//檢查P1口,以輸出相應的選擇的波形voidcheck(){ get_state(); //如果state即將發(fā)生改變 if(state!=new_state){ //當P1_5口為低電平,new_state=0 //則暫停波形發(fā)生,則暫停定時器1定時,并令P3_6口(WR)為高電平 if(new_state==0){ P3_6=1; TR1=0; stop=1; return; } //切換輸出波形 else{ init(); state=new_state; if(state==4) delay=0; } } elseif(stop){ P3_6=0; TR1=1; stop=0; }}//當INT0腳接收到一個下降沿,則觸發(fā)外部中斷0//則輸出波形的周期倍增voidint0int()interrupt0{ if(timer.time==15680) timer.time=245; else timer.time<<=1; init();}//當INT1腳接收到一個下降沿,則觸發(fā)外部中斷1//則輸出波形的周期倍減voidint1int()interrupt2{ if(timer.time==245) timer.time=15680; else timer.time>>=1; init();}//定時器1用于波形的發(fā)生voidtimeint()interrupt3{//~time.time等價于time.time=65535-time.time timer.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=1; } } //其余波的發(fā)生 elseif(state>1&&state<6){ //當輸出梯形波,若delay=1則進行延遲,即保持當前輸出電平不變 if(state==4){ if(!delay) P2=counter; } //輸出正弦波 elseif(state==5){ if(direction) P2=~(sdata[counter])+1; else P2=sdata[counter]; } //輸出三角波、鋸齒波 else P2=counter; //當波形處于下降過程 if(direction){ //若counter下降至0,則改變波形方向至上升過程 if(counter==0){ //對于梯形波,下降結(jié)束后進行延遲 if(state==4){ delay=~delay; if(delay) counter=0xfe; else direction=~direction; } else{ direction=~direction; counter++; } } else counter--; } //當波形處于上升過程 else{ //若counter上升至0xff,則改變波形方向至下降過程 if(counter==0xff){ //對于梯形波,上升結(jié)束后進行延遲 if(state==4){ delay=~delay; if(delay) counter=0x01; else direction=~direction; } //對于鋸齒波,當上升至0xff,將counter置為0 elseif(state==3) counter=0; else{ direction=~direction; counter--; } } else counter++; } }}voidmain(){ IEN=0x8F; TMOD=0x10;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024屆安徽省合肥市重點中學普通高中畢業(yè)班單科質(zhì)量檢查數(shù)學試題
- 電冰箱、空調(diào)器安裝與維護電子教案 4.2 系統(tǒng)管道安裝
- 湘教版九年級上冊美術(shù)教案
- 螺桿式冷水機組技術(shù)規(guī)格書
- 福建省龍巖市12校2024-2025學年高二上學期11月期中生物試題(含答案)
- 玩具真多課件教學課件
- 實驗室用化學反應器產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 家庭日用紡織品產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 家用電烹飪爐產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 切肉餐刀市場需求與消費特點分析
- 邏導習題答案-邏輯學導論
- 國學導論·巴蜀文化課件
- (完整word版)商業(yè)計劃書模板
- 自動化學科概論-學生版-東南大學-自動化學院課件
- 浙江省寧波市鎮(zhèn)海蛟川書院2022-2023七年級上學期數(shù)學期中試卷+答案
- 《人民警察內(nèi)務(wù)條令》試題及答案
- 服裝陳列技巧課件
- 全國人工智能應用技術(shù)技能大賽理論考試題庫大全-下(多選、判斷題匯總)
- 園林植物花卉育種學課件第4章-選擇育種
- DB31T 1249-2020 醫(yī)療廢物衛(wèi)生管理規(guī)范
- 物業(yè)管理員(三級)職業(yè)技能鑒定考試題庫(含答案)
評論
0/150
提交評論