文档库 最新最全的文档下载
当前位置:文档库 › 温度循环监测系统的设计与制作

温度循环监测系统的设计与制作

温度循环监测系统的设计与制作
温度循环监测系统的设计与制作

摘要

系统以A T89C51单片机为主控制器,设计并制作了一款红外遥控温度报警器,可实时显示温度值,还可以通过红外遥控修改温度报警上限和下限,温度显示在12864上,本设计的创新点是增加了用VC6.0开发的上位机,在计算机上显示出温度计和视频界面,构成友好的人机界面,具有很高的实用价值。

关键词:AT89C51;红外遥控;温度报警;上位机

Abstract

AT89C51 microcontroller-based control system, designed and produced an infrared remote temperature alarm, real-time display temperature, infrared remote control can also be modified through the upper and lower temperature alarm, temperature display in the 12,864 on the innovation of this design is to increase the development of the host computer using VC6.0, a thermometer in the computer and video display interface, form-friendly interface, with high practical value

Key words: AT89C51; infrared remote control; temperature alarm; PC

目录

绪论 (1)

1 系统的硬件组成与设计 (1)

1.1 系统硬件组成 (1)

1.2 模块介绍 (1)

1.2.1 控制器模块 (1)

1.2.2 显示模块 (1)

1.2.3 温度采集模块 (2)

2 硬件设计选择及功能介绍 (2)

2.1 控制器部分 (2)

2.2 温度采集部分 (3)

2.3 报警电路 (5)

2.4 红外遥控部分 (6)

2.5 显示部分 (6)

2.6 串口部分 (7)

3 程序设计 (8)

4 系统测试 (17)

5 总结 (18)

6. 参考文献 (19)

附录 (20)

绪论

为了提高对传感器的认识和了解,尤其是对温度传感器对深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合传感器技术而开发设计了这一温度检测系统,传感器理论与单片机实际应用有机结合。设计应用性强,课题主要任务是完成环境温度检测,利用单片机实现温度调节并通过计算机实施温度监控,设计后的系统具有操作方便,控制灵活等优点。

1 系统的硬件组成与设计

1.1 系统硬件组成

本系统主要由控制器模块、红外遥控模块、温度报警模块、显示模块及串口模块等部分组成。如图1

图1

1.2 模块介绍

1.2.1 控制器模块

采用ATMEL公司的AT89C51作为系统控制器。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且其功耗低、体积小、技术成熟和成本低等优点。

由AT89C51作为控制核心,对温度的显示及调整进行控制。

1.2.2 显示模块

采用12864液晶显示。其内置8192个16*16点汉字,和128个16*8点ASCII字符集,

可以直观地显示出较多内容,利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面,使得显示内容丰富,易于人机交流,并且节约了I/O口资源。

本设计中采用12864作为显示模块,可以同时显示温度及时间,不仅能达到设计要求,还具有明显的优越性。

1.2.3 温度采集模块

采用数字温度传感器DS18B20。DS18B20为数字式温度传感器,无需其他外加电路,直接输出数字量。可直接与单片机通信,读取测温数据,电路简单。

DS18B20能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面带来了令人满意的效果。

2 硬件设计选择及功能介绍

2.1 控制器部分

本设计采用AT89C51单片机为核心控制器件,通过单片编程控制红外遥控,温度芯片18B20,,从而实现红外遥控温度报警,原理图如图2.1所示。

图2.1 单片机最小系统电路图

2.2 温度采集部分

系统温度检测是由数字温度传感器Ds18B20实现的。Ds18b20具有测温系统简单、测温精度高、连接方便、占用口线少等优点,特别适用于多点测温。硬件接口电路如图2.2所示。

图2.2 Ds18B20的硬件接口电路

(1) DSI8B20的测温功能的实现

其测温电路的实现是依靠单片机软件的编程上。当DSI8B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的0,1字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.062 5℃/LSB形式表示。温度值格式如表2.2.1所示,其中“S”为标志位,对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变换为原码,再计算十进制值。DSI8B20完成温度转换后,就把测得的温度值与TH 做比较,若T>TH或T

表2.2.1 DS18B20温度值格式表

(2)、DSl820工作过程中的协议

初始化-> RoM操作命令-> 存储器操作命令-> 处理数据

①初始化单总线上的所有处理均从初始化开始

②ROM操作命令总线主机检测到DSl820的存在便可以发出ROM操作命令之一这些命令如表2.2.2所示

③存储器操作命令如表2.2.3所示

(3)温度转换算法及分析

由于DS18B20转换后的代码并不是实际的温度值,所以要进行计算转换。温度高字节(MS

Byte)高5位是用来保存温度的正负(标志为S的bit11~bit15),高字节(MS Byte)低3位和低字节来保存温度值(bit0 ~ bit10)。其中低字节(LS Byte)的低4位来保存温度的小数位(bit0 ~ bit 3)。由于本程序采用的是0.0625的精度,小数部分的值,可以用后四位代表的实际数值乘以0.0625,得到真正的数值,数值可能带几个小数位,所以采取小数舍入,保留一位小数即可。也就说,本系统的温度精确到了0.1度。

算法核心:首先程序判断温度是否是零下,如果是,则DS18B20保存的是温度的补码值,需要对其低8位(LS Byte)取反加一变成原码。处理过后把DS18B20的温度Copy到单片机的RAM中,里面已经是温度值的Hex码了,然后转换Hex码到BCD码,分别把小数位,个位,十位的BCD码存入RAM中。

2.3 报警电路

555集成定时器是一种模拟和数字电路相混合等集成电路,它结构简单,使用灵活,用途十分广泛,可以组成多种波形发生器、多谢振荡器、定时延时电路、报警电路、检测电路、射频变换电路等。

图2.3 555定时器引脚图

图2.4 报警电路图

2.4 红外遥控部分

遥控接收使用红外接收模块1838,该接收模块是一个三端元件,具有功耗低、抗干扰能力强、输入灵敏度高的特点。如图2.4所示,1838接AT89C2051的P3.2(外中断0).当1838V接收到遥控信号时.产生中断,处理遥控数据.处理完后返回。

图2.4 1838硬件接口电路图

2.5 显示部分

本设计采用12864液晶显示器,它是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集,利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字,还可完成图形显示,低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多。

通过单片机控制,同时显示出温度。

图2.5 显示控制电路图2.6 串口部分

用于上位机显示的串口电路图如图2.6所示

