畢業(yè)設(shè)計(jì)論文格式_第1頁(yè)
畢業(yè)設(shè)計(jì)論文格式_第2頁(yè)
畢業(yè)設(shè)計(jì)論文格式_第3頁(yè)
畢業(yè)設(shè)計(jì)論文格式_第4頁(yè)
畢業(yè)設(shè)計(jì)論文格式_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、. PID調(diào)節(jié)器主控局部包括以下幾個(gè)局部:?jiǎn)纹瑱C(jī)局部、A/D轉(zhuǎn)換局部、D/A轉(zhuǎn)換局部、穩(wěn)壓局部、數(shù)字輸入輸出局部以及串口通信局部。D1:部設(shè)定點(diǎn)信號(hào)燈S1:部設(shè)定點(diǎn)和外部設(shè)定點(diǎn)轉(zhuǎn)換開(kāi)關(guān)D2:手動(dòng)信號(hào)燈S2:手動(dòng)自動(dòng)轉(zhuǎn)換開(kāi)關(guān)D3:實(shí)際值*顯示信號(hào)燈D4:設(shè)定值W顯示信號(hào)燈S3:參數(shù)修改以及實(shí)際值和設(shè)定值顯示轉(zhuǎn)換開(kāi)關(guān)D5:超過(guò)限定值信號(hào)燈D6:低于限定值信號(hào)燈S4:設(shè)定值增加按鈕S5:設(shè)定值減少按鈕S6:修改手動(dòng)變量按鈕S7:修改手動(dòng)變量按鈕附錄1 主程序MAIN.C#includeadconver.h#includedelay.h#includedis7281.h#includeSTC12C54

2、10AD.H#includemain.H#includesubkey0.h#includesubkey1.h#includesubkey2.h#includesubkey3.h#includesubkey4.h#includesubkey5.h#includesubkey6.hbit insertsetframe=1;/部設(shè)定標(biāo)志位bit handframe=1;/手動(dòng)設(shè)定標(biāo)志位bit improvedisframe=0;/實(shí)際值標(biāo)志位bit shineframe=0;/判斷是不是第一次開(kāi)機(jī)停頓4LED的閃爍bit canshuframe=0*00;/參數(shù)標(biāo)志位unsigned char ci

3、rcleframe=0*00;/參數(shù)循環(huán)變量unsigned char channelframe=0*00;/通道標(biāo)志位unsigned char ledframe=0*fc;/LED燈管狀態(tài)unsigned char times=0*00;/記數(shù)位unsigned char readkey;unsigned int setvalue=0*00;/設(shè)定值unsigned char outputvalue=0*00;/輸出值unsigned int limup=0*270f;/實(shí)際值上限unsigned int limdown=0*00;/實(shí)際值下限unsigned int a1=0*270f;

4、/上限報(bào)警值unsigned int a2=0*00;/下限報(bào)警值unsigned int cp=0*00;/P參數(shù)unsigned int ci=0*00;/I參數(shù)unsigned int cd=0*00;/D參數(shù)unsigned char led6;/LED值公共main() unsigned int tmr; unsigned char keynumber; for (tmr=0;tmra1) ledframe&=0*ef;/翻開(kāi)上限報(bào)警燈 write7281(0*06,ledframe); if(addataa2) ledframe&=0*df;/翻開(kāi)上限報(bào)警燈 write7281(0

5、*06,ledframe); hdconver(addata); dis4led();附錄8 D/A轉(zhuǎn)換模塊的程序DACONVERC#includedelay.h#includeSTC12C5410AD.H#includemain.H#includedaconver.hsbit TLV5618_SCLK=P17;sbit TLV5618_DIN=P15;sbit TLV5618_CS=P14; void mDelay(unsigned int a)unsigned int f; for(f=0;fa;f+); void TLV5618 (unsigned int da) unsigned in

6、t i;unsigned int dat;dat= da|0*c000;TLV5618_CS=0;TLV5618_SCLK=0; for(i=0;i16;i+) TLV5618_DIN=(bit)(dat&0*8000); dat=dat1; TLV5618_SCLK=1; mDelay(50); TLV5618_SCLK=0; mDelay(50); TLV5618_CS=1; void daconver(void) float i=100; unsigned int da; i=outputvalue/100*4096; da=(unsigned int)i; TLV5618 (da);附

7、錄9顯示及鍵盤(pán)模塊的程序DIS7281C#includedelay.H#includeSTC12C5410AD.H#includedis7281.H#includemain.hvoid write7281(unsigned char regadd,unsigned char writedata) sendbyte(regadd); sendbyte(writedata); void sendbyte(unsigned char sendbyte) unsigned char bitcounter; clk=0; clk=1; do clk=0; clk=1; while(dat); clk=0

8、; clk=1; while(!dat); for(bitcounter=0;bitcounter8;bitcounter+) if (sendbyte&0*80)=0) dat=0; else dat=1; sendbyte=sendbyte*2; clk=0; clk=1; delay(1); dat=1; delay(2);unsigned char receivebyte(void) unsigned char bit_counter; unsigned char in_byte; clk=0; clk=1; /只發(fā)送一個(gè)單元的脈沖 while(dat);/等待BC7281響應(yīng)DAT底

9、電平 clk=0; clk=1; /受到響應(yīng),再發(fā)一脈沖等待承受數(shù)據(jù) for (bit_counter=0;bit_counter8;bit_counter+ ) /承受8個(gè)BIT delay(1); in_byte=in_byte*2 ;/in_byte左移一位 if(dat) /如果DAT為1 in_byte=in_byte|0*01; /bit0=1 clk=0; clk=1; delay(2); clk=0; clk=1; return(in_byte);unsigned char read7281(unsigned char reg_add) sendbyte (0*80+reg_a

10、dd); /發(fā)送讀指令BIT 7=1 return (receivebyte(); /承受數(shù)據(jù)字節(jié)并返回 void dis4led() unsigned char i; unsigned char id=0*00; for(i=0;i4;i+) write7281(0*14,id+ledi); id+=0*10; void dis2led() unsigned char i; unsigned char id=0*40; for(i=4;ipv=process_point; pid-sp=set_point; void pid_tune(struct _pid *pid,float p_gai

11、n,float i_gain,float d_gain,int dead_band) pid-pgain=p_gain; pid-igain=i_gain; pid-dgain=d_gain; pid-deadband=dead_band; pid-integral=integral_val; pid-last_error=0;void pid_setinteg(struct _pid *pid,float new_integ) pid-integral=new_integ; pid-last_error=0;void pid_bumpless(struct _pid *pid) pid-la

12、st_error=(pid-sp)-(pid-pv);float pid_calc(struct _pid *pid) int err; float pterm,dterm,result,ferror; err=(pid-sp)-(pid-pv); if(abs(err)pid-deadband) ferror=(float)err; pterm=pid-pgain*ferror; if(pterm100|ptermintegral=0.0; else pid-integral+=pid-igain*ferror; if(pid-integral100.0) pid-integral=100.

13、0; else if(pid-integralintegral=0.0; dterm=(float)(err-pid-last_error)*pid-dgain; result=pterm+pid-integral+dterm; else result=pid-integral; pid-last_error=err; return(result);void pidcf(void) int count=0; float val=100; float p_gain=cp/val; float i_gain=ci/val; float d_gain=cd/val;/ unsigned int dadata; pid=&warm; dead_band=2; integral_val=(float)(0.01); while(count=20) process_point=(unsigned int)addata/val; set_point=(unsigned int)setvalue/val; pid_init

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論