版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
波形發(fā)生器設(shè)計(jì)目錄摘要 1第一章 緒論 2第二章 DAC0832及其特征 32.1D/A轉(zhuǎn)換器和單片機(jī)接口探究 32.1.1數(shù)據(jù)線連接 32.1.2地址線連接 32.1.3控制線連接 32.2DAC0832認(rèn)識 42.2.1DAC0832結(jié)構(gòu) 42.2.2DAC0832引腳 42.2.3DAC0832開啟控制方法 5第三章硬件設(shè)計(jì) 73.1開啟方法選擇 73.2框圖設(shè)計(jì) 73.3電路圖設(shè)計(jì) 7第四章程序設(shè)計(jì) 94.1程序步驟圖 94.1.1程序設(shè)計(jì)思緒 94.1.2步驟圖 94.2用C語言實(shí)現(xiàn) 114.3用匯編語言實(shí)現(xiàn) 14第五章Proteus仿真及結(jié)果 175.1方波: 175.2正弦波: 175.3三角波: 185.4梯形波: 185.5鋸齒波: 19設(shè)計(jì)心得: 20參考文件: 21摘要本設(shè)計(jì)使用AT89C51單片機(jī)做控制,選擇8位D/A轉(zhuǎn)換器DAC0832作D/A轉(zhuǎn)換。硬件方面,首先51熟悉單片機(jī)結(jié)構(gòu)和工作原理,連接單片機(jī)最小系統(tǒng)。以后熟悉D/A轉(zhuǎn)換器工作方法,經(jīng)過分析后選擇DAC0832單緩沖開啟控制方法,完成電路框圖。深入依據(jù)設(shè)計(jì)要求完成經(jīng)過獨(dú)立按鍵控制D/A輸出,作出電路框圖和電路原理圖。軟件方面:設(shè)計(jì)思緒關(guān)鍵表現(xiàn)在兩點(diǎn)上。一是控制,經(jīng)過程序控制DAC轉(zhuǎn)換和輸出,按鍵消抖,選擇對應(yīng)立即輸出波形。二是產(chǎn)生波形,依據(jù)波形特點(diǎn)編寫程序以產(chǎn)生對應(yīng)波形數(shù)字信號。分別經(jīng)過C語言和匯編語言實(shí)現(xiàn)簡易波形發(fā)生器,輸出方波、正弦波、三角波、梯形波和鋸齒波,經(jīng)過獨(dú)立按鍵控制分別輸出不一樣波形。以KILL和Proteus為設(shè)計(jì)平臺,仿真測試設(shè)計(jì)結(jié)果正確性。關(guān)鍵字:51單片機(jī),DAC0832,單緩沖開啟控制方法,波形發(fā)生器,C語言設(shè)計(jì),匯編語言設(shè)計(jì)緒論單片微型計(jì)算機(jī)簡稱單片機(jī),是經(jīng)典嵌入式微控制器(MicrocontrollerUnit),常見英文字母縮寫MCU表示單片機(jī),單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功效芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。單片機(jī)由運(yùn)算器,控制器,存放器,輸入輸出設(shè)備組成,相當(dāng)于一個(gè)微型計(jì)算機(jī)(最小系統(tǒng)),和計(jì)算機(jī)相比,單片機(jī)缺乏了外圍設(shè)備等。概括講:一塊芯片就成了一臺計(jì)算機(jī)。它體積小、質(zhì)量輕、價(jià)格廉價(jià)、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理和結(jié)構(gòu)最好選擇。它最早是被用在工業(yè)控制領(lǐng)域。51單片機(jī)是現(xiàn)在最流行8位單片機(jī)。51單片機(jī)是對全部兼容Intel8031指令系統(tǒng)單片機(jī)統(tǒng)稱。該系列單片機(jī)始祖是Intel8031單片機(jī),以后伴隨Flashrom技術(shù)發(fā)展,8031單片機(jī)取得了長足進(jìn)展,成為應(yīng)用最廣泛8位單片機(jī)之一,其代表型號是ATMEL企業(yè)AT89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。很多企業(yè)全部有51系列兼容機(jī)型推出,以后很長一段時(shí)間內(nèi)將占有大量市場。51單片機(jī)是基礎(chǔ)入門一個(gè)單片機(jī),還是應(yīng)用最廣泛一個(gè)。需要注意是52系列單片機(jī)通常不含有自編程能力。DAC0832及其特征2.1D/A轉(zhuǎn)換器和單片機(jī)接口探究D/A轉(zhuǎn)換器和單片機(jī)接口含有軟硬相依性。在連接過程中要考慮到數(shù)據(jù)線、地址線、控制線連接。2.1.1數(shù)據(jù)線連接D/A轉(zhuǎn)換器和單片機(jī)接口要考慮到兩個(gè)問題:一個(gè)是位數(shù),當(dāng)高于8位D/A轉(zhuǎn)換器和8位數(shù)據(jù)總線51單片機(jī)接口時(shí),51單片機(jī)數(shù)據(jù)必需分時(shí)輸出,這時(shí)就必需考慮數(shù)據(jù)分時(shí)傳送格式和輸出電壓“毛刺”問題;二是D/A轉(zhuǎn)化器內(nèi)部結(jié)構(gòu),當(dāng)D/A轉(zhuǎn)換器內(nèi)部結(jié)構(gòu)沒有輸入鎖存器時(shí),必需在單片機(jī)和D/A轉(zhuǎn)換器之間增設(shè)鎖存器或I/O口。最常見是8位帶鎖存端D/A轉(zhuǎn)換器和8位單片機(jī)接口,這時(shí)只需要將單片機(jī)數(shù)據(jù)總線和D/A轉(zhuǎn)換器8位數(shù)據(jù)輸入端一一對應(yīng)即可。2.1.2地址線連接通常D/A轉(zhuǎn)換器只有片選信號,而沒有地址線。這時(shí)單片機(jī)地址線采取全譯碼或部分譯碼,經(jīng)譯碼器輸出控制片選信號,也能夠用某一位I/O線來控制片選信號。也有少數(shù)D/A轉(zhuǎn)換器有少許地址線,用于選中片內(nèi)獨(dú)立寄存器或選擇輸出通道,這時(shí)單片機(jī)實(shí)施地址線和D/A轉(zhuǎn)換器地址線對應(yīng)連接。2.1.3控制線連接D/A轉(zhuǎn)換器關(guān)鍵有片選信號、寫信號、及開啟轉(zhuǎn)換信號等,通常由單片機(jī)相關(guān)引腳或譯碼器提供。通常來說,寫信號多由單片機(jī)信號控制;開啟信號常常由片選信號和寫信號組合形式(LE1、LE2)形成,當(dāng)單片機(jī)實(shí)施一條輸出指令時(shí),傳送地址使轉(zhuǎn)換器片選信號有效,由實(shí)現(xiàn)開啟。(具體實(shí)現(xiàn)原理見1.2節(jié))2.2DAC0832認(rèn)識圖1.1DAC0832管腳結(jié)構(gòu)2.2.1DAC0832結(jié)構(gòu)DAC0832結(jié)構(gòu)圖1.1所表示,關(guān)鍵由控制邏輯電路、輸入寄存器、DAC寄存器和D/A轉(zhuǎn)換器組成。由上圖邏輯控制電路可知:LE1=(+)ILELE2=+由LE1控制輸入寄存器讀入數(shù)據(jù),由LE2控制輸入寄存器向DAC寄存器傳輸數(shù)據(jù),同時(shí)開始D/A轉(zhuǎn)換。2.2.2DAC0832引腳DAC0832引腳圖1.1所表示:DI0~DI7:8位數(shù)據(jù)輸入線,高電平有效。ILE:數(shù)據(jù)鎖存許可控制輸入線,高電平有效。:片選信號輸入線,低電平有效。:輸入鎖存器寫選通輸入線,負(fù)脈沖有效。輸入鎖存器信號就是LE1。LE1負(fù)跳變有效。:數(shù)據(jù)傳送控制信號輸入線,低電平有效。:DAC寄存器寫選通信號輸入線,負(fù)脈沖有效。DAC鎖存信號就是LE2,LE2負(fù)跳變有效。:模擬電流輸出線。:模擬電流輸出線,采取單極性輸出時(shí),通常接地。:反饋信號輸入線。反饋電阻被制作在芯片里,用作外接運(yùn)放反饋電阻,為D/A轉(zhuǎn)換器提供電壓輸出。:參考電壓輸入端。要求外接一精密電壓源,電壓范圍在-10V~+10V之間選定。經(jīng)過符號來改變輸出極性。:電源接口。AGND:模擬地。DGND:數(shù)字地。注:數(shù)字信號高頻噪聲很大,假如模擬信地和數(shù)字地混合話,就會把數(shù)字噪聲傳到模擬部分,造成干擾。假如分開話,高頻噪聲能夠在電源處經(jīng)過濾波來消除掉。2.2.3DAC0832開啟控制方法DAC0832有三種開啟控制方法:(1)直通方法:將、、、信號全部接地,ILE信號引腳接高電平,只要數(shù)據(jù)傳送到數(shù)據(jù)線上,兩級鎖存器同時(shí)開始工作,并開啟D/A轉(zhuǎn)換,即轉(zhuǎn)換器處于非受控狀態(tài)。在這種工作方法下,轉(zhuǎn)換器數(shù)據(jù)線不能直接和單片機(jī)數(shù)據(jù)線(P0.0~P0.7)相連接。因?yàn)镻0口分時(shí)復(fù)用為低8位地址總線和數(shù)據(jù)總線,對輸出無鎖存能力,會使轉(zhuǎn)換器輸出不確定。不過能夠?qū)DC數(shù)據(jù)線連接到某個(gè)I/O口上,實(shí)施端口輸出指令(MOVPxA)即可開啟一次D/A轉(zhuǎn)換。這種方法極少采取。(2)單緩沖方法:兩級鎖存器接收同一個(gè)控制,比如將和直接接地,8位ADC鎖存器處于非受控狀態(tài),只有8位輸入鎖存器處于受控狀態(tài),即此時(shí)僅有LE1控制ADC。這種方法在不要求多個(gè)模擬同時(shí)輸出時(shí)采取。(3)雙緩沖方法:倆個(gè)鎖存器全部處于受控狀態(tài),單片機(jī)要對轉(zhuǎn)換器進(jìn)行兩步寫操作:第一次實(shí)施指令使LE1有效,稱作第一級緩沖,第二次實(shí)施指令使LE2有效,稱作第二級緩沖。這種方法優(yōu)點(diǎn)是數(shù)據(jù)接收和開啟轉(zhuǎn)換能夠異步進(jìn)行,可在D/A轉(zhuǎn)換同時(shí)接收下一個(gè)轉(zhuǎn)換數(shù)據(jù),以提升轉(zhuǎn)換速度,還能夠?qū)崿F(xiàn)多個(gè)轉(zhuǎn)換器同時(shí)開啟轉(zhuǎn)換,同時(shí)輸出。第三章硬件設(shè)計(jì)3.1開啟方法選擇因?yàn)楸驹O(shè)計(jì)要求設(shè)計(jì)一個(gè)波形發(fā)生器,要求能產(chǎn)生正弦波、方波、三角波、梯形波、鋸齒波,而且由按鍵控制輸出波形。故各個(gè)波形輸出并非同時(shí)輸出,而是由按鍵控制,單個(gè)輸出,而且本例只需要一個(gè)DAC,假如選擇雙緩沖方法就會加大無須要難度;直通方法不能有效控制DAC轉(zhuǎn)換,轉(zhuǎn)換時(shí)可能會出現(xiàn)數(shù)據(jù)流失。故選擇單緩沖開啟控制方法來驅(qū)動DAC0832。3.2框圖設(shè)計(jì)依據(jù)2.1節(jié)判定,選擇AT89c51單片機(jī)作控制,實(shí)現(xiàn)電路框以下:圖2.1硬件設(shè)計(jì)框圖3.3電路圖設(shè)計(jì)依據(jù)以上框圖,選擇+12V基準(zhǔn)電壓,選擇一級集成運(yùn)放作放大電路,連接A/D轉(zhuǎn)換電路圖以下:圖2.2單片機(jī)和ADC連接方法另外加上單片機(jī)最小系統(tǒng),用P1口控制輸出波形,電路連接以下:圖2.3電路原理圖第四章程序設(shè)計(jì)4.1程序步驟圖4.1.1程序設(shè)計(jì)思緒(1)因?yàn)橐褂玫桨粹o(本例中選擇獨(dú)立按鍵),必需使用到鍵盤掃描,首先要進(jìn)行鍵盤消抖,然后經(jīng)過掃描確定是哪個(gè)按鍵被按下,經(jīng)過I/O口(本例中為P1口)數(shù)據(jù)判定選擇五種波形中哪一個(gè);(2)依據(jù)(1)中結(jié)果,經(jīng)過編程產(chǎn)生各個(gè)波形數(shù)字信號;(3)控制DAC轉(zhuǎn)換數(shù)字信號為模擬信號。程序框圖以下:圖3.1程序設(shè)計(jì)思緒4.1.2步驟圖在本步驟圖中分別以k1、k2、k3、k4、k5代表單片機(jī)I/O口P1.0、P1.1、P1.2、P1.3、P1.4;設(shè)置flag1、flag2、flag3、flag4、flag5為1時(shí)分別代表方波、正弦波、三角波、梯形波、鋸齒波。當(dāng)確定按鍵按下時(shí),令相對應(yīng)flagx=1,然后用連續(xù)判定程序來選擇將要輸出波形。程序?qū)崿F(xiàn)了只需按一下按鈕便可連續(xù)輸出對應(yīng)波形。步驟圖以下:圖3.2程序步驟圖4.2用C語言實(shí)現(xiàn)依據(jù)程序步驟圖用C語言編程,得C語言實(shí)現(xiàn)代碼為:#include<absacc.h>#include<reg51.h>#defineDAC0832XBYTE[0x7fff]sbitk1=P1^0;sbitk2=P1^1;sbitk3=P1^2;sbitk4=P1^3;sbitk5=P1^4;intflag1=0;intflag2=0;intflag3=0;intflag4=0;intflag5=0;unsignedcharcodezhengxian[256]={此處省略為正弦波數(shù)字信號};voiddelay()//延時(shí)程序{inti;for(i=0;i<1000;i++);}voidpanduan(void) //函數(shù)panduan用于掃描按鍵狀態(tài),判定輸出波形{if(k1==1){ //按鍵消抖delay(); if(k1==1) //經(jīng)過賦值flag選擇波形 flag1=1; flag2=0; flag3=0; flag4=0; flag5=0;}if(k2==1){delay(); if(k2==1) flag1=0; flag2=1; flag3=0; flag4=0; flag5=0;}if(k3==1){delay(); if(k3==1) flag1=0; flag2=0; flag3=1; flag4=0; flag5=0;}if(k4==1){delay(); if(k4==1) flag1=0; flag2=0; flag3=0; flag4=1; flag5=0;}if(k5==1){delay(); if(k5==1) flag1=0; flag2=0; flag3=0; flag4=0; flag5=1;}}voidboxing(void) //函數(shù)boxing用于產(chǎn)生選擇好波形{if(flag1==1) //產(chǎn)生方波{ DAC0832=0x00;delay();DAC0832=0xff;delay(); }elseif(flag2==1) //產(chǎn)生正弦波{ inti; for(i=0;i<256;i++){ DAC0832=zhengxian[i]; } }elseif(flag3==1) //三角波{ inti;for(i=0;i<255;i++)DAC0832=i;for(i=255;i>0;i--)DAC0832=i; } elseif(flag4==1) //梯形波{ inti; for(i=0;i<255;i++)DAC0832=0; for(i=0;i<255;i++)DAC0832=i; for(i=255;i>0;i--)DAC0832=0XFF; for(i=255;i>0;i--)DAC0832=i; } elseif(flag5==1) //鋸齒波{ inti;for(i=0;i<255;i++)DAC0832=i; }}voidmain(){//主函數(shù)P1=0x00;while(1){ panduan(); boxing();}}4.3用匯編語言實(shí)現(xiàn)在用C語言實(shí)現(xiàn)設(shè)計(jì)以后,我又嘗試使用匯編語言完成任務(wù),因?yàn)閷R編語言還不夠熟悉,只做到了以開關(guān)控制矩形波、三角波、梯形波和鋸齒波。程序?yàn)椋篠TART:MOVDPTR,#7FFFHMOVA,#00LOOP:MOVR0,#00MOVP1,R0 MOVR0,P1 JBP1.0,K0 JBP1.1,K1 JBP1.2,K2 JBP1.3,K3K0:AJMPLOOP1K1:AJMPLOOP2K2:AJMPLOOP3K3:AJMPLOOP4LOOP1:MOVA,#00 ;LOOP1:方波 MOVX@DPTR,A MOVR1,#255 MOVR4,#255DEL1:DJNZR1,$ DJNZR4,DEL1 MOVA,#255 MOVX@DPTR,A MOVR1,#255 MOVR4,#255DEL2:DJNZR1,$ DJNZR4,DEL2 LJMPLOOPLOOP2: ;LOOP3:三角波形UP:MOVX@DPTR,AINCACJNEA,#0FFH,UPDOWN:MOVX@DPTR,ADECACJNEA,#00H,DOWNLJMPLOOPLOOP3: ;LOOP4:梯形波UP1:MOVX@DPTR,A ;上升階段INCACJNEA,#0FFH,UP1MOVX@DPTR,A ;上底 MOVR1,#255DJNZR1,$DOWN1:MOVX@DPTR,A ;下降階段DECACJNEA,#00H,DOWN1 MOVX@DPTR,A;下底 MOVR1,#255DJNZR1,$LJMPLOOPLOOP4:MOVX@DPTR,A ;LOOP5:鋸齒波INCA MOVR1,#10 DJNZR1,$ LJMPLOOPEND第五章Proteus仿真及結(jié)果將程序代碼在Kill中編
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)保險(xiǎn)科技行業(yè)營銷策略方案
- 藥用碘化物商業(yè)機(jī)會挖掘與戰(zhàn)略布局策略研究報(bào)告
- 廣告材料制作行業(yè)營銷策略方案
- 農(nóng)業(yè)廢棄物能源化行業(yè)營銷策略方案
- 磁性編碼身份鑒別手環(huán)產(chǎn)品供應(yīng)鏈分析
- 藥用木炭項(xiàng)目營銷計(jì)劃書
- 醫(yī)用身體康復(fù)儀產(chǎn)品供應(yīng)鏈分析
- 射頻識別RFID閱讀器產(chǎn)品供應(yīng)鏈分析
- 絹紡機(jī)械市場分析及投資價(jià)值研究報(bào)告
- 電熱翻轉(zhuǎn)烤肉器項(xiàng)目運(yùn)營指導(dǎo)方案
- 肥胖癥診療指南(2024年版)
- 等級評審護(hù)理匯報(bào)
- 《建筑工程設(shè)計(jì)文件編制深度規(guī)定》(2022年版)
- MapGIS國土資源云平臺解決方案
- 新疆歷史印記課件
- 《第二單元 多彩的音樂風(fēng)格學(xué)習(xí)項(xiàng)目一 中國音樂萬花筒-苗族民歌與彝族民歌》教案七年級上冊人教版(新版2024)
- 離職證明(標(biāo)準(zhǔn)模版)
- 2024城市公共設(shè)施適老化設(shè)施服務(wù)要求與評價(jià)
- 專題05 狼(含答案與解析)-備戰(zhàn)2024年中考語文之文言文對比閱讀(全國版)
- 江蘇省蘇州市2023-2024學(xué)年七年級上學(xué)期期中陽光測評英語試題
- EXCEL 支票打印模板
評論
0/150
提交評論