图2.6 串口接线图

3 程序设计

程序:

#include

#include

#ifndef uchar

#define uchar unsigned char

#endif

#ifndef uint

#define uint unsigned int

#endif

sbit IR_GET = P3^2; //红外接收数据输入端

sbit BEEP=P3^5 ; //蜂鸣器驱动线

/********************************************************/

uchar RXDDATA[]={0x00,0x00,0x00,0x00}; //存放接收到的四组红外编码

bit ircodeflag=0;

volatile bit kong=1; //全局变量,用于数码管上的两杠进行闪烁

volatile uchar workcode; //经过处理返回的纯数字红外编码

uchar

uart_num[17]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'

,'-'};

uchar xdata olddisptimes[14]={1,1,1,1,1,1,1,1,1,1,1,1,1,1};

#include "uart.h"

#include "ds1302.h"

#include "ds18b20.h"

#include "LCD12864P.C"

/******************************************************** 函数声明专区

********************************************************/

void DelayUS(uint num);

void delay100us(uchar x);

void beep();

uchar workIRcode(uchar *pp) ;

void sendircode();

void displaytime();

void set1616pic(uchar x,uchar y,uchar sign,uchar tt);

void set1616num(uchar curr,uchar *ptime);

void gudidisptemp(uchar *tempc);

uchar checktemp(uchar *pp);

uchar time_compare();

/********************************************************/

void main()

