




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于單片機和dac0832的波形發(fā)生器目 錄一、 內(nèi)容摘要二、 設(shè)計任務(wù)三、 元器件說明四、 硬件電路設(shè)計五、 程序編譯一、內(nèi)容摘要波形發(fā)生器是一種常用的信號源,廣泛的應(yīng)用于電子電路、自動控制系統(tǒng)和教學(xué)實驗等領(lǐng)域,是現(xiàn)代測試領(lǐng)域內(nèi)應(yīng)用最為廣泛的通用儀器之一。在研制、生產(chǎn)、測試和維修各種電子元件、部件以及整機設(shè)備時,都需要有信號源。由它產(chǎn)生不同頻率不同波形的電壓、電流信號并加到被測器件或設(shè)備上,用其他儀器觀察。測量被測儀器的輸出響應(yīng),以分析確定它們的性能參數(shù)。信號發(fā)生器是電子測量領(lǐng)域中最基本、應(yīng)用最為廣泛的一類電子儀器。它可以產(chǎn)生多種波形信號,如方波、鋸齒波、三角波等,因而廣泛應(yīng)用于通信、雷達、
2、導(dǎo)航、宇航等領(lǐng)域。本次課程設(shè)計使用的AT89C51單片機構(gòu)成的發(fā)生器可產(chǎn)生三角波,正弦波和方波,波形的周期可用程序改變,并可根據(jù)需要選擇單極性輸出或雙極性輸出,具有線路簡單、結(jié)構(gòu)緊湊、性能優(yōu)越等特點。此設(shè)計給出了源代碼,通過仿真測試,其性能指標達到了設(shè)計要求。二、設(shè)計任務(wù)利用DAC0832輸出正弦波信號(用示波器觀察輸出波形),初始頻率為50Hz,變頻采用“”、“”鍵 控制,實時測量輸出信號的頻率值,并分析和實測輸出信號的頻率范圍。具體完成以下任務(wù):1. 完成系統(tǒng)的方案設(shè)計,給出系統(tǒng)框圖。2. 完成系統(tǒng)的硬件設(shè)計,給出硬件電路圖和系統(tǒng)資源分配表。3. 完成系統(tǒng)的軟件設(shè)計,給出程序流程圖和程序編
3、寫。4. 運用Proteus仿真軟件對所設(shè)計的系統(tǒng)進行調(diào)試和仿真,直到預(yù)定的功能全部仿真通過,給出仿真結(jié)果。5. 準確、高質(zhì)量地進行印刷電路板的焊接。6. 完成課程設(shè)計報告。三、元器件說明u 知識簡介: DAC0832當今世界在以電子信是8位分辨率的D/A轉(zhuǎn)換集成芯片,與微處理器完全兼容,這個系列的芯片 以其價格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點,在單片機應(yīng)用系統(tǒng)中得到了廣泛的應(yīng)用。這類D/A轉(zhuǎn)換器由8位輸入鎖存器,8位DAC寄存器,8位DA轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。1、DAC0832的引腳及功能:DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器兼容。這個DA芯片以其價格低廉、接口簡
4、單、轉(zhuǎn)換控制容易等優(yōu)點,在單片機應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。u 應(yīng)用特性:·DAC0832是微處理器兼容型D/A轉(zhuǎn)換器,可以充分利用微處理器的控制能力實現(xiàn)對D/A轉(zhuǎn)換的控制。這種芯片有許多控制引腳,可以和微處理器控制線相連,接受微處理器的控制,如ILE、/CS、/WR1、/WR2、/XFER端。·有兩級鎖存控制功能,能夠?qū)崿F(xiàn)多通道D/A的同步轉(zhuǎn)換輸出。·DAC0832內(nèi)部無參考電壓源;須外接參考電壓源。·DAC0832為電流輸入型D/A轉(zhuǎn)換器,要獲得模擬電壓輸出時,需要外
5、加轉(zhuǎn)換電路。u 各引腳功能說明:D0D7:8位數(shù)據(jù)輸入線,TTL電平,有效時間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會出錯); ILE:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效; CS:片選信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效; WR1:數(shù)據(jù)鎖存器寫選通輸入線,負脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當LE1為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負跳變時將輸入數(shù)據(jù)鎖存; XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應(yīng)大于500ns)有效; WR2:DAC寄存器選通輸入線,負脈沖(脈寬應(yīng)大于500ns)有效。由WR2、XFER的邏輯
6、組合產(chǎn)生LE2,當LE2為高電平時,DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負跳變時將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換。 IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化; IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù); Rfb:反饋信號輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度; Vcc:電源輸入端,Vcc的范圍為+5V+15V; VREF:基準電壓輸入線,VREF的范圍為-10V+10V;AGND:模擬信號地 DGND:數(shù)字信號地u DAC0832三種數(shù)據(jù)輸入方式: (1)雙緩沖方式:即數(shù)據(jù)經(jīng)過雙重緩沖后再送入DA轉(zhuǎn)換電路,執(zhí)行兩次寫操
7、作才能完成一次DA轉(zhuǎn)換。(2)單緩沖方式:不需要多個模擬量同時輸出時,可采用此種方式。(3)直通方式:此時兩個寄存器均處于直通狀態(tài),因此要將、和端都接數(shù)字地,ILE接高電平,使LE1、LE2均為高電平,致使兩個鎖存寄存器同時處于放行直通狀態(tài),數(shù)據(jù)直接送入DA轉(zhuǎn)換電路進行DA轉(zhuǎn)換。2. CPU芯片AT89C511AT89C51概述AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。2. AT89C
8、51引腳說明AT89C51單片機引腳圖如圖3-2所示。它有40個引腳,其中包含2個專用于主電源的引腳,2個外接晶體的引腳,4個控制或與其它電源復(fù)用的引腳,以及32條輸入輸出I/O引腳。四、設(shè)計原理 D/A轉(zhuǎn)換器產(chǎn)生各種波形的原理:利用D/A轉(zhuǎn)換器輸出的模擬量與輸入數(shù)字量成正比關(guān)系這一特點,將D/A轉(zhuǎn)換器作為微機輸出接口,CPU通過程序向D/A轉(zhuǎn)換器輸出隨時間呈現(xiàn)不同變化規(guī)律的數(shù)字量,則D/A轉(zhuǎn)換器就可輸出各種各樣的模擬量,如方波、三角波、鋸齒波、正弦波等。仿真電路圖(輸出正弦波、三角波,鋸齒波)仿真圖:三角波:鋸齒波:正弦波:五:程序編譯主程序:#include<reg52.h>s
9、bit key2=P22;sbit key1=P21;sbit key0=P20;char flag; /波型輸出標置變量bit time;unsigned char i;int num ; void frequency() ;void delay(int z) /延時 z毫秒 int x,y;
10、60; for(x=z;x>0;x-) for(y=124;y>0;y-); unsigned char sin(unsigned char x)/正弦波unsigned char code sin_tab=0x80, 0x83, 0x86, 0x89, 0x8c, 0x8f, 0x92, 0x95, 0x98,
11、 0x9c, 0x9f, 0xa2, 0xa5, 0xa8, 0xab, 0xae, /上半周 0xb0, 0xb3, 0xb6, 0xb9, 0xbc, 0xbf, 0xc1, 0xc4,
12、0xc7, 0xc9, 0xcc, 0xce, 0xd1, 0xd3, 0xd5, 0xd8, 0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xed,
13、0xef, 0xf0, 0xf2, 0xf3, 0xf4, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff,
14、0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7,&
15、#160; 0xf6, 0xf4, 0xf3, 0xf2, 0xf0, 0xef, 0xed, 0xec, 0xea, 0xe8, 0xe6, 0xe4, 0xe2, 0xe0, 0xde, 0xdc, &
16、#160; 0xda, 0xd8, 0xd5, 0xd3, 0xd1, 0xce, 0xcc, 0xc9, 0xc7, 0xc4, 0xc1, 0xbf, 0xbc, 0xb9, 0xb6, 0xb3, &
17、#160; 0xb0, 0xae, 0xab, 0xa8, 0xa5, 0xa2, 0x9f, 0x9c, 0x99, 0x96, 0x92, 0x8f, 0x8c, 0x89, 0x86, 0x83, 0x80, &
18、#160; 0x80, 0x7d, 0x7a, 0x76, 0x73, 0x70, 0x6d, 0x6a, 0x67, 0x64, 0x61, 0x5e, 0x5b, 0x58, 0x55, 0x52, /下半周期 &
19、#160; 0x4f, 0x4c, 0x49, 0x46, 0x43, 0x41, 0x3e, 0x3b, 0x39, 0x36, 0x33, 0x31, 0x2e, 0x2c, 0x2a, 0x27, &
20、#160; 0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1b, 0x19, 0x17, 0x15, 0x14, 0x12, 0x10, 0x0f, 0x0d, 0x0c, 0x0b, &
21、#160; 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03,
22、0x04, 0x05, 0x06, 0x07, 0x08 ,0x09, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x12, 0x13, 0x15, 0x17, 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x23, 0x25, 0x27, 0x2a, 0x2c, 0x2e, 0x30, 0x33, 0x35, 0x38, 0x3b, 0x3d, 0x3e, 0x40, 0x
23、43, 0x46, 0x48, 0x4b, 0x4e, 0x51, 0x54, 0x57, 0x5a, 0x5d, 0x5f, 0x60, 0x63, 0x66, 0x69, 0x6b, 0x6d, 0x6f, 0x72, 0x74, 0x76, 0x78, 0x7a, 0x7e, 0x80; return sin_tabx;void DAC0832(unsigned char x) P1=x;void main()char d
24、;d=1;TMOD=0X02;num=10;TH0=256-num; /num用來控制采樣一個點所用的時間TL0=256-num;ET0=1; /按鍵接于外部中斷0,與中斷1EA=1;TR0=1;flag=2; /開始時有輸出i=0; while(1) if(key2=0) /按一下key3,d自加1 delay(5); if(key2=0)
25、160; while(!key2); d+; if(d=21)/當d=21,d變?yōu)? d=1; frequency() ; if(time=1) time=0;
26、160; if(i>255) i=0; else i=i+d; /設(shè)置采樣間隔 switch(flag) /當按鍵1的為輸出三角波,按鍵2時輸出正弦波
27、; case 0:DAC0832(i);break;/ 當flag=0時,鋸齒波 case 1: if(i>127)/ 當flag=1時,三角波 DA
28、C0832(255-i); else DAC0832(i); break;
29、; case 2: DAC0832(sin(i); /當flag=2時,正弦波 break; default: break; void time0() interrupt 1&
30、#160;TH0=256-num;TL0=256-num; time=1; void frequency() if(key0=0) / /key0控制flag,頻率選擇
31、60; delay(5) ; if(key0=0) /再次檢測 while(!key0); /等待按鍵釋放
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度寵物照料保姆雇傭合同協(xié)議書
- 商鋪轉(zhuǎn)讓服務(wù)合同
- 2025年度撫養(yǎng)權(quán)變更與財產(chǎn)分割調(diào)解合同模板
- 2025年度個人挖機租賃與施工驗收服務(wù)合同
- 2025年度房東轉(zhuǎn)租合同-科技園區(qū)房產(chǎn)租賃
- 2025年度醫(yī)院醫(yī)護人員崗位調(diào)整與勞動合同
- 2025年度互聯(lián)網(wǎng)企業(yè)期權(quán)投資合作協(xié)議
- 2025年度影視作品宣傳策劃代理合同
- 二零二五年度數(shù)字經(jīng)濟領(lǐng)域聘用業(yè)務(wù)經(jīng)理專屬合同
- 2025年度原油出口退稅及關(guān)稅優(yōu)惠合同
- 2025年社區(qū)計生工作計劃(三篇)
- 2025年湖北中煙工業(yè)限責任公司招聘筆試高頻重點提升(共500題)附帶答案詳解
- 2025江西上饒經(jīng)濟技術(shù)開發(fā)區(qū)招商集團限公司招聘29人高頻重點提升(共500題)附帶答案詳解
- 石油行業(yè)海洋石油勘探與開發(fā)方案
- 醫(yī)囑或處方的督導(dǎo)檢查、總結(jié)、反饋及改進措施
- 勞動保護知識培訓(xùn)課件
- 山東工業(yè)職業(yè)學(xué)院《家政職業(yè)經(jīng)理人》2023-2024學(xué)年第一學(xué)期期末試卷
- 水果加工工廠規(guī)劃
- 十八洞精準扶貧課件
- 2024年湖北省恩施利川市林業(yè)局直屬事業(yè)單位招聘18人歷年管理單位遴選500模擬題附帶答案詳解
- 第九單元跨學(xué)科實踐活動8海洋資源的綜合利用與制鹽教學(xué)設(shè)計-2024-2025學(xué)年九年級化學(xué)人教版(2024)下冊
評論
0/150
提交評論