基于DS18B20的温度报警器设计讲解
基于DS18B20的温度报警器设计教材

毕业设计论文基于DS18B20的温度报警器设计系电子信息工程系专业电子信息工程技术姓名康志凌班级电子信息122 学号1201043206 指导教师徐敏N 职称讲师设计时间2014.10.08-2015.04.08基于DS18B20的温度报警器设计摘要本设计以AT89C51单片机为核心,设计了一个温度测量报警系统,可以方便的实现温度采集和显示。
它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工农业中的温度测量及报警。
本设计由AT89C51单片机、DS18B20温度传感器和LED显示器组成,可以直观的显示测量的温度。
本设计运行过程中,如果外界温度低于-20℃或高于70℃,系统将出发蜂鸣器,产生报警声音,且对应的LED同步闪烁。
关键词:AT89C51,DS18B20,传感器,温度报警器江苏信息职业技术学院毕业设计(论文)目录摘要 (I)目录 (II)第1章引言 (1)第2章方案设计 (2)第3章 DS18B20简介 (3)3.1 DS18B20性能指标 (3)3.2 DS18B20的封装及内部结构 (4)3.3 DS18B20工作原理及应用 (4)3.4 控制器对DS18B20操作流程 (5)第4章硬件电路设计 (7)4.1 AT89C51 (8)4.2 晶振电路 (9)4.3 复位电路 (9)4.4 报警电路 (10)4.5 74LS245 (10)4.6 显示电路 (11)第5章软件设计 (12)5.1 主程序模块 (12)5.2 程序说明 (12)第6章仿真结果 (21)参考文献 (23)致谢 (24)基于DS18B20的温度报警器设计第1章引言温度是一个十分重要的物理量,对他的测量与控制有着十分重要的意义。
随着现代化工农业技术的发展及人民对生活环境要求的提高,人民也迫切需要监测和控制温度.在人类的生活环境中,温度扮演着极其重要的角色。
无论你生活在哪里,从事什么工作,无时无刻不在跟温度打着交道。
基于DS18B20的温度报警器设计说明

毕业设计论文基于DS18B20的温度报警器设计系电子信息工程系专业电子信息工程技术康志凌班级电子信息122 学号 1201043206指导教师徐敏 N 职称讲师设计时间 2014.10.08-2015.04.08摘要本设计以AT89C51单片机为核心,设计了一个温度测量报警系统,可以方便的实现温度采集和显示。
它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工农业中的温度测量及报警。
本设计由AT89C51单片机、DS18B20温度传感器和LED显示器组成,可以直观的显示测量的温度。
本设计运行过程中,如果外界温度低于-20℃或高于70℃,系统将出发蜂鸣器,产生报警声音,且对应的LED同步闪烁。
关键词:AT89C51,DS18B20,传感器,温度报警器目录摘要 (I)目录 (II)第1章引言 (1)第2章方案设计 (2)第3章 DS18B20简介 (3)3.1 DS18B20性能指标 (3)3.2 DS18B20的封装及部结构 (4)3.3 DS18B20工作原理及应用 (4)3.4 控制器对DS18B20操作流程 (5)第4章硬件电路设计 (7)4.1 AT89C51 (8)4.2 晶振电路 (9)4.3 复位电路 (9)4.4 报警电路 (10)4.5 74LS245 (10)4.6 显示电路 (11)第5章软件设计 (12)5.1 主程序模块 (12)5.2 程序说明 (12)第6章仿真结果 (21)参考文献 (23)致 (24)第1章引言温度是一个十分重要的物理量,对他的测量与控制有着十分重要的意义。
随着现代化工农业技术的发展及人民对生活环境要求的提高,人民也迫切需要监测和控制温度.在人类的生活环境中,温度扮演着极其重要的角色。
无论你生活在哪里,从事什么工作,无时无刻不在跟温度打着交道。
子18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。
基于DS18B20温度传感器的恒温报警电路的设计

