当前位置:文档之家› 温湿度测量系统--基于单片机和温度传感器DS18B20、HS1101是电容式空气湿度传感器1.pdf

温湿度测量系统--基于单片机和温度传感器DS18B20、HS1101是电容式空气湿度传感器1.pdf

温湿度测量系统--基于单片机和温度传感器DS18B20、HS1101是电容式空气湿度传感器1.pdf
温湿度测量系统--基于单片机和温度传感器DS18B20、HS1101是电容式空气湿度传感器1.pdf

DS18B20 数字温度传感器

应用指引:在MC430F14板上是标配了DS18B20数字温度传感器器,同时希望用户通过以下DS18B20的讲解能够了解更多1线 MC430F14实物图如下: >>关于MC430F14开发板详情>> 在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。 新的"一线器件"DS18B20体积更小、适用电压更宽、更经济。

美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 "一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。目前DS18B20批量采购价格仅10元左右。 DS18B20、DS1822 "一线总线"数字化温度传感器 同DS1820一样,DS18B20也支持"一线总线"接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。DS1822的精度较差为±2°C。现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。 DS18B20、DS1822的特性 DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS1822与DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。继"一线总线"的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。 一、DS18B20的主要特性 (1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电 (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯

基于单片机的温湿度计的设计

基于单片机的温湿度计的设计

单片机课程设计 项目名称基于单片机的湿度显示器设计 专业班级通信092 学生姓名 指导教师 2012年12月12日

摘要 温度和湿度是两个最基本的环境参数,人们生活与温湿度息息相关。在日常生活、工业、医学、环境保护、化工、石油等领域,经常需要对环境温度和湿度进行测量和控制。准确测量温湿度在生物制药、食品加工、造纸等行业更是至关重要。因此,研究温湿度的测量方法和装置具有重要的意义。 随着科技的不断发展,单片机技术已经普及到我们的工作、生活、科研等各个领域。已经成为一种比较成熟的技术。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便等优点,目前已经渗透到我们工作和生活的方方面面。 本论文介绍了一种以AT89C51为主要控制器件,以DHT11为数字温度传感器的新型数字温湿度计。本设计主要包括硬件电路的设计和系统软件的设计。 关键词:温湿度传感器; LCD1602; AT89C51; DHT1 1;

Abstract Temperature and humidity are the two most basic environmental parameters, people's life is closely related with the temperature and humidity. In daily life, industry, medicine, environmental protection, chemical industry, petroleum and other fields, we often need to environment temperature and humidity measurement and control. Accurate measuring temperature and humidity in biological pharmacy, food processing, paper making industries is very important. Therefore, the study of the temperature and humidity measurement method and equipment has important significance. With the continuous development of science and technology, microcontroller technology has spread to our work, life, scientific research, and other fields. Has become a more mature technology. Due to the high level of integration SCM, strong function, high reliability, small volume, low power consumption, easy to use, etc., and has penetrated into our work and all aspects of life. This paper introduces a kind of AT89C51 as the main control device, in order to DHT11 digital temperature sensor for new digital temperature and humidity meter. This design mainly includes hardware circuit design and software design. Keywords:Temperature and humidity sensor; LCD1602; AT89C51; DHT1 1;

DS18B20温度检测程序

