您当前的位置:首页 > 发表论文>论文发表

温度练检测论文

2023-03-03 17:19 来源:学术参考网 作者:未知

温度练检测论文

"幸福校园"有不少形式的论文范文,参考一下吧,希望对你可以有所帮助。
第1章 绪 论
1.1 温度控制系统的发展状况
近几年来,在我国以信息化带动的工业化正在蓬勃发展,温度已成为工业对象控制中一种重要的参数,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。例如:在食品加工、冶金工业、化工生产、电力工程、造纸行业和机械制造等诸多领域中,广泛使用的各种锅炉、加热炉、热处理炉和反应炉等;燃料有煤气、天然气、油、电等。
单片微型计算机的功能不断的增强,许多高性能的新型机种应运而生。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化领域和其他测控领域中广泛应用的器件,在工业生产中成为必不可少的器件。在温度控制系统中,单片机更是起到了不可替代的核心作用。像用于化工生产的智能锅炉、用于融化金属的加热炉等都广泛应用。

用单片机做温度检测系统 论文,

用DS18B20做的电子温度计,非常简单。

#include <reg51.h>
#include\"AscLed.h\"
#include <intrins.h>
#include <stdio.h>
//********************************************************
#define Seck (500/TK) //1秒中的主程序的系数
#define OffLed (Seck*5*60) //自动关机的时间5分钟!
//********************************************************
#if (FHz==0)
#define NOP_2uS_nop_()
#else
#define NOP_2uS_nop_();_nop_()
#endif
//**************************************
#define SkipK 0xcc //跳过命令
#define ConvertK 0x44 //转化命令
#define RdDs18b20K 0xbe //读温度命令
//*******************************************
extern LedOut(void);
//*************************************************
sbit PNP1=P3^4;
sbit PNP2=P3^5;
sbit BEEP=P3^2;
//***********************************
#defineDQ PNP2 //原来的PNP2 BEEP
//***********************************
static unsigned char Power=0;
//************************************
union{
unsigned char Temp[2]; //单字节温度
unsigned int Tt; //2字节温度
}T;
//***********************************************
typedef struct{
unsigned char Flag; //正数标志 0;1==》负数
unsigned char WenDu; //温度整数
unsigned int WenDuDot; //温度小数放大了10000

}WENDU;
//***********************************************
WENDU WenDu;
unsigned char LedBuf[3];
//----------------------------------
//功能:10us 级别延时
// n=1===> 6Mhz=14uS 12MHz=7uS
//----------------------------------
void Delay10us(unsigned char n){

do{
#if (FHz==1)
NOP_2uS;NOP_2uS;
#endif
}while(--n);
}
//-----------------------------------
//功能:写18B20
//-----------------------------------
void Write_18B20(unsigned char n){
unsigned char i;
for(i=0;i<8;i++){
DQ=0;
Delay10us(1);//延时13us 左右
DQ=n & 0x01;
n=n>>1;
Delay10us(5);//延时50us 以上
DQ=1;
}
}
//------------------------------------
//功能:读取18B20
//------------------------------------
unsigned char Read_18B20(void){
unsigned char i;
unsigned char temp;
for(i=0;i<8;i++){
temp=temp>>1;
DQ=0;
NOP_2uS;//延时1us
DQ=1;
NOP_2uS;NOP_2uS;//延时5us
if(DQ==0){
temp=temp&0x7F;
}else{
temp=temp|0x80;
}
Delay10us(5);//延时40us
DQ=1;
}
return temp;
}
//-----------------------------------
void Init (void){
DQ=0;
Delay10us(45);//延时500us
DQ=1;
Delay10us(9);//延时90us
if(DQ){ //0001 1111b=1f
Power =0; //失败0
}else{
Power++;
DQ=1;
}
}
//----------------------------------
void Skip(void){
Write_18B20(SkipK);
Power++;
}
//----------------------------------
void Convert (void){
Write_18B20(ConvertK);
Power++;
}
//______________________________________
void Get_Ds18b20L (void){
T.Temp[1]=Read_18B20(); //读低位
Power++;
}
//______________________________________
void Get_Ds18b20H (void){
T.Temp[0]=Read_18B20(); //读高位
Power++;
}
//------------------------------------
//规范化成浮点数
// sssss111;11110000
// sssss111;1111(0.5,0.25,0.125,0.0625)
//------------------------------------
void ReadTemp (void){
unsigned char i;
unsigned intF1=0;
char j=1;
code int Code_F[]={6250,1250,2500,5000};

WenDu.Flag=0;

if (T.Temp[0] >0x80){ //负温度
T.Tt =~T.Tt+1; //取反+1=源吗 +符号S
WenDu.Flag=-1;
}
T.Tt <<= 4; //左移4位
WenDu.WenDu=T.Temp[0]; // 温度整数
//**************************************************
T.Temp[1]>>=4;
//---------------------------
for (i=0;i<4;i++){ //计算小数位
F1 +=(T.Temp[1] & 0x01)*Code_F;
T.Temp[1]>>=1;
}
WenDu.WenDuDot=F1; //温度的小数
Power=0;
}
//----------------------------------
void Delay1S (void){
static unsigned int i=0;

if (++i==Seck) {i=0ower++;}
}
//----------------------------------
void ReadDo (void){
Write_18B20(RdDs18b20K);
Power++;
}
/**********************************
函数指针定义
***********************************/
code void (code *SubTemp[])()={
Init,Skip,Convert,Delay1S,Init,Skip,ReadDo,Get_Ds18b20L,
Get_Ds18b20H,ReadTemp
};
//**************************************
void GetTemp(void){
(*SubTemp[Power])();
}
//---------------------------------------------------
//将温度显示,小数点放大了10000.
void GetBcd(void){
LedBuf[0]=WenDu.WenDu / 10;
LedBuf[1]=WenDu.WenDu % 10 +DotK;
LedBuf[2]=(WenDu.WenDuDot/1000);

if(LedBuf[0]==0)LedBuf[0]=Black;

if(WenDu.Flag==0) return;
if(LedBuf[0] !=Black){
LedBuf[2]=LedBuf[1];
LedBuf[1]=LedBuf[0];
LedBuf[0]=Led_Pol; //'-'
}else{
LedBuf[0]=Led_Pol; //'-'
}
}
/*
//---------------------------------------------------
void JbDelay (void){
static long i;
if (++i>=OffLed){
P1=0xff;
P2=0xff;
PCON=0x02;
}
}
*/
/*****************************************************
主程序开始
1:2002_10_1 设计,采用DS18B20测量
2:采用函数数组读取DS18B20.LED数码管显示正常!
3:改变FHz可以用6,12MHz工作!
******************************************************/
code unsigned char Stop[3] _at_ 0x3b;
void main (void){
P1=0xff;
WenDu.WenDu=0;
while (1){
GetTemp();
GetBcd();
// JbDelay();
LedOut();
}
}
复制代码
20091012_8b1ef92155560c13b5807ZmoDVSacjwD[1].jpg (12 KB)