基于DS18B20温度传感器的恒温报警电路的设计任琴秦冰刘亦佳(武汉军械士官学校,湖北武汉430075)随着社会各方面的发展,温度的测量和控制有着十分重要的意义,本电路系统就具有温度采集,高温报警,恒温控制等功能,其硬件部分可以分为主控电路、温度数据采集、温度显示、过限报警和系统电源几个主要部分。
软件部分的编程可以选择单片机C语言,系统本身的全部控制等方面功能能够很好的实现。
1系统硬件设计1.1硬件构成系统控制单元是以STC12C5A60S2单片机基本工作模块为核心,其它外围电路主要包括:按键控制模块,温度监测模块,报警模块,数字显示模块,散热模块,电源供电模块。
其结构框图如图1所示。
图11.2主要硬件电路模块1.2.1单片机最小系统本系统的主控模块采用STC12C5A60S2作为主控芯片,STC12C5A60S2是STC生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。
1.2.2系统供电电路系统供电原理如图2所示,采用+5V电压供电。
本设计采用输出电压为9V的变压器。
图21.2.3按键控制电路本系统采用3个按键实现对上限和下限温度的设置及调整。
1.2.4温度检测电路本系统温度检测使用的是DS18B20温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。
1.2.5报警电路此设计主要是监测系统出现温度过高而设计报警系统,正常使用中蜂鸣器不会响,当检测温度超出设置的上限温度或下限温度时,电路就会进入报警状态,蜂鸣器滴滴响15s,且继电器动作,指示灯亮起,以引起注意。
其电路组成如图3所示。
1.2.6数字显示电路在单片机人机交流的界面中,输出方式主要包含了下面几种,分别是液晶显示器、发光管以及LED数码管。
南京工程学院单片机课程设计《基于DS18B20的测温报警器》

图2 51单片机内部结构图3 51单片机双列直插封装方式的引脚I/O口说明:图4 晶振电路上电复位按键复位图5 51单片机的两种复位电路DS18B20介绍2. 引脚封装图 6 DS18B20引脚封装及定义图3.硬件连接图7 DS18B20典型电路4.工作原理图8 64位光刻ROM各位定义图9 高速暂存器RAM以上这些指令分别涉及DS18B20的ROM和RAM图10 DS18B20内部温度的存储格式图11 串口通信电路图12 按键电路图13 报警电路图14 显示电路74HC595简介:图15 74hc595管脚图图16 整体电路图图17 PCB布线图图18 课设实际使用PCB布线图DS18B20工作程序:/*******************************************************************/ /*程序名:18B20.H */ /*功能:对ds18b20的控制,时期能够正确检测当前环境实时温度并转换处理温度*/ /*包括延时函数和温度显示数据的转换函数 */ /*******************************************************************/ #define uchar unsigned char#define uint unsigned intsbit ds=P3^4; //引脚定义uint temp;float f_temp;uint temperature[4]={0};void delay (uint count) //延时函数{unsigned int i;while (count){i =200;while (i>0) i--;count--;}}void dsreset (void) // 发送复位和初始化{unsigned int i;ds = 0;i = 103;while (i>0) i--; // 延时ds = 1;i = 4;while (i>0) i--;}bit tempreadbit (void) // 读取数据的一位{uint i;bit dat;ds = 0; i++;ds = 1; i++; i++; //延时dat = ds;i = 8; while (i>0) i--; // 延时return (dat);}uchar tempread (void) //读一个字节{uchar i,j,dat;dat = 0;for (i=1;i<=8;i++){j = tempreadbit();dat = (j << 7) | (dat >> 1);}return (dat);}void tempwritebyte(uchar dat) //写一个字节{uint i;uchar j;bit testb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if (testb){ds=0; // 写0i++; i++;ds = 1;i = 8; while (i>0) i--;}else{ds = 0; // 写0i = 8; while (i>0) i--;ds = 1;i++; i++;}}}void tempchange(void) // ds1820开始转换{dsreset (); // 复位delay (1); // 延时tempwritebyte(0xcc); // 跳过序列号命令tempwritebyte(0x44); // 发转换命令 44H, }uint get_temp(void) // 读取温度{uchar a,b;dsreset (); // 复位delay (1); // 延时tempwritebyte(0xcc); // 跳过序列号命令tempwritebyte(0xbe); // 发送读取命令a = tempread(); // 读取低位温度b = tempread(); //读取高位温度temp=b;temp<<=8;temp=temp|a;f_temp=temp*0.0625;temp=f_temp*10+0.5;f_temp=f_temp*10+0.05;return temp; //返回测量值}void translate(uint t) //显示数据转换函数{temperature[0]=t/100;temperature[1]=t%100/10;temperature[2]=t%100%10;temperature[3]=1000;}主函数功能程序:/*******************************************************************/ /*程序名:main hanshu.c *//* 功能:实时测量温度,超过上下限报警,报警温度可手动调整。
基于DS18B20温度传感器的显示及报警系统设计

