基于AT89C51单片机的测温系统
- 格式:docx
- 大小:354.33 KB
- 文档页数:20
一、摘要我们介绍的是一种基于单片机控制的数字温度报警,本温度系统具有多功能性,即可以当数字温度计使用,显示当前环境温度,又可以作为报警器使用,设置报警温度,当温度不在设置范围内时,可以报警,并采取措施使温度下降。
该温度报警系统控制器使用单片机AT89C51,测温传感器使DS18B20,用2位共阳极LED数码管,实现温度显示,能准确达到以上要求。
二、设计方案1、方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
2、方案二进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。
温度报警系统电路设计总体设计方框图如图1所示1、单片机主板电路单片机AT89C51具有低电压供电和体积小等特点,该模块包括中央处理CPU -AT89C51、时钟电路及复位电路;图2复位电路图3 时钟电路2、DS18B20温度传感器与单片机的接口电路DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
DS18B20是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。
该电路完成了信号的采集、转换和传输。
图43、上下限报警调整电路分别调整温度的上下限报警设置,有“+“、”“-”、“确定”等键图5上下限报警调整电路4、温度显示电路显示当前测得的温度,数码管采用74LS247驱动图6温度显示电路5、报警电路当环境温度超过设定温度时,蜂鸣器鸣叫,红灯点亮,发生报警;当人员发现警报时,可按图8中的按钮,暂时中断蜂鸣器的鸣叫。
第24卷 第9期2008年5月甘肃科技Gansu Science and TechnologyV ol.24 N o.9M ay. 2008基于AT89C51单片机与DS18B20的温度测量系统蔺 鹏1,柴世红2(兰州工业高等专科学校;1电子信息工程系2软件工程系,甘肃兰州730050)摘 要:介绍了单总线数字温度传感器DS18B20的特性及工作原理,给出了A T89C51单片机与DS18B20构成温度测量系统并详细介绍利用汇编语言编程实现对DS18B20访问。
实际测试结果表明这种测温系统转换速度快、精度高,整个系统具有稳定性强等特点。
关键词:DS18B20;数字温度传感器;A T89C51;中图分类号:TN925 典型的温度测控系统是由模拟温度传感器、A/D 转换电路和单片机组成。
但是由于模拟温度传感器输出为模拟信号,必须经过A/D 转换环节获得数字信号后才能与单片机等微处理器接口,使得硬件电路结构复杂,成本较高。
近年来,由于以DS18B20为代表的新型单总线数字式温度传感器的突出优点使得它得到充分利。
DS18B20集温度测量和A/D 转换于一体,直接输出数字量,接口几乎不需要外围元件,硬件电路结构简单,传输距离远,可以很方便的实现多点测量;与单片机接口几乎不需要外围元件,使得硬件电路结构简单,广泛使用于距离远,节点分布多的场合。
1 DS18B20介绍DS18B20是美国DALL AS 公司推出的一种可组网的数字式温度传感器,能够直接读取被测物体的温度值[1]。
具有TO -92、TSOC 、SOIC 多种封装形式,可以适应不同的环境需求。
1.1 DS18B20具有以下主要特性(1)单总线接口方式:与微处理器连接时仅需要一条信号线即可实现双向通讯;(2)使用中无需外部器件,可以利用数据线或外部电源提供电能,供电电压范围3.3-5.5V ;(3)直接读出数字量,工作可靠,精度高,且通过编程可实现9~12位分辨率读出温度数据,转换12的温度数据最大仅需要750ms ;(4)温度测量范围-55℃~+125℃,-10℃~+85℃之间测量精度可达±0.5℃;(5)可设定非易失的报警上下限值,一旦测量温度超过此设定值,即可给出报警标志;(6)每片DS18B20上有唯一的64bit 识别码,可轻松组建分布式温度测量测量网络。
基于单片机AT89C51的温度控制系统的设计基于AT89C51单片机的温度测控系统设计一、引言随着现代化科技的进步,在很多工业控制场合需要非常精确的控制温度的变化,而在日常生活中,水温的智能控制应用也非常广泛,在这种环境下,便提出了智能水温控制系统。
本设计一单片机AT89C51为控制核心,用K型热电偶作温度传感器,信号经放大后输入模数转换器ADC0809,转换后的数字量输入到单片机AT89C51中。
单片机中采用PID控制算法对测量数据和设定数据进行处理,处理后的数据经数模转换器DAC0832转换为模拟量,以此来控制全隔离单相交流调压模块,从而控制锅炉水温稳定与设定值。
二、温度控制系统方案设计采用K型热电偶测量温度,讲温度信号放大后通过A/D 转入单片机,单片机进行数滤波和PID运算处理后,结果经DAC0832转换为模拟量对全隔离单相交流调压模块进行控制,达到控制电炉水温的目的。
系统方案如图1所示。
三、温度控制系统硬件设计温度控制系统硬件包括:AT89C51单片机最小系统模块、A/D转换模块、D/A转换模块、信号放大电路、温控电路以及其它外围电路。
3.1 单片机的选择AT89C51是ATMEL公司采用CM0S工艺生产的低消耗、高性能8位单片机,与MCS-51单片机兼容,其功能特点为:(1)4K字节闪烁存储器(FLASH),可进行1000次写。
(2)静态操作,外界OHZ-24MHZ晶振。
(3)三层程序存储器锁。
(4)128字节内部数据存储器(RAM)。
(5)32跟可编程输入,输出线。
(6)两个6位定时/计数器。
(7)六个中断源。
(8)一个可编程串口。
(9)支持低功耗模式和掉电模式。
非常适合用作控制系统设计。
3.2传感器电路和信号放大电路采用K型热电偶作为温度传感器,它是一种能测量较高温度的廉价热电偶。
它的价格便宜,重复性好,产生的热电势大,约为0.041mV/度,因而灵敏度很高,而且它的线性很好。
虽然其测量精度略低,但完全满足工业测量要求,所以它是工业最常用的热电偶。
基于AT89C51的温度控制系统设计冯晓锋西安翻译学院实验中心摘要:本系统是基于AT89C51单片机和DS18B20数字温度传感器的智能温度控制系统,根据要求可进行最高和最低温度的设定,通过RS-485总线标准实现与PC机的远程通信,实现PC机对采集温度的存储、处理、打印等功能。
关键字:AT89C51 数字温度传感器温度控制系统一、系统总体结构设计根据设计要求对某指定地点的温度进行实时的监测与控制,采用了分布式系统的控制方式,即在测控点配置能独立工作的从机,从机由主机进行监控管理,上下采用主从式监控管理形式,系统总体结构如图1所示。
图1 系统总体结构系统的各个部分功能和关系如下:①主机为管理机,完成参数设置、数据存储、处理及管理及打印功能。
②从机为控制机,采用单片机AT89C51,直接实现各个模块的控制功能,并能在主机关机的条件下实现所有的控制功能。
③通讯转换芯片MAX485实现RS-232信号和RS-485信号的转换,主机通过其向从机发送控制参数,从机将现场采集数据通过其传给主机。
④数据采集实现对传感器及运行设备的检测。
⑤输入输出部分包括输入模块和输出模块,输入模块将采集的信号转换后输入到从机,输出模块将系统的控制信号输出到控制器及其设备。
二、系统工作方式系统以温度监控为核心,温度参数和设备运行状态由主机根据用户要求定时向从机查询,各控制模块的设置参数修改时,将新的参数发送到从机。
主机可以对从机进行参数设置及控制,从机也可以独立工作。
从机通过温度传感器不间断地采集温度数据,根据控制模块的设置参数做出控制决策,驱动设备运行,并随时准备接受主机的指令,当受到询问时,将各项数据编码通过串行通信方式传输到主机。
主机接收到数据后,进行数据处理,在监控界面上显示当前的状态信息,并将此信息实时地存储到数据库中,为用户维护和管理准备数据。
对数据可以进行查询,也可以将一段时期的数据信息汇集成报表,报表包括各项统计数据,还可以将数据处理绘制成图形曲线,实现对数据的分析与管理。
引言概述:AT89C51单片机是一种常用的单片机型号,广泛应用于各种数字电子设备中。
本文将基于AT89C51单片机,设计一款温度计,用于测量环境温度。
通过该设计,可以实时监测环境温度,并将温度值以数字形式显示在屏幕上,提供给用户参考。
正文内容:1. 硬件设计1.1 传感器选择首先,需要选择适合的传感器来测量环境温度。
常见的温度传感器有热敏电阻、温度传感器模块等。
在本设计中,选择了DS18B20温度传感器模块,该传感器具有精度高、体积小等特点,适合本温度计的设计需求。
1.2 电路连接在硬件设计中,需要将DS18B20温度传感器模块与AT89C51单片机相连。
具体步骤如下:1) 将DS18B20传感器的VCC引脚连接至单片机的VCC引脚,将GND引脚连接至单片机的GND引脚,将DQ引脚连接至单片机的P1口,通过电阻和电容设置硬件复位电路。
2) 设置单片机的相应引脚为输入或输出引脚,使其与传感器的引脚相对应,并根据需要设置引脚的电平状态。
3) 根据DS18B20传感器的通信协议,使用单片机的串口通信功能与传感器进行通信,获取温度值。
2. 软件设计2.1 程序框架在软件设计中,需要设计相应的程序框架,以实现温度的测量与显示。
整体的程序框架如下:1) 初始化单片机的串口通信功能,设置波特率等参数。
2) 初始化DS18B20传感器,包括设定分辨率、温度精度等参数。
3) 循环读取传感器的温度数值,并进行必要的温度转换处理。
4) 将处理好的温度数值通过单片机的数码管显示出来。
2.2 温度转换在软件设计中,需要对从传感器获取的温度数值进行转换处理,以得到真实的温度值。
具体的转换公式如下:1) 首先,读取传感器内部存储器中的原始温度数据。
2) 根据DS18B20传感器的配置,进行温度计算。
3) 最后,将计算得到的温度值转换为摄氏度或华氏度,并存储到相应的变量中,以便后续显示。
3. 测试与调试在进行实际应用之前,需要对设计的温度计进行测试与调试,确保其功能正常。
目录摘要 (I)Abstract (II)1绪论 (1)2系统方案设计 (1)2.1方案设计 (1)2.2方案论证 (1)3系统设计 (2)3.1单片机的选择 (2)3.2温度传感器的工作原理与单片机的连接 (3)3.3单片机与报警电路 (10)3.4电源电路 (11)3.5显示电路 (12)4系统软件设计 (14)4.1软件设计 (14)5元器件调试 (19)5.1调试产品 (19)参考文献 (20)致谢 (21)附录1 (22)附录2 (27)摘要本课题主要介绍基于AT89C51单片机和DS18B20数字温度传感器的温度测量系统。
该系统利用AT89C51单片机分别采集各个温度点的温度,实现温度显示、报警等功能。
它以AT89C51单片机为主控制芯片,采用数字温度传感器DS18B20实现温度的检测,测量精度可以达到0.5℃。
该系统采用了1602显示模块,形象直观的显示测出的温度值。
基于AT89C51单片机的单总线温度测控系统具有硬件组成简单、读数方便、精度高、测温范围广等特点,在实际工程中得到广泛应用。
关键词:数字温度传感器;AT89C51单片机;温度测量ABSTRACTThis subject introduces the temperature measurement system based on AT89C51 single-chip and DS18B20 digital temperature sensor. Adopting the AT89C51 single-chip microcomputer in the system to collected temperature from various temperature positions realizes the temperature display and alarm function. Applying AT89C51 single-chip microcomputer-based as main control chip, it realizes the multi-temperature testing by using of digital temperature sensor DS18B20, and measurement accuracy reaches to 0.5 ℃. At the time the system uses a 1602 display module to show the measured temperature values. Based on AT89C51 single-chip single-bus multi-point temperature measurement and control system’s hardware assemble simply, reading data conveniently, high accuracy and widely temperature measuring, in the actual projects it is widely applied.Keywords:digital temperature sensor; AT89C51 microcontroller; temperature measure1绪论在信息高速发展的21世纪,科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。
基于AT89C51的温度采集与显示系统设计摘要:以AT89C51单片机为核心控制元件介绍了与DS18B20和MAX7219显示驱动组成的温度采集系统的设计方案利用单片机空余I/O口以及上述元件的特性,构成该系统。
通过Proteus进行仿真。
关键词:温度采集,AT89C51,DS18B20,MAX7219目录1、系统概述……………………………………………………………….2、硬件介绍……………………………………………………………….3、软件设计……………………………………………………………….4、仿真结果……………………………………………………………….5、小结…………………………………………………………………….6、参考文献……………………………………………………………….1、系统概述温度传感器选用目前常用的数字温度传感器DS18B20,采用数码LED显示,显示驱动为MAX7219,首先设计系统的总体原理图如下:系统可以简单地分为为5个模块,由外部提供8V-24V直流电源供电。
电源模块将输入8-24V的电源电压转换为5V,为系统中的芯片供电,可以使用7805等常用的三端稳压器芯片;温度传感器采集温度信号,温度传感器有模拟输出和数字输出两种形式,这里选择具有数字输出的DS18B20;单片机是系统的核心,选用AT89C51;系统采用LED数码显示器显示温度值,LED显示屏采用独立的显示驱动芯片MAX7219,单片机将待显示的字符写入MAX7219后,MAX7219将会动态的刷新显示内容,无需占用单片机过多的资源。
尽管DS18B20的分辨率可已达到0.0625°C,但测量精确度为0.5°C,因此设计4位数的LED数码显示管就可以了,显示3位整数,1位小数。
2、硬件介绍:1、数字温度传感器DS18B20DS18B20数字温度计提供9位-24位(二进制)温度读数,以指示器件的温度,数据经过单线接口送入DS18B20或从DS18B20送出,因此从主机CPU到DS18B20仅需要一条DQ。
--基于温度传感器的数字温度计----摘要在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。
在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。
温度控制在生产过程中占有相当大的比例。
温度测量是温度控制的基础,技术已经比较成熟。
传统的测温元件有热电偶和二电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。
我们用一种相对比较简单的方式来测量。
基于AT89C51单片机作为控制器、使用数字温度传感器DS18B20作为温度采集器的数字温度计。
重点阐述了AT89C51的结构性能和引脚功能,DS18B20的性能结构、工作原理和控制方法,以及单片机AT89C51和数字温度传感器DS18B20之间的接口、数据传递。
该数字温度计能够测出-20~﹢70℃之间的温度,适合日常生活、工业生产和科学研究等领域对温度测量的需要。
----目录摘要 (2)1绪论 (4)1.1选题背景及研究意义 (4)1.2 温度测量的意义 (4)1.3 系统预期目标 (4)2 开发工具Proteus与Keil (5)2.1 Proteus软件简单应用 (5)2.2 Keil软件调试应用 (5)3 系统设计概述 (6)3.1 方案确定 (6)3.2 系统设计原理 (6)3.3 系统组成框图 (6)4 元器件介绍 (7)4.1 AT89C51单片机介绍 (7)4.1.1 AT89C51单片机主要特性 (8)4.1.2 AT89C51单片机管脚 (8)4.2 1602LCD 液晶模块简介 (9)4.3 DS18B20介绍 (9)4.3.1 DS18B20内部结构及功能 (10)4.3.2 测温原理 (10)5 系统硬件设计 (11)5.1主板电路 (11)5.2液晶显示部分与89C51的接口电路 (11)5.3 DS18B20温度传感器与单片机的接口电路 (12)6 系统软件设计 (13)6.1 主程序设计 (13)6.2 DS18B20初始化 (13)6.3 读出温度子程序 (14)6.4 温度转换命令子程序 (14)6.5 计算温度子程序 (15)6.6显示数据刷新子程序 (15)7 系统仿真测试 (15)结束语.................................................................................. 错误!未定义书签。
引言本文主要介绍了一个基于AT89C51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感器DS18B20的数据采集过程,并介绍了利用C语言编程对DS18B20的访问,该系统可以方便的实现实现温度采集和显示,使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点。
DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量。
数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温精确、功能多样话等优点。
其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用STC89C52单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理用LED数码管实现温度值显示。
一、设计要求通过基于MCS-51系列单片机AT89C51和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,C语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。
以MCS-51系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为 0.5摄氏度。
温度显示采用3位LED数码管显示,两位整数,一位小数。
具有键盘输入上下限功能,超过上下限温度时,进行声音报警。
二、基本原理原理简述:数字温度传感器DS1820把温度信息转换为数字格式;通过“1-线协议”,单片机获取指定传感器的数字温度信息,并显示到显示设备上。
基于AT89C51单片机的温度测控系统设计黄保瑞;贾之豪;邵婷婷【摘要】A temperature measurement and control system based onAT89C51 is designed, whose working principle and design method are introduced. The temperature signal was sampled by digital temperature sensor DS18820, was transmitted to the microcontroller AT89C51 , and was displayed by LED. The 4 X 4 matrix keys were used to set the upper and lower limit of temperature. The control signal would be given by the MCU to start devices when the temperature was out of the range.The experiment shows that the accuracy of the system is 0. 1 % , and the available range is-55~+125 %. The system can be applied in many fields such as household appliances, cars、warehouse and so on.%设计一款基于AT89C51单片机的温度测控系统,介绍该系统的工作原理和设计方法.该系统温度信号由数字温度传感器DS18820采集,送AT89C51单片机进行处理,并通过数码管显示.控温部分使用4×4矩阵按键进行温度上限和下限的设定,当温度超过设定值范围后,单片机将发出控制信号启动升温装置或降温装置,使温度保持在一定的范围.实验测试证明,设计的样机系统测温控温精度均为0.1℃,测温控温的范围可这-55~+125℃,可应用于家用电器、汽车、冷库等领域.【期刊名称】《现代电子技术》【年(卷),期】2011(034)006【总页数】3页(P142-143,147)【关键词】AT89C51;DS18B20;数码管;温度测控【作者】黄保瑞;贾之豪;邵婷婷【作者单位】延安大学信息学院,陕西,延安,716000;西北工业大学电子信息学院,陕西,西安,710072;延安大学信息学院,陕西,延安,716000;西北工业大学电子信息学院,陕西,西安,710072【正文语种】中文【中图分类】TN911-34;TP212.90 引言温度的测量和控制在日常生活和工业领域中具有广泛的应用,随着人们生活水平的大幅提高,对温度测量控制的精度和范围也有着更高的要求。
引言本文主要介绍了一个基于AT89C51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感器DS18B20的数据采集过程,并介绍了利用C语言编程对DS18B20的访问,该系统可以方便的实现实现温度采集和显示,使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点。
DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量。
数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温精确、功能多样话等优点。
其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用STC89C52单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理用LED数码管实现温度值显示。
一、设计要求通过基于MCS-51系列单片机AT89C51和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,C语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。
以MCS-51系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为?摄氏度。
温度显示采用3位LED数码管显示,两位整数,一位小数。
具有键盘输入上下限功能,超过上下限温度时,进行声音报警。
二、基本原理原理简述:数字温度传感器DS1820把温度信息转换为数字格式;通过“1-线协议”,单片机获取指定传感器的数字温度信息,并显示到显示设备上。
通过键盘,单片机可根据程序指令实现更灵活的功能,如单点检测、轮转检测、越限检测等。
基于DS1820数字温度传感器的温度检测及显示的系统原理图如图图基于DS1820的温度检测系统框图三:主要器件介绍(时序图及各命令序列,温度如何计算等)系统总体设计框图由于DS18B20数字温度传感器具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠,所以在该设计中采用DS18B20数字温度传感器测量温度。
测温电路设计总体设计框图如图所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,显示采用4位LED数码管,报警采用蜂鸣器、LED灯实现,键盘用来设定报警上下限温度。
图测温电路设计总体设计框图1.控制模块AT89S52单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含有8kb的可系统编程的Flash只读程序存储器,器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程的Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52 可降至0 Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.显示模块显示电路采用4位共阴LED数码管,从P0口输出段码,P2口的高四位为位选端。
用动态扫描的方式进行显示,这样能有效节省I/O口。
3.温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
DS18B20 的性能特点如下:1.独特的单线接口方式仅需要一个端口引脚进行通信2.多个DS18B20可以并联在唯一的三线上,实现多点组网功能3.无需外部器件4.可通过数据线供电,电压范围:~5.测温范围-55℃~+125℃,在-10~+85℃时精度为±℃6.零待机功耗7.温度以9或12位数字量读出8.报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件9.负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作四:硬件电路原理框图由于本次实验是在学习板上做的,所以没有硬件接线图,原理主要讲解DS18B20的工作原理。
1·硬件设计1.单片机系统电路原理图图系统电路原理图温度传感器电路设计电源供电方式如图,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。
图DS18B20温度传感器电路3.报警电路设计报警电路是在测量温度大于上限或小于下限时提供报警功能的电路。
该电路是由一个蜂鸣器组成,具体的电路如图所示图报警电路4.显示电路设计显示电路是由四位一体的共阴数码管进行显示的2·软件设计(1)DS18B20内部结构如图所示主要由4部分组成:64 位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。
64位ROM的排的循环冗余校验码(CRC=X^8+X^5+X^4+1)。
ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
DS18B20中的温度传感器完成对温度的测量,用16位二进制形式提供,形式表达,其中S为符号位。
DS18B20温度传感器主要用于对温度进行测量,数据可用16位符号扩展的二进制补码读数形式提供,并以℃/LSB形式表示。
表2是部分温度值对应的二进制温度表示数据。
(2)DS18B20的工作时序DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输初始化时序主机首先发出一个480-960微秒的低电平脉冲,然后释放总线变为高电平,并在随后的480微秒时间内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。
若无低电平出现一直都是高电平说明总线上无器件应答。
做为从器件的DS18B20在一上电后就一直在检测总线上是否有480-960微秒的低电平出现,如果有,在总线转为高电平后等待15-60微秒后将总线电平拉低60-240微秒做出响应存在脉冲,告诉主机本器件已做好准备。
若没有检测到就一直在检测等待。
接下来就是主机发出各种操作命令,但各种操作命令都是向DS18B20写0和写1组成的命令字节,接收数据时也是从DS18B20读取0或1的过程。
因此首先要搞清主机是如何进行写0、写1、读0和读1的。
写周期最少为60微秒,最长不超过120微秒。
写周期一开始做为主机先把总线拉低1微秒表示写周期开始。
随后若主机想写0,则继续拉低电平最少60微秒直至写周期结束,然后释放总线为高电平。
若主机想写1,在一开始拉低总线电平1微秒后就释放总线为高电平,一直到写周期结束。
而做为从机的DS18B20则在检测到总线被拉底后等待15微秒然后从15us到45us开始对总线采样,在采样期内总线为高电平则为1,若采样期内总线为低电平则为0。
对于读数据操作时序也分为读0时序和读1时序两个过程。
读时隙是从主机把单总线拉低之后,在1微秒之后就得释放单总线为高电平,以让DS18B20把数据传输到单总线上。
DS18B20在检测到总线被拉低1微秒后,便开始送出数据,若是要送出0就把总线拉为低电平直到读周期结束。
若要送出1则释放总线为高电平。
主机在一开始拉低总线1微秒后释放总线,然后在包括前面的拉低总线电平1微秒在内的15微秒时间内完成对总线进行采样检测,采样期内总线为低电平则确认为0。
采样期内总线为高电平则确认为1。
完成一个读时序过程,至少需要60us才能完成让DS18B20进行一次温度的转换,那具体的操作就是:(1).主机先作个复位操作,(2).主机再写跳过ROM的操作(CCH)命令,(3).然后主机接着写个转换温度的操作命令,后面释放总线至少一秒,让DS18B20完成转换的操作。
在这里要注意的是每个命令字节在写的时候都是低字节先写,例如CCH的二进制为,在写到总线上时要从低位开始写,写的顺序是“零、零、壹、壹、零、零、壹、壹”。
整个操作的总线状态如下图。
(3)初始化时序程序bit Init_DS18B20(void){bit flag;程序实时温度显示子程序:驱动数码管把实时温度值送出在LED数码管显示主程序流程图:开始定时器初始化、启动显示实时温度温度设定超过温度报警图主程序流程图2.读温度值模块读温度值模块需要调用4个子程序,分别为:初始化子程序:让单片机知道DS18B20在总线上且已准备好操作写字节子程序:对DS18B20发出命令读字节子程序:读取DS18B20存储器的数据4.延时子程序:对DS18B20操作时的时序控制读温度值模块流程图:图读温度值子程序流程图DS18B20初始化子程序流程图:图 DS18B20初始化子程序流程图DS18B20写字节和读字节子程序流程图:图 DS18B20写字节子程序流程图图 DS18B20读字节子程序流程图六:调试(步骤,心得,结论)优点:?1.线性好,精度适中,体积小,实用方便。
?2.实时显示当前温度。
?缺点:温度传感器会有一定的时间延时,从而间接地影响了整个报警系统的灵敏性和准确性。
?(2)心得体会:?在本次设计的过程中,我们发现了很多的问题,虽然以前也做过类似的课程设计,但是这次确实让我们学到了很多。
我们不仅要选好元件,还要把这些元件合理地组织起来,所以我们要学会如何寻找和搜索自己需要的资料。
这一次,我们用了老师给的参考电路图,然后修改了一些地方,比如去掉了一个LED,再加入了几个电阻。
虽然有些困难,但是经过努力,我们还是完成了电路的设计。
经过本次的设计,我们学到了很多的知识,了解到了传感器能够把自然界的各种非电量转换为电信号的能量物理理念。
?????从本次的实习设计中,我们意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识运用到实际当中,实践是检验真理的唯一标准。
培养了一定的独立思考能力、解决问题的能力。