(1)先将数据线置高电平“1”。 (2)延时(该时间要求的不是很严格,但是尽可能的短一点) (3)数据线拉到低电平“0”。 (4)延时750微秒(该时间的时间范围可以从480到960微秒)。 (5)数据线拉到高电平“1”。 (6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。 (7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。 (8)将数据线再次拉高到高电平“1”后结束。

(1)数据线先置低电平“0”。 (2)延时确定的时间为15微秒。 (3)按从低位到高位的顺序发送字节(一次只发送一位)。 (4)延时时间为45微秒。 (5)将数据线拉到高电平。 (6)重复上(1)到(6)的操作直到所有的字节全部发送完为止。(7)最后将数据线拉高。 DS18B20的写操作时序图如图

DS18B20的读操作 (1)将数据线拉高“1”。 (2)延时2微秒。 (3)将数据线拉低“0”。 (4)延时15微秒。 (5)将数据线拉高“1”。 (6)延时15微秒。 (7)读数据线的状态得到1个状态位,并进行数据处理。 (8)延时30微秒。DS18B20的读操作时序图如图所示。

DS18B20的Protues仿真图 源程序代码: #include "reg51.h" #include "intrins.h" // 此头文件中有空操作语句NOP 几个微秒的延时可以用NOP 语句,但本人没用NOP,直接用了I++来延时 #define uchar unsigned char #define uint unsigned int uchar code table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 0x38,0x39}; sbit ds18b20_io=P2^0; //单片机与DS18B20的连接口 sbit lcdrs=P2^6; //1602与单片机的接口 sbit lcden=P2^7;

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

基于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温度传感器

最小的温度显示程序-c51 (2010-12-07 00:45:27) 转载 分类:51单片机 标签: 杂谈 #include #include sbit DQ=P2^0; bit presence; unsigned char templ,temph; char array[10]={0x7e,0x48,0x3d,0x6d,0x4b,0x67,0x73,0x4c,0x7f,0x4f}; void Delay(unsigned int num)//可定义延时 { while( --num ); } bit Init_DS18B20(void) { DQ = 1; //DQ复位 Delay(8); //稍做延时 DQ = 0; //单片机将DQ拉低 Delay(90); //精确延时大于 480us DQ = 1; //拉高总线 Delay(8); presence = DQ; //如果=0则初始化成功 =1则初始化失败 Delay(100); DQ = 1; return(presence); //返回信号,0=presence,1= no presence } unsigned int ReadOneChar(void) { unsigned char i = 0; unsigned char dat = 0;

for (i = 8; i > 0; i--) { DQ = 0; // 给脉冲信号 dat >>= 1; //位右移 DQ = 1; // 给脉冲信号等待传感器返回脉冲 if(DQ) dat |= 0x80; Delay(4); } return (dat); } void WriteOneChar(unsigned char dat) { unsigned char i = 0; for (i = 8; i > 0; i--) { DQ = 0; DQ = dat&0x01; Delay(5); DQ = 1; dat>>=1; } } void Read_Temperature(void) { Init_DS18B20(); WriteOneChar(0xcc); // 跳过读序号列号的操作 WriteOneChar(0x44); // 启动温度转换 Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器 templ = ReadOneChar(); //温度低8位 temph = ReadOneChar(); //温度高8位 }

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

电路实物图如下图所示: C 语言程序如下所示: /******************************************************************** zicreate ----------------------------- Copyright (C) https://www.doczj.com/doc/bb14718956.html, -------------------------- * 程序名; 基于DS18B20的测温系统 * 功 能: 实时测量温度,超过上下限报警,报警温度可手动调整。K1是用来 * 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限 * 调节模式。在正常模式下,按一下K2进入查看上限温度模式,显示1s 左右自动 * 退出;按一下K3进入查看下限温度模式,显示1s 左右自动退出;按一下K4消除 * 按键音,再按一下启动按键音。在调节上下限温度模式下,K2是实现加1功能, * K1是实现减1功能,K3是用来设定上下限温度正负的。 * 编程者:Jason * 编程时间:2009/10/2 *********************************************************************/ #include //将AT89X52.h 头文件包含到主程序 #include //将intrins.h 头文件包含到主程序(调用其中的_nop_()空操作函数延时) #define uint unsigned int //变量类型宏定义,用uint 表示无符号整形(16位) #define uchar unsigned char //变量类型宏定义,用uchar 表示无符号字符型(8位) uchar max=0x00,min=0x00; //max 是上限报警温度,min 是下限报警温度 bit s=0; //s 是调整上下限温度时温度闪烁的标志位,s=0不显示200ms ,s=1显示1s 左右 bit s1=0; //s1标志位用于上下限查看时的显示 void display1(uint z); //声明display1()函数 #include"ds18b20.h" //将ds18b20.h 头文件包含到主程序 #include"keyscan.h" //将keyscan.h 头文件包含到主程序 #include"display.h" //将display.h 头文件包含到主程序

DS18B20温度传感器使用方法以及代码

第7章 DS18B20温度传感器 7.1 温度传感器概述 温度传感器是各种传感器中最常用的一种,早起使用的是模拟温 度传感器,如热敏电阻,随着环境温度的变化,它的阻值也发生线性变化,用处理器采集电阻两端的电压,然后根据某个公式就可以计算出当前环境温度。随着科技的进步,现代的温度传感器已经走向数字化,外形小,接口简单,广泛应用在生产实践的各个领域,为我们的生活提供便利。随着现代仪器的发展,微型化、集成化、数字化、正成为传感器发展的一个重要方向。美国DALLS半导体公司推出的数字化温度传感器DS18B20采用单总线协议,即单片机接口仅需占用一个 I/O端口,无需任何外部元件,直接将环境温度转化为数字信号,以数码方式串行输出,从而大大简化了传感器与微处理器的接口。 7.2 DS18B20温度传感器介绍 DS18B20是美国DALLAS^导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9?12位的数字 值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入 DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的 DS18B20供电,而无需额外电源。因而使用

DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较 DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。 1. DS18B20温度传感器的特性 ①独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口 线即可实现微处理器与DS18B20勺双向通讯。 ②在使用中不需要任何外围元件。 ③可用数据线供电,电压范围:+3.0~ +5.5 V。 ④测温范围:-55 ~+125 C。固有测温分辨率为0.5 C。 ⑤通过编程可实现9~12位的数字读数方式。 ⑥用户可自设定非易失性的报警上下限值。 ⑦支持多点组网功能,多个 DS18B20可以并联在惟一的三线上,实现多点测温。 ⑧负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 2. 引脚介绍 DS18B20有两种封装:三脚TO-92直插式(用的最多、最普遍的封装)和八脚SOIC贴片式。下图为实验板上直插式 DS18B20的原理图。 3. 工作原理 单片机需要怎样工作才能将DS18B2 0中的温度数据独取出来呢?F面将给出详细分析

基于单片机的温湿度测量仪设计

单片机课程设计报告 题目:基于单片机的温湿度仪表设计 班级:智能科学与技术1201班

学生姓名:文波 学号:120407130 指导教师:朱建光 成绩: 工业大学 摘要 温度和湿度是两个最基本的环境参数,人们生活与温湿度息息相关。在日常生活、工业、医学、环境保护、化工、石油等领域,经常需要对环境温度和湿度进行测量和控制。准确测量温湿度在生物制药食品加工、造纸等行业更是至关重要。因此,研究温湿度的测量方法和装置具有重要的意义。 随着科技的不断发展,单片机技术已经普及到我们的工作、生活、科研等各个领域。已经成为一种比较成熟的技术。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便等优点,目前已经渗透到我们工作和生活的方方面面。 本设计STC89C52为主要控制器件,以DHT11为数字温度传感器的新型数字温湿度计。本设计主要包括硬件电路的设计和系统软件的设计。

目录 第一章目标及主要任务 (3) 第二章硬件设计 (3) 2.1系统设计方案 (3) 2.2 STC89C52介绍 (4) 2.3 DHT11数字传感器介绍 (5) 2.4电路设计 (7) 第三章软件设计 (11) 3.1 系统软件主程序流程 (11) 3.2 DHT11数据采集流程 (13) 第四章结论与调试 (13)

附录(程序清单) (14) 参考文献 (22) 第一章目标及主要任务 在本次课程设计中,为实现对温湿度的检测与显示,主要利用以STC89C52为核心构架硬件电路,DHT11温湿度传感器采集环境温度及湿度信息(温度检测围:0℃至+50℃。测量精度:2℃.;湿度检测围:20%-90%RH检测精度:5%RH),数码管直接显示温度和湿度(显示方式:温度:两位显示;湿度:两位显示);同时利用C语言编程实现温湿度信息的显示功能。 扩展功能:可设置温湿度报警值,温湿度超过设置的响应报警值,会发出报警信号。 第二章硬件设计 2.1 系统设计方案

DS18B20单片机数码管显示原理图和程序

最近天气热了,想要是做个能显示温度的小设备就好了, 于是想到DIY 个电子温度计, 网上找了很多资料,结合自己的材料,设计了这个用单片机控制的实时电子温度计。 作为单 片机小虾的我做这个用了 2天时间,当然是下班后,做工不行见谅了。 主要元件用到了单片机 STC89C54RD+ , DB18B20温度传感器,4为共阳数码管, PNPS8550三极管等。 先上原理图: 洞洞板布局图: 然后就是实物图了: 函8D P3 iW 、 E E FJ T I RF D51*BZ0渥度澈码管显示 F7 Dl'AI>D li'A£> I 2、心 PDRM, 杖心P0WAD7 Pl I^TO 洋心EI^AJ D FLSAH

附上源程序:程序是别人写的,我只是自己 修改了下,先谢谢原程序者的无私奉献。 #include"reg52.h” #define uchar unsigned char #define uint unsigned int sbit DQ=P3A 4; 〃温度数据口 sbit wx1=P2A0; sbit wx2=P2A1; sbit wx3=P2A2; sbit wx4=P2A3; unsigned int temp, temp1,temp2, xs; //位选1 //位选2 //位选3 //位选4

uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6}; /****** 延时程序 *******/ void delay1(unsigned int m) { unsigned int i,j; for(i=m;i>0;i--) for(j=110;j>0;j--); } void delay(unsigned int m) { while(m--); } /***********ds18b20 uchar ReadOneChar() { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { 读一个字节 **************/ void Init_DS18B20() { unsigned char x=0; DQ = 1; //DQ 复位 delay(8); 〃稍做延时 DQ = 0; 〃单片机将 ds18b20通信端口 DQ 拉低 delay(80); //精确延时大于480us DQ = 1; delay(4); x=DQ; delay(20); } 〃拉高总线 //稍做延时后如果x=0则初始化成功 x=1 则初始化失败 〃共阳数码管 〃温度延时程序

基于51单片机DS18B20温度传感器的C语言程序和电路

基于51单片机DS18B20温度传感器的C语言程序和电路 DS18B20在外形上和三极管很像,有三只脚。电压范围为3.0 V至5.5 V 无需备用电源测量温度位温度转换为12位数字格式最大值为750毫秒用户可定义的非易失性温度报警设置应用范围包敏感系统。 下面是DS18B20的子程序,本人用过完全可行的: #include #include #define uchar unsigned char #define uint unsigned int sbit DQ=P2^0; void reset(); //DS18B20 void write_byte(uchar val); //DS18B20写命令函数 uchar read_byte(void); //DS18B20读1字节函数 void read_temp(); //温度读取函数 void work_temp(); //温度数据处理函数 uchar data temp_data[2]={0x00,0x00}; uchar data display[5]={0x00,0x00,0x00,0x00,0x00}; //对于温度显示值值 uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x0数部分查表 main() { while(1) { 自己添加; } } void delay1(uint t) { for(;t>0;t--); } ///////温度控制子函数 void reset() { uchar presence=1; while(presence) { while(presence) {

基于单片机的湿度传感器设计

基于单片机的湿度传感器设计 一系统方案 1.1系统功能 本文设计的湿度传感器应具备以下功能: (1)能够感受环境中的湿度变化。 (2)能够将环境中的湿度变化转化为电信号。 (3)系统能够对采集到的湿度信号进行分析处理。 (4)能够将环境中的湿度以相对湿度的形式显示出来便于观察记录。 (5)系统反应快、灵敏度高、稳定性好,具有一定的抗干扰能力。 (6)电路简单,操作方便、性价比高、实用性强。 根据系统功能要求,湿度传感器系统图包含以下模块: 信号采集模块信号处理存储模块信号显示模块 图1.1湿度传感器系统框图 1.2系统组成模块 1.2.1信号采集模块设计 本设计为智能式湿度传感器的设计,信号采集模块主要是用于测量环境中湿度变化,并将湿度变化转变成电信号的变化。因此,我们需要一个湿度传感器。和测量范围一样,测量精度同是传感器最重要的指标。每提高—个百分点.对传感器来说就是上一个台阶,甚至是上一个档次。因为要达到不同的精度,其制造成本相差很大,售价也相差甚远。 生产厂商往往是分段给出其湿度传感器的精度的。如中、低温段(0一80%RH)为±2%RH,而高湿段(80—100%RH)为±4%RH。而且此精度是在某一指定温度下(如25℃)的值。如在不同温度下使用湿度传感器.其示值还要考虑温度漂移的影响。众所周知,相对湿度是温度的函数,温度严重地影响着指定空间内的相对湿度。温度每变化0.1℃。将产生0.5%RH的湿度变化(误差)。使用场合如果难以做到恒温,则提出过高的测湿精度是不合适的。因为湿度随着温度的变化也漂忽不定的话,奢谈测湿精度将失去实际意义。所以控湿首先要控好温,这就是大量应用的往往是温湿度—体化传感器而不单纯是湿度传感器的缘故。多数情况下,如果没有精确的控温手段,或者被测空间是非密封的,±5%RH的精度就足够了。因此在本次设计中选用DHT11温湿传感器作为本次设计湿度采集模块。 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的

AT89C51单片机温度控制系统

毕业设计(论文) 论文题目:AT89C51单片机温度控制系统 所属系部:电子工程系 指导老师:职称: 学生姓名:班级、学号: 专业:应用电子技术 2012 年05 月15 日

毕业设计(论文)任务书 题目:AT89C51单片机温度控制系统 任务与要求:设计并制作一个能够控制1KW电炉的温度控制系统,控制温度恒定在37--38度之间。 时间:年月日至年月日 所属系部:电子工程系 学生姓名:学号: 专业:应用电子技术 指导单位或教研室:测控技术教研室 指导教师:职称: 年月日

摘要 本设计是以一个1KW电炉为控制对象,以AT89C51为控制系统核心,通过单片机系统设计实现对保电炉温度的显示和控制功能。本温度控制系统是一个闭环反馈调节系统,由温度传感器DS18B20对保炉内温度进行检测,经过调理电路得到合适的电压信号。经A/D转换芯片得到相应的温度值,将所得的温度值与设定温度值相比较得到偏差。通过对偏差信号的处理获得控制信号,去调节加热器的通断,从而实现对保温箱温度的显示和控制。本文主要介绍了电炉温度控制系统的工作原理和设计方法,论文主要由三部分构成。①系统整体方案设计。②硬件设计,主要包括温度检测电路、A/D转换电路、显示电路、键盘设计和控制电路。③系统软件设计,软件的设计采用模块化设计,主要包括A/D转换模块、显示模块等。 关键词:单片机传感器温度控制

目录 绪论 (1) 第一章温度控制系统设计和思路 (2) 1.1温度控制系统设计思路 (2) 1.2 系统框图 (2) 第二章 AT89C51单片机 (3) 2.1 AT89C51单片机的简介 (3) 2.2 AT89C51单片机的主要特性 (3) 2.3 AT89C51单片机管脚说明 (4) 第三章温度控制的硬件设备 (6) 3.1温度传感器简介 (6) 3.2 DS18B20工作原理 (7) 3.3 DS18B20使用中注意事项 (8) 第四章系统硬件设计 (9) 4.1温度采集电路 (9) 4.2 数码管温度显示电路 (9) 4.2.1 数码管的分类 (9) 4.2.2 数码管的驱动方式 (10) 4.2.3 恒流驱动与非恒流驱动对数码管的影响 (11) 4.3 单片机接口电路 (12) 4.3.1 P0口的上拉电阻原理 (12) 4.3.2 上拉电阻的选择 (14) 4.4 单片机电源及下载线电路 (14) 4.5 温度控制电路 (15) 第五章温度控制的软件设计 (17) 5.1 数码管动态显示 (17) 5.2 DS18B20初始化 (17) 5.3 系统流程图 (19) 谢辞 (20) 参考文献 (21) 附录 (22)

温度传感器DS18B20工作原理

温度传感器: DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。 2 DS18B20的内部结构 DS18B20内部结构如图1所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图2所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地,见图4)。 ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 图1 DS18B20的内部结构

图2DS18B20的管脚排列 DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。 温度值高字节 高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。其中配置寄存器的格式如下: R1、R0决定温度转换的精度位数:R1R0=“00”,9位精度,最大转换时间为93.75ms;R1R0=“01”,10位精度,最大转换时间为187.5ms;R1R0=“10”,11位精度,最大转换时间为375ms;R1R0=“11”,12位精度,最大转换时间为750ms;未编程时默认为12位精度。 高速暂存器是一个9字节的存储器。开始两个字节包含被测温度的数字量信息;第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;第6、7、8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。 3 DS18B20的工作时序 DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序,如图3(a)(b)(c)所示。

DS18B20温度传感器工作原理及其应用电路图

DS18B20温度传感器工作原理及其应用电路图 时间:2012-02-16 14:16:04 来源:赛微电子网作者: 前言 温度与工农业生产密切相关,对温度的测量和控制是提高生产效率、保证产品质量以及保障生产安全和节约能源的保障。随着工业的不断发展,由于温度测量的普遍性,温度传感器的市场份额大大增加,居传感器首位。数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。现在,新一代的DS18B20温度传感器体积更小、更经济、更灵活。DS18B20温度传感器测量温度范围为-55℃~+125℃。在-10℃~+85℃范围内,精度为±0.5℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。基于DS18B20温度传感器的重要性,小编整理出DS18B20温度传感器工作原理及其应用电路图供大家参考。 一、DS18B20温度传感器工作原理(热电阻工作原理) DS18B20温度传感器工作原理框图如图所示: DS18B20温度传感器工作原理框图 图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。 二、DS18B20温度传感器的应用电路 1.DS18B20温度传感器寄生电源供电方式电路图 寄生电源方式特点: (1)进行远距离测温时,无须本地电源。 (2)可以在没有常规电源的条件下读取ROM。 (3)电路更加简洁,仅用一根I/O口实现测温。 (4)只适应于单一温度传感器测温情况下使用,不适于采用电池供电系统中。

基于单片机的温湿度检测及显示

1设计的意义 最近几年来,随着科技的飞速发展,单片机领域正在不断的走向社会各个角落,还带动传统控制检测日新月异更新。在实时运作与自动控制的单片机应用到系统中,单片机如今就是作为一个核心部件来使用,仅掌握单片机方面知识就是不够的,还应根据其具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。“单片机原理及应用课程设计”就是电子类专业的学科基础科,它就是继“汇编语言程序设计”,“接口技术”等课程之后开出的实践环节课程。 与此同时,现代社会越来越多的场所会涉及到温度与湿度并将其显示。由于温度与湿度不管就是从物理量本身还就是在实际人们的生活中都有着密切的关系,例如:冬天温度为18至25℃,湿度为30%至80%;夏天温度为23至28℃,湿度为30%至60%。在此范围内感到舒适的人占95%以上。在装有空调的室内,室温为19至24℃,湿度为40%至50%时,人会感到最舒适。如果考虑到温、湿度对人思维活动的影响,最适宜的室温度应就是工作效率高。18℃,湿度应就是40%至60%,此时,人的精神状态好,思维最敏捷。所以,本课程设计就就是通过单片机驱动LCD1602,液晶显示温湿度,通过此设计,可以发现本设计有一定的扩展性,而且可以作为其她有关设计的基础。

2设计原理 2、1设计目标 2.1.1基本功能 检测温度、湿度 显示温度、湿度 过限报警 2.1.2主要技术参数 温度检测范围: -30℃至+55℃ 测量精度: ±2℃ 湿度检测范围: 20%-90%RH 检测精度:±5%RH 显示方式: 温度:四位显示湿度:四位显示 报警方式: 三极管驱动的蜂鸣器报警 2、2设计原理 温湿度监测系统要满足以下条件:温湿度监测系统能完成数据采集与处理、显示、串行通信、输出控制信号等多种功能。由数据采集、数据调理、单片机、数据显示等4个大的部分组成。该测控系统具有实时采集(检测粮库内的温湿度)、实时显示(对监测到的进行显示)、实时警报(根据监测的结果,超出预设定的值的进行蜂鸣警告)的功能。 传感器就是实现测量首要环节,就是监测系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉与转换,一切准确的测量与控制都将无法实现。工业生产过程的自动化测量与控制,几乎主要依靠各种传感器来检测与控制生产过程中的各种参量,使设备与系统正常运行在最佳状态,从而保证生产的高效率与高质量。 一般温湿度控制系统中的温湿度测量均采用热敏电阻与湿敏电容,这种传统的模拟式温湿度传感器一般都需要设计信号调理电路并经过复杂的校准与标定过程,因此测量精度难以保证,且在线性度、重复性、互换性等方面也存在一定问

51单片机操作DS18B20汇编源程序

51单片机操作DS18B20汇编源程序 推荐 ; FLAG1:标志位,为"1"时表示检测到DS18B20 ; DQ:DS18B20的数据总线接脚 ; TEMPER_NUM:保存读出的温度数据 ; 本程序仅适合单个DS18B20和51单片机的连接,晶振为12MHZ左右TEMPER_LEQU36H TEMPER_HEQU35H DQBITP1.7 ; DS18B20初始化程序 ;//*****************************************// INIT_1820: SETBDQ NOP CLRDQ MOVR0,#06BH TSR1: DJNZR0,TSR1; 延时 SETBDQ MOVR0,#25H TSR2: JNBDQ,TSR3 DJNZR0,TSR2 LJMPTSR4; 延时 TSR3: SETBFLAG1; 置标志位,表示DS1820存在 LJMPTSR5 TSR4: CLRFLAG1; 清标志位,表示DS1820不存在 LJMPTSR7 TSR5: MOVR0,#06BH TSR6: DJNZR0,TSR6; 延时 TSR7: SETBDQ RET ;//*****************************************//

; 重新写DS18B20暂存存储器设定值 ;//*****************************************// RE_CONFIG: JBFLAG1,RE_CONFIG1; 若DS18B20存在,转RE_CONFIG1 RET RE_CONFIG1: MOVA,#0CCH; 发SKIP ROM命令 LCALLWRITE_1820 MOVA,#4EH; 发写暂存存储器命令 LCALLWRITE_1820 MOVA,#00H; TH(报警上限)中写入00H LCALLWRITE_1820 MOVA,#00H; TL(报警下限)中写入00H LCALLWRITE_1820 MOVA,#1FH; 选择9位温度分辨率 LCALLWRITE_1820 RET ;//*****************************************// ; 读出转换后的温度值 ;//*****************************************// GET_TEMPER: SETBDQ; 定时入口 LCALLINIT_1820 JBFLAG1,TSS2 RET; 若DS18B20不存在则返回 TSS2: MOVA,#0CCH; 跳过ROM匹配 LCALLWRITE_1820 MOVA,#44H; 发出温度转换命令 LCALLWRITE_1820 LCALLINIT_1820 MOVA,#0CCH; 跳过ROM匹配 LCALLWRITE_1820 MOVA,#0BEH; 发出读温度命令 LCALLWRITE_1820 LCALLREAD_1820 MOVTEMPER_NUM,A; 将读出的温度数据保存 RET ;//*****************************************// ; 读DS18B20的程序,从DS18B20中读出一个字节的数据

相关主题
文本预览
相关文档 最新文档