直流電子負(fù)載_第1頁
直流電子負(fù)載_第2頁
直流電子負(fù)載_第3頁
直流電子負(fù)載_第4頁
直流電子負(fù)載_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

..>直流電子負(fù)載一、根本要求〔1〕負(fù)載工作模式:恒壓(CV)、恒流(CC)兩種模式可選擇?!?〕電壓設(shè)置及讀出范圍:1.00V~20.0V?!?〕電流設(shè)置及讀出范圍:100mA~3.00A?!?〕顯示分辨力及誤差:至少具有三位數(shù),相對誤差小于5%。二、總體方案論證與設(shè)計顯顯示按鍵輸入單片機(jī)AD轉(zhuǎn)換DA轉(zhuǎn)換電流檢測電壓檢測恒壓恒流利用A/D轉(zhuǎn)換把模擬信號轉(zhuǎn)換為數(shù)字信號,在利用單片機(jī)程控來修改電壓電流參數(shù),此方案準(zhǔn)確度高,操作技術(shù)要求很高,節(jié)省時間。并且用DA采集顯示測量值,比較得出結(jié)論。1.定電流模式〔CCmode〕在定電流工作模式時,電子負(fù)載所流入的負(fù)載電流依據(jù)所設(shè)定的電流值而保持恒定,與輸入電壓大小無關(guān),即負(fù)載電流保持?jǐn)z定值不變。2.定電壓模式〔CVmode〕在定電壓工作模式時,電子負(fù)載所流入的負(fù)載電流依據(jù)所設(shè)定的負(fù)載電壓而定,此時負(fù)載電流將會增加直到負(fù)載電壓等于設(shè)定值為止,即負(fù)載電壓保持設(shè)定值不變。電源模塊根本電路圖單片機(jī)模塊根本電路三、測試及分析測試原始數(shù)據(jù)1.恒流模式數(shù)據(jù)測量模式設(shè)定值〔A〕測量值1(A)測量值2(A)測量值3(A)工作電壓(V)工作電壓(V)工作電壓(V)恒流恒流恒流恒流恒流2.恒壓模式數(shù)據(jù)測量模式設(shè)定值(V)測量值1(V)測量值2(V)測量值3(V)工作電壓(V)工作電壓(V)工作電壓(V)恒壓恒壓3.163.083.14恒壓8.969.04恒壓15.24恒壓19.8421.12四、附錄根本程序恒流模塊#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharsbitrs=P2^7;sbitE=P2^6;sbitadwr=P2^5;sbitadrd=P2^4;floatadval;longinttemp;voiddelay(uintz)//延時子程序{uint*,y;for(*=z;*>0;*--)for(y=110;y>0;y--);}write_(uchar)//寫命令{rs=0;P0=;delay(5);E=1;delay(5);E=0;}write_data(uchardat)//寫數(shù)據(jù){rs=1;P0=dat;delay(5);E=1;delay(5);E=0;}init()//液晶初始化{E=0;write_(0*38);write_(0*0c);write_(0*06);write_(0*01);write_(0*80+3);}voidDisplay_Resulti(uchardac)//恒流設(shè)定值子程序{floatdb=0.0; ucharshi=0,ge=0,*s=0,**s=0;P3=dac; db=dac*3.00/158.00; shi=(int)db/10; ge=(int)db%10; db*=10.0;*s=(int)db%10; db*=10.0;**s=(int)db%10;write_(0*80+1);delay(2);write_data('c');delay(2);write_data('u');delay(2);write_data('r');delay(2);write_data('r');delay(2);write_data('e');delay(2);write_data('n');delay(2);write_data('t');delay(2);write_data(0*3a);delay(2);if(shi==0){write_data(0*20);delay(2);}elsewrite_data(0*30+shi);delay(2);write_data(0*30+ge);delay(2);write_data(0*2e);delay(2);write_data(0*30+*s);delay(2);write_data(0*30+**s);delay(2);}voidDisplay_Resulti1(floatadval)//測量電流值子程序{ucharge,*s,shi,**s;temp=(longint)(adval*105/51);shi=temp/1000;ge=temp/100%10;*s=temp/10%10;**s=temp%10;write_(0*80+0*40+1);delay(2);write_data('C');delay(2);write_data('U');delay(2);write_data('R');delay(2);write_data('R');delay(2);write_data('E');delay(2);write_data('N');delay(2);write_data('T');delay(2);write_data(0*3a);delay(2);if(shi==0){write_data(0*20);delay(2);}elsewrite_data(0*30+shi);delay(2);write_data(0*30+ge);delay(2);write_data(0*2e);delay(2);write_data(0*30+*s);delay(2);write_data(0*30+**s);delay(2);}voidADC()//啟動AD轉(zhuǎn)換{adwr=1;_nop_();adwr=0;_nop_();adwr=1;P1=0*ff;adrd=1;_nop_();adrd=0;_nop_();adval=P1;adrd=1;}voidmain()//主程序{init();TMOD=0*02;//定時器初始化 TH0=0*6f; TL0=0*00; IE=0*82; TR0=1;while(1)//顯示模塊{ucharkey=0; bitkeyflag=1; uintdac=0; Display_Resulti(dac);while(1)//鍵盤掃描控制顯示 {Display_Resulti1(adval);ADC(); key=P2&0*0f;switch(key) { case0*0e: if(keyflag){ dac=0; Display_Resulti(dac);keyflag=0; } break;case0*0d: if(keyflag){dac+=10; Display_Resulti(dac); keyflag=0; } break;case0*0b: if(keyflag){dac-=10; Display_Resulti(dac); keyflag=0; } break;case0*07: if(keyflag){ dac=158; Display_Resulti(dac);keyflag=0; } break;case0*0f:keyflag=1;break; } }}}恒壓模塊#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharsbitrs=P2^7;sbitE=P2^6;sbitadwr=P2^5;sbitadrd=P2^4;floatadval;longinttemp;voiddelay(uintz)//延時子程序{uint*,y;for(*=z;*>0;*--)for(y=110;y>0;y--);}write_(uchar)//寫命令{rs=0;P0=;delay(5);E=1;delay(5);E=0;}write_data(uchardat)//寫數(shù)據(jù){rs=1;P0=dat;delay(5);E=1;delay(5);E=0;}init()//液晶初始化{E=0;write_(0*38);write_(0*0c);write_(0*06);write_(0*01);write_(0*80+3);}voidDisplay_Resultu1(floatadval)//恒壓設(shè)定值子程序{ucharge,*s,shi,**s;temp=(longint)(adval*110/51);temp=temp*4;shi=temp/1000;ge=temp/100%10;*s=temp/10%10;**s=temp%10;write_(0*80+0*40+1);delay(2);write_data('V');delay(2);write_data('O');delay(2);write_data('L');delay(2);write_data('T');delay(2);write_data('A');delay(2);write_data('G');delay(2);write_data('E');delay(2);write_data(0*3a);delay(2);if(shi==0){write_data(0*20);delay(2);}elsewrite_data(0*30+shi);delay(2);write_data(0*30+ge);delay(2);write_data(0*2e);delay(2);write_data(0*30+*s);delay(2);write_data(0*30+**s);delay(2);}voidDisplay_Resultu(uchardac)//測量電壓子程序{floatdb=0.0; ucharshi=0,ge=0,*s=0,**s=0;P3=dac; db=dac*20.00/255.00; shi=(int)db/10; ge=(int)db%10; db*=10.0;*s=(int)db%10; db*=10.0;**s=(int)db%10;write_(0*80+1);delay(2);write_data('v');delay(2);write_data('o');delay(2);write_data('l');delay(2);write_data('t');delay(2);write_data('a');delay(2);write_data('g');delay(2);write_data('e');delay(2);write_data(0*3a);delay(2);if(shi==0){write_data(0*20);delay(2);}elsewrite_data(0*30+shi);delay(2);write_data(0*30+ge);delay(2);write_data(0*2e);delay(2);write_data(0*30+*s);delay(2);write_data(0*30+*s);delay(2);}voidADC()//啟動AD轉(zhuǎn)換{adwr=1;_nop_();adwr=0;_nop_();adwr=1;P1=0*ff;adrd=1;_nop_();adrd=0;_nop_();adval=P1;adrd=1;}voidmain()//主程序{init();TMOD=0*02;//定時器初始化 TH0=0*6f; TL0=0*00; IE=0*82; TR0=1;while(1)//顯示模塊{ucharkey=0; bitkeyflag=1; uintdac=0; Display_Resultu

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論