51系列單片機(jī)閉環(huán)溫度控制實(shí)驗(yàn)報(bào)告_第1頁
51系列單片機(jī)閉環(huán)溫度控制實(shí)驗(yàn)報(bào)告_第2頁
51系列單片機(jī)閉環(huán)溫度控制實(shí)驗(yàn)報(bào)告_第3頁
51系列單片機(jī)閉環(huán)溫度控制實(shí)驗(yàn)報(bào)告_第4頁
51系列單片機(jī)閉環(huán)溫度控制實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 成 績(jī): 重慶郵電大學(xué)自動(dòng)化學(xué)院綜合實(shí)驗(yàn)報(bào)告題 目:51系列單片機(jī)閉環(huán)溫度控制 學(xué)生姓名:蔣運(yùn)和 班 級(jí): 學(xué) 號(hào): 同組人員:李海濤 陳超 指導(dǎo)教師:郭鵬 完成時(shí)間:2013年12月 一、實(shí)驗(yàn)名稱:51系列單片機(jī)閉環(huán)溫度控制實(shí)驗(yàn)基于Protuse仿真實(shí)驗(yàn)平臺(tái)實(shí)現(xiàn)基本情況:1. 學(xué)生姓名:蔣運(yùn)和2. 學(xué) 號(hào):3. 班 級(jí):4. 同組其他成員:序號(hào)姓 名班 級(jí)學(xué) 號(hào)1李海濤2陳超二、實(shí)驗(yàn)內(nèi)容(實(shí)驗(yàn)原理介紹)1、 系統(tǒng)基本原理計(jì)算機(jī)控制技術(shù)實(shí)訓(xùn),即溫度閉環(huán)控制,根據(jù)實(shí)際要求,即加溫速度、超調(diào)量、調(diào)節(jié)時(shí)間級(jí)誤差參數(shù),選擇PID控制參數(shù)級(jí)算法,實(shí)現(xiàn)對(duì)溫度的自動(dòng)控制。閉環(huán)溫度

2、控制系統(tǒng)原理如圖:測(cè)溫溫控?cái)?shù)字輸出計(jì)算機(jī)PID2、 PID算法的數(shù)字實(shí)現(xiàn)本次試驗(yàn)通過8031通過OVEN 是模擬加熱的裝置,加一定的電壓便開始不停的升溫,直到電壓要消失則開始降溫。仿真時(shí),U形加熱器為紅色時(shí)表示正在加熱,發(fā)紅時(shí)將放過來接,就會(huì)制冷,變綠。T端輸出的是電壓,溫度越高,電壓就越高。 8031對(duì)溫度的控制是通過可控硅調(diào)控實(shí)現(xiàn)的??煽毓柰ㄟ^時(shí)間可以通過可控硅控制板上控制脈沖控制。該觸發(fā)脈沖想8031用軟件在P1.3引腳上產(chǎn)生,受過零同步脈沖后經(jīng)光偶管和驅(qū)動(dòng)器輸送到可控硅的控制級(jí)上。偏差控制原理是要求對(duì)所需溫度求出偏差值,然后對(duì)偏差值處理而獲得控制信號(hào)去調(diào)節(jié)加熱裝置的溫度。PID控制方程

3、式: 式中e是指測(cè)量值與給定值之間的偏差TD 微分時(shí)間T 積分時(shí)間 KP 調(diào)節(jié)器的放大系數(shù)將上式離散化得到數(shù)字PID位置式算法,式中在位置算法的基礎(chǔ)之上得到數(shù)字PID增量式算法: 3、 硬件電路設(shè)計(jì)在溫度控制中,經(jīng)常采用是硬件電路主要有兩大部分組成:模擬部分和數(shù)字部分,對(duì)這兩部分調(diào)節(jié)儀表進(jìn)行調(diào)節(jié),但都存在著許多缺點(diǎn),用單片機(jī)進(jìn)行溫度控制使構(gòu)成的系統(tǒng)靈活,可靠性高,并可用軟件對(duì)傳感器信號(hào)進(jìn)行抗干攏濾波和非線性補(bǔ)償處理,可大大提高控制質(zhì)量和自動(dòng)化水平;總的來說本系統(tǒng)由四大模塊組成,它們是輸入模塊、單片機(jī)系統(tǒng)模塊、計(jì)算機(jī)顯示與控制模塊和輸出控制模塊。輸入模塊主要完成對(duì)溫度信號(hào)的采集和轉(zhuǎn)換工作,由溫度

4、傳感器及其與單片機(jī)的接口部分組成。 利用模擬加熱的裝置來控制溫度。程序結(jié)構(gòu)圖如下:3、 電路原理圖三、實(shí)驗(yàn)結(jié)果分析(含程序、數(shù)據(jù)記錄及分析和實(shí)驗(yàn)總結(jié)等,可附頁):1、51系列單片機(jī)直流電機(jī)閉環(huán)調(diào)速實(shí)驗(yàn)程序/*-REG52.HHeader file for generic 80C52 and 80C32 microcontroller.Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.All rights reserved.-*/#ifndef _REG52_H_#define _REG52_H_/* BYTE