摘要随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。
传统的温度检测以热敏电阻为温度敏感元件。
热敏电阻的成本低,需要外加信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。
与传统的温度计相比,这次设计的是基于DS18B20的数字温度计,它具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。
在本设计中选用STC89C52型单片机作为主控制器件,采用DS18B20数字温度传感器作为测温元件,通过4位共阳极LED数码显示管并行传送数据,实现温度显示。
通过按键设置温度上下限报警值,然后用不同颜色的LED灯报警。
本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括串口下载电路、按键输入电路、温度采集电路和显示电路;二是对系统软件部分的设计,应用C语言实现温度上下限报警值的设定、温度的采集与显示。
通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成该系统的总体设计。
其系统构成简单,信号采集效果好,数据处理速度快,便于实际监测使用。
关键词:单片机STC89C52;温度传感器DS18B20;LED数码管;数字温度计AbstractAlong with the present information technology's swift development and traditional industry transformation's gradual realization, able to work independently of the temperature detection and display system used in many other fields. Traditional temperature examination takes thermistor as temperature sensitive unit. Thermistor's cost is low, needs the signal processing electric circuit, moreover the reliability is relatively bad, the temperature measurement accuracy is low, the examination system also has certain error. Compares with the traditional thermometer, what this design is based on the DS18B20 digital thermometer, it has the reading to be convenient, the temperature measurement scope is broad, the temperature measurement is precise, the digit demonstrated that applicable scope wide and so on characteristics.Used in the design STC89C52MCU as the main control device, digital temperature sensor DS18B20 as the temperature components of the anode through the four LED digital display tube parallel transmission of data, to achieve temperature display. This design's content mainly divides into two parts; first, to system hardware part design, including temperature gathering electric circuit and display circuit; Second, to the system software part's design, realizes temperature gathering and the demonstration using the C language. DS18B20 measured by direct reading temperature values and transfer Data into MCU and output to show his is the design of the Digital Thermometer. Its system constitution is simple, the effect of signal gathering is good, the speed of data processing is quick at al it is advantageous for the actual examination use.Keywords: MCU STC89S52; DS18B20; LED; Digital Thermometer目录第一章绪论 (3)1.1课题背景及来源 (3)1.2课题内容及要求 (3)第二章系统整体设计 (4)2.1系统设计方案论证 (4)第三章系统的硬件选择及设计 (5)3.1主控制器的设计 (5)3.2温度采集电路的设计 (5)3.3温度显示电路的设计 (9)第四章系统的软件设计 (11)4.1概述 (12)4.2程序流程图 (12)4.3 控制源程序 (14)第五章系统调试 (14)结论 (36)致谢 (36)参考文献 (37)第一章绪论1.1课题背景及来源单片机自1976年由Intel公司推出MCS-48开始,迄今已有三十多年了。
基于DS18B20的温度监控报警系统

