文档库 最新最全的文档下载
当前位置:文档库 › 温度检测系统设计报告.(DOC)

温度检测系统设计报告.(DOC)

温度检测系统设计报告.(DOC)
温度检测系统设计报告.(DOC)

计算机硬件(嵌入式)综合实践

设计报告

温度检测系统设计与制作

一.系统概述

1. 设计内容

本设计主要从硬件和软件部分介绍了单片机温度控制系统的设计思路,简单说明如何实现对温度的控制,并对硬件原理图和程序框图作了简洁的描述。还介绍了在单片机控制系统的软硬件设计中的一些主要技术关键环节,该系统主要以AT89S52单片机为核心, 同时利用DS18B20温度传感器采集温度,采用4位LED 显示管实施信息显示。

AT89S52单片机设计的温度检测电路是本次设计的主要内容,是整个单片机温度控制系统设计中不可缺少的一部分,该系统对温度进行实时采集与检测。本设计介绍的单片机自动控制系统的主要内容包括:系统概述、元器件选择、系统理论分析、硬件设计、部分软件设计及主要技术性能参数。

2. 元器件选择

单片机AT89S52:1个

22uF电容:2个

4.7K电阻:1个

万能板:1个

杜邦线:若干

单排排针:若干

DS18B20温度传感器:2个

4位LED 显示管:1个

二. 软件功能设计及程序代码

1.总体系统设计思想框图如下:

2.主程序流程图

3.DS18B20数据采集流程图

4.程序代码

①、温度记录仪

#include

#include

#include

#include

#include<18B20.h>

#include

bit rec_flag=0;//记录温度标志

uchar autobac_tim=0;//自动跳转延时

uchar code logos[]="****NT MUSIC****"; uchar incmin=0;//计分钟数

bit overflag=0;//数据溢出标志位

uchar mode=1;//系统运行模式

uchar tempmode;//模式缓存

void init()

{

lcd_init();

eeprom_init();

/***********开机效果****************/ display(l1," Starting NT",1);

longdelay(10);

display(l2," Ver 3.0.1",1);

longdelay(20);

write_cmd(0x01);//清屏

/*************************************/ sys_init();

}

void comms() //模式公共进程

{

time2times(); //时间格式转换

avtemp=gettemp();//获取温度

avtemp2avtemps();//温度格式转换

date_counter();//获取当前日期

date2dates();//日期格式转换

display(l2+1,times,0);

display(l2+11,avtemps,0);

}

void progs(uint i,uint k)//进度条

{

uint j;

write_cmd(0xc0);

for(j=0;j<(i*16/k);j++)

{

write_lcddata(0xff);

}

}

void normal_run() //无记录运行模式

{

comms();

if(time[2]%10<5)

{

display(l1,logos,1);

}

else

{display(l1,"***",0);display(l1+13,"***",0);display(l1+3,dates,0);}

incmin=0;

}

void recding_run() //记录模式运行模式

{

uint WDTPT;//临时写地址指针变量存放

comms();

recfrq2recfrqs();

if(time[2]%10<5)

{

if(mss>50) display(l1," ",0);

else

display(l1,"R",0);

display(l1+1,"-NUM",0);

display(l1+5,datcounts,0);display(l1+9,"**EV",0);display(l1+13,recfrqs,0);

}

else

{display(l1,"***",0);display(l1+13,"***",0);display(l1+3,dates,0);} /***********定时记录*************/

if(incmin>=recfrq)//触发记录功能

{

incmin=0;//1清除进入记录标志

if(WDTP>10240) //20个扇区

overflag=1;

if(overflag==0)//如果数据尚未溢出

{

if(date_recf==1)

//记录年-月-日(格式:'z'+年+月+日)为十制数值

{

date_recf=0;//清除记录日期标志

write_isp(WDTP,'z');//日期起始标志

write_isp(WDTP,date[0]);

write_isp(WDTP,date[1]);

write_isp(WDTP,date[2]);//记录年、月、日

}

/***********记录时间************/

write_isp(WDTP,time[0]);

write_isp(WDTP,time[1]);//记录时分

/***********记录温度************/

write_isp(WDTP,avtemp/100);

write_isp(WDTP,avtemp%100);

/**********记录加一*********/

datcount++;

/**********写回数据指针****************/

WDTPT=WDTP;

if(FDTP==512)

{

del_isp(0);//清空记录表

FDTP=0;

}

write_isp(FDTP,WDTPT/256);

write_isp(WDTP,WDTPT%256);

write_isp(WDTP,datcount/256);

write_isp(WDTP,datcount%256);

FDTP=WDTP;

WDTP=WDTPT;

//交互完成

}

if(overflag==1)//如果数据溢出

{

display(l1,"Error!",1);

display(l2,"Data Overflow!",1);

autobac_tim=0;

while(autobac_tim!=3);

display(l2," ",1);

}

}

}

void data_run() //查看记录模式