2009-10-21 23:21 上传
下载次数:0

基于单片机温度测量与控制 毕业论文

  摘要
  本设计的温度测量计加热控制系统以AT89S52单片机为核心部件,外加温度采集电路、键盘显示电路、加热控制电路和越限报警等电路。采用单总线型数字式的温度传感器DSI8B20,及行列式键盘和动态显示的方式,以容易控制的固态继电器作加热控制的开关器件。本作品既可以对当前温度进行实时显示又可以对温度进行控制,以使达到用户需要的温度,并使其恒定再这一温度。人性化的行列式键盘设计使设置温度简单快速,两位整数一位小数的显示方式具有更高的显示精度。建立在模糊控制理论控制上的控制算法,是控制精度完全能满足一般社会生产的要求。通过对系统软件和硬件设计的合理规划,发挥单片机自身集成众多系统及功能单元的优势,再不减少功能的前提下有效的降低了硬件的成本,系统操控更简便。
  实验证明该温控系统能达到0.2℃的静态误差,0.45℃的控制精度,以及只有0.83%的超调量,因本设计具有很高的可靠性和稳定性。

  关键词:单片机 恒温控制 模糊控制
  引言
  温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。 采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。MSP430系列单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。

  温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到单片机可以处理的范围内,经过低通滤波,滤掉干扰信号送入单片机。在单片机中对信号进行采样,为进一步提高测量精度,采样后对信号再进行数字滤波。单片机将检测到的温度信息与设定值进行比较,如果不相符,数字调节程序根据给定值与测得值的差值按PID控制算法设计控制量,触发程序根据控制量控制执行单元。如果检测值高于设定值,则启动制冷系统,降低环境温度;如果检测值低于设定值,则启动加热系统,提高环境温度,达到控制温度的目的。

  图形点阵式液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的图形点阵液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是图形点阵液晶。它与行列式小键盘组成了现代单片机应用系统中最常用的人机交互界面。

  本文设计了一种基于MSP430单片机的温度测量和控制装置,能对环境温度进行测量,并能根据温度给定值给出调节量,控制执行机构,实现调节环境温度的目的。

  ━、硬件设计
  1:MSP430系列单片机简介及选型
  单片机即微控制器,自其开发以来,取得了飞速的发展。单片机控制系统在工业、交通、医疗等领域的应用越来越广泛,在单片机未开发之前,电子产品只能由复杂的模拟电路来实现,不仅体积大,成本高,长期使用后元件老化,控制精度大大降低,单片机开发以后,控制系统变为智能化了,只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品体积变小了,成本也降低了,长期使用也不会担心精度达不到了。特别是嵌入式技术的发展,必将为单片机的发展提供更广阔的发展空间,近年来,由于超低功耗技术的开发,又出现了低功耗单片机,如MSP430系列、ZK系列等,其中的MSP430系列单片机是美国德州仪器(TI)的一种16位超低功耗单片机,该单片机