二 硬件电路设计
2.1 系统方案论证
2.1.1 应用普通温度传感器的温度控制报警系统: 使用普通温度传感器的温度控制报警系统工作原理如下图 2-1 所示。 采用热敏电阻, 可满足 40℃至 90℃测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测 1℃的 信号是不适用的。而且在温度测量系统中,采用单片温度传感器,比如 AD590,LM35 等。但 这些芯片输出的都是模拟信号,必须经过 A/D 转换后才能送给单片机,这样就使得测温装 置的结构较复杂。另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量。 即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。
1.2 功能介绍
笔者设计的这一款温度控制报警器能够显示即时测量温度,并进行监控,能方便直观 的设置报警温度的上下限,当温度值超过或者低于设置的上下限时,能够进行报警和降温 处理。该系统使用 DS18B20 集成温度传感器测温,七段数码管显示温度和温度上下限, AT89C52 单片机进行温度控制处理。
基于 DS18B20 传感器的温度监控报警系统
摘 要
DS18B20 是一种高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用 户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使 用经验, 介绍了 DS18B20 数字温度传感器在单片机下的硬件连接及软件编程, 并给出了软 件流程图。 该系统芯片使用了 ATMEL 公司的 AT89C51 单片机和 DALLAS 公司的 DS18B20 数字温度 传感器。该系统可应用于微机机箱温度控制、仓库测温、楼宇空调控制和生产过程监控等 领域。 关键字:温度测量; 单总线; 数字温度传感器; 单片机
九州职业技术学院 05 届专科生毕业设计
用数码管与DS18B20设计温度报警器