{ bit one_sign;

bit onealarmflag=0;

uchar run_sign,tempdata,timenum,timelcdxy,we;

uchar i,curr_menu_id,checkflag;

uchar *pmenu;

uchar stimetopc;

uchar outflag;

delayms(500);

TMOD|=0X01; //选择定时器0工作在模式1,即16位定时器

TH0=(65536-49000)/256; //装49ms的初值

TL0=(65536-49000)%256;

ET0=1; //开定时器0中断

EX0= 1; //使能 INT0 外部中断

IT0 =1; //外中断0下降沿触发

IR_GET=1; //I/O口初始化

UART_Init(); //初始化串口

EA=1; //开总中断

UART_Send_Str("$$初始化中....\n");

UART_Send_Str("*"); //上位机的结束标识

init_12864();

init_1302();

Clean_12864_GDRAM();

// settime_1302(inittime);

gettime_1302(times);

for(i=0;i<6;i++)

{olddisptimes[i]=disptimes[i]+65; //为了使下面出现比较不合,写入首次的所有图形} // write_12864_cmd(0x30); //非常重要!上面关显示是扩展指令,再写成基本指令

// delayms(5);

// photodisplay(Photo2); //显示图片Photo2--

// delayms(2000); //显示图片2S

Clean_12864_GDRAM();

UART_Send_Str("$$初始化完成\n");

UART_Send_Str("*"); //上位机的结束标识

// TR0=1; //启动定时器0

while(1)

{ gettime_1302(times);

worktime_1302(disptimes,times);

EA=0;

read_temp(); //读出DS18B20温度数据

work_temp(); //处理温度数据

EA=1;

sendircode();

displaytime(); //显示非绘图的温度。

for(i=0;i<6;i++)

olddisptimes[i]=disptimes[i];

set1616pic(4,4,1,2); //在第4列第4行反白的显示温度标记

/****************************************************************** //

/**************************************************/

//以下是发送温度到上位机显示。

stimetopc++;

if(stimetopc/2==0)

sendtempflag=1; //温度允许发送到上位机的标记置1。

if(stimetopc>10)

{ stimetopc=0;

UART_Send_Byte('T');

for(i=0;i<14;i++)

{ UART_Send_Byte(uart_num[disptimes[i]]);

UART_Send_Byte(uart_num[disptimes[++i]]);}

UART_Send_Byte('*'); //上位机的结束标识}

/**************************************************/ //进入菜单选择

if(workcode==12)

{ outflag=1;

UART_Send_Str("$$进入菜单设置\n");

UART_Send_Str("*"); //上位机的结束标识

workcode=14;

Clean_12864_GDRAM(); //先清完所有显示,再把菜单项目显示出来供选择。

Clean_12864();

write_12864_cmd(0x80);

for(i=0;i<12;i++)

write_12864_data(initmenu[i]);

write_12864_cmd(0x90);

for(i=48;i<60;i++)

write_12864_data(sonmenu1[i]);

write_12864_cmd(0x88);

for(i=48;i<60;i++)

write_12864_data(sonmenu2[i]);

write_12864_cmd(0x98);

for(i=48;i<60;i++)

write_12864_data(sonmenu3[i]);

setrowbkcolor(2,1); //初始是第二行反白

curr_menu_id=2;

while(outflag==1) //选择父菜单

{if(workcode==16)

{workcode=14;

if(curr_menu_id<4) //向上选择菜单

{ setrowbkcolor(curr_menu_id,0);

curr_menu_id++;

setrowbkcolor(curr_menu_id,1);}}

if(workcode==15) //向下选择菜单

{workcode=14;

if(curr_menu_id>2)

{setrowbkcolor(curr_menu_id,0);

curr_menu_id--;

setrowbkcolor(curr_menu_id,1);}}

if(workcode==13) //选择之后进入

{outflag=0;

workcode=14;}}

outflag=1;

switch(curr_menu_id) //由选择父的菜单进行调用相应子菜单进行调整{ case 2: pmenu=sonmenu1;

UART_Send_Str("$$进入调整时间\n");

UART_Send_Str("*"); //上位机的结束标识

break;

case 3: pmenu=sonmenu2;

UART_Send_Str("$$进入报警温度\n");

UART_Send_Str("*"); //上位机的结束标识

break;

Clean_12864_GDRAM(); //先清完所有显示再把相应的内容显示出来

Clean_12864();

write_12864_cmd(0x80);

for(i=48;i<60;i++)

write_12864_data(pmenu[i]);

setrowbkcolor(1,1); //第一行为父菜单名称,反白处理。

write_12864_cmd(0x30);

write_12864_cmd(0x90);

for(i=0;i<16;i++)

write_12864_data(pmenu[i]);

write_12864_cmd(0x88);

for(i=16;i<31;i++)

write_12864_data(pmenu[i]);

write_12864_cmd(0x98);

for(i=32;i<48;i++)

write_12864_data(pmenu[i]);

if(curr_menu_id==2)

{write_1302(0x8e,0x00); //关写保护,可以写

write_1302(0x80,0x80); //让1302停震

gettime_1302(times);

worktime_1302(disptimes,times);}

one_sign=1;

run_sign=1;

while(outflag==1) //设置菜单

{/**************************************************/

// 选择的是报警温度菜单项

if(curr_menu_id==3)

{TR0=1;

switch(run_sign)

if(one_sign==1){ one_sign=0;

gudidisptemp(alarm_temp);}

write_12864_cmd(timelcdxy);

if(kong){write_12864_data(alarm_temp[timenum]/10+0x30);

write_12864_data('0'+alarm_temp[timenum]%10); /}

else

{ write_12864_data(' ');

write_12864_data(' ');}

if(workcode==11)

{ workcode=14;

tempdata++;

one_sign=1;}

if(workcode==10)

{ workcode=14;

tempdata--;

one_sign=1;}

alarm_temp[timenum]=tempdata; //再把设置好的报警值存起来

if(workcode==13)

{if(run_sign==2)//说明已经全部设置完成,可以退出了。

{ outflag=0; //退出标记

TR0=0; //关闭定时器0

Clean_12864_GDRAM();

Clean_12864();

UART_Send_Str("$$设置完成\n");

UART_Send_Str("*"); //上位机的结束标识

for(i=0;i<6;i++)

{olddisptimes[i]=disptimes[i]+65;//为了使下面出现比较不合,写入首次的所有图形}}

else{workcode=14;

run_sign++;

write_12864_cmd(timelcdxy);

write_12864_data(alarm_temp[timenum]/10+0x30);}}

//if(workcode==13) 在此完了 }//报警温度菜单项设置完成

/**************************************************/

/**************************************************/

/******************************************************************

checkflag=checktemp(alarm_temp); //检查报警标志

if(alarmflag&&(checkflag==1))

{UART_Send_Str("$$低温警报:温度超下限值!\n");

UART_Send_Str("*"); //上位机的结束标识}

if(alarmflag&&(checkflag==2))

{ UART_Send_Str("$$高温警报:温度超上限值!\n");

UART_Send_Str("*"); //上位机的结束}

if(alarmflag&&checkflag)

{alarmbeep();}

checkflag=time_compare(); //检查报警标志

if(alarmflag&&checkflag)

{UART_Send_Str("*"); //上位机的结束标识}

if(alarmflag&&(checkflag==1))

{alarmbeep();}}}

/******************************************************************

us 级延时函数//蜂鸣器使用/******************************************************************

void DelayUS(uint num)

{while(--num);}

/************************************************************

约0.1ms延时函数(11.0592MHZ)

*************************************************************/

void delay100us(uchar x)

{unsigned char i;

while(x--){for (i = 0; i<10; i++);}}

/******************************************************************

蜂鸣器响一声

/******************************************************************

void beep()

{uchar y;

for (y=0;y<50;y++){DelayUS(50);

BEEP=0; //有源蜂鸣器给电就响}

BEEP=1; //关闭蜂鸣器

DelayUS(90)}

/************************************************************

温度报警检查函数

超过限制值就返回1,温度正常则返回0;

*************************************************************/

uchar checktemp(uchar *pp)

{uchar aa;

aa=temp_check[1]*10+temp_check[0]; //先取出当前温度值

if(pp[1]<=aa) //比较,成立则超过上限

return 2; //返回1

if(pp[0]>=aa) //比较,成立则超过下限

return 1; //返回1

return 0; //返回0}

/*************************************************************

* 红外编码数据处理函数函数 *

**************************************************************/

uchar workIRcode(uchar *pp)

{ uchar result;

beep();

switch(pp[2])

{ case 0x00: result=0; break; //0

case 0x01: result=1; break; //1

case 0x02: result=2; break; //2

case 0x03: result=3; break; //3

case 0x04: result=4; break; //4

case 0x05: result=5; break; //5

case 0x06: result=6; break; //6

case 0x07: result=7; break; //7

case 0x08: result=8; break; //8

case 0x09: result=9; break; //9

case 0x0F: result=10; break; //-

case 0x0E: result=11; break; //+

case 0x13: result=12; break; //菜单

case 0x48: result=13; break; //OK

case 0x0A: result=15; break; //上

case 0x0B: result=16; break; //下

case 0x1a: result=17; break; //丽音

default: result=14; break; //别的键按下返回14}

return result;}

/**********************************************************/

// 以下显示温度在第4行

write_12864_cmd(0x9c); //温度显示的坐标

write_12864_data(' '); //补上空格

write_12864_data(tempdisdata[3]); //显示温度的最高位:百位

write_12864_data(tempdisdata[2]); //显示温度的十位

write_12864_data(tempdisdata[1]); //显示温度的个位

write_12864_data('.'); //显示小数点

write_12864_data(tempdisdata[0]); //显示温度值小数位

write_12864_data(0xa1); //温度的符号“C”

write_12864_data(0xe6); //

/**********************************************************/}

void gudidisptemp(uchar *tempc)

{ write_12864_cmd(0x94); // 液晶坐标定位

write_12864_data('0'+((tempc[1]&0xf0)>>4));

write_12864_data('0'+(tempc[1]&0x0f)); //写入上限值

write_12864_cmd(0x8c); // 液晶坐标定位

write_12864_data('0'+((tempc[0]&0xf0)>>4));

write_12864_data('0'+(tempc[0]&0x0f)); //写入下限值}

void gudidispclock(uchar *clock)

{ write_12864_cmd(0x8a); // 液晶坐标定位

write_12864_data('0'+clock[0]/10);

write_12864_cmd(0x8c); // 液晶坐标定位}

/************************************************************

外部中断0服务函数

*************************************************************/

void intt_0() interrupt 0 //下降沿触发:接收不到红外时OUT高电平,接收到红外时

OUT低电平。

{ uchar four,one,num=0;

EX0 = 0; //关中断0使能,防止处理过程中再接收红外信号

delayms(2); //稍延时2ms,防干扰

if (IR_GET) //再检测红外接收脚(9ms的前导低电平),为高电平说明是干扰{ EX0 =1; //使能中断0

return; //退出中断程序 }

while(!IR_GET); //等IR变为高电平,跳过9ms的前导低电平信号。

while (IR_GET); //等 IR 变为低电平,跳过4.5ms的前导高电平信号。

for (four=0;four<4;four++) //四组数据

{ for (one=0;one<8;one++) //每组数据8位

{while (!IR_GET); //等 IR 变为高电平

while (IR_GET) //计算IR高电平时长(低电平时长是一样的,不用计) { delay100us(1); //计时

num++; //计时N次

if (num>=20) //17*0.1ms=1.7ms

{ //数据“1”的时长最长也就1.685ms,计数超过则数据错误,退出中断EX0=1; //使能中断0

return; //退出中断 } } //高电平计数完毕RXDDATA[four]>>=1; //从低位读出,随着one的循环8次刚好读出一字节

// if(num<6) //6*0.1ms=0.6ms, 0.565ms<0.6ms<1.685ms

// RXDDATA[j]|=0x00; //数据“0”

if(num>6&&num<20) // 17*0.1ms=1.7ms>1.685ms

RXDDATA[four]|=0x80; //数据“1”

num=0; //计时值清0,为下一位数据的计时做准备 }//一组数据接收结束}//全部四组数据接收结束

if(RXDDATA[0]!=0x38) //比较用户码

{ EX0=1; //使能中断0

return; //退出中断}

if(RXDDATA[1]!=0xc7) //比较用户码

{ EX0=1; //使能中断0

return; //退出中断}

if (RXDDATA[2]!=~RXDDATA[3]) //检测接收到的数据是否正确

{ //不正确则 EX0=1; //使能中断0

return; //退出中断}

ircodeflag=1;

EX0 = 1; //处理完红外接收,使能中断0,退出中断0}

/**************************************************

* 定时器0服务函数

***************************************************/

void timer0() interrupt 1

{ uchar count;

TH0=(65536-49000)/256; //重装49ms的初值

TL0=(65536-49000)%256;

count++; //计数

if(count>9) //计到10次时

{ count=0; //计数清0

kong=~kong; //变量,取反,用于显示中时间的冒号闪烁 } }

4 系统测试

经过设计编程、整理、调试等,最终实现论文的各项要求。

温度控制器的设计与制作共13页

温度控制器的设计与制作 一、功能要求 设计并制作一个温度控制器,用于自动接通或断开室内的电加热设备,从而使室内温度达到设定温度要求,并能实时显示室内温度。当室内温度大于等于设定温度时,控制器断 ?时,控制器接通电加热设备。 开电加热设备;当室内温度比设定温度小2C 控温范围:0~51C? 控温精度:≤1C? 二、硬件系统设计 1.硬件系统由七部分组成,即单片机及看门狗电路、温度检测电路、控制输出电路、键盘电路、显示电路、设置温度储存电路及电源电路。 (1)单片机及看门狗电路 根据设计所需的单片机的内部资源(程序存储器的容量、数据存储器的容量及I/O口数量),选择AT89C51-24PC较合适。为了防止程序跑飞,导致温度失控,进而引起可怕的后果,本设计加入了硬件看门狗电路IMP813L,如果它的WDI脚不处于浮空状态,在1.6秒内WDI不被触发(即没有检测到上什沿或下降沿),就说明程序已经跑飞,看门狗输出端WDO将输出低电平到手动复位端,使复位输出端RST发出复位信号,使单片机可靠复位,即程序重新开始执行。(注:如果选用AT89S51,由于其内部已具有看门狗电路,就不需外加IMP813L) (2)温度检测电路 温度传感器采用AD590,它实际上是一个与绝对温度成正比的电流源,它的工作电压为4~30V,感测的温度范围为-550C~+1500C,具有良好的线性输出,其输出电流与温度成正比,即1μA/K。因此在00C时的输出电流为273.2μA,在1000C时输出电流为373.2μA。温度传感器将温度的变化转变为电流信号,通过电阻后转变电压信号,经过运算放大器JRC4558运算处理,处理后得到的模拟电压信号传输给A/D转换部分。A/D转换器选用ADC0804,它是用CMOS集成工艺制成的逐次逼近型模数转换芯片,分辨率8位,转换时间100μs,基准电压0~5V,输入模拟电压0~5V。 (3)控制输出电路 控制信号由单片机的P1.4引脚输出,经过光耦TLP521-1隔离后,经三极管C8550直接驱动继电器WJ108-1C-05VDC,如果所接的电加热设备的功率≤2KW,则可利用继电器的常开触点直接控制加热设备,如果加热设备的功率>2KW,可以继电器控制接触器,由接触器直接控制加热设备。 (4)键盘电路 键盘共有四个按键,分别是S1(设置)、S2(+)、S3(-)、S4(储存)。通过键盘来设置室内应达到的温度,键盘采用中断方式控制。 (5)显示电路 显示电路由两位E10501_AR数码管组成,由两片74LS164驱动,实现静态显示,74LS164所需的串行数据和时钟由单片机的P3.0和P3.1提供。对于学过“串行口”知识的班级,实习时,可以采用串行口工作于方式0,即同步移位寄存器的输出方式,通过串行口输出显示数据(实时温度值或设置温度值);对于没学过“串行口”知识的班级,实习时,可以采用模拟串行口的输出方式,实现显示数据的串行输出。 (6)设置温度存储电路 为了防止设定温度在电源断电后丢失,此设计加入了储存电路,储存器选用具有I2C总线功能的AT24C01或FM24C01均可。每次通过键盘设置的室内设定温度都通过储存器储存起来,即使是电源断电,储存器存储的设定温度也不丢失,在电源来电后,单片机自动将设

仓库温湿度监测系统毕业设计

仓库温湿度监测系统毕业 设计 Last revision on 21 December 2020

仓库温湿度监测系统 摘要 在电子科技的快速发展的同时,诞生于集成电路技术的单片机系统应用越来越 广泛。单片机的发展,促进了工业测控领域的发展,其中对于仓库温湿度的监测要 求不断增高。那么,由原始的人工监测仓库温湿度方法已经慢慢发展到利用单片机 实现自动监测。 本文主要介绍基于单片机的仓库温湿度监测的相关系统的硬件和软件设计内 容。系统设计结构简单、实用,相比传统监测方法,在监测精度这一方面大幅度被 提升,节省了人力物力与时间。 关键词:STC89C51单片机;温湿度;DS18B20;HS1101 Warehouse temperature and humidity monitoring system ABSTRACT With the development of electronic technology, with the development of very large scale integrated circuit technology and the birth of the single chip microcomputer application system is more and more development, promote the development in the field of industrial measurement and control, including for increasing monitoring requirement of temperature and humidity in the , from the original manual monitoring warehouse temperature and humidity using single chip computer to realize automatic monitoring has become paper mainly introduces the related warehouse temperature and humidity monitoring system based on single chip microcomputer hardware and software design of the structure is simple and practical, and improves the measuring precision and efficiency. KEYWORD: STC89C51;Temperature and humidity;DS18B20;HS1101 目录 前言 (1) 第一章绪论 (2) 课题的提出及意义 (2) 国内外现状及发展趋势 (2) 第二章温湿度监测系统的方案确定 (4)

(完整word版)温度监测系统设计仿真与实现

实用温度监测系统 学院:电子信息工程学院专业:通信工程1303 学生姓名:张艺 学号:13211075 任课教师:刘颖 2015年06 月10 日

目录 实验题目:失真放大电路 .............. 错误!未定义书签。 1 实验题目及要求 (2) 2 实验目的与知识背景 (2) 2.1 实验目的 (2) 2.2 知识点 (2) 3 实验过程 (4) 3.1 选取的实验电路及输入输出波形 (4) 3.2 每个电路的讨论和方案比较 (16) 3.3 分析研究实验数据............. 错误!未定义书签。 4 总结与体会 (20) 4.1 通过本次实验那些能力得到提高,那些解决的问题印象深刻, 有那些创新点。 (20) 4.2 对本课程的意见与建议......... 错误!未定义书签。 5 参考文献 (21)

目录 1.电路设计及原理分析 (3) 1.1设计任务 (4) 1.2技术指标 (4) 1.3电路原理图 (5) 1.4基本原理 (5) 2.电路模拟与仿真 (6) 2.1仿真软件 (6) 2.2创建电路模拟图 (9) 2.3元件列表 (9) 2.4仿真记录与结果分析 (10) 3.实际电路的安装调试 (15) 3.1 元件参数确定 (15) 3.2 电路板布线设计 (15) 3.3 焊接 (15) 3.4调试与测量 (15) 3.5分析结果及改进 (16) 4.总结 (176) 5.心得体会 (177) 6.参考文献 (198)

1.电路设计及原理分析 1.1设计任务 通过Proteus软件仿真精密双限温度报警仪设计,在老师点拨我们自学的基础上了解了运放的作用,用了比较器,震荡电路等知识,根据找到的电路图进行仿真,调试电路,明白了温度报警的意义。 通过比较器产生“数字模拟信号”,使得在信号产生的时候,震荡电路工作产生震荡信号驱动扬声器报警。 1.2技术指标 a.当温度在设定范围内时报警电路不工作; b.当温度低于下限值或高于上限值时,声光报警; c.上下限低于报警led用不同颜色; d.上下限可调; e.控温精度度 1℃ f.监测范围0.5℃

多点温度监测系统

电子设计自动化实训报告 题目:多点温度监测系统 学生姓名:宋安邦 学生学号:2104020685 学院:工学院 专业:电子信息工程 班级:2011级 指导教师:林君副教授

一、实训目的和意义 通过对多点温度检测系统的设计,可以更深入的了解MC5.2单片机的特点以及应用技巧,对单片机的应用可以温习其中的结构以及原理。而且proteus的强大功能也能通过此次试验反应出来,熟悉其界面的风格以及各种应用,又重新的认识了proteus在单片机方面的强大功能。 二、实训设计容要求 ? 1.实现4点温度实时采集,温度传感器采用DS18B20 ? 2.采用LCD1602显示4个采集点温度 ? 3.具有温度上下限报警功能:上限90°C,下限20°C ? 4.声音和光报警2种模式: 光报警采用4只发光LED; 声音报警采用扬声器,报警音调采用2KHz方波。 三、系统设计 1.方案设计 2

(1)工作原理: (a)通过四个温度采集器采集数字温度输入到单片机的p2.0~p2.3口。 (b)初始化LCD1602使1602能够接受数据,并分配其显示位置,此处采用两行两列式显示。 (c)单片机读取信号。 (d)单片机向LCD1602写信号,并延时。 (e)判断是否有数据高于90度或低于20度,如果有点亮相应的led,并启动蜂鸣器。 (2)硬件系统组成 (a)80C52 (b)晶振电路 (c)复位电路

(d)LED灯电路 (e)LCD1602 (f)温度检测ds18b20 3. 软件设计 (1)时间的设定: 从此采用中断T0方式延时,而且是基本单位,无论蜂鸣器还是led,或是显示温度都用到此延时程序。 延时程序如下:void tmpDelay(int num) { while(num--) ; } void Time0(void) interrupt 1 using 0 { sound=~sound; TH0=(65536-5000)/256; TL0=(65536-5000)%256; } (2)信号的读入与写出: 读字节程序如下unsigned char ReadOneChar1()// { unsigned char i=0; unsigned char dat1 = 0;

温度控制器的设计

目录 第一章课程设计要求及电路说明 (3) 1.1课程设计要求与技术指标 (3) 1.2课程设计电路说明 (4) 第二章课程设计及结果分析 (6) 2.1课程设计思想 (6) 2.2课程设计问题及解决办法 (6) 2.3调试结果分析 (7) 第三章课程设计方案特点及体会 (8) 3.1 课程设计方案特点 (8) 3.2 课程设计心得体会 (9) 参考文献 (9) 附录 (9)

第一章课程设计要求及电路说明 1.1课程设计要求与技术指标 温度控制器的设计 设计要求与技术指标: 1、设计要求 (1)设计一个温度控制器电路; (2)根据性能指标,计算元件参数,选好元件,设计电路并画出电路图; (3)撰写设计报告。 2、技术指标 温度测量范围0—99℃,精度误差为0.1℃;LED数码管直读显示;温度报警指示灯。

1.2课程设计电路说明 1.2.1系统单元电路组成 温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。 1.2.2设计电路说明 主控制器:CPU是整个控制部分的核心,由STC89C52芯片连同附加电路构成的单片机最小系统作为数据处理及控制模块. 显示电路:显示电路采用4个共阳LED数码管,用于显示温度计的数值。报警电路:报警电路由蜂鸣器和三极管组成,当测量温度超过设计的温度时,该电路就会发出报警。 温度传感器:主要由DS18B20芯片组成,用于温度的采集。 时钟振荡:时钟振荡电路由晶振和电容组成,为STC89C52芯片提供稳定的时钟频率。

第二章课程设计及结果分析 2.1课程设计 2.1.1设计方案论证与比较 显示电路方案 方案一:采用数码管动态显示 使用一个七段LED数码管,采用动态显示的方法来显示各项指标,此方法价格成本低,而且自己也比较熟悉,实验室也常备有此元件。 方案二:采用LCD液晶显示 采用1602 LCD液晶显示,此方案显示内容相对丰富,且布线较为简单。 综合上述原因,采用方案一,使用数码管作为显示电路。 测温电路方案 方案一:采用模拟温度传感器测温 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。 方案二:采用数字温度传感器 经过查询相关的资料,发现在单片机电路设计中,大多数都是使用传感器,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 综合考虑,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。 2.1.2设计总体方案 根据上述方案比较,结合题目要可以将系统分为主控模块,显示模块,温度采集模块和报警模块,其框图如下:

仓库温湿度自动检测

仓库温湿度自动检测 摘要:仓库环境下的温度、湿度进行实时检测、显示、操纵,使仓储物资在适合的环境下安全储存。专门是工作稳固可靠,测试数据准确,操纵稳固。该系统可应用于各种粮食、食品等仓库。 关键词:温度自动检测

1 引言 在仓库的物资的治理中,需要对温度、湿度等环境参数进行监控,以保证仓库的安全。随着库区的面积逐步扩大,需要传输能力强和通信距离远的监控系统来有效地对仓库物资进行监管。 CAN(Controller Area Network,操纵器局域网)总线技术具有先进的多主网络结构、通讯距离远、价位低、可靠性高、系统容量大、安装方便、爱护费用低、性价比高等优点。专门对库区较大、仓库分布较分散的大型仓库的监控专门适用。 2系统硬件设计 本系统采纳分布式监控网络,要紧分为上位机和下位机两部分,而上位机硬件包括CAN通讯适配器和上位监控治理机组成;下位机则由CAN节点和现场传感器组和温度湿度参数操纵器组成,如图1所示。 其工作原理是下位机节点通过一定时刻间隔把含有地址、温度、湿度等数据量的报文向CAN总线发送,总线通过自身仲裁确定先把优先级最高的数据放到总线上,然后自动仲裁依次发送优先级相对较低的报文到CAN总线。由于CAN总线的信息存取利用了广播式的存取工作方式,报文能够在任何时候由任何节点发送到闲暇的总线上,每个CAN总线节点都接收到了总线上显现的报文信息,通过每个节点的报文滤波和地址设置,上位机CAN节点能实现上传报文的接收。上位机接收到报文信息后通过组态王软件实现仓库温度等参数实时监视和记录。同时上位机通过仓库人机界面可随时发送操纵信息到CAN总线上,地址匹配的CAN总线节点能收到信息。通过这种方式即可实现仓库的温度等参数的反馈操纵。 2.1现场数据采集服务器 现场数据采集服务器是系统的重要组成部分,它完成现场数据的采集、与上位机的通信等功能。现场采集服务器内部结构如图所示: 1)电源供电接口 现场采集服务器的输入电源为AC220V 1A,电源通过隔离变压器接入到电源供电接口。 2)现场总线接口 现场总线接口在板上的标识为J2,为五芯插头,该接口的引脚定义如下表所示 标识现场总线电缆线芯颜色含义及接线说明 L 红色为现场T型总线连接器供电 N 黑色为现场T型总线连接器供电

温度检测系统设计

温度检测系统设计

辽宁工程技术大学 专业课程综合训练项目说明书题目:温度检测系统设计 课程名称:单片微型计算机与应用 班级:机电14-4 学号: 1407060430

姓 名: 指导教师: 李文华 完成日期: 2016.12 一、 设计题目 温度检测系统设计 二、设计内容 1-温度由8个LED 小灯显式0℃~40℃的温度范围,即,8个小灯全灭表示当前温度小于0℃,全亮为大于40℃,在此其间有8个档位,每亮一盏小灯表示升高5℃。 2-单片机通过读取DS18B20的温度寄存器,获得当前温度值并显示在8个LED 灯上。 三、综合训练要求 设计说明书(3000~5000字) 1份 四、评分标准 将视难易程度及能够按时提交情况酌情提分,但不超过每个综合项目满分10分的标准。 五、指导教师评语 该生设计的过程中表现 ,设计内容反映的基本概念及计算 ,设计方案 ,说明书撰写 ,答辩表现 。 成 绩: 指导教师 序号 评分标准 满分 实际得分 1 设计方案是否可行,设计依据是否充分,软硬件资源分配是否合理 4 2 设计说明书设计过程是否清晰,设计内容是否全面,计算是否正确,行文章节格式是否规范 4 3 绘图是否清晰,标注是否表达准确规范 2 总分 10

日期

目录 1 系统总体设计 ......................................... 1.1 ................................................... 1.2 ................................................... : : : 2 硬件设计 ............................................. 2.1 ................................................... 2.2 ................................................... : : : 3 软件设计 ............................................. 3.1 ................................................... 3.2 ................................................... : : : 4 结论.................................................. 参考文献 ................................................

温度控制器课程设计要点

郑州科技学院 《模拟电子技术》课程设计 题目温度控制器 学生姓名 专业班级 学号 院(系)信息工程学院 指导教师 完成时间 2015年12月31日

郑州科技学院 模拟电子技术课程设计任务书 专业 14级通信工程班级 2班学号姓名 一、设计题目温度控制器 二、设计任务与要求 1、当温度低于设定温度时,两个加热丝同时通电加热,指示灯发光; 2、当水温高于设定温度时,两根加热丝都不通电,指示灯熄灭; 3、根据上述要求选定设计方案,画出系统框图,并写出详细的设计过程; 4、利用Multisim软件画出一套完整的设计电路图,并列出所有的元件清单; 5、安装调试并按规定格式写出课程设计报告书. 三、参考文献 [1]吴友宇.模拟电子技术基础[M]. 清华大学出版社,2009.52~55. [2]孙梅生.电子技术基础课程设计[M]. 高等教育出版社,2005.25~28. [3]徐国华.电子技能实训教程[M]. 北京航空航天大学出版社,2006.13 ~15. [4]陈杰,黄鸿.传感器与检测技术[M].北京:高等教育出版社,2008.22~25. [5]翟玉文等.电子设计与实践[M].北京:北京中国电力出版社,2005.11~13. [6]万嘉若,林康运.电子线路基础[M]. 高等教育出版社,2006.27 ~29. 四、设计时间 2015 年12月21 日至2015 年12 月31 日 指导教师签名: 年月日

本设计是一种结构简单、性能稳定、使用方便、价格低廉、使用寿命长、具有一定的实用性等优点的温度控制电路。本文设计了一种温度控制器电路,该系统采用模拟技术进行温度的采集与控制。主要由电源模块,温度采集模块,继电器模块组成。 现代社会科学技术的发展可以说是突飞猛进,很多传统的东西都被成本更低、功能更多、使用更方便的电子产品所替代,本课程设计是一个以温度传感器采用LM35的环境温度简易测控系统,用于替代传统的低精度、不易读数的温度计。但系统预留了足够的扩展空间,并提供了简单的扩展方式供参考,实际使用中可根据需要改成多路转换,既可以增加湿度等测控对象,也能减少外界因素对系统的干扰。 首先温度传感器把温度信号转换为电流信号,通过放大器变成电压信号,然后送入两个反向输入的运算放大器组成的比较器电路,让电位器来改变温度范围的取值,最后信号送入比较器电路,通过比较来判断控制电路是否需要工作。此方案是采用传统的模拟控制方法,选用模拟电路,用电位器设定给定值,反馈的温度值与给定的温度值比较后,决定是否加热。 关键词:温度传感器比较器继电器

仓库温湿度检测系统设计毕业设计

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名):

年月 关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容: 按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期: 仓库温湿度检测系统设计 院系自动化学院 专业自动化

温度监控系统设计实验报告

温度监控系统设计

引言:温度是工业控制中主要的被控参数之一,特别是在冶金、化工、 建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。 作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合传感器技术而开发设计了这一温度监控系统。文中传感器理论单片机实际应用有机结合,详细地讲述了利用热敏电阻作为热敏传感器探测环境温度的过程,以及实现热电转换的原理过程。 本设计应用性比较强,设计系统可以作为生物培养液温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。课题主要任务是完成环境温度检测,利用单片机实现温度调节并通过计算机实施温度监控。设计后的系统具有操作方便,控制灵活等优点。 本设计系统包括温度采集模块,单片机最小系统,显示模块,按键控制模块,报警模块和指示模块六个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控,完成了课题所有要求。 方案设计:总体设计方案采用AT89C52单片机作控制器,温度传感器选用DS18B20来设计数字温度计,系统由6个模块组成:主控制器、测温电路、显示电路、报警电路、控制电路及指示电路。主控制器由单片机AT89C52实现,测温电路由温度传感器DS18B20实现,显示电路由4位LED数码管直读显示,,报警系统由蜂鸣器和发光二级管构成,控制电路由按键构成,指示电路由发光二极管组成。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,并且加有报警装置,超过温度可发出警示,还可以调整报警温度。该设计控制器使用单片机AT89C52,测温传感器使用DS18B20,用4位共阳极LED数码管以I/O传送数据,实现温度显示,能准确达到以上要求。 实验目的和要求: 1.学习DS18B20温度传感芯片的结构和工作原理。 2.掌握LED数码管显示的原理及编程方法。 3.掌握矩阵式键盘的原理及使用方法。

温度检测显示系统设计

毕业设计 设计题目温度监测显示系统设计 系部信息工程系 专业电子信息工程 班级电子0601 学号063001020001 姓名宋天诗 指导老师王珊珊 温度检测显示系统 一、设计要求 1.以传感器,单片机,数码管等元器件,设计一个温度检测系统,并通过显示器件,显示出温度数据。 2.熟练应用protel99,运用protel99设计温度检测显示系统。

3.理解温度检测系统的原理。 二、总体概要设计 本系统是以温度传感器、数码管和单片机为核心元器件建立起来的温度检测显示系统。通过对单片机和传感器的研究,通过A/D转换器的应用,使本系统实现了温度信号到模拟信号再到数字信号的转换。设计中还使用了译码器74LS47、数码管、稳压管等元器件。 温 度 传感器 单片机数码管采集后 的数据 处理后 的数据 检测 温度 图1 系统总体框图 本设计主要包含温度检测和显示电路两个部分。 1.温度检测部分 主要由温度传感器、运算放大器和A/D转换器三部分组成。 温度传感器LM134产生的输入信号由运算放大器ICL7650后,A/D转换器MC14433将运算放大器输出的模拟信号转换成数字信号输入80C51单片机,由于MC14433 的 A/D转换结果是动态分时输出的BCD码,Q0~Q3和DS1~DS4 都不是总线式的。因此,MCS-51 单片机只能通过并行I/O 接口或扩展I/O 接口与其相连。 温度信号检测通道的总增益是由温度传感器、运放和A/D转换器三个环节的增益做决定。在本设计中,前两个环节的增益是固定的,只用电位器 r W作为整个输入通道的增益环节。这样有利于整个设计的调试。 2.显示电路 本设计采用动态扫描输入法,由单片机8051输出数码管段选信号,经译码器驱动器芯片74LS47驱动后数码管发光显示。 三、各单元模块设计与分析 1.温度传感器 传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节。 LM134是一种新型的硅集成温度传感器,它不同于一般诸如热敏电阻、温差电偶以及半导体PN结等传统的温度传感器。它是根据下述原理设计而成的,即工作在不同电流密度下的两只相同晶体管,其基、射结的结电压之差△V_(be)与绝对温度T严格成正比。因而该器件的突出优点是在整个工作温区范围内(-55℃~+125℃)输出电流几乎与被测温度成线性关系,这样,就可省去非线性校正网络,使用简便。此外,它还具有下列特点: (1)起始电压低(低于1.5V),而器件耐压较高,因而电源电压适用范围宽(在3~40V之间)。 (2)灵敏度高(1μA/K),输出信号幅度大。一般情况下,不必加中间放大就可直接驱动检测系统,例如双积分型A/D转换器5G14433或ICL7106等。从而消除了中间环节所引入

模电课设—温度控制系统设计

目录 1.原理电路的设计 (11) 1.1总体方案设计 (11) 1.1.1简单原理叙述 (11) 1.1.2设计方案选择 (11) 1.2单元电路的设计 (33) 1.2.1温度信号的采集与转化单元——温度传感器 (33) 1.2.2电压信号的处理单元——运算放大器 (44) 1.2.3电压表征温度单元 (55) 1.2.4电压控制单元——迟滞比较器 (66) 1.2.5驱动单元——继电器 (88) 1.2.6 制冷部分——Tec半导体制冷片 (99) 1.3完整电路图 (1010) 2.仿真结果分析 (1111) 3 实物展示 (1313) 3.1 实物焊接效果图 (1313) 3.2 实物性能测试数据 (1414) 3.2.1制冷测试 (1414) 3.2.2制热测试 (1818) 3.3.3性能测试数据分析 (2020) 4总结、收获与体会 (2121) 附录一元件清单 (2222) 附录二参考文献. (2323)

摘要 本课程设计以温度传感器LM35、运算放大器UA741、NE5532P及电压比较器LM339 N为电路系统的主要组成元件,扩展适当的接口电路,制作一个温度控制系统,通过室温的变化和改变设定的温度,来改变电压传感器上两个输入端电压的大小,通过三极管开关电路控制继电器的通断,来控制Tec制冷片的工作。这样循环往复执行这样一个周期性的动作,从而把温度控制在一定范围内。学会查询文献资料,撰写论文的方法,并提交课程设计报告和实验成品。 关键词:温度;测量;控制。

Abstract This course is designed to a temperature sensor LM35, an operational amplifier UA741,NE5532P and a voltage comparator LM339N circuit system of the main components. Extending the appropriate interface circuit, make a temperature control system. By changing the temperature changes and set the temperature to change the size of the two input ends of the voltage on the voltage sensor, an audion tube switch circuit to control the on-off relay to control Tec cooling piece work. This cycle of performing such a periodic motion, thus controlling the temperature in a certain range. Learn to query the literature, writing papers, and submitted to the curriculum design report and experimental products. Key words: temperature ; measure ;control

仓库温湿度监测系统毕业设计演示版.doc

仓库温湿度监测系统 摘要 在电子科技的快速发展的同时,诞生于集成电路技术的单片机系统应用越来越广泛。单片机的发展,促进了工业测控领域的发展,其中对于仓库温湿度的监测要求不断增高。那么,由原始的人工监测仓库温湿度方法已经慢慢发展到利用单片机实现自动监测。 本文主要介绍基于单片机的仓库温湿度监测的相关系统的硬件和软件设计内容。系统设计结构简单、实用,相比传统监测方法,在监测精度这一方面大幅度被提升,节省了人力物力与时间。 关键词:STC89C51单片机;温湿度;DS18B20;HS1101

Warehouse temperature and humidity monitoring system ABSTRACT With the development of electronic technology, with the development of very large scale integrated circuit technology and the birth of the single chip microcom puter application system is more and more widely.MCU development, promote the development in the field of industrial measurement and control, including for increasing monitoring requirement of temperature and humidity in the warehouse.So, from the original manual monitoring warehouse temperature and humidity using single chip computer to realize automatic monitoring has become possible.This paper mainly introduces the related warehouse temperature and humidity monitoring system based on single chip microcomputer hardware and software design of the content.System structure is simple and practical, and improves the measuring precision and efficiency. KEYWORD: STC89C51;Temperature and humidity;DS18B20;HS1101

基于单片机的多点温度监测系统设计

基于单片机的多点温度监测系统设计 摘要:DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。PL2303是Prolific公司生产的一种高度集成的RS232-USB接口转换器,可提供一个RS232全双工异步窜行通信装置与USB功能接口便利连接的解决方案。 该系统由上位机和下位机两大部分组成。下位机实现温度的检测并提供标准RS232通信接口,芯片使用了A TMEL公司的AT89S52单片机和DALLAS公司的DS18B20数字温度传感器。上位机部分使用了通用PC。该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。 关键字:温度测量;单总线;数字温度传感器;单片机;转换器 Based on SCM more temperature monitoring system design Abstract:DS18B20 is a network of high precision digital temperature sensor, since it has the unique advantages single bus, users can easily set up sensor network, and can make more temperature measurement circuit become simple and reliable. PL2303 Prolific company is the production of a highly integrated RS232-USB interface converter, can provide a RS232 full-duplex asynchronous channeling line of communication equipment and the USB interface convenient connection function of the solution. The system consists of PC and a machine under two main components. A machine to implement the temperature detection and provide standard RS232 communication interface, ATMEL company used chip AT89S52 SCM and DALLAS company DS18B20 digital temperature sensor. PC parts used the general PC. This system can be used in storage temperature measurement, building the air conditioning control and production process monitoring, etc。 Key words:temperature measurement; Single bus; Digital temperature sensors; Single chip microcomputer; converter

温度监控系统的设计代码

#include //************************* void INIT() { ADCON1=0X07; TRISC=0X80; TRISB=0X00; TRISD=0X00; RD1=0; RD0=0; TRISA=0X0f; TRISE=0X00; } //************************* #include #include "init.h" #include "proc.h" //************************* unsigned char i; unsigned int delay; extern unsigned char a; extern unsigned char temph; extern unsigned char templ; //*************************** void main() { //初始化 INIT(); for(delay=65536;delay>0;delay--) asm("clrwdt"); temph=0x35; templ=0x30; do { asm("clrwdt"); PROCDIANPIN(); RC0=0; RC1=0; }while(1); } #include #include "tranpc.h" //********************* union adres {

unsigned char adre[2]; }adresult; extern unsigned int delay; unsigned int temp; unsigned int y; unsigned char receive; unsigned char a; extern unsigned char rxbuf[]; unsigned char temph; unsigned char templ; extern unsigned char i; //****************************** void PROCDIANPIN() { ADCON0=0X89; ADCON1=0X84; ADIF=0; ADGO=1; for(delay=0x8ff;delay>0;delay--) asm("nop"); while(ADIF==0) { asm("clrwdt"); } asm("clrwdt"); ADIF=0; adresult.adre[0]=ADRESL; adresult.adre[1]=ADRESH; if((adresult.y1<=0x204)&&(adresult.y1>=0xD9)) { temp=0x10; for( y=0x204;adresult.y1<=y;adresult.y1=adresult.y1+0x07) { temp++; if(temp==0x1a) temp=0x20; if(temp==0x2a) temp=0x30; if(temp==0x3a) temp=0x40; if(temp==0x4a) temp=0x50; if(temp==0x5a) temp=0x60; if(temp==0x6a) temp=0x70; if(temp==0x7a) temp=0x80; if(temp==0x8a) temp=0x90; if(temp==0x9a) temp=0x100;

相关文档
相关文档 最新文档