5、 Registers */sfr P0 = 0x80;sfr P1 = 0x90;sfr P2 = 0xA0;sfr P3 = 0xB0;sfr PSW = 0xD0;sfr ACC = 0xE0;sfr B = 0xF0;sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;sfr PCON = 0x87;sfr TCON = 0x88;sfr TMOD = 0x89;sfr TL0 = 0x8A;sfr TL1 = 0x8B;sfr TH0 = 0x8C;sfr TH1 = 0x8D;sfr IE = 0xA8;sfr IP = 0xB8;sfr SCON

6、 = 0x98;sfr SBUF = 0x99;/* 8052 Extensions */sfr T2CON = 0xC8;sfr RCAP2L = 0xCA;sfr RCAP2H = 0xCB;sfr TL2 = 0xCC;sfr TH2 = 0xCD;/* BIT Registers */* PSW */sbit CY = PSW7;sbit AC = PSW6;sbit F0 = PSW5;sbit RS1 = PSW4;sbit RS0 = PSW3;sbit OV = PSW2;sbit P = PSW0; /8052 only/* TCON */sbit TF1 = TCON7;s

7、bit TR1 = TCON6;sbit TF0 = TCON5;sbit TR0 = TCON4;sbit IE1 = TCON3;sbit IT1 = TCON2;sbit IE0 = TCON1;sbit IT0 = TCON0;/* IE */sbit EA = IE7;sbit ET2 = IE5; /8052 onlysbit ES = IE4;sbit ET1 = IE3;sbit EX1 = IE2;sbit ET0 = IE1;sbit EX0 = IE0;/* IP */sbit PT2 = IP5;sbit PS = IP4;sbit PT1 = IP3;sbit PX1

8、 = IP2;sbit PT0 = IP1;sbit PX0 = IP0;/* P3 */sbit RD = P37;sbit WR = P36;sbit T1 = P35;sbit T0 = P34;sbit INT1 = P33;sbit INT0 = P32;sbit TXD = P31;sbit RXD = P30;/* SCON */sbit SM0 = SCON7;sbit SM1 = SCON6;sbit SM2 = SCON5;sbit REN = SCON4;sbit TB8 = SCON3;sbit RB8 = SCON2;sbit TI = SCON1;sbit RI =

9、 SCON0;/* P1 */sbit T2EX = P11; / 8052 onlysbit T2 = P10; / 8052 only /* T2CON */sbit TF2 = T2CON7;sbit EXF2 = T2CON6;sbit RCLK = T2CON5;sbit TCLK = T2CON4;sbit EXEN2 = T2CON3;sbit TR2 = T2CON2;sbit C_T2 = T2CON1;sbit CP_RL2 = T2CON0;#endif#ifndef WENDU_H_#define WENDU_H_#define u8 unsigned char#def

10、ine u16 unsigned int#define PULSE 200/LCD/sbit RS = P25;sbit RW = P26;sbit EN = P27;sbit LED = P30;sbit ENA = P37;sbit IN2 = P36;sbit IN1 = P35;void delay_ms(u16 z);void LCD_WriteData(u8 Dat);void LCD_WriteCOM(u8 com);void Show_Num(u8 x,u8 y,u8 n,u16 num); /n為數(shù)字長(zhǎng)度 num小于等于65535void Show_fNum(u8 x,u8

11、y,u16 num);void LCD_Init(void);void key_scan(void);/void key_scan(void);extern u16 read_tlc2543(u8 port);#endif#ifndef TLC2543_H_#define TLC2543_H_/TLC2543/sbit SDO = P20;sbit SDI = P21;sbit CS = P22;sbit CLK = P23;sbit EOC = P24;/u16 read_tlc2543(u8 port);#define u8 unsigned char#define u16 unsigne

12、d intu16 read_tlc2543(u8 port);u8 AD_deal(void); #endif#include#includetlc2543.h/#includewendu.hvoid delay_us(u16 z) u16 i; for(i=z;i0;i-);u16 read_tlc2543(u8 port) static u8 PORT = 0; u8 Temp,i,k=0; u16 AD_value=0; Temp = port; CS = 1; CLK = 0; delay_us(1); Temp=4; CS = 0; while(1) for(i=0;i8;i+) C

13、LK = 0; if(Temp&0x80) SDI = 1; else SDI = 0; AD_value=1; if(SDO) AD_value |= 0x01; CLK = 1; delay_us(2); Temp=1; for(i=8;i12;i+) CLK = 0; AD_value=1; if(SDO) AD_value |= 0x01; delay_us(2); CLK = 1; CLK = 0; CS = 1; if(PORT = port) break; else Temp = port; Temp2) PORT = port; return AD_value;u8 AD_de

14、al(void) u16 AD_value; u16 temp; float temp1; AD_value = read_tlc2543(0x00); temp1 =(AD_value*0.04069); temp =(u16)(temp1*10); if(temp%10)4) temp = temp/10+1;else temp = temp/10;temp = (u8)temp; return temp;#include#includewendu.h#includetlc2543.hu8 S_Temp=100; /設(shè)置溫度u8 P_Temp=25; /實(shí)際溫度u8 pulse = 0;u