#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit DQ=P3^6;sbit BEEP=P3^7;sbit HI_LED=P1^4;sbit LO_LED=P1^5;bit HI_Alarm=0,LO_Alarm=0;bit DS18B20_IS_OK=1;uchar codeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}; / /数码管共阴极段码uchar code df_Table[]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9}; //温度小数位对照表ucharCurrentT=0;//温度整数部分ucharDisplay_Digit[]={0,0,0,0}; //数码管待显示的各位温度ucharTemp_Value[]={0x00,0x00}; //DS0832读取的温度值uintTime0_Count=0; / / 定时器中断计数char Alarm_Temp_HL[2]={70,-20};/***********延时程序*************/void Delay(uint x){while(--x);}/**********DS18B20初始化********/uchar Init_DS18B20(){uchar status;DQ=1;Delay(8);DQ=0;Delay(90);DQ=1;Delay(8);status=DQ;Delay(100);DQ=1;return status;}/**********DS18B20读字节********/ uchar ReadOneByte(){uchar i,dat=0;DQ=1;_nop_();for(i=0;i<8;i++){DQ=0;dat >>=1;DQ=1;_nop_();_nop_(); if (DQ) dat |=0x80; Delay(30); DQ=1;}return dat;}/**********DS18B20写字节********/void WriteOneByte(uchar dat){uchar i;for(i=0;i<8;i++){DQ=0;DQ=dat & 0x01;Delay(5); DQ=1; dat>>=1; }}/**********从DS18B20读取温度********/void Read_Temperature(){if( Init_DS18B20()==1)DS18B20_IS_OK=0;else{WriteOneByte(0xCC);WriteOneByte(0x44);Init_DS18B20();WriteOneByte(0xCC);WriteOneByte(0xBE);Temp_Value[0]=ReadOneByte();Temp_Value[1]=ReadOneByte();DS18B20_IS_OK=1;}}/**********给DS18B20设置报警值********/void Set_Alarm_Temp_Value(){Init_DS18B20();WriteOneByte(0xcc); //跳过序列号WriteOneByte(0x4e); //将设定的温度报警值写入DS18B20WriteOneByte(Alarm_Temp_HL[0]); //写THWriteOneByte(Alarm_Temp_HL[1]); //写TLWriteOneByte(0x7f); //12位精度Init_DS18B20();WriteOneByte(0xcc); //跳过序列号WriteOneByte(0x48); //将温度报警值存入DS18B20}/**********温度值显示******************/void Display_Temperature() //显示温度{uchar i;uchar t=150; //延时值uchar ng=0,np=0; //负数标示,及负号显示位置char Signed_Current_Temp;if((Temp_Value[1]&0xf8)==0xf8) //如果为负数,取反加1;设置负数标示及负号显示位置{Temp_Value[1]=~Temp_Value[1];Temp_Value[0]=~Temp_Value[0]+1;if(Temp_Value[0]==0x00)Temp_Value[1]++;ng=1;np=0xfd;}Display_Digit[0]=df_Table[Temp_Value[0]&0x0f]; //查表显示温度小数位CurrentT=((Temp_Value[0]&0xf0)>>4)|((Temp_Value[1]&0x07)<<4);Signed_Current_Temp=ng? -CurrentT : CurrentT;HI_Alarm= Signed_Current_Temp >= Alarm_Temp_HL[0] ? 1:0;LO_Alarm= Signed_Current_Temp <= Alarm_Temp_HL[1] ? 1:0;Display_Digit[3]=CurrentT/100;Display_Digit[2]=CurrentT%100/10;Display_Digit[1]=CurrentT%10;if(Display_Digit[3]==0) //高位为0,不现实,负号后移{ Display_Digit[3]=10;np=0xfb;if(Display_Digit[2]==0){Display_Digit[2]=10;np=0xf7;}}for(i=0;i<30;i++) //刷新数码管显示温度值{P0=0X39;P2=0X7F;Delay(t);P2=0XFF;P0=0X63;P2=0XBF;Delay(t);P2=0XFF;P0=DSY_CODE[Display_Digit[0]];P2=0XDF;Delay(t);P2=0XFF;P0=(DSY_CODE[Display_Digit[1]])|0X80;P2=0XEF;Delay(t);P2=0XFF;P0=DSY_CODE[Display_Digit[2]];P2=0XF7;Delay(t);P2=0XFF;P0=DSY_CODE[Display_Digit[3]];P2=0XFB;Delay(t);P2=0XFF;if(ng){P0=0X40;P2=np;Delay(t);P2=0XFF;}}}/**********定时器0中断,控制报警声音********/ void T0_INT()interrupt 1{TH0=-1000/256;TL0=-1000%256;BEEP=!BEEP;if(++Time0_Count==400){Time0_Count=0;if(HI_Alarm)HI_LED=~HI_LED;else HI_LED=1;if(LO_Alarm)LO_LED=~LO_LED;else LO_LED=1;}}void main(){IE=0X82;TMOD=0X01; //方式1计数TH0=-1000/256;TL0=-1000%256;TR0=0;HI_LED=1;LO_LED=1;Set_Alarm_Temp_Value();Read_Temperature();Delay(50000); Delay(50000);while(1){Read_Temperature();if(DS18B20_IS_OK){if(HI_Alarm==1||LO_Alarm==1)TR0=1; else TR0=0;Display_Temperature();}else{P0=P2=0X00;}}}。
基于DS18B20的数字温度计设计

