当前位置:文档之家› 51系列单片机闭环温度控制 实验报告

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

for(i=z;i>0;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)
2.学号:
3.班级:4.同组其他成员:
序号
姓名
班级
学号
1
2
二、实验内容(实验原理介绍)
1、系统基本原理
计算机控制技术实训,即温度闭环控制,根据实际要求,即加温速度、超调量、调节时间级误差参数,选择PID控制参数级算法,实现对温度的自动控制。
闭环温度控制系统原理如图:
2、PID算法的数字实现
本次试验通过8031通过OVEN是模拟加热的装置,加一定的电压便开始不停的升温,直到电压要消失则开始降温。仿真时,U形加热器为红色时表示正在加热,发红时将直流电压放过来接,就会制冷,变绿。T端输出的是电压,温度越高,电压就越高。
/* IE */
sbit EA = IE^7;
sbit ET2 = IE^5; //8052 only
sbit ES = IE^4;
sbit ET1 = IE^3;
sbit EX1 = IE^2;
sbit ET0 = IE^1;
sbit EX0 = IE^0;
/* IP */
sbit PT2 = IP^5;
temp =(u16)(temp1*10);
if((temp%10)>4)
temp = temp/10+1;
else
temp = temp/10;
tempp;
}
#include<reg52.h>
#include"wendu.h"
#include"tlc2543.h"
EN = 0;
}
/*************
函数功能:Show_Num初始化
****************/
void Show_Num(u8 x,u8 y,u8 n,u16 num)//n为数字长度num小于等于65535
{
u16 Temp=num;
u8 a[5],i;
}
k++;
if(k>2)
{
PORT = port;
}
}
return AD_value;
}
u8 AD_deal(void)
{
u16 AD_value;
u16 temp;
float temp1;
AD_value = read_tlc2543(0x00);
temp1 =(AD_value*0.04069);
void Show_fNum(u8 x,u8 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_
/* TCON */
sbit TF1 = TCON^7;
sbit TR1 = TCON^6;
sbit TF0 = TCON^5;
sbit TR0 = TCON^4;
sbit IE1 = TCON^3;
sbit IT1 = TCON^2;
sbit IE0 = TCON^1;
sbit IT0 = TCON^0;
Header file for generic 80C52 and 80C32 microcontroller.
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/
式中e是指测量值与给定值之间的偏差
TD微分时间
T积分时间
KP 调节器的放大系数
将上式离散化得到数字PID位置式算法,式中在位置算法的基础之上得到数字PID
增量式算法:
3、硬件电路设计
在温度控制中,经常采用是硬件电路主要有两大部分组成:模拟部分和数字部分,对这两部分调节仪表进行调节,但都存在着许多缺点,用单片机进行温度控制使构成的系统灵活,可靠性高,并可用软件对传感器信号进行抗干拢滤波和非线性补偿处理,可大大提高控制质量和自动化水平;总的来说本系统由四大模块组成,它们是输入模块、单片机系统模块、计算机显示与控制模块和输出控制模块。输入模块主要完成对温度信号的采集和转换工作,由温度传感器及其与单片机的接口部分组成。利用模拟加热的装置来控制温度。
8031对温度的控制是通过可控硅调控实现的。可控硅通过时间可以通过可控硅控制板上控制脉冲控制。该触发脉冲想8031用软件在P1.3引脚上产生,受过零同步脉冲后经光偶管和驱动器输送到可控硅的控制级上。偏差控制原理是要求对所需温度求出偏差值,然后对偏差值处理而获得控制信号去调节加热装置的温度。
PID控制方程式:
AD_value<<=1;
if(SDO)
AD_value |= 0x01;
delay_us(2);
CLK = 1;
}
CLK = 0;
CS = 1;
if(PORT == port)
break;
else
{
Temp = port;
Temp<<=4;
delay_us(2);
CS = 0;
//PORT = port;
void delay_ms(u16 z)
{
u16 i;
u8 j;
for(i=z;i>0;i--)
for(j=120;j>0;j--);
}
/*************
函数功能:LCD写数据
****************/
void LCD_WriteData(u8 Dat)
{
RS = 1;
// delay_ms(5);
sbit IN2 = P3^6;
sbit IN1 = P3^5;
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小于等于65535
sfr IE = 0xA8;
sfr IP = 0xB8;
sfr SCON = 0x98;
sfr SBUF = 0x99;
/* 8052 Extensions */
sfr T2CON = 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2 = 0xCC;
sfr TH2 = 0xCD;
成绩:
重庆邮电大学
自动化学院综合实验报告
题目:51系列单片机闭环温度控制
学生姓名:蒋运和
班级:0841004
学号:2010213316
同组人员:李海涛陈超
指导教师:郭鹏
完成时间:2013年12月
一、实验名称:
51系列单片机闭环温度控制实验
——基于Protuse仿真实验平台实现
基本情况:
1.学生姓名:
/* BIT Registers */
/* PSW */
sbit CY = PSW^7;
sbit AC = PSW^6;
sbit F0 = PSW^5;
sbit RS1 = PSW^4;
sbit RS0 = PSW^3;
sbit OV = PSW^2;
sbit P = PSW^0; //8052 only
#ifndef __REG52_H__
#define __REG52_H__
/* BYTE Registers */
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
sfr PSW = 0xD0;
sfr ACC = 0xE0;
sfr B = 0xF0;
sbit INT0 = P3^2;
sbit TXD = P3^1;
sbit RXD = P3^0;
/* SCON */
sbit SM0 = SCON^7;
sbit SM1 = SCON^6;
sbit SM2 = SCON^5;
sbit REN = SCON^4;
sbit TB8 = SCON^3;
sbit RB8 = SCON^2;
P1 = Dat;
EN = 1;
delay_ms(5);
EN = 0;
}
/*************
函数功能:LCD命令
****************/
void LCD_WriteCOM(u8 com)
{
RS = 0;
// delay_ms(5);
P1 = com;
EN = 1;
delay_ms(5);
#define u16 unsigned int
u16 read_tlc2543(u8 port);
相关主题