2024年DA轉(zhuǎn)換實(shí)驗(yàn)報(bào)告_第1頁
2024年DA轉(zhuǎn)換實(shí)驗(yàn)報(bào)告_第2頁
2024年DA轉(zhuǎn)換實(shí)驗(yàn)報(bào)告_第3頁
2024年DA轉(zhuǎn)換實(shí)驗(yàn)報(bào)告_第4頁
2024年DA轉(zhuǎn)換實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

D/A轉(zhuǎn)換試驗(yàn)匯報(bào)組員:田亞峰杜亞亞摘要本次設(shè)計(jì)試驗(yàn)是以AT89C51、DAC0832、741為關(guān)鍵,并加以其他輔助電路來試驗(yàn)D/A轉(zhuǎn)換,其中重要是運(yùn)用單片機(jī)來控制從數(shù)字量到模擬量的整個(gè)轉(zhuǎn)換。先是從鍵盤輸入數(shù)字量到單片機(jī),再從單片機(jī)輸出到DAC0832,經(jīng)D/A轉(zhuǎn)換後輸出與該數(shù)字量大小對(duì)應(yīng)的模擬電壓,并用LED數(shù)碼管顯示出來輸入的數(shù)字量值。目錄TOC\o"1-3"\h\u318281.方案設(shè)計(jì)及論證 188161.1理論分析 111231.2單片機(jī)選擇 1164261.3鍵盤設(shè)計(jì) 232311.4D/A轉(zhuǎn)換選擇 2311822.硬件設(shè)計(jì) 212282.1單片機(jī)模塊 2198772.2D/A轉(zhuǎn)換模塊 3208173.軟件設(shè)計(jì) 562974.仿真驗(yàn)證及調(diào)試 5176754.1調(diào)試措施 533974.2性能測(cè)試儀器 637334.3試驗(yàn)數(shù)據(jù) 6298524.4誤差分析 6237605.設(shè)計(jì)總結(jié)及體會(huì) 73278附錄(一):實(shí)物圖 923732附錄(二)軟件程序 9方案設(shè)計(jì)及論證1.1理論分析根據(jù)本次設(shè)計(jì)任務(wù)的規(guī)定,由單片機(jī)模塊、D/A轉(zhuǎn)換模塊、反相比例加法運(yùn)算電路構(gòu)成。系統(tǒng)框圖如下:圖1系統(tǒng)框圖1.2單片機(jī)選擇方案一:選用AT89C51方案二:選用AT89C52論證:1)AT89C52的程序空間為8K比AT89C51的空間大2)AT89C52多了個(gè)T2定期器,因此比89C51多幾種寄存器因此選用AT89C52.1.3鍵盤設(shè)計(jì)方案一:采用獨(dú)立式鍵盤方案二:采用矩陣式鍵盤論證:由于獨(dú)立式鍵盤占用較多的I/O線,因此選用4×4矩陣式鍵盤輸入,以保證10個(gè)數(shù)所有完整輸入,節(jié)省I/O端口資源。1.4D/A轉(zhuǎn)換選擇本次設(shè)計(jì)選用DAC0832,它是由一種八位輸入鎖存器、一種8位D/A鎖存器和一種8位D/A轉(zhuǎn)換器三個(gè)部分構(gòu)成。D/A轉(zhuǎn)換器將輸入的數(shù)字量轉(zhuǎn)換為模擬量輸出,數(shù)字量是由若干數(shù)位構(gòu)成的,就是把每一位上的代碼按照權(quán)值轉(zhuǎn)換為對(duì)應(yīng)的模擬量,再把各位所對(duì)應(yīng)的模擬量相加,所得到各位模擬量的和便是數(shù)字量所對(duì)應(yīng)的模擬量。2.硬件設(shè)計(jì)2.1單片機(jī)模塊89C51單片機(jī)自身的電源電壓是5v,有兩種低功耗方式:待機(jī)方式和掉電方式。在掉電狀態(tài)下,其耗電電流為3mA,在掉電方式下提供約50mA的電流。80C51單片機(jī)是8位單片機(jī),速度較慢,且不能在線編程。在單片機(jī)的外部加一種振蕩電路,這個(gè)電路有晶振和兩個(gè)電容構(gòu)成,晶振兩端分別接到兩個(gè)電容的一端,兩個(gè)電容的另一端都要接地。這兩個(gè)電容串聯(lián)的容量就是就等于負(fù)載電容,這兩個(gè)電容選用33PF的。在P0端口接一種上拉電阻,增長高電平驅(qū)動(dòng)能力。P0口輸出七段碼,P2.0、P2.1、P2.2、P2.3口輸出位選碼。圖2單片機(jī)及外部電路2.2D/A轉(zhuǎn)換模塊本次設(shè)計(jì)的D/A轉(zhuǎn)換電路倒T電阻網(wǎng)絡(luò),當(dāng)數(shù)字量從單片機(jī)輸出到轉(zhuǎn)換器後,通過基準(zhǔn)電壓VREF鼓勵(lì)內(nèi)部的倒T形電阻網(wǎng)絡(luò),其輸出是模擬電流,為了將電流轉(zhuǎn)換成電壓信號(hào),外接運(yùn)算放大器,反饋電阻為片內(nèi)電阻。圖3功能框圖一級(jí)運(yùn)放得到單極性輸出電壓,二級(jí)運(yùn)放構(gòu)成反相比例加法運(yùn)算電路。圖4T形電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器由上式可見,輸出的模擬量與輸入的數(shù)字量()成正比,這就實(shí)現(xiàn)了從數(shù)字量到模擬量的轉(zhuǎn)換。3.軟件設(shè)計(jì)開始系統(tǒng)軟件流程圖如下圖,其中重要包括這三部分,即鍵盤輸入、數(shù)碼管顯示、D\A轉(zhuǎn)換、。開始系統(tǒng)初始化系統(tǒng)初始化鍵盤輸入鍵盤輸入單片機(jī)單片機(jī)數(shù)碼管顯示D/A轉(zhuǎn)換數(shù)碼管顯示D/A轉(zhuǎn)換輸出輸出圖5流程圖鍵盤輸入:通過行、列確定一種數(shù)。數(shù)碼管顯示:通過P0和P2端口分別進(jìn)行位選和段選。4.仿真驗(yàn)證及調(diào)試4.1調(diào)試措施環(huán)節(jié):1)鍵盤鍵入數(shù)字量;鍵入不一樣值,按12鍵轉(zhuǎn)換後來讀出電壓表表上的數(shù)值。圖6初始值圖7中間顯示值4.2性能測(cè)試儀器直流電源數(shù)字萬用表4.3試驗(yàn)數(shù)據(jù)表1數(shù)據(jù)表12345678910數(shù)碼管顯示0.000.501.001.552.003.003.504.004.505.00實(shí)測(cè)0.000.490.991.541.983.023.524.024.510.00電壓表顯示0.000.491.001.541.992.983.493.984.430.004.4誤差分析在實(shí)際測(cè)量測(cè)量時(shí)有誤差存在,誤差容許的范圍是-0.02V~+0.02V。導(dǎo)致誤差的原因有如下幾點(diǎn):1)D/A轉(zhuǎn)換器中元器件參數(shù)誤差;2)基準(zhǔn)電壓不穩(wěn)定;3)運(yùn)算放大器的零點(diǎn)漂移。5.設(shè)計(jì)總結(jié)及體會(huì)在收到任務(wù)時(shí),根據(jù)規(guī)定從總體到部分來分析,最終到詳細(xì)的器材使用,并且對(duì)每個(gè)組員合理分派任務(wù)。在設(shè)計(jì)時(shí),對(duì)每個(gè)模塊設(shè)計(jì)多方案,從中擇優(yōu)選用。硬件部分要注意所加電壓不能過大,否則會(huì)燒毀集成塊。實(shí)際電路焊接時(shí),線路要盡量短、直,便于後來檢查。對(duì)于每一點(diǎn)要焊實(shí),不能出現(xiàn)虛焊、短路。軟件設(shè)計(jì)要模塊化,語言要盡量簡潔程序應(yīng)采用模塊化構(gòu)造,程序代碼簡潔,編寫程序需要不停的修改、整頓、優(yōu)化,以使程序具有較少的代碼量,較高工作效率。這設(shè)計(jì)讓我們學(xué)到了諸多知識(shí),理解和掌握許多芯片的作用和功能。通過小組組員的共同努力試驗(yàn)終于出來了,非常有成就感。也要感謝老師的悉心指導(dǎo)。附錄(一):實(shí)物圖圖1圖2附錄(二)軟件程序#include<reg51.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharsbitw_select1=P2^0;sbitw_select2=P2^1;sbitw_select3=P2^2;sbitw_select4=P2^3;sbitcs_1=P2^7;//unsignedlonginta=0;ucharcodetable[10]={0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//ucharcodetable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/***************************************************************名稱:Delay_1ms()*功能:延時(shí)子程序,延時(shí)時(shí)間為1ms*x*輸入:x(延時(shí)一毫秒的個(gè)數(shù))*輸出:無***************************************************************/voidDelay_1ms(uintx){uinti;ucharj;for(i=0;i<x;i++)for(j=0;j<=148;j++);}/***************************************************************名稱:Keyscan()*功能:P1外接4×4按鍵,按照掃描法讀出鍵值*輸出:按鍵值0~15/如無鍵按下,返回16***************************************************************/ucharKeyscan(void){uchari,j,temp,Buffer[4]={0xef,0xdf,0xbf,0x7f};for(j=0;j<4;j++){//循環(huán)四次P1=Buffer[j];//在P1高四位分別輸出一種低電平temp=0x01;//計(jì)劃先判斷P1.0位for(i=0;i<4;i++){//循環(huán)四次if(!(P1&temp))//從P1低四位,截取1位return(i+j*4);//返回獲得的按鍵值temp<<=1;//判斷的位,左移一位}}return16;}//呵呵,實(shí)質(zhì)性的語句不過8行,就是這樣簡潔!voidDisplay1(longa)//顯示輸入鍵值對(duì)應(yīng)的拾進(jìn)制數(shù){w_select1=0;w_select2=0;w_select3=0;w_select4=0;cs_1=1;P0=table[a/1000]&0x7f;w_select4=1;Delay_1ms(10);w_select4=0;P0=table[(a/100)%10];w_select3=1;Delay_1ms(10);w_select3=0;P0=table[(a/10)%10];w_select2=1;Delay_1ms(10);w_select2=0;P0=table[a%10];w_select1=1;Delay_1ms(10);/***************************************************************名稱:Display(uchark)*功能:將參數(shù)提成拾位、個(gè)位分別顯示*輸入:k(鍵盤數(shù)值)*輸出:P0口輸出七段碼,P2口輸出位選碼***************************************************************/voidDisplay2(ucharh){P2=0;//??P0=table[h/10];P2=0x02;Delay_1ms(5);//??5ms??P2=0;//??P0=table[h%10];P2=0x01;Delay_1ms(5);//??5ms??}/***************************************************************名稱:Main()*功能:主函數(shù)***************************************************************/voidMain(void){ucharKey_Value=16,Key_Temp1,Key_Temp2;//兩次讀出的鍵值longTemp6,Temp7,Temp8,Temp9,Temp4=0,Temp5;intk,j=0,i=0,count;ucharA[4];cs_1=1;P3=0x00;Temp4=P3;P0=0xff;while(1){//如下讀入按鍵、消抖、等待按鍵釋放P1=0xff;Key_Temp1=Keyscan();//先讀入按鍵if(Key_Temp1!=16){//假如有鍵按下Delay_1ms(5);//延時(shí)一下//Display(Key_Value);//可用顯示替代延時(shí)Key_Temp2=Keyscan();//再讀一次按鍵if(Key_Temp1==Key_Temp2){//必須是兩次相等Key_Value=Key_Temp1;//才保留下來,這就是消除抖動(dòng)while(Keyscan()<16)Display2(Key_Value);if((Key_Value<10)&&(i<5))//對(duì)按鍵次數(shù)進(jìn)行計(jì)數(shù){A[i]=Key_Value;i++;count=i;if(i==4)i=0;} switch(count)//把持續(xù)按鍵值轉(zhuǎn)換成對(duì)應(yīng)的拾進(jìn)制數(shù){case1:{Temp5=A[0];Display1(Temp5);Delay_1ms(5);}break;case2:{Temp5=A[0]*10+A[1];Display1(Temp5);Delay_1ms(5);}break;case3:{Temp5=A[0]*100+A[1]*10+A[2];Display1(Temp5);Delay_1ms(5);}break;case4:{Temp5=A[0]*1000+A[1]*100+A[2]*10+A[3];Display1(Temp5);Delay_1ms(5);if(Temp5>=5001)Temp5=0;}break;} if(Key_Value==13) //鍵值步進(jìn)加20{if(j

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論