{

uchar i=0;

bit bacf=0;

uint cou_t=0;//计数缓存变量

uchar temp=0;//临时数据缓存

uint cd=0;//进度条统计数据

autobac_tim=0;

while(bacf==0)

{

if(autobac_tim>10)

bacf=1;

display(l1,"Ready for Export",1);

display(l2,"D-Date T-Temp L!",1);

if(RI==1)

{

autobac_tim=0;

RI=0;

ser_rec=SBUF;

switch(ser_rec)

{

case 'L': //格式化

display(l1,"Format?",1);

display(l2," Y-Yes N-No",1);

while(1)

{

if(RI==1) {RI=0;ser_rec=SBUF;autobac_tim=0;}

if(ser_rec=='Y')//确定格式化

{

display(l1,"Formatting...",1);

display(l2," ",1);

eeprom_format();

display(l1,"Format Successed",1);

longdelay(3);

break;

}

if(ser_rec=='N') break;

if(autobac_tim>10)

break;

}

autobac_tim=0;

break;

case 'D'://输出日期时间

display(l1,"Exporting Date..",1);

display(l2," ",1);

RDTP=512;//将读指针放到首位

cou_t=datcount;

cd=0;

while(cou_t!=0)

{

if(RI==1) RI=0;

if(SBUF=='B')

{

display(l1,"Export stopped",1);

cd=0;

longdelay(3);

break;

}

temp=read_isp(RDTP);// 预读判断

RDTP--;

if(temp=='z')

{

RDTP++;

prf_date();//输出年月日

}

prf_time(); //输出时间

RDTP=RDTP+2;

cou_t--;

cd++;

progs(cd,datcount);

}

if(datcount==0)

{display(l1,"No Data!",1);

longdelay(3);}

autobac_tim=0;

break;

case 'T'://温度输出

display(l1,"Exporting Temp..",1);

display(l2," ",1);

RDTP=516;//将读指针放到首位

cd=0;

cou_t=datcount;

while(cou_t!=0)

{

if(RI==1) RI=0;

if(SBUF=='B')

{

display(l1,"Export stopped",1);

cd=0;

longdelay(3);

break;

}

temp=read_isp(RDTP);// 预读判断

RDTP--;

if(temp=='z')

{

RDTP=RDTP+6;

}

else

{

RDTP=RDTP+2;

}

prf_temp();

cou_t--;

cd++;

progs(cd,datcount);

}

if(datcount==0)

{display(l1,"No Data!",1);

longdelay(3);}

autobac_tim=0;

break;

case 'B':bacf=1;break;

}

ser_rec=0;

}

}

mode=tempmode; display(l2," ",1);

}

void adj_settings() //设置模式

{

uchar i=0;//Counter

bit endadj=0;//调整完毕标志

uchar ser_temp=0;//接收缓存

write_cmd(0x01);//清屏

times[5]=':';//恢复数点

display(l1,"Set time- ",1);

display(l1+11,"hour",0);

display(l2+11,"[ ]",0);

display(l2+1,times,0);

display(l2+12,recfrqs,0);

write_cmd(0xC1+i);

write_cmd(0x0f);//显示闪烁光标

autobac_tim=0;//初始化自动返回时间常数

while(!endadj)

{

if(RI==1) //接收到数据

{

RI=0;

autobac_tim=0;//自动返回清零

ser_temp=SBUF;

if((ser_temp>47)&&(ser_temp<58))//进行数值判断

{

if(i<8)

times[i]=ser_temp;

if(i>8&&i<14)

recfrqs[i-11]=ser_temp;

if(i>=14)

dates[i-13]=ser_temp;

i++;

}

if(ser_temp=='F') i++;//往前一步

if(ser_temp=='B') endadj=1;//退出调整

switch(i) //显示处理

{

case 2:i++;display(l1+11,"min ",0);break;

case 5:i++;display(l1+11,"sec ",0);break;

case 8:i=i+3;display(l1+11,"frq ",0);break;

case 14:i++;display(l1+4,"date year ",0);

display(l2," ",1);

break;

case 17:i++;display(l1+11,"moun",0);break;

case 20:i++;display(l1+11,"day ",0);break;

case 23:endadj=1;break;

}

if(i<14)

{

display(l2+1,times,0);display(l2+12,recfrqs,0);

write_cmd(0xC1+i);

}

else

{

display(l2+3,dates,0);

write_cmd(0xC1+i-11);

}

}

if(endadj==1)//写回参数

{

time[0]=(times[0]-48)*10+times[1]-48;

time[1]=(times[3]-48)*10+times[4]-48;

time[2]=(times[6]-48)*10+times[7]-48;

recfrq=(recfrqs[0]-48)*100+(recfrqs[1]-48)*10+recfrqs[2]-48;

date[0]=(dates[2]-48)*10+dates[3]-48;

date[1]=(dates[5]-48)*10+dates[6]-48;

date[2]=(dates[8]-48)*10+dates[9]-48;

}

if(autobac_tim>10)

endadj=1;

}

display(l2," ",1);

write_cmd(0x0c);//正常显示

}

void main()

{

init();

while(1)

{

switch(mode)

{

case 1:normal_run();break;

case 2:recding_run();break;

case 3:data_run();break;

}

if(RI==1)

{

RI=0;

ser_rec=SBUF;

switch(ser_rec)

case 'A':adj_settings();break;

case 'R':mode=2;break;

case 'N':mode=1;break;

case 'H':tempmode=mode;mode=3;break;

case 'D':ser_sents(dates);break;

case 'T':times[5]=':';ser_sents(times);break;

case 'W':ser_sents(avtemps);break;

case 'C':ser_sents(datcounts);break;

case 'F':ser_sents(recfrqs);break;

}

ser_rec=0;

}

}

}

void miao() interrupt 1 //秒产生中断

{

TH0=(65535-9200)/256;

TL0=(65535-9200)%256;

mss++;

if(mss==100)

{mss=0;time[2]++;autobac_tim++;}

if(autobac_tim==255)

autobac_tim=244;//保持溢出

if(time[2]>=60)

{

time[2]=0;time[1]++;incmin++;

}

if(time[1]>=60)

{

time[1]=0;time[0]++;

}

if(time[0]>=24)

{

time[0]=0;dayincf=1;//天自增标志置位

date_recf=1;//日期需要记录

}

/*将返回时间[时分秒*/

}

②、system.h

/******系统I/O******/

/*****LCD I/O*******/

sbit RS=P1^2;

sbit LCDEN=P1^1;

/*****DS18B20*******/

sbit DS=P1^0;

#define uchar unsigned char

#define uint unsigned int

uchar code num[]={'0','1','2','3','4','5','6','7','8','9'};

/********时间相关变量************/

uchar time[]={23,28,00};//时分秒(10进制数)uchar times[]="15:37:00";//时分秒(ASCII码)uchar mss=0;