基于DS18B20的数字温度计设计一、课程设计目的1.培养学生文献检索的能力,如何利用Internet检索需要的文献资料。
2.培养学生综合分析问题、发现问题和解决问题的能力。
3.培养学生综合运用知识的能力和工程设计的能力。
4.培养学生理论联系实际的能力。
5.提高学生课程设计报告撰写水平。
二、设计内容、技术条件和要求1设计内容数字温度计的设计要能实现温度的实时采集与显示,以AT89S51单片机为核心芯片,使用DS18B20数字温度传感器采集环境温度,并通过一组4位共阴极数码管将温度显示出来,也可用LM1602液晶显示屏。
方案一:使用按钮控制温度的采集与显示。
方案二:使用定时控制温度的采集与显示,时间间隔1S。
2 设计要求•设计单片机最小系统(包括复位按钮、晶振电路等);•DS18B20应用电路设计。
•按键电路设计。
•可使用实验室的实验箱实物实现,也可使用仿真软件Proteus实现。
•绘制实现本设计内容的硬件电路(原理图),系统的组成框图。
•编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。
三、总体设计思想本设计以检测温度并显示温度提供上下限报警为目的,按照系统设计功能的要求,确定系统由5个模块组成:主控器[4]、测温电路,报警电路,按键电路及显示电路。
系统以DS18B20为传感器用以将温度模拟量转化为电压数字量以总线传入单片机,以AT89S51为主芯片,在主芯片对DS18B20传入的温度值进行处理,由单片机程序控制,将经处理后的温度由LM1602液晶显示屏显示出来。
图3-1 数字温度计设计总体的原理图四、硬件设计1、硬件设计图见附件。
2、单片机复位电路工作原理及设计。
硬件图如下图一原理是通过使复位端经电阻与Vcc电源接通而产生按键复位电平,保证复位信号高电平持续时间大于2个机器周期。
3、单片机晶振电路工作原理及设计硬件图如下图二晶振电路是提供系统时钟信号。
为了各部分的同步应当引入公用的外部脉冲信号作为振荡脉冲。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计论文的温度报警器设计基于DS18B20电子信息工程系系姓名电子信息工程技术康志凌专业1201043206 学号122 班级电子信息职称讲师指导教师徐敏N2015.04.08 2014.10.08 设计时间-基于DS18B20的温度报警器设计摘要本设计以AT89C51单片机为核心,设计了一个温度测量报警系统,可以方便的实现温度采集和显示。
它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工农业中的温度测量及报警。
本设计由AT89C51单片机、DS18B20温度传感器和LED显示器组成,可以直观的显示测量的温度。
本设计运行过程中,如果外界温度低于-20℃或高于70℃,系统将出发蜂鸣器,产生报警声音,且对应的LED同步闪烁。
关键词:AT89C51,DS18B20,传感器,温度报警器I江苏信息职业技术学院毕业设计(论文)目录摘要 (I)目录 (II)第1章引言 (1)第2章方案设计 (2)第3章 DS18B20简介 (3)3.1 DS18B20性能指标 (3)3.2 DS18B20的封装及内部结构 (4)3.3 DS18B20工作原理及应用 (4)3.4 控制器对DS18B20操作流程 (5)第4章硬件电路设计 (7)4.1 AT89C51 (8)4.2 晶振电路 (9)4.3 复位电路 (9)4.4 报警电路 (10)4.5 74LS245 (10)4.6 显示电路 (11)第5章软件设计 (12)5.1 主程序模块 (12)5.2 程序说明 (12)第6章仿真结果 (21)参考文献 (23)致谢 (24)IIDS18B20的温度报警器设计基于引言第1章随温度是一个十分重要的物理量,对他的测量与控制有着十分重要的意义。
人民也迫切需要监测着现代化工农业技术的发展及人民对生活环境要求的提高,在人类的生活环境中,温度扮演着极其重要的角色。
无论你生活在.和控制温度世纪工业革命以来,18从事什么工作,无时无刻不在跟温度打着交道。
子哪里,玻璃、水泥、钢铁、石化、工业发展对是否能掌握温度有着绝对的联系。
在冶金、80%的工业部门都不得不靠路这温度的因素。
医药等等行业,可以说几乎我信息科学和航空工业的飞速发展给人们生活甚至国家安全带来了巨大的飞跃。
在我工作期间深刻感觉到温度对焊接工艺的的实习单位是航天八五一一研究所,造成就有可能将电缆或芯片报废掉,重要性,往往只是高了或低了一二摄氏度,严重的损失。
我们也在重要的位置上放置了一个温度测量报警器温度传感器以及温度报警器就显得格外由此可见温度对我们工作生活的重要性,重要。
1江苏信息职业技术学院毕业设计(论文)方案设计章第2本设计主要元件有AT89C51、DS18B20、数码管等,其中由AT89C51作为控制器,DS18B20测量温度,再通过74LS245把AT89C51单片机芯片所处理和转化的数据传输到数码管中。
当DS18B20感知到温度达到高于70℃或低于-20℃临界值时相应的LED闪烁,同时蜂鸣器发出报警声。
晶振是正弦波震荡电路,供本设计数字电路整形后作时钟源。
复位电路的作用是把电路恢复到起始状态。
本所示。
2.1设计的温度报警器电路的总体框图如图图2.1 温度报警器电路的总体框架2基于DS18B20的温度报警器设计第3章 DS18B20简介DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。
与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
可以分别在93.75ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
因而使用DS18B20可使系统结构更趋简单,可靠性更高。
他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。
3.1 DS18B20性能指标(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围:+3.0~ +5.5 V。
(4)测温范围:-55 ~+125 ℃。
固有测温分辨率为0.5 ℃。
(5)通过编程可实现9~12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
3江苏信息职业技术学院毕业设计(论文)3.2 DS18B20的封装及内部结构DS18B20的封装如图3.1所示。
的封装3.1 DS18B20图DS18B20引脚功能:1、 GND为电源地2、 DQ为数字信号输入/输出端3、VDD为外接供电电源输入端(在寄生电源接线方式时地)DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
3.3 DS18B20工作原理及应用DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。
其一个工作周期可分为两个部分,即温度检测和数据处理。
在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。
18B20共有三种形态的存储器资源,它们分别是:ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上4基于DS18B20的温度报警器设计56的位的CRC码(冗余校验)。
数据在出产时设置不由用户更改。
DS18B20共64位ROM。
RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。
第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。
在上电复位时其值将被刷新。
第5个字节则是用户第3个EEPROM的镜像。
第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。
第9个字节为前8个字节的CRC码。
EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。
3.4 控制器对DS18B20操作流程1. 复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。
当18B20接到此复位信号后则会在15~60uS后回发一个芯片的存在脉冲。
2. 存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在15~60uS后接收存在脉冲,存在脉冲为一个60~240uS的低电平信号。
至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。
如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。
3. 控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。
ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。
其主要目的是为了分辨一条总线上挂接的多个器件并作处理。
诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。
ROM指令在下文有详细的介绍。
4. 控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着5江苏信息职业技术学院毕业设计(论文)(不间断)就是发送存储器操作指令了。
操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。
存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。
5. 执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。
如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。
如执行数据读写指令则需要严格遵循18B20的读写时序来操作。
数据的读写方法将有下文有详细介绍。
若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。
紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。
6基于DS18B20的温度报警器设计第4章硬件电路设计温度报警器的电路设计如图4.1所示,控制器使用单片机AT89C51,温度传感器使用DS18B20,用数码管实现温度显示。
本温度报警器大体分四个工作过程。
首先,由DS18B20温度传感器芯片测量当前的温度,并将结果送入单片机中。
其次,再通过单片机AT89C51芯片对送来的测量温度读数进行计算和转化,并将此结果送入数码管。
然后,数码管显示温度数据。
最后,若温度超标,则二极管发光和蜂鸣器响起。
由图4.1可以看到本电路主要由DS18B20温度传感器芯片、数码管显示模块和AT89C51单片机芯片组成。
其中,DS18B20温度传感器芯片采用“一线制”与单片机相连,它独立的完成温度测量以及将测量结过传送到单片机的工作。
温度报警器电路设计原理图4.1 图7江苏信息职业技术学院毕业设计(论文)4.1 AT89C51Flash Programmable —AT89C51是一种带4K字节FLASH存储器(FPEROM位微处理器,俗称CMOS 8and Erasable Read Only Memory)的低电压、高性能ATMEL该器件采用单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
指令集和输出管脚相MCS-51与工业标准的高密度非易失存储器制造技术制造,的ATMEL和闪烁存储器组合在单个芯片中,兼容。
由于将多功能8位CPU单片机为很多嵌入式控制系统提供了是一种高效微控制器。
AT89C51AT89C51 。
一种灵活性高且价廉的方案。