数字温度计论文怎么写啊???

你好,我有你需要的设计!需要的联系回答者
目 录
一、引言 4
二、设计内容及性能指标 5
三、系统方案论证与比较 5
(一)、方案一 5
(二)、方案二 6
四、系统器件选择 7
(一)、 单片机的选择 7
1、 89S51 引脚功能介绍 8
(二)、温度传感器的选择 10
1、 DS18B20 简单介绍: 10
2、 DS18B20 使用中的注意事项 12
3、 DS18B20 内部结构 12
4、DS18B20测温原理 16
5、提高DS1820测温精度的途径 17
(三)、显示及报警模块器件选择 18
五、硬件设计电路 18
(一)、主控制器 19
(二)、显示电路 19
(三)、 温度检测电路 20
(四)、温度报警电路 25
六、 软件设计 26
(一)、 概述 26
(二)、主程序模块 26
(三)、各模块流程设计 27
1、 温度检测流程 28
2、报警模块流程 28
3、 中断设定流程 29
七、总结和体会 31
八、致谢 31
仪器简介
数字温度计是测温仪器类型的其中之一。根据所用测温物质的不同和测温范围的不同,有煤油温度计、酒精温度计、水银温度计、气体温度计、电阻温度计、温差电偶温度计、辐射温度计和光测温度计、双金属温度计等。
编辑本段仪器参数和适用范围
数字温度计采用进口芯片组装精度高、高稳定性,误差≤0.5%, 内电源、微功耗、不锈钢外壳,防护坚固,美观精致。 数字温度计采用进口高精度、低温漂、超低功耗集成电路和宽温型液晶显示器,内置高能量电池连续工作≥5年无需敷设供电电缆,是一种精度高、稳定性好、适用性极强的新型现场温度显示仪。是传统现场指针双金属温度计的理想替代产品,广泛应用于各类工矿企业,大专院校,科研院所。 温度数我们日常生产和生活中实时在接触到的物理量,但是它是看不到的,仅凭感觉只能感觉到大概的温度值,传统的指针式的温度计虽然能指示温度,但是精度低,使用不够方便,显示不够直观,数字温度计的出现可以让人们直观的了解自己想知道的温度到底是多少度。 数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即AD转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者PC机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如25.0摄氏度,然后通过显示单元,如LED,LCD或者电脑屏幕等显示出来给人观察。这样就完成了数字温度计的基本测温功能。 数字温度计根据使用的传感器的不同,AD转换电路,及处理单元的不同,它的精度,稳定性,测温范围等都有区别,这就要根据实际情况选择符合规格的数字温度计。 数字温度计有手持式,盘装式,及医用的小体积的等等。
仪器发展历史
最早的温度计是在1593年由意大利科学家伽利略(1564~1642)发明的。他的第一只温度计是一根一端敞口的玻璃管,另一端带有核桃大的玻璃泡。使用时先给玻璃泡加热,然后把玻璃管插入水中。随着温度的变化,玻璃管中的水面就会上下移动,根据移动的多少就可以判定温度的变化和温度的高低。温度计有热胀冷缩的作用所以这种温度计,受外界大气压强等环境因素的影响较大,所以测量误差大。 后来伽利略的学生和其他科学家,在这个基础上反复改进,如把玻璃管倒过来,把液体放在管内,把玻璃管封闭等。比较突出的是法国人布利奥在1659年制造的温度计,他把玻璃泡的体积缩小,并把测温物质改为水银,这样的温度计已具备了现在温度计的雏形。以后荷兰人华伦海特在1709年利用酒精,在1714年又利用水银作为测量物质,制造了更精确的温度计。他观察了水的沸腾温度、水和冰混合时的温度、盐水和冰混合时的温度;经过反复实验与核准,最后把一定浓度的盐水凝固时的温度定为0℉,把纯水凝固时的温度定为32℉,把标准大气压下水沸腾的温度定为212℉,用℉代表华氏温度,这就是华氏温度计。 在华氏温度计出现的同时,法国人列缪尔(1683~1757)也设计制造了一种温度计。他认为水银的膨胀系数太小,不宜做测温物质。他专心研究用酒精作为测温物质的优点。他反复实践发现,含有1/5水的酒精,在水的结冰温度和沸腾温度之间,其体积的膨胀是从1000个体积单位增大到1080个体积单位。因此他把冰点和沸点之间分成80份,定为自己温度计的温度分度,这就是列氏温度计。? 华氏温度计制成后又经过30多年,瑞典人摄尔修斯于1742年改进了华伦海特温度计的刻度,他把水的沸点定为0度,把水的冰点定为100度。后来他的同事施勒默尔把两个温度点的数值又倒过来,就成了现在的百分温度,即摄氏温度,用℃表示。华氏温度与摄氏温度的关系为 ℉=9/5℃+32,或℃=5/9(℉-32)。 现在英、美国家多用华氏温度,德国多用列氏温度,而世界科技界和工农业生产中,以及我国、法国等大多数国家则多用摄氏温度。
数字温度测量仪表的精度等级和分度值
仪表名称 精度等级 分度值,℃(摄氏度) 双金属温度计 1,1.5,2.5 0.5~20 压力式温度计 1,1.5,2.5 0.5~20 玻璃液体温度计 0.5~2.5 0.1~10 热电阻 0.5~3 1~10 热电偶 0.5~1 5~20 光学高温计 1~1.5 5~20 辐射温度计(热电堆) 1.5 5~20 部分辐射温度计 1~1.5 1~20 比色温度计 1~1.5

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页