uchar date[]={11,11,11};//年月日(10进制数)uchar dates[]="2011-10-29";//年月日(ASCII码)bit dayincf=0;

bit date_recf=0;//日期记录标志

/***********记录频率变量*******************/ uchar recfrq=2; //记录频率(10进制数)

uchar recfrqs[]="001"; //记录频率(ASCII码)

uint datcount=0;//记录总数

uchar datcounts[]="0000";

/**************串口接收变量****************/ uchar ser_rec;

/*************温度相关变量****************/ uint avtemp=0;

uchar avtemps[]="00.0";

void delay(uchar z)

{

uchar x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void longdelay(uchar z)

{

for(z;z>0;z--)

delay(255);

}

void ser_sent(uchar sendata) //串口发送单字节

{

SBUF=sendata;

while(TI!=1);

TI=0;

delay(1);

}

void ser_sents(uchar strings[]) //串口发送字符串

{

uchar i=0;

while(strings[i]!='\0')

{

ser_sent(strings[i]);

delay(20);

i++;

}

ser_sent('\n');

}

void date_counter() //日期转变

{

uchar n;//月天数暂存

uint year=2000+date[0];//将年转换为标准年

if(dayincf==1)

{

dayincf=0;

switch(date[1])//根据月份制定月天数

{

case 1:n=31;break; case 2:if(year%4==0||year%400==0){n=29;} else {n=28;}break;

case 3:n=31;break; case 4:n=30;break;

case 5:n=31;break; case 6:n=30;break;

case 7:n=31;break; case 8:n=31;break;

case 9:n=30;break; case 10:n=31;break;

case 11:n=30;break; case 12:n=31;break;

}

date[2]++;

if(date[2]>n)

{

date[2]=1;

date[1]++;

}

if(date[1]>12)

{

date[1]=1;date[0]++;

}

}

}

void sys_init() //系统初始化

{

EA=1;TMOD=0x21;TR1=1;REN=1;SM0=0;SM1=1;

TH1=0xfA;

TL1=0xfA;

ET0=1;//允许定时器中断0

TH0=(65535-9200)/256;

TL0=(65535-9200)%256;// 定时器中断0初值

TR0=1;//开中断(秒)

ES=0;

}

void recfrq2recfrqs() //10进制记录频率转字符串

{

recfrqs[0]=num[recfrq/100];recfrqs[1]=num[recfrq%100/10];

recfrqs[2]=num[recfrq%100%10];

datcounts[0]=num[datcount/1000];

datcounts[1]=num[datcount%1000/100];

datcounts[2]=num[datcount%1000%100/10];

datcounts[3]=num[datcount%1000%100%10];

}

void time2times()//10进制时间转字符串

{

times[0]=num[time[0]/10];times[1]=num[time[0]%10];

times[3]=num[time[1]/10];times[4]=num[time[1]%10];

if(mss<50) times[5]=':';else times[5]=' ';

times[6]=num[time[2]/10];times[7]=num[time[2]%10];

}

void date2dates()//10进制日期转字符串

{

dates[2]=num[date[0]/10];dates[3]=num[date[0]%10];

dates[5]=num[date[1]/10];dates[6]=num[date[1]%10];

dates[8]=num[date[2]/10];dates[9]=num[date[2]%10];

}

void avtemp2avtemps()//10进制温度转字符串

{

avtemps[0]=num[avtemp/100];avtemps[1]=num[avtemp%100/10];

avtemps[3]=num[avtemp%100%10];

}

③、LED1602.H

#define l1 0x80

#define l2 0xc0

void write_cmd(uchar con)

{

LCDEN=0;

RS=0;

P2=con;

delay(2);

LCDEN=1;

delay(2);

LCDEN=0;

}

void write_lcddata(uchar dat)

{

LCDEN=0;

RS=1;

P2=dat;

delay(2);

LCDEN=1;

delay(2);

LCDEN=0;

}

void display(uchar line,uchar ttb[],bit sign) {

uchar i=0;

write_cmd(line);//第一行数据起始位while(ttb[i]!='\0')

{

write_lcddata(ttb[i]);

i++;

}

if(sign==1)//覆盖所有空白

{

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

write_lcddata(' ');

}

}

void lcd_init()

{

LCDEN=0;

write_cmd(0x38);//置功能

write_cmd(0x0c);//显示开启

write_cmd(0x06);//显示光标移动设置06右移04左移

write_cmd(0x01);//清屏

}

三.硬件模块设计及原理图设计

1.复位电路

常见的上电复位和按键复位电路有上电复位、按键脉冲复位、按键电平复位。如下图所示:

2.时钟电路

时钟电路用于产生单片机的基本时钟信号。两种时钟信号的连接电路下图所示:

3.测量部分

测量所用仪器是数字温度传感器DS18B20。用于接收信号,转化成信号等传到单

片机内,单片机来控制显示屏内显示温度示数。

4.原理图设计

四.系统调试

整个软件通过 C 语言编程,先在 Keil C51 集成开发环境下将编好的程序进行编译、调试,调试通过后会生成.HEX 文件.具体过程如下:

新建一个项目文件,然后新建一个 C 语言程序,并把新建的 C 语言程序加到项目中,然后编译项目。

点击 Project 菜单,选择弹出的下拉式菜单中的 New Project,选择所要的单片机89C58RD。

首先我们要在项目中创建新的程序文件。File->New 或快捷键 Ctrl+N 来实现,然后编写程序。

File-->Save 或快捷键 Ctrl+S 进行保存。首先第一个程序命名为asd.c,鼠标放在屏幕左侧的 Source Group1 文件夹图标上右击弹出菜单,在这里可以做在项目中增加减少文件等操作。我们选” Add File to Group ‘Source Group 1’”弹出文件窗口,选择刚刚保存的文件,按 ADD 按钮,关闭文件窗,程序文件已加到项目中了。这时在 Source Group1 文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它可以展开查看。

C 程序文件已被加到了项目中了,下面就开始编译运行了,默认情况下,还不能产生我们需要的 asd.hex,我们还需要修改一下相关参数。在 proteus 软件中测试一下,运行 PROTEUS 模拟仿真软件,打开已绘制好的仿真电路原理图,选中单片机 AT89C58RD,右键点击 AT89C58RD,出现对应的对话框,在 Program File 中找到编译好的“*.HEX”文件,然后点击“OK”就可以进行仿真了。五.设计总结

经过将近两个星期的全小组成员的共同努力,终于完成了大学四年最后一个小组课程设计,在此也感谢闫老师的悉心指导。

本次课程设计主要是对单片机中定时器/计数器,延时以及硬件连线,焊接等知识的综合应用。通过这次的课程设计进一步加深了我们对控制理论与单片机控制技术的理解,其实践过程令我们受益匪浅,因为平时学到的大部分都是理论知识,而课程设计就是将我们的理论应用到实践的过程,很好的锻炼了我们的动手实践能力,加强了将理论知识转化为工作实践的技能。

在本次实践中,主要的是我们要将所学的知识理解透,一定要有个整体的规划,这样才能实现编程;在编程的阶段,要先有了整体的规划,如设计哪些功能,如何实现,采集温度与湿度,如何显示温度与湿度,以及应急情况下如何复位等功能。总体来说,这次课程设计我们基本实现两点(多点)温度监测显示系统的基本功能,不仅加强了我们对于编程的学习应用,同时也巩固在单片机课上所学

基于AT89C51单片机的温度传感器

基于AT89C51单片机的温度传感器 目录 摘要.............................................................. I ABSTRACT........................................................... I I 第一章绪论 (1) 1.1 课题背景 (1) 1.2本课题研究意义 (2) 1.3本课题的任务 (2) 1.4系统整体目标 (2) 第二章方案论证比较与选择 (3) 2.1引言 (3) 2.2方案设计 (3) 2.2.1 设计方案一 (3) 2.2.2 设计方案二 (3) 2.2.3 设计方案三 (3) 2.3方案的比较与选择 (4) 2.4方案的阐述与论证 (4) 第三章硬件设计 (6) 3.1 温度传感器 (6) 3.1.1 温度传感器选用细则 (6) 3.1.2 温度传感器DS18B20 (7) 3.2.单片机系统设计 (13)

3.3显示电路设计.................................错误!未定义书签。 3.4键盘电路设计................................错误!未定义书签。 3.5报警电路设计.................................错误!未定义书签。 3.6通信模块设计.................................错误!未定义书签。 3.6.1 RS-232接口简介..............................错误!未定义书签。 3.6.2 MAX232芯片简介.............................错误!未定义书签。 3.6.3 PC机与单片机的串行通信接口电路.............错误!未定义书签。 第四章软件设计..................................错误!未定义书签。 4.1 软件开发工具的选择..........................错误!未定义书签。 4.2系统软件设计的一般原则.......................错误!未定义书签。 4..3系统软件设计的一般步骤......................错误!未定义书签。 4.4软件实现....................................错误!未定义书签。 4.4.1系统主程序流程图.........................错误!未定义书签。 4.4.2 传感器程序设计...........................错误!未定义书签。 4.4.3 显示程序设计.............................错误!未定义书签。 4.4.4 键盘程序设计.............................错误!未定义书签。 4.4.5 报警程序设计.............................错误!未定义书签。 4.4.6 通信模块程序设计.........................错误!未定义书签。 第五章调试与小结..................................错误!未定义书签。致谢...............................................错误!未定义书签。参考文献...........................................错误!未定义书签。附录...............................................错误!未定义书签。系统电路图.......................................错误!未定义书签。系统程序.........................................错误!未定义书签。

一种新型多点测温系统的设计

一种新型多点测温系统的设计 一种新型多点测温系统的设计 1温度传感器DS18B20介绍 DALLAS公司单线数字温度传感器DS18B20是一种新的“一线器件”,它具有体积小、适用电压宽等特点。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20支持“一线总线”接口,测量温度范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃;通过编程可实现9~12位的数字值读数方式;可以分别在93.75ms和750ms内将温度值转化为9位和12位的数字量。每个DS18B20具有唯一的64位长序列号,存放于DS18B20内部ROM只读存储器中。 DS18B20温度传感器的内部存储器包括1个高速暂存RAM和1个非易失性的电可擦除E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。暂存存储器包含了8个连续字节,前2字节为测得的温度信息,第1个字节为温度的低8位,第2个字节为温度的高8位。高8位中,前4位表示温度的正(全“0”)与负(全“1”);第3个字节和第4个字节为TH、TL的易失性拷贝;第5个字节是结构寄存器的易失性拷贝,此三个字节内容在每次上电复位时被刷新;第6、7、8个字节用于内部计算;第9个字节为冗余检验字节。所以,读取温度信息字节中的内容,可以相应地转化为对应的温度值。表1列出了温度与温度字节间的对应关系。 2系统硬件结构 系统分为现场温度数据采集和上位监控PC两部分。图1为系统的结构图。需要指出的是,下位机可以脱离上位PC机而独立工作。增加上位机上位机的目的在于能够更方便地远离现场实现监控、管理。现场温度采集温度采集部分采用8051单片机作为中

基于单片机的多功能温度检测系统的设计翻译

基于单片机的多功能温度检测系统的设计一、引言 随着社会的发展和技术的进步,人们越来越注重温度检测与显示的重要性。温度检测与状态显示技术与设备已经普遍应用于各行各业,市场上的产品层出不穷。温度检测及显示也逐渐采用自动化控制技术来实现监控。本课题就是一个温度检测及状态显示的监控系统。二、系统方案 本系统采用AT89S52 作为该系统的单片机。系统整体硬件电路包括,电源电路,传感器电路,温度显示电路,上下限报警电路等如图1 所示。图中报警电路可以在被测温度不在上下限X围内时,发出报警鸣叫声音。温度控制的基本原理为:当DSl8B20 采集到温度信号后,将温度信号送至AT89S52 中处理,同时将温度送到LCD 液晶屏显示,单片机根据初始化设置的温度上下限进行判断处理,即如果温度大于所设的最高温度就启动风扇降温;如果温度小于所设定的最低温度就启动报警装置。温度控制器的原理图二三、系统硬件设计1.单 片机AT89S52 的介绍 AT89S52 是一种低功耗、高性能CMOS8 位微控制器,具有8K 可编Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU和在系统可编程Flash,使AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案[5]。AT89S52 具有以下标准功能:8k 字节Flash,256 字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6 向量2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2 种软

(完整word版)基于51单片机的温度控制系统设计

基于51单片机的水温自动控制系统 0 引言 在现代的各种工业生产中 ,很多地方都需要用到温度控制系统。而智能化的控制系统成为一种发展的趋势。本文所阐述的就是一种基于89C51单片机的温度控制系统。本温控系统可应用于温度范围30℃到96℃。 1 设计任务、要求和技术指标 1.1任务 设计并制作一水温自动控制系统,可以在一定范围(30℃到96℃)内自动调节温度,使水温保持在一定的范围(30℃到96℃)内。 1.2要求 (1)利用模拟温度传感器检测温度,要求检测电路尽可能简单。 (2)当液位低于某一值时,停止加热。 (3)用AD转换器把采集到的模拟温度值送入单片机。 (4)无竞争-冒险,无抖动。 1.3技术指标 (1)温度显示误差不超过1℃。 (2)温度显示范围为0℃—99℃。 (3)程序部分用PID算法实现温度自动控制。 (4)检测信号为电压信号。 2 方案分析与论证 2.1主控系统分析与论证 根据设计要求和所学的专业知识,采用AT89C51为本系统的核心控制器件。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。其引脚图如图1所示。 2.2显示系统分析与论证 显示模块主要用于显示时间,由于显示范围为0~99℃,因此可采用两个共阴的数码管作为显示元件。在显示驱动电路中拟订了两种设计方案: 方案一:采用静态显示的方案 采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。 方案二:采用动态显示的方案 由单片机的I/O口直接带数码管实现动态显示,占用资源少,动态控制节省了驱动芯片的成本,节省了电 ,但编程比较复杂,亮度不如静态的好。 由于对电路的功耗要求不大,因此就在尽量节省I/O口线的前提下选用方案一的静态显示。

温度检测系统汇总

机电专业课程设计温度检测系统 学生姓名李晓晓 学院中国矿业大学年级专业2011机电专本指导教师孙长青完成日期2012年6月 前言

温度是表征物体冷热程度的物理量,是工业生产和自动控制中最常见的工艺参数之一,生产过程中常常需要对温度进行检测和监控。在传统的温度测控系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如传感器外围电路复杂及抗干扰能力差等问题;而其中任何一环节处理不当,就会造成整个系统性能的下降。采用数字温度传感器与单片机组成的温度检测系统进行温度检测、数值显示和数据存储,体积减小,精度提高,抗干扰能力强,并可组网进行多点协测,还可以实现实时控制等技术,在现代工业生产中应用越来越广泛。 本设计就采用以51单片机为核心,和单总线数字式温度传感器DS18B20 模拟出一温度控制系统,当温度没有超过预设温度时数码管显示当前温度,此本系统就是一个温度计。当温度超过预设温度时电路中的发光二极管就会闪烁报警,当温度降下时就停止闪烁,此时本系统就是一个温度监控器。以DS18B20 为代表的新型单总线数字式温度传感器集温度测量和A/D转换于一体,直接输出数字量,与单片机接口电路结构简单,广泛使用于距离远、节点分布多的场合,具有较强的推广应用价值。 目录

前言 (1) 1 总体设计方案 (3) 1.1设计的目的及意义 (3) 1.2总体设计思路 (3) 1.3总体设计方案设计 (3) 2 系统的硬件结构设计 (4) 2.1器件的选择 (4) 2.2电路设计及功能 (8) 2.3单片机的内部资源 (9) 2.4芯片DS18B20器件介绍 (10) 3 系统的软件设计 (13) 3.1设计的流程图 (13) 3.2系统部分程序的设计和分析 (14) 结论 (16) 附录Ⅰ程序设计 (17) 附录Ⅱ参考文献 (21) 附录Ⅲ结束语 (22) 附录Ⅳ实物照片 (23) 1 总体方案设计

基于单片机的温度测量系统设计(DOC)

基于STC单片机的温度测量系统的研究 摘要:本文针对现有温度测量方法线性度、灵敏度、抗振动性能较差的不足,提出了一种基于STC单片机,采用Pt1000温度传感器,通过间接测量铂热电阻阻值来实现温度测量的方案。重点介绍了,铂热电阻测量温度的原理,基于STC实现铂热电阻阻值测量,牛顿迭代法计算温度,给出了部分硬件、软件的设计方法。实验验证,该系统测量精度高,线性好,具有较强的实时性和可靠性,具有一定的工程价值。 关键词:STC单片机、Pt1000温度传感器、温度测量、铂热电阻阻值、牛顿迭代法。 Study of Temperature Measurement System based on STC single chip computer Zhang Yapeng,Wang Xiangting,Xu Enchun,Wei Maolin Abstract:A method to achieve temperature Measurement by the Indirect Measurement the resistance of platinum thermistor is proposed. It is realized by the single chip computer STC with Pt1000temperature sensor.The shortcomings of available methods whose Linearity, Sensitivity, and vibration resistance are worse are overcame by the proposed method. This paper emphasizes on the following aspects:the principle of temperature measurement by using platinum thermistor , the measurement of platinum thermistor’s resistance based on STC single chip computer, the calculating temperature by Newton Iteration Method. Parts of hardware and software are given. The experimental results demonstrate that the precision and linearity of the method is superior. It is also superior in real-time character and reliability and has a certain value in engineering application. Keywords: STC single chip computer,Pt1000temperature sensor,platinum thermistor’s resistance,Newton Iteration Method 0 引言 精密化学、生物医药、精细化工、精密仪器等领域对温度控制精度的要求极高,而温度控制的核心正是温度测量。 目前在国内,应用最广泛的测温方法有热电偶测温、集成式温度传感器、热敏电阻测温、铂热电阻测温四种方法。 (1) 热电偶的温度测量范围较广,结构简单,但是它的电动势小,灵敏度较差,误差较大,实际使用时必须加冷端补偿,使用不方便。 (2) 集成式温度传感器是新一代的温度传感器,具有体积小、重量轻、线性度好、性能稳定等优点,适于远距离测量和传输。但由于价格相对较为昂贵,在国内测温领域的应用还不是很广泛。 (3) 热敏电阻具有灵敏度高、功耗低、价格低廉等优点,但其阻值与温度变化成非线性关系,在测量精度较高的场合必须进行非线性处理,给计算带来不便,此外元件的稳定性以及互换性较差,从而使它的应用范围较小。 (4)铂热电阻具有输出电势大、线性度好、灵敏度高、抗振性能好等优点。虽然它 的价格相对于热敏电阻要高一些,但它的综合性能指标确是最好的。而且它在0~200°C范

基于DS18B20的多点温度测量系统设计

一、绪论 1.1 课题来源 温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一,同时它也是一种最基本的环境参数。人民的生活与环境温度息息相关,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,在电力、化工、石油、冶金、机械制造、大型仓储室、实验室、农场塑料大棚甚至人们的居室里经常需要对环境温度进行检测,并根据实际的要求对环境温度进行控制。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行。炼油过程中,原油必须在不同的温度和压力条件下进行分流才能得到汽油、柴油、煤油等产品;没有合适的温度环境,许多电子设备不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。可见,研究温度的测量具有重要的理论意义和推广价值。 随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日益突出,成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。本设计就是为了满足人们在生活生产中对温度测量系统方面的需求。 本设计要求系统测量的温度的点数为4个,测量精度为0.5℃,测温范围为-20℃~+80℃。采用液晶显示温度值和路数,显示格式为:温度的符号位,整数部分,小数部分,最后一位显示℃。显示数据每一秒刷新一次。 1.2 课题研究的意义 21世纪科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了巨大的变化,我们已经进入了高速发展的信息时代,测量技术也成为当今科技的主流之一,被广泛地应用于生产的各个领域。对于本次设计,其目的在于: (1)掌握数字温度传感器DS18B20的原理、性能、使用特点和方法,利用C51对系统进行编程。

基于51单片机的温度控制系统的设计

基于单片机的温度控制系统设计 1.设计要求 要求设计一个温度测量系统,在超过限制值的时候能进行声光报警。具体设计要求如下: ①数码管或液晶显示屏显示室内当前的温度; ②在不超过最高温度的情况下,能够通过按键设置想要的温度并显示;设有四个按键,分别是设置键、加1键、减1键和启动/复位键; ③DS18B20温度采集; ④超过设置值的±5℃时发出超限报警,采用声光报警,上限报警用红灯指示,下限报警用黄灯指示,正常用绿灯指示。 2.方案论证 根据设计要求,本次设计是基于单片机的课程设计,由于实现功能比较简单,我们学习中接触到的51系列单片机完全可以实现上述功能,因此可以选用AT89C51单片机。温度采集直接可以用设计要求中所要求的DS18B20。报警和指示模块中,可以选用3种不同颜色的LED灯作为指示灯,报警鸣笛采用蜂鸣器。显示模块有两种方案可供选择。 方案一:使用LED数码管显示采集温度和设定温度; 方案二:使用LCD液晶显示屏来显示采集温度和设定温度。 LED数码管结构简单,使用方便,但在使用时,若用动态显示则需要不断更改位选和段选信号,且显示时数码管不断闪动,使人眼容易疲劳;若采用静态显示则又需要更多硬件支持。LCD显示屏可识别性较好,背光亮度可调,而且比LED 数码管显示更多字符,但是编程要求比LED数码管要高。综合考虑之后,我选用了LCD显示屏作为温度显示器件,由于显示字符多,在进行上下限警戒值设定时同样可以采集并显示当前温度,可以直观的看到实际温度与警戒温度的对比。LCD 显示模块可以选用RT1602C。

3.硬件设计 根据设计要求,硬件系统主要包含6个部分,即单片机时钟电路、复位电路、键盘接口模块、温度采集模块、LCD 显示模块、报警与指示模块。其相互联系如下图1所示: 图1 硬件电路设计框图 单片机时钟电路 形成单片机时钟信号的方式有内部时钟方式和外部时钟方式。本次设计采用内部时钟方式,如图2所示。 单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为此放大器的输入端和输出端,其频率范围为~12MHz ,经由片外晶体振荡器或陶瓷振荡器与两个匹配电容一 起形成了一个自激振荡电路,为单片机提供时钟源。 复位电路 复位是单片机的初始化操作,其作用是使CPU 和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作,以防止电源系统不稳定造成CPU 工作不正常。在系统中,有时会出现工作不正常的情况,为了从异常状态中恢复,同时也为了系统调试方便,需要设计一个复位电路。 单片机的复位电路有上电复位和按键复位两种形式,因为本次设计要求需要有启动/复位键,因此本次设计采用按键复位,如图3。复位电路主要完成系统 图2 单片机内部时钟方式电路 图3 单片机按键复位电路

简单多点温度测量系统课程设计

课程设计报告(2010 —2011 年度第2学期) 题目:基于DS18B20的多点温度测量系统 院系: 姓名: 学号: 专业: 指导老师: 2011年5 月22 日

目录 1设计要求…………………………………………………………………………2设计的作用、目的………………………………………………………………3设计的具体实现…………………………………………………………………. 3.1系统概述……………………………………………………………………. 3.2单元电路设计与分析……………………………………………………… 3.3电路的安装与调试…………………………………………………………4心得体会及建议………………………………………………………………… 4.1心得体会…………………………………………………………………… 4.2建议…………………………………………………………………………5附录………………………………………………………………………………6参考文献…………………………………………………………………………

基于DS12B20的多点温度测量系统设计报告 1设计要求 运用DS12B20温度测量芯片实现一个多点温度测量系统,要求如下: (1).测量点为两点。 (2).测量的温度为-40~+40°C (3).温度测量的精度为±0.5°C (4).测量系统的响应时间要小于1S。 (5).温度数据的传输方式采用串行数据传送的方式。 2 设计的作用、目的 通过本设计可以进一步了解熟悉单片机的控制原理以及外设与单片机的数据通信方法,尤其是串行通信方法以及单片机与外设间的接口问题。 本设计旨在提高学生的实际应用系统开发能力,增长学生动手实践经验,激起学生学以致用的兴趣。 3设计的具体实现 3.1系统概述 本系统分为温度采集模块、核心处理模块、控制模块和显示模块。温度采集模块由DS18B20温度测量芯片构成,它负责测量温度后将温度量转化为数字信号,传输到数据处理模块;核心处理模块由AT89S52单片机组成,它负责与温度采集模块进行数据通信、对数据进行操作处理已经对各种外设的响应与控制;控制模块由几个按键组成,实现对测量点的选择以及电路复位的操作;显示模块由一块四位的八段译码显示管和驱动芯片组成,它的作用是显示测量的温度值。 系统模块组成图:

温度检测显示系统设计

毕业设计 设计题目温度监测显示系统设计 系部信息工程系 专业电子信息工程 班级电子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 温度传感器DS18B20 介绍DALLAS 公司单线数字温度传感器DS18B20 是一种新的“一线器件”,它具有体积小、适用电压宽等特点。一线总线独特而 且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新 概念。DS18B20 支持“一线总线”接口,测量温度范围为-55℃~+125℃,在- 10℃~+85℃范围内,精度为±0.5℃;通过编程可实现9~12 位的数字值读数方式;可以分别在93.75ms 和750ms 内将温度值转化为9 位和12 位的数字量。每个DS18B20 具有唯一的64 位长序列号,存放于DS18B20 内部ROM 只读存储器中。DS18B20 温度传感器的内部存储器包括1 个高速暂存RAM 和1 个非易失性的电可擦除E2RAM,后者存放高温度和低温度触发器TH、TL 和结 构寄存器。暂存存储器包含了8 个连续字节,前2 字节为测得的温度信息,第 1 个字节为温度的低8 位,第 2 个字节为温度的高8 位。高8 位中,前4 位表示温度的正(全“0”)与负(全“1”);第 3 个字节和第 4 个字节为TH、TL 的易失性 拷贝;第5 个字节是结构寄存器的易失性拷贝,此三个字节内容在每次上电复 位时被刷新;第6、7、8 个字节用于内部计算;第9 个字节为冗余检验字节。所以,读取温度信息字节中的内容,可以相应地转化为对应的温度值。表1 列 出了温度与温度字节间的对应关系。 2 系统硬件结构系统分为现场温度数据采集和上位监控PC 两部分。图1 为系统的结构图。需要指出的是,下位机可以脱离上位PC 机而独立工作。增加 上位机的目的在于能够更方便地远离现场实现监控、管理。现场温度采集部分 采用8051 单片机作为中央处理器,在P1.0 口挂接10 个DS18B20 传感器,对10 个点的温度进行检测。非易失性RAM 用作系统温度采集及运行参数等的缓 冲区。上位PC 机通过RS485 通信接口与现场单片微处理器通信,对系统进行

基于51单片机的心率体温测试系统

摘要 本文介绍了一种基于51单片机的心率体温采集系统。首先介绍了51系列单片机的内部相关配置、工作原理以及编程方法,其次介绍了温度传感器PT100的相关测温方法以及通过红外光电传感器TCRT5000对射的方法来抓取人体脉搏信号。此次设计的电路部分主要包括:传感测量电路、放大电路、滤波整形电路、AD转换电路、计数显示电路、控制电路、电源供电电路等。通过按键开始测试,将PT100及TCRT5000输入的微弱信号进行放大整形,最后AD采集转换传送给单片机,在LCD1602上显示相关体温及心率信息。 本次硬件设计基于比较稳定可行、低成本的设计思想,软件设计采用模块化的设计方法,并且详细分析了红外传感器TCRT5000应用于心率测量上以及PT100应用于温度测量上的原理及优点,阐述了其他各配合电路的组成与工作特点,并且通过仿真进行电路的可行性验证,最后完成实物电路的设计,使得本次课题的预期结果得以实现。 关键词:51单片机;传感器;仿真;AD转换 -I

Abstract This paper introduced a heart rate and body temperature acquisition system that based on 51 single chip microcomputer. First the internal configurations of 51 single chip microcomputer are introduced. And the paper also tell how 51 single chip microcomputer works and how can we program on it. Then the method of using temperature sensor PT100 to get body temperature is introduced, and we use infrared photoelectric sensor TCRT5000 to get the pulse signal of human body.The design of the circuit mainly comprises sensing circuit , amplifying circuit, filtering and shaping circuit, AD converting circuit, counting and displaying circuit, controlling circuit, power supplying circuit and so on. When the keyboard is pressed, the system starts to get signal. The small signal from PT100 and TCRT5000 will be amplified and shaped. Then ad converter will change the analog signal into digital signal and send to 51 single chip microcomputer . At last LCD1602 will display the information of body temperature and heart rate. Keywords: Piezoelectric sensors;control circuit;counters;Multisim2001 simulation software control circuit. -II

多点温度检测系统设计

摘要 环境温度对工业、农业、商业与人们得日常生活都有很大得影响,而温度得测量也就成为人们生产生活中一项必不可少得工作。随着单片机技术得不断发展,单片机在日用电子产品中得应用越来越广泛,温度传感器DS18B20具有线性优良、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度得测量与控制。 本设计所介绍得数字温度计使用单片机AT89s52单片机,测温传感器使用DS18B20,用4位共阴极LED数码管以动态方式实现温度显示,分时轮流通电,从而大大简化了硬件线路,同时,采用串口通信方式可大大简化硬件电路与软件程序得设计,节省了I/O口。DS18B20数字温度传感器就是单总线器件与51单片机组成得测温系统,具有线路简单、体积小等特点,而且在一根通信线上,可以挂接多个DS18B20,因此可以构成多点温度测控系统。 关键词:单片机;多点检测;串口通信

Abstract Environmental temperature to industry, agriculture, merce, and people's daily life has a lot of influence, and the measurement of the temperature will bee an indispensable people production and life of the work、 Along with the development of the single chip microputer technology, microputer in the daily electronic products is more and more extensive application, the temperature sensor DS18B20 have good linear, stable performance, high sensitivity, anti-interference ability strong, easy to use, widely used in the refrigerator, air conditioner, granaries, etc in daily life temperature measurement and control、 The design of the digital thermometer introduced use single chip puter 89 s52 microcontroller, temperature sensor DS18B20 use, with a total of 4 cathode tube LED digital display to realize dynamic way temperature, in turn time-sharing electricity, which greatly simplified the hardware circuit, and at the same time, the serial interface munication mode can greatly simplified the hardware circuit and software program design, save the I/O port、 Digital temperature sensor DS18B20 is the single bus devices and 51 SCM position, temperature measurement system, with simple line, little volume features, but at a munications line, can be articulated multiple DS18B20, so can form multi-point temperature measurement and control system、 Key Words:Single Chip Microputer; Multi-point detection; Serial mun- -ication

基于51单片机温湿度检测+电子万年历的毕业设计论文

毕业设计论文 基于51单片机温湿度检测+电子万年历的设计

[摘要]:温湿度检测是生活生产中的重要的参数。本设计为基于51单片机的温湿度检测与控制系统,采用模块化、层次化设计。用新型的智能温湿度传感器SHT10主要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机STC89C52RC进行数据的分析和处理,为显示提供信号,显示部分采用LCD1602液晶显示所测温湿度值。系统电路简单、集成度高、工作稳定、调试方便、检测精度高,具有一定的实用价值。 [关键字]:STC89C52RC SHT10 LCD1602 按键指示灯蜂鸣器电子万年历Based on 51 single chip microcomputer temperature and humidity detection + electronic calendar design Abstract:Temperature and humidity detection is important parameters in the production of life. This design is based on 51 single chip microcomputer temperature and humidity detection and control system, adopting modular, hierarchical design. With new type of intelligent temperature and humidity sensor SHT10 main realization about the detection of temperature, humidity, temperature humidity signal acquisition is converted into digital signals through the sensor signal, using SCM STC89C52RC for data analysis and processing, provides the signal for display, display part adopts LCD1602 LCD display the measured temperature and humidity values. Simple circuit, high integration, work stability, convenient debugging, high detection precision, has certain practical value. Key words:STC89C52RC SHT10 LCD1602 key indicator light buzzer The electronic calendar

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

基于单片机的多点温度监测系统设计 摘要: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

温度检测显示及报警装置设计与制作

目录 第一章绪论 (1) 1.1课题背景与意义 (1) 1.2设计题目介绍 (1) 1.3设计目的 (1) 1.4设计内容和要求 (1) 第2章设计原理 (3) 2.1系统总体框架设计 (3) 2.2系统硬件设计 (3) 2.2.1温度传感器DS18B20电路 (3) 2.2.2蜂鸣器报警电路 (4) 2.2.31602液晶显示显示电路 (5) 2.2.4复位电路 (5) 2.3系统软件设计 (6) 第3章系统调试及结果分析 (8) 3.1硬件调试 (8) 3.2软件调试 (8) 3.3结果分析 (9) 参考文献 (10) 附录 (11) 附录一系统原理图 (11)

第一章绪论 1.1课题背景与意义 温度是一个基本的物理量,在工业生产和实验研究中,如机械、食品、化工、电力、石油、等领域,温度常常是表征对象和过程状态的重要参数,是各门学科研究中经常遇到和必须测量的物理量。本质上讲,温度就是衡量物体冷热程度的物理量,是物体分子热运动平均动能的标准。它是国际单位制规定的七个基本单位之一。温度概念的建立以及温度的测量都是以热平衡为基础的,当两个冷热程度不同的物体接触后就会产生导热换热,换热结束后,两物体处于热平衡状态,此时它们具有相同的温度,这就是温度最基本的性质。因此对温度进行准确测量和有效控制已成为人们在科学研究和生产实践中面临的重要课题之一。 1.2设计题目介绍 设计并开发能自动测温并具有显示和报警系统的温度测量控制系统,要求以18b20做为温度测量传感器,以数码管、点阵、1602、全彩TFT屏做为温度等信息显示装置,以蜂鸣器为报警装置,能实现实时温度显示、温度上下限设定、温度上下限报警等功能。 1.3设计目的 测控系统技术是自动控制理论和微型计算机原理和接口等技术在工业生产过程中实现自主测量自动控制的专门技术,其以自动控制理论为基础,以电子技术、传感器原理、计算机原理及接口等课程内容为辅助,通过对测控系统的设计实践环节培养学生理论应用能力、总结归纳能力以及自我学习能力,从而进一步提高学生工程实践能力和创新意识的培养。 1.4设计内容和要求 (1)单片机开发仪提供的18B20温度传感器做为温度采集传感器。对温度进行实时采集。 (2)本组(第三组)使用1602液晶屏做为信息显示装置。

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