15、8 Kp=30,Ki=0;Kd=10;int uk=0;int num=0;struct FLAG u8 turn;myflag;/*函數(shù)功能:延時(shí)*/void delay_ms(u16 z) u16 i; u8 j; for(i=z;i0;i-) for(j=120;j0;j-); /*函數(shù)功能:LCD寫數(shù)據(jù)*/void LCD_WriteData(u8 Dat) RS = 1; / delay_ms(5); P1 = Dat; EN = 1; delay_ms(5); EN = 0;/*函數(shù)功能:LCD命令*/void LCD_WriteCOM(u8 com) RS = 0; / dela

16、y_ms(5); P1 = com; EN = 1; delay_ms(5); EN = 0;/*函數(shù)功能:Show_Num初始化*/void Show_Num(u8 x,u8 y,u8 n,u16 num) /n為數(shù)字長(zhǎng)度 num小于等于65535 u16 Temp=num; u8 a5,i; for(i=0;i0;i-) LCD_WriteData(ai-1+0x30); /*函數(shù)功能:Show_fNum初始化*/void Show_fNum(u8 x,u8 y,u16 num) u8 a,b; a = num/10%10; b = num%10; if(y%2 = 1) LCD_Writ

17、eCOM(0x80+x); else LCD_WriteCOM(0x80+0x40+x); LCD_WriteData(a+0x30); LCD_WriteData(b+0x30);/*函數(shù)功能:Show_Num初始化*/void Show_char(u8 x,u8 y,u8 ch) if(y%2 = 1) LCD_WriteCOM(0x80+x); else LCD_WriteCOM(0x80+0x40+x); LCD_WriteData(ch); /*函數(shù)功能:LCD初始化*/void LCD_Init(void) RW = 0; EN = 0; /delay_ms(20); LCD_Wr

18、iteCOM(0x38); LCD_WriteCOM(0x0c); LCD_WriteCOM(0x06); LCD_WriteCOM(0x01);/*函數(shù)功能:LCD初始化*/void LCD_display(void) Show_char(0,1,P); Show_char(1,1,T); Show_char(2,1,:); Show_char(9,1,S); Show_char(10,1,T); Show_char(11,1,:); Show_Num(12,1,3,S_Temp); Show_char(0,2,P); Show_char(1,2,:); Show_Num(2,2,2,Kp)

19、; Show_char(5,2,I); Show_char(6,2,:); Show_Num(7,2,2,Ki); Show_char(10,2,D); Show_char(11,2,:); Show_Num(12,2,2,Kd);/*函數(shù)功能:定時(shí)器2初始化*/void timer2_init() RCAP2H =(65536-100)/256; /100us RCAP2L =(65536-100)%256; TH2 = RCAP2H; TL2 = RCAP2L; ET2 = 1; TR2 = 1; EA = 1;void Temp_crl() static int ess3=0; stat

20、ic sum = 0; ess0=S_Temp-P_Temp; uk=Kp*ess0+Ki*sum+Kd*(ess0-ess1); ess2=ess1; ess1=ess0; sum = sum+ess0; uk=(int)(uk/10); if(uk=0) if(uk=200) uk = 199;myflag.turn = 1; else uk=-uk; if(uk=200) uk = 199;myflag.turn = 0; pulse = uk; int main(void) u16 AD_value1=0; myflag.turn=0; ENA = 1; LCD_Init(); LCD

21、_display(); timer2_init(); while(1) AD_value1 = read_tlc2543(0); P_Temp = AD_deal();Temp_crl();Show_Num(3,1,3,P_Temp); key_scan(); return 0; void timer2() interrupt 5 static u16 num1=0; TF2 = 0; num1+; if(num1=PULSE) num1=0;ENA=1; void key_scan(void) u8 Temp=P0; static u8 Add_Ver=0,one_ten=0; static

22、 Tri=0,CON=0; Temp = Temp0xff; Tri = Temp&(TempCON); CON = Temp; if(Tri=0x10) Add_Ver+;Add_Ver=Add_Ver%2; else if(Tri=0x20) one_ten+;one_ten=one_ten%2; else if(Tri=0x01) if(S_Temp+1=1&Add_Ver=1&one_ten=0) S_Temp-;else if(S_Temp+10=10&Add_Ver=1&one_ten=1) S_Temp=S_Temp-10; Show_Num(12,1,3,S_Temp); else if(Tri=0x02) if(Kp+1=1&Add_Ver=1&one_ten=0) Kp-;else if(Kp+10=10&Add_Ver=1&one_ten=1) Kp=Kp-10; Show_Num(2,2,2,Kp); else if(Tri=0x04) if(Ki+1=1&Add_Ver=1&one_ten=0) Ki-;else if(Ki+10=10&Add_Ver=1&one_ten=1) Ki=Ki-10;Show_Num(7,2,2,Ki); else

溫馨提示

  • 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)論