ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:165.24KB ,
资源ID:24825165      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24825165.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51系列单片机闭环温度控制实验报告材料.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51系列单片机闭环温度控制实验报告材料.docx

1、51系列单片机闭环温度控制实验报告材料 成 绩: 重庆邮电大学自动化学院综合实验报告题 目:51系列单片机闭环温度控制 学生姓名:蒋运和 班 级: 学 号: 同组人员:李海涛 陈超 指导教师:郭鹏 完成时间:2013年12月 一、实验名称:51系列单片机闭环温度控制实验 基于Protuse仿真实验平台实现基本情况:1. 学生姓名:蒋运和2. 学 号:3. 班 级:4. 同组其他成员:序号姓 名班 级学 号1李海涛2陈超二、实验内容(实验原理介绍)1、系统基本原理计算机控制技术实训,即温度闭环控制,根据实际要求,即加温速度、超调量、调节时间级误差参数,选择PID控制参数级算法,实现对温度的自动控

2、制。闭环温度控制系统原理如图:2、PID算法的数字实现本次试验通过8031通过OVEN 是模拟加热的装置,加一定的电压便开始不停的升温,直到电压要消失则开始降温。仿真时,U形加热器为红色时表示正在加热,发红时将直流电压放过来接,就会制冷,变绿。T端输出的是电压,温度越高,电压就越高。 8031对温度的控制是通过可控硅调控实现的。可控硅通过时间可以通过可控硅控制板上控制脉冲控制。该触发脉冲想8031用软件在P1.3引脚上产生,受过零同步脉冲后经光偶管和驱动器输送到可控硅的控制级上。偏差控制原理是要求对所需温度求出偏差值,然后对偏差值处理而获得控制信号去调节加热装置的温度。PID控制方程式: 式中

3、e是指测量值与给定值之间的偏差TD 微分时间T 积分时间 KP 调节器的放大系数将上式离散化得到数字PID位置式算法,式中在位置算法的基础之上得到数字PID增量式算法: 3、硬件电路设计在温度控制中,经常采用是硬件电路主要有两大部分组成:模拟部分和数字部分,对这两部分调节仪表进行调节,但都存在着许多缺点,用单片机进行温度控制使构成的系统灵活,可靠性高,并可用软件对传感器信号进行抗干拢滤波和非线性补偿处理,可大大提高控制质量和自动化水平;总的来说本系统由四大模块组成,它们是输入模块、单片机系统模块、计算机显示与控制模块和输出控制模块。输入模块主要完成对温度信号的采集和转换工作,由温度传感器及其与

4、单片机的接口部分组成。 利用模拟加热的装置来控制温度。程序结构图如下:3、电路原理图三、实验结果分析(含程序、数据记录及分析和实验总结等,可附页):1、51系列单片机直流电机闭环调速实验程序/*-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 Regist

5、ers */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 = 0x98

6、;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;sbit TR1

7、 = 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 = IP2;

8、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 = SCON0;

9、/* 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#define u16

10、 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为数字长度 num小于等于65535void Show_fNum(u8 x,u8 y,u16 n

11、um);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 unsigned intu1

12、6 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+) CLK = 0;

13、 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_deal(void

14、) 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; /设置温度u8 P_Temp=25; /实际温度u8 pulse = 0;u8 Kp=

15、30,Ki=0;Kd=10;int uk=0;int num=0;struct FLAG u8 turn;myflag;/*函数功能:延时*/void delay_ms(u16 z) u16 i; u8 j; for(i=z;i0;i-) for(j=120;j0;j-); /*函数功能:LCD写数据*/void LCD_WriteData(u8 Dat) RS = 1; / delay_ms(5); P1 = Dat; EN = 1; delay_ms(5); EN = 0;/*函数功能:LCD命令*/void LCD_WriteCOM(u8 com) RS = 0; / delay_ms(

16、5); P1 = com; EN = 1; delay_ms(5); EN = 0;/*函数功能:Show_Num初始化*/void Show_Num(u8 x,u8 y,u8 n,u16 num) /n为数字长度 num小于等于65535 u16 Temp=num; u8 a5,i; for(i=0;i0;i-) LCD_WriteData(ai-1+0x30); /*函数功能: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_WriteCOM

17、(0x80+x); else LCD_WriteCOM(0x80+0x40+x); LCD_WriteData(a+0x30); LCD_WriteData(b+0x30);/*函数功能: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); /*函数功能:LCD初始化*/void LCD_Init(void) RW = 0; EN = 0; /delay_ms(20); LCD_WriteC

18、OM(0x38); LCD_WriteCOM(0x0c); LCD_WriteCOM(0x06); LCD_WriteCOM(0x01);/*函数功能: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); Sh

19、ow_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);/*函数功能:定时器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; static s

20、um = 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_d

21、isplay(); 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); e

23、lse 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 if(Tri=0x08) if(Kd+1=1&Add_Ver=1&one_ten=0) Kd-; els

24、e if(Kd+10=10&Add_Ver=1&one_ten=1) Kd=Kd-10; Show_Num(12,2,2,Kd); 2、程序分析结果3、结论分析在工业生产和日常生活中,对温度控制系统的要求,主要是保证温度在一定温度范围内变化,稳定性好,不振荡,对系统的快速要求不高。在论文中简单分析了温度控制系统基于Protuse仿真实验,采用热电偶作为温度检测器,应用LED显示,通过键盘4X4来对PID进行参数控制。本实验设计使用8031作为主芯片进行控制,单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛用途。其温度控制所用的热电偶,范围广泛,在系统中如果加强算法,会大大提高控制精度,同时降低成本,提高效率。实验总结 经过这次

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1