(整理)DS18B20温度传感器电路设计.
18B20温度传感器 课程设计报告
![18B20温度传感器 课程设计报告](https://img.taocdn.com/s3/m/27a1df6348d7c1c708a145cf.png)
课程设计报告目录一.设计任务二.方案论证三.硬件设计3.1 DS18B20简介AT89C51型单片机简介3.2 总电路的设计图四.软件设计3.1 主程序框图3.2 初始化子程序18B20的主程序3.3 调试及运行五. 课程设计总结一、设计任务1. 熟悉电子系统开发的思路和步骤;2. 熟悉Keil C开发环境,并对18B20、LED数码管、4*4键盘等外围模块的驱动进行编写调试,学会基本的驱动开发思路,并通过调试学会定位问题的能力;3. 分别使用汇编语言和C语言编写调试整个电子系统的控制程序,学会电子系统的软件开发思路;4. 通过protel学会如何绘制原理图及PCB版图,从而完成整个电子系统的软硬件开发;二、方案论证A、分析本次设计任务可知:1.本设计要利用DS18B20测量温度,需要用89C51单片机控制DS18B20测量温度,并将DS18B20测得温度读取到单片机中来。
2. 本设计要用LED显示温度,可用五个共阳极LED,采用动态扫描法显示读取到单片机中的温度。
显示格式举例如下:(1)温度为正值————101.1 、99.2 第四个LED总是显示点号。
(2)温度为负值————-23.1 第一个总是显示一横,第四个总是显示点号。
B、经以上分析可得:可将本设计功能分为两大模块:1、DS18B20设置模块2、测温电路及其程序3、显示电路及其程序3. 在硬件电路上还要加上必要的基础电路:(1)时钟电路本次设计采用时钟频率为:12MHZ(2)按键测温电路及其程序按一次按钮即测一次温度并将测得的温度显示出来)C 、系统总体方案系统原理框图:由图可知该测量系统由DS18B20组成的测量电路和单片机控制电路组成。
系统通过DS18B20采集到的数据,然后通过单片机微控制芯片经过数据处理,最后通过数码管实时显示所测空气的温度。
用单个DS18B20采集温度采集温度并将其显示在LED 灯上,温度只需显示整数,小数位位不做要求;设置报警上下限,当按下键盘上的SETUP 键时,DS18B20不工作,从键盘上输入温度的上下限值,前边的两个LED 显示器显示温度上线,后边的两个LED 显示器显示温度下限,当采集的温度越过上限和低于下限时,P0.4口的发光二极管灯亮,表示报警;温度上下限的设置要在30S 内完成,如果没完成,温度传感器自行工作,设置完成后,按下Enter 键DS18B20开始采集并显示温度。
DS18B20温度传感器设计要点
![DS18B20温度传感器设计要点](https://img.taocdn.com/s3/m/1f2ee1a8162ded630b1c59eef8c75fbfc67d947c.png)
DS18B20温度传感器设计要点1.传感器选型:选择适合应用场景的DS18B20传感器,主要考虑工作温度范围、精度要求、供电电压等因素。
2.电路设计:(1)供电电压:DS18B20的供电电压范围为3V到5.5V,可以根据应用需求选择合适的供电电源。
(2)引脚连接:DS18B20有三个引脚,分别是VCC、DQ、GND。
其中VCC为供电电源,DQ为数据线,GND为地线。
在设计中要确保引脚连接正确稳定。
(3)电源滤波:为了减少电源噪声对传感器的影响,可以在供电电源上添加电源滤波电路,如滤波电容和电感等。
3.布线设计:由于DS18B20传感器采用单线总线通信,布线设计对于测量精度和通信稳定性非常重要。
(1)布线距离:DS18B20传感器的最大布线距离一般为100米,但实际上受到布线环境和通信电缆等因素的限制。
需要合理设计布线距离以保证信号传输的稳定性。
(2)布线阻抗:为了减少传输过程中的信号衰减和反射等问题,可以使用合适的布线阻抗。
一般来说,通信电缆的标称阻抗为120Ω,保持传输线的匹配阻抗有助于信号的正常传输。
4.传感器放置:(1)传感器放置位置:为了获得准确的温度测量结果,传感器的放置位置应该避免直接受到热源或冷源的影响,并且应尽量避免受到外界温度的干扰。
(2)固定方式:可以使用适当的固定装置将传感器安装在需要测量的位置上,确保传感器与环境接触良好。
5.通信协议:6.温度测量精度校准:为了获得准确的温度测量结果,可以在设计中进行温度测量精度校准。
校准方法可以是通过与已知温度源进行比对,或者使用标准温度计进行校准。
7.电源管理:为了延长传感器的使用寿命,可以在设计中考虑电源管理功能,如合理控制供电电流和添加省电功能。
总之,DS18B20温度传感器的设计要点主要包括传感器选型、电路设计、布线设计、传感器放置、通信协议、温度测量精度校准和电源管理等方面。
要综合考虑应用需求和环境特点,确保传感器的测量精度、稳定性和可靠性。
设计基于DS18B20的数字式温度控制系统
![设计基于DS18B20的数字式温度控制系统](https://img.taocdn.com/s3/m/2d6aaccb05087632311212e7.png)
设计基于DS18B20的数字式温度控制系统,控制电路主要包括,led显示电路、按键电路、温度检测电路及控制电路。
总体设计框图如图1:图1 温度控制系统原理硬件结构框图1. 温度传感器电路1)温度传感器DSl8B20由美国DALLAS半导体公司生产的DSl8B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中,例如多路温度测控仪、中央空调、大型冷库、恒温装置等。
DSl8B20的电源电压范围均扩展到+3~+5.5V,DSl8B20还能对温度分辨力进行编程,选择9位~12位模式下工作,在12位模式下的最高分辨力可达0.0625℃, 被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,业可采用寄生电源方式产生,多个DS18B20可以并联到三根或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。
综上,在本系统中我采用温度芯片DS18B20测量温度。
该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
该芯片直接向单片机传输数字信号,便于单片机处理及控制。
2)DS18B20的性能特点(1)DSl8B20采用DALLAS公司独特的“单线(1-Wire)总线”专有技术,与单片机通信只要一根I/O线;(2)在测温范围是-55~+125℃时,测量误差不超过±2℃,在-10~+85℃范围内,可确保测量误差不超过±0.5℃;(3)在构成大型温控系统时,允许在单线总线上挂接多片DSl8B20;(4) 低压供电,电源范围从3~5V,也可以直接从数据线上窃取电源;(5) 数据位可编程9~12位,转换12位实践为750ms(最大);(6) 用户可自设定报警上下限温度;(7)报警搜索命令可识别和寻址哪个器件的温度超过预定值;3)DS18B20的工作原理DSl8B20的原理与DS1820的原理是一样的。
基于DS18B20的温度传感器设计报告
![基于DS18B20的温度传感器设计报告](https://img.taocdn.com/s3/m/1a6373c30066f5335b8121a2.png)
基于DS18B20的温度传感器设计报告一、概述单片机技术是一项运用广泛且极具发展潜力的技术。
2009年6月14日随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。
本文主要介绍了一个基于89S52单片机的测温系统,详细描述了利用液晶显示器件传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感DS18B20的数据采集过程。
对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20与AT89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
二、内容1、课程设计题目基于DS18B20的温度传感器2、课程设计目的通过基于MCS-52系列单片机AT89C52和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,汇编语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。
3、设计任务和要求以MCS-52系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为±0.5摄氏度。
温度显示采用LCD1602显示,两位整数,一位小数。
ds18b20汇编设计报告(附电路图和程序)
![ds18b20汇编设计报告(附电路图和程序)](https://img.taocdn.com/s3/m/338bbba8dd3383c4bb4cd2f5.png)
基于AT89C51单片机和DS18B20的数字温度计1课题说明随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。
传统的温度检测以热敏电阻为温度敏感元件。
热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。
这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。
本设计选用AT89C51型单片机作为主控制器件,DS18B20作为测温传感器,通过LCD1602实现温度显示。
通过DS18B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃最大线性偏差小于0.01℃。
该器件可直接向单片机传输数字信号,便于单片机处理及控制。
另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。
2 实现方法采用数字温度芯片DS18B20 测量温度,输出信号全数字化。
采用了单总线的数据传输,由数字温度计DS18B20和AT89C51单片机构成的温度测量装置,它直接输出温度的数字信号,也可直接与计算机连接。
采用AT89C51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。
该系统利用AT89S51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限温度。
该系统扩展性非常强。
该测温系统电路简单、精确度较高、实现方便、软件设计也比较简单。
系统框图如图1所示。
图1 DS18B20温度测温系统框图3 硬件设计3.1 单片机最小系统设计3.1.1 电源电路VCC图2 电源电路3.1.2 振荡电路与复位电路图3 振荡电路图4 复位电路3.2 DS18B20与单片机的接口电路图5 DS18B20与单片机的接口电路3.3 PROTEUS仿真电路图图6 PROTEUS仿真电路图4 软件设计系统程序主要包括主程序、读取温度子程序、数据转换子程序、显示数据子程序等。
DS18B20温度计设计
![DS18B20温度计设计](https://img.taocdn.com/s3/m/3ba2c5dfad51f01dc281f1ce.png)
开题报告1 前言单片机技术的成熟与发展,为仓储管理自动化提供了强有力的技术支持。
但目前的仓储管理系统一般技术比较落后、性能较差且很不完备,人工干涉多,操作使用不方便,有的还故障率高而不实用。
随着社会信息交流的日益加强和信息量的集聚增加,仓储管理部门越来越需要一套低成本、高性能、方便使用的仓库监控管理系统。
要求它具有立即捕捉警情并提供警情发生地的有关信息,系统马上对警情做出反应,迅速通知相关部门,可能的话还可立即对警情发生地实施控制。
本温度自动报警系统可以广泛应用于温度需要实时监控的场合。
由单片机巡回监视温度信号,当温度超过一定门限值时出现报警信号(LED 数码管显示当前温度值和报警点,蜂鸣器发出报警信号)。
2方案设计2.1 功能描述本温度自动报警系统主要有以下功能:① 实时采集温度信号并显示② 单片机对温度信号能够实时监控③ 能够设置报警温度上下限④ 能够自动实现鸣叫报警2.2 系统组成本温度自动报警系统主要由四部分组成:主控模块,采集模块,显示模块和报警模块。
其中:主控模块实现巡回监视温度信号的功能,采集模块实现温度信号的采集,显示模块实现温度值和报警点的显示,报警模块实现报警的功能。
系统框图如下所示:2.4 芯片选择2.4.1 主控模块主控模块采用ATMEL 公司生产的AT89C51。
AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4K 的可反复擦写的FLASH 只读存储器和128 BYTES 的随机存取数据存储器,40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。
AT89C51可以按照常规方法进行编程,也可以在线编程。
器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
DS18B20数字温度计设计实验报告(1)【范本模板】
![DS18B20数字温度计设计实验报告(1)【范本模板】](https://img.taocdn.com/s3/m/aa9bc7280c22590103029d83.png)
单片机原理及应用课程设计报告书题目:DS18B20数字温度计姓名: 李成学号:133010220指导老师:周灵彬设计时间: 2015年1月目录1. 引言 (3)1。
1.设计意义31.2。
系统功能要求32。
方案设计 (4)3. 硬件设计 (4)4. 软件设计 (8)5。
系统调试106. 设计总结 (11)7. 附录 (12)8. 参考文献 (15)DS18B20数字温度计设计1.引言1.1. 设计意义在日常生活及工农业生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。
其缺点如下:●硬件电路复杂;●软件调试复杂;●制作成本高.本数字温度计设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为—55~125℃,最高分辨率可达0。
0625℃。
DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的热点。
1.2. 系统功能要求设计出的DS18B20数字温度计测温范围在0~125℃,误差在±1℃以内,采用LED数码管直接读显示.2. 方案设计按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路.数字温度计总体电路结构框图如4。
1图所示:图4.13。
硬件设计温度计电路设计原理图如下图所示,控制器使用单片机AT89C2051,温度传感器使用DS18B20,使用四位共阳LED 数码管以动态扫描法实现温度显示。
AT89C51 主 控制器 DS18B20 显示电路 扫描驱动主控制器单片机AT89C51具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用.系统可用两节电池供电。
AT89C51的引脚图如右图所示:VCC:供电电压。
DS18B20温度测量电路的设计与仿真
![DS18B20温度测量电路的设计与仿真](https://img.taocdn.com/s3/m/3f24da76f242336c1eb95e14.png)
151Digital technology and application 数字技术与应用·学术论坛·1、引言温度是日常生活和工农业生产中经常需要测试的重要参数。
传统的方式一般采用热电偶或热电阻,其输出的模拟信号,需经A/D 转换后才能送入单片机等微处理器,这样的硬件电路结构复杂,制作成本较高。
近年来,各种新型温度传感器和测量方法大量出现并成功应用。
单总线数字式智能型传感器技术彻底改变了传统的温度测量方法,直接将温度物理量转化为数字信号并以总线方法传送到微处理器进行数据处理。
其中以美国DALLAS 公司生产的DS18B20为代表的数字式智能温度传感器凭借其突出优点广泛使用于各种环境的自动化测量及控制系统中。
本文根据某温控设备的控制要求设计了以DS18B20作为温度采集器的温度测量电路,可实现温度的实时显示、超限报警等功能,并借助PROTUES 电路分析与实物仿真软件展示电路功能效果。
2、电路结构及工作原理基于DS18B20的温度测量电路主要由四部分组成:AT89C51单片机、DS18B20温度传感器、四位一体的共阴数码管、发光二极管构成的报警指示模块。
其结构框图如图1所示。
DS18B20工作电压为3~5V,测量温度范围为一55~+ 125℃,用户设置的报警温度存储在芯片内部EEPROM 中,可掉电保持。
它具有3引脚,当采用外部电源供电时,GND 脚接地,VCC 脚接电源,DQ 脚作为信号端接单片机I/O 口,电源脚和DQ 脚间还需要外接一个约4.7k 的上拉电阻,保证总线闲置时其状态为高电平。
DS18B20可以将所采集到的温度转换为数字信号,然后通过D Q 传送至单片机,单片机从而启动程序存储器中的控制程序,驱动数码管显示温度值,并控制高、低温报警指示二极管的亮灭。
3、软件设计电路是在程序的控制下,完成对温度测量、显示和超限报警。
软件程序设计包含DS 18B20温度测量、数码管显示、超限报警程序、主程序四部分。
DS18B20单线数字温度传感器课程设计
![DS18B20单线数字温度传感器课程设计](https://img.taocdn.com/s3/m/75123be5e87101f69f31953f.png)
西安科技大学单片机课程设计论文银浩0806060135翁子涵0806060136王思麒0806060137指导教师: 王建专业名称: 电气工程及其自动化电气与控制工程学院2010年12月27日DS18B20单线数字温度传感器课程设计论文与心得【摘要】随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。
传统的温度检测以热敏电阻为温度敏感元件。
热敏电阻的成本低,需要外加信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。
与传统的温度计相比,这次设计的是基于DS18B20的数字温度计,它具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。
在本设计中选用AT89C51型单片机作为主控制器件,采用DS18B20数字温度传感器作为测温元件,通过4位共阳极LED数码显示管并行传送数据,实现温度显示。
本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件部分的设计,应用C语言实现温度的采集与显示。
通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成了数字温度计的总体设计。
其系统构成简单,信号采集效果好,数据处理速度快,便于实际检测使用。
关键词:单片机AT89C51;温度传感器DS18B20;LED数码管;数字温度计1 绪论1.1课题背景单片机自1976年由Intel公司推出MCS-48开始,迄今已有三十多年了。
由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。
单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域,对各个行业的技术改造和产品更新换代起着重要的推动作用。
单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。
DS18B20数字温度计的设计与实现
![DS18B20数字温度计的设计与实现](https://img.taocdn.com/s3/m/0b9de282680203d8ce2f2480.png)
DS18B20数字温度计的设计与实现一、实验目的1.了解DS18B20数字式温度传感器的工作原理。
2.利用DS18B20数字式温度传感器和微机实验平台实现数字温度计。
二、实验内容与要求采用数字式温度传感器为检测器件,进行单点温度检测。
用数码管直接显示温度值,微机系统作为数字温度计的控制系统。
1.基本要求:(1)检测的温度范围:0℃~100℃,检测分辨率 0.5℃。
(2)用4位数码管来显示温度值。
(3)超过警戒值(自己定义)要报警提示。
2.提高要求(1)扩展温度范围。
(2)增加检测点的个数,实现多点温度检测。
三、设计报告要求1.设计目的和内容2.总体设计3.硬件设计:原理图(接线图)及简要说明4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法)四、数字温度传感器DS18B20由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。
它具有体积小,接口方便,传输距离远等特点。
1.DS18B20性能特点DS18B20的性能特点:①采用单总线专用技术,既可通过串行口线,也可通过其它I/O 口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),②测温范围为-55℃-+125℃,测量分辨率为0.0625℃,③内含64位经过激光修正的只读存储器ROM ,④适配各种单片机或系统机,⑤用户可分别设定各路温度的上、下限,⑥内含寄生电源。
2. DS18B20内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH 和TL,高速暂存器。
64位光刻ROM 是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。
64位ROM 结构图如图2所示。
不同的器件地址序列号不同。
DS18B20的管脚排列如图1所示。
DS18B20温度传感器设计
![DS18B20温度传感器设计](https://img.taocdn.com/s3/m/d5d0dde218e8b8f67c1cfad6195f312b3169eb31.png)
write_byte(0xBE); // 发读命令
temp_data[0]=read_byte(); //温度低8位
temp_data[1]=read_byte(); //温度高8位
ow_reset();
write_byte(0xCC); // Skip ROM
}
delay(45); //延时500us
presence = ~DQ;
}
DQ=1;
}
/**********18B20写命令函数*********/
//向 1-WIRE 总线上写一个字节
void write_byte(uchar val)
{
uchar i;
for (i=8; i>0; i--) //
scan()
{
char k;
for(k=0;k<4;k++) //四位数码管扫描控制
{
Disdata=dis_7[display[k]];
if(k==1){DIN=0;}
discan=scan_con[k];delay(5);discan=0xff;
}
}
/***********18B20复位函数**********/
二、方案论证
方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
方案设计框图如下:
方案二:考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
DS18B20温度传感器工作原理及其应用电路图
![DS18B20温度传感器工作原理及其应用电路图](https://img.taocdn.com/s3/m/8ea7fbc09ec3d5bbfd0a74ad.png)
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。
使用DS18B20温度传感器设计温度控制系统设计
![使用DS18B20温度传感器设计温度控制系统设计](https://img.taocdn.com/s3/m/f2530e12aaea998fcc220eba.png)
使用DS18B20温度传感器设计温度控制系统设计设计说明:1.1 使用DS18B20温度传感器设计温度控制系统1.在数码管上可显示采集到的温度(0~99.9℃)2.当温度低于27℃时,蜂鸣器开始以慢地“滴”声报警,P1.0口发光二极管闪烁,当温度继续降低并低于25℃时,蜂鸣器开始以快地“滴”声报警,P1.0和P1.1口发光二极管闪烁。
3.当温度高于30℃时,蜂鸣器开始以慢地“滴”声报警,P1.2口发光二极管闪烁,当温度继续升高并高于32℃时,蜂鸣器开始以快地“滴”声报警,P1.2和P1.3口发光二极管闪烁。
1.2 元件说明:(1)使用的元器件DS18B20:电压范围3.0~5.5V ;温度可测范围-55~+125℃;可编程分辨率为9~12位,对应的可分辨温度为:0.5℃、0.25℃、0.125℃和0.0625℃;测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
其引脚定义图如下图:(3) 硬件连接图硬件连接图如上图:1.3 工作原理首先看控制DS18B20的指令,只列举此设计用到的,如下表:CCH 跳过ROM44H 温度转换BEH 读暂存器原理:DS18B20测量外部温度,经过温度转换,将温度物理量转换成数字信号,再传送数据到AT89C52,AT89C52控制数码管显示及二极管、扬声器的工作,从而实现了温度在数码管上显示,还有温度范围的亮灯与报警。
1.4 C语言编程见附录1.5 实验结果可将环境温度经过DS18B20温度传感器,在数码管上显示,显示准确。
附录#include<reg51.h>#include<stdio.h>#define uchar unsigned char#define uint unsigned intsbit ds=P2^2;For personal use only in study and research; not for commercial usesbit dula=P2^6;sbit wela=P2^7;sbit beep=P2^3;uint temp;float f_temp;uint warn_l1=270;uint warn_l2=250;uint warn_h1=300;uint warn_h2=320;sbit led0=P1^0;sbit led1=P1^1;sbit led2=P1^2;sbit led3=P1^3;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf, 0xe6,0xed,0xfd,0x87,0xff,0xef}; void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void dsreset(){uint i;ds=0;i=103;while(i>0) i--;ds=1;i=4;while(i>0) i--;}bit tempreadbit(){bit dat;ds=0;i++;ds=1;i++;i++;dat=ds;i=8; while(i>0) i--;return(dat);}uchar tempread(){uchar i,j,dat;dat=0;for(i=1;i<=8;i++){j=tempreadbit();dat=(j<<7)|(dat>>1);}return(dat);}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;i++;i++;ds=1;i=8;while(i>0) i--;}else{ds=0;i=8;while(i>0) i--;ds=1;i++;i++;}}tempchange(){dsreset();delay(1);tempwritebyte(0xcc); tempwritebyte(0x44);}uint get_temp(){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+0.05; return temp;}display(uchar num,uchar dat) {uchar i;dula=0;P0=table[dat];dula=1;dula=0;wela=0;i=0xff;i=i&(~((0x01)<<(num)));P0=i;wela=1;wela=0;delay(50);}dis_temp(uint t){uchar i;i=t/100;display(0,i);i=t%100/10;display(1,i+10);i=t%100%10;display(2,i);}warn(uint s,uchar led){uchar i;i=s;beep=0;P1=~(led);while(i--){dis_temp(get_temp());}beep=1;P1=0xff;i=s;while(i--){dis_temp(get_temp());}}deal(uint t){uchar i;if((t>warn_l2)&&(t<=warn_l1)){warn(40,0x01);}else if(t<=warn_l2){warn(10,0x03);}else if((t<warn_h2)&&(t>=warn_h1)){warn(40,0x04);}else if(t>=warn_h2){warn(10,0x0c);}else{i=40;while(i--){dis_temp(get_temp());}}}init_com(){TMOD=0x20;PCON=0x00;SCON=0x50;TH1=0xfd;TL1=0xfd;TR1=1;}comm(char *parr){do{SBUF=*parr++;while(!TI);TI=0;} while(*parr);}main(){uchar buff[4],i;dula=0;wela=0;init_com();while(1){tempchange();for(i=10;i>0;i--){dis_temp(get_temp());}deal(temp);sprintf(buff,"%f",f_temp); for(i=10;i>0;i--){dis_temp(get_temp());}comm(buff);for(i=10;i>0;i--){dis_temp(get_temp());}}}使用DS18B20温度传感器设计温度控制系统设计班级:电082班姓名:于川洋学号:33号时间:2011-11.-11仅供个人参考仅供个人用于学习、研究;不得用于商业用途。
DS18B20温度计精简设计
![DS18B20温度计精简设计](https://img.taocdn.com/s3/m/91f9bbc18bd63186bcebbc44.png)
DS18B20温度计精简设计受杜洋老师MINI48定时器制作启发,制作了本精简温度计。
材料:如下图所示DS18B20温度传感器、STC12C5A60S2单片机、40针插座一个、共阳4联排LED、12Mhz晶振、30p电容(2个)、电源接头、导线、热缩套管。
另外用到AB胶图中没有列出。
制作注意点:1、把40针插座靠近单片机电源口那个地方剪掉,便于安装电源插座,如下图显示,可以在电源座接头引线的位置先把插针取消,便于焊接,免除不必要的麻烦。
设计好位置之后,把电源座用AB胶粘在CPU背面。
2、晶振、电容焊接时候,注意检查不要有短路电路图源程序下列程序也是用网上的程序进行修改,主要改动部分是显示输出部分,而温度转换是采用的查表法(具体原理还没有看懂),但该程序经过编译,100%通过。
#include < STC12C5A60S2.h >#include < intrins.h >#define uchar unsigned char#define uint unsigned intbit presence ;//****************************************************************************************** *********//sbit DQ = P1^6 ; //定义DS18B20端口DQsbit LED_A =P4 ^ 4; //设置LED点阵屏连接的I/O口sbit LED_B =P0 ^ 6; //设置LED点阵屏连接的I/O口sbit LED_C =P3 ^ 0; //设置LED点阵屏连接的I/O口sbit LED_D =P3 ^ 2; //设置LED点阵屏连接的I/O口sbit LED_E =P3 ^ 3; //设置LED点阵屏连接的I/O口sbit LED_F =P4 ^ 5; //设置LED点阵屏连接的I/O口sbit LED_G =P4 ^ 7; //设置LED点阵屏连接的I/O口sbit LED_DP =P3 ^ 1; //设置LED点阵屏连接的I/O口sbit LED1= P2^7 ; //定义LED数码管位脚sbit LED2= P4^6 ;sbit LED3= P0^7 ;sbit LED4= P1^7 ;//****************************************************************************************** *********//unsigned char data temp_data[2] = {0x00,0x00} ;unsigned char data display[5] = {0x00,0x00,0x00,0x00,0x00} ;unsigned char code ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09} ;unsigned char code mytab[4] = {0xF9,0xB0,0x92,0x99} ;//纯粹用来测试,可删除//****************************************************************************************** *********//const uchar tab[]={ /* 根据共阴极字型编码表获取0~9,A~B字型代码*/ 0x3f,0x06,0x5b,0x4f,//0~30x66,0x6D,0x7D,0x07,//4~70x7F,0x6F,0x77,0x7C,//8~b0x39,0x5E,0x79,0x71,//c~f0x00//mie};//****************************************************************************************** *********//const uchar tab1[]={ /* 根据共阳极字型编码表获取0~9,A~B字型代码*/ 0xC0,0xF9,0xA4,0xB0,//0~30x99,0x92,0x82,0xF8,//4~70x80,0x90,0x88,0x83,//8~b0xC6,0xA1,0x86,0x8E,//c~f0xff//mie};#define delayNOP() ; {_nop_() ;_nop_() ;_nop_() ;_nop_() ;} ;/*******************************************************************/void delay1(int ms){unsigned char y ;while(ms--){for(y = 0 ; y<250 ; y++){_nop_() ;_nop_() ;_nop_() ;_nop_() ;}}}/******************************************************************//*us级延时函数*//*******************************************************************/void Delay(unsigned int num) //延时6us,误差0us{unsigned char a;while(num--!=0){for(a=15;a>0;a--);}}/*void Delay(unsigned int num){while( --num ) ;}*//******************************************************************************************* **/void PUTLED (unsigned char d){ //LED段输入unsigned char i;i = d & 0x01;if(i == 0x00){ LED_A = 0;}i = d & 0x02;if(i == 0x00){ LED_B = 0;}i = d & 0x04;if(i == 0x00){ LED_C = 0;}i = d & 0x08;if(i == 0x00){ LED_D = 0;}i = d & 0x10;if(i == 0x00){ LED_E = 0;}i = d & 0x20;if(i == 0x00){ LED_F = 0;}i = d & 0x40;if(i == 0x00){ LED_G = 0;}i = d & 0x80;if(i == 0x00){ LED_DP = 0;}}/*******************************************************************/void dis_off(void){LED_A =1; //设置LED点阵屏连接的I/O口LED_B =1; //设置LED点阵屏连接的I/O口LED_C =1; //设置LED点阵屏连接的I/O口LED_D =1; //设置LED点阵屏连接的I/O口LED_E =1; //设置LED点阵屏连接的I/O口LED_F =1; //设置LED点阵屏连接的I/O口LED_G =1; //设置LED点阵屏连接的I/O口LED_DP =1; //设置LED点阵屏连接的I/O口LED1= 0 ;LED2= 0;LED3=0 ;LED4= 0 ;}/*******************************************************************/ void displayLED(void){dis_off();PUTLED(tab1[display[3]]);//显示百位LED1=1;Delay(150);dis_off();PUTLED(tab1[display[2]]);//显示十位LED2=1;Delay(150);dis_off();PUTLED(0x7f&tab1[display[1]]);//显示个位和小数点LED3=1;Delay(150);dis_off();PUTLED(tab1[display[0]]);//显示小数位LED4=1;Delay(150);dis_off();}/*******************************************************************/ /*初始化ds1820 */ /*******************************************************************/ Init_DS18B20(void){DQ = 1 ; //DQ复位Delay(8) ; //稍做延时DQ = 0 ; //单片机将DQ拉低Delay(90) ; //精确延时大于480usDQ = 1 ; //拉高总线Delay(8) ;presence = DQ ; //如果=0则初始化成功=1则初始化失败Delay(100) ;DQ = 1 ;return(presence) ; //返回信号,0=presence,1= no presence}/* 读一个字节*//*******************************************************************/ 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) ;}/* 写一个字节*//*******************************************************************/ 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 ;}}/* 读取温度*//*******************************************************************/ Read_Temperature(void){Init_DS18B20() ;WriteOneChar(0xCC) ; // 跳过读序号列号的操作WriteOneChar(0x44) ; // 启动温度转换Init_DS18B20() ;WriteOneChar(0xCC) ; //跳过读序号列号的操作WriteOneChar(0xBE) ; //读取温度寄存器temp_data[0] = ReadOneChar() ; //温度低8位temp_data[1] = ReadOneChar() ; //温度高8位}/* 数据转换与温度显示*/ /*******************************************************************/ Disp_Temperature(){display[4]=temp_data[0]&0x0f ;display[0]=ditab[display[4]] ; //查表得小数位的值display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4) ;display[3]=display[4]/100 ;display[1]=display[4]%100 ;display[2]=display[1]/10 ;display[1]=display[1]%10 ;if(display[3]==0x00) //高位为0,不显示{display[3]=16 ;if(display[2]==0x00) //次高位为0,不显示display[2]=16 ;}}/* 主函数*//************************************/void main(){ P0M1=0x00;P0M0=0x80;P1M1=0x00;P1M0=0x80;P2M1=0x00;P2M0=0x80;P4M1=0x00;P4M0=0x40;P4SW = 0xff; //启动P4接口while(1){Read_Temperature() ;Disp_Temperature() ;displayLED();}}。
DS18B20温度传感器电路设计(参考)
![DS18B20温度传感器电路设计(参考)](https://img.taocdn.com/s3/m/1315d6adb0717fd5360cdcfd.png)
关键词:单片机AT89C51;温度传感器DS18B20;数码显示实现功能:可以测得的温度范围0~125度并显示一位小数有报警功能当15度<T<30度时两个都灯不亮(默认上限温度为30 下限温度为15)当T>30度时红灯亮T<15度时绿灯亮有调整上下限温度功能按下相应按钮可以调整报警温度范围元件清单AT89C51单片机芯片1块DS18B20温度传感器1个4位共阳极数码管1块红色发光二极管1个绿色发光二极管1个八分之一W 1K电阻10个1W 4.7K电阻1个弹性开关3个本方案设计的系统由单片机系统、数字温度传感器、LED显示模块、按键控制模块、温度报警模块组成,其总体架构如下图1.图1 系统总体方框图DS18B20性能1独特的单线接口仅需一个端口引脚进行通信2简单的多点分布应用3无需外部器件4可通过数据线供电5零待机功耗6测温范围-55~+125℃,以0.5℃递增7可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃8温度数字量转换时间200ms,12位分辨率时最多在750ms内把温度转换为数字9应用包括温度控制、工业系统、消费品、温度计和任何热感测系统10负压特性:电源极性接反时,传感器不会因发热而烧毁,但不能正常工作。
DS18B20外形及引脚说明图3 DS18B20外形及引脚GND:地DQ:单线运用的数据输入/输出引脚VD:可选的电源引脚存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如+125℃的数字输出为07D0H,实际温度=07D0H*0.0625=2000*0.0625=125℃。
例如-55℃的数字输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作运算),实际温度=370H*0.0625=880*0.0625=55℃。
基于DS18B20温度传感器的设计
![基于DS18B20温度传感器的设计](https://img.taocdn.com/s3/m/8e0cbea40242a8956bece47a.png)
学习情境4-温度传感器的设计之基于DS18B20温度传感器的设计☆点名,引言Dallas公司的数字化温度传感器DS1820是世界上第一片支持"一线总线"接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
其测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。
可选更小的封装方式,更宽的电压适用范围。
分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的使用,是经济型产品。
☆新课讲授4.1基于DS18B20温度传感器的设计表4.1.1 DS18B20技术资料1.DS18B20的新性能(1)可用数据线供电,电压范围:3.0-5.5V;(2)测温范围:-55 - +125℃,在-10 - +85℃时精度为±0.5℃;(3)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0. 0625℃;(4)12位分辨率时最多在750ms内把温度值转换为数字;(5)负压特性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
2. DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
温度检测芯片DS18B20课程设计
![温度检测芯片DS18B20课程设计](https://img.taocdn.com/s3/m/2ae47119c281e53a5802ffbf.png)
温度检测芯片DS18B20一、 DS18B20芯片概述DSl8B20是美国DALLAS公司生产的单总线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易于与微处理器接口等优点,适合于各种温度测控系统。
该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上,传感器直接输出的就是温度信号数字值。
信号传输采用两芯(或三芯)电缆构成的单总线结构。
一条单总线上可以挂接若干个数字温度传感器,每个传感器有一个唯一的地址编码。
微控制器通过对器件的寻址,就可以读取某一个传感器的温度值,从而简化了信号采集系统的电路结构。
1、DSl8B20功能特点(1)采用单总线技术,与单片机通信只要一根I/O线,在一根线上挂接多个DSl8B20。
(2)每只DSl8B20具有一个独有的、不可修改的64位序列号,根据序列号访问对应的器件。
(3)低压供电,电源范围从3~5V,可以本地供电,也可以直接从数据线上窃取电源(寄生式供电)。
(4)测温范围为-55℃~+125℃,在-10℃~85℃范围内误差为±0.5℃。
(5)可编程数据为9~12位,转换12位温度时间为750ms(最大)。
(6)用户可自设定报警上下限温度。
(7)报警搜索命令可识别和寻址哪个器件的温度超出预定值。
(8) DSl8B20的分辨率可由用户通过E2PROM设置为9~12位。
(9) DSl8B20可将检测到温度值直接转化成数字量,并通过串行通信的方式与主控制器进行数据通信。
2、DSl8B20的引脚DSl8B20采用3脚(或8脚)封装。
其中,VCC和GND是电源和接地引脚,DQ是数据线引脚。
DSl8B20以串行通信的方式与微控制器进行数据通信,读出或写入数据仅需要一根I/O接口线。
3、DSl8B20内部结构及功能DSl8820的内部结构主要包括:寄生电源、温度传感器、64位激光ROM和单总线接口、存放中间数据的高速暂存器RAM、用于存储用户设定温度上下限值的TH 和Tl触发器、存储与控制逻辑、8位循环冗余校验码(CRC)发生器等7部分。
DS18B20数字温度计设计实验报告文档推荐
![DS18B20数字温度计设计实验报告文档推荐](https://img.taocdn.com/s3/m/4e1acb35e97101f69e3143323968011ca300f7c3.png)
DS18B20数字温度计设计实验报告文档推荐本实验旨在设计并实现一款数字温度计,利用DS18B20数字温度传感器测量环境温度并通过LCD1602液晶屏幕实时显示温度值。
实验设计1.材料准备:Arduino UNO控制板LCD1602液晶显示屏面包板、面包线10K电阻2.配置DS18B20数字温度传感器将DS18B20数字温度传感器与Arduino UNO控制板连接。
按下面连接方式进行连接: DS18B20传感器的红色线连接到Arduino UNO的+5V输出端口接完线后在Arduino IDE软件中,依次点击工具-示例-DS18B20-Temperature-Resolution,打开示例程序。
将程序复制到新建文本文件中进行修改,此处我将分辨率改为了12位。
然后将程序上传到Arduino UNO控制板中。
LCD1602液晶显示屏的VO引脚连接到一个10K电位器的中间引脚LCD1602液晶显示屏的D4-D7引脚依次连接到Arduino UNO的数字4-7个针脚4.最终的连接方式将连接完DS18B20数字温度传感器和LCD1602液晶显示屏后的Arduino UNO控制板,和面包板和面包线通过另一个10K电阻连接,其中用到的端口引脚如下:Arduino UNO的5V端口连接了一个10K电阻,这个电阻的另一端通过面包线连接到面包板的一个面包网络面包板的另一个面包网络再通过面包线连接到LCD1602液晶显示屏的K端口最后将设备连接完整后,将实验代码上传到Arduino UNO控制板中,然后就可以通过LCD1602液晶显示屏上实时显示环境温度值。
实验总结通过本次实验,我们成功地实现了数字温度计,并能够通过LCD1602液晶显示屏上实时显示温度值。
实验中温度传感器和LCD显示屏的连接更加直观和清晰,容易理解,实验成功率较高。
通过此次实验,我们学习到了数字温度传感器的连接方式、温度检测方法和温度的精度和分辨率等基本知识,同时也熟悉了Arduino UNO控制板和LCD1602液晶显示屏的使用方法,提高了对物联网应用的理解和掌握,为后续学习打下坚实的基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
默认分类2010-06-2912:08:49阅读393评论0字号:大中
小订阅
《单片机原理及应用》---项目设计
DS18B20温度传感器电路设计
1.项目设计方案概述
温度是一种最基本的环境参数,人民的生活与环境的温度息
息相关,在工业生产过程中要实时测量温度,在农业生产中也离
它的特点有:最大输出电流为1.5A;输出电压为5V;拥有
热过载保护、短路保护以及输出晶体管安全工作区保护。
3、传感器模块
本项目的传感器模块采用了DS18B20芯片。传统的温度检
测可以使用热敏电阻作为温度敏感元件 ,热敏电阻主要优点是成 本低,但需后续信号处理电路,而且可靠性相对较差,准确度和 精度都较低。美国Dallas公司最新推出的DS18B20数字式温 度传感器,与传统的热敏电阻温度传感器不同,它能够直接读出 被测温度,并且可根据实际要求通过简单的编程实现9〜12位
的数字值读数方式,可以分别在93.75ms和750ms内将温度
值转化9位和12位的数字量。因而使用DS18B20可使系统 结构更简单,可靠性更高。芯片的耗电量很小,从总线上偷”
一点电存储在片内的电容中就可正常工作,一般不用另加电源。
最可贵的是这些芯片在检测点已把被测信号数字化了,因此在单
总线上传送的是数字信号,这使得系统的抗干扰性好、可靠性
高、传输距离远。
系统有如下特点:
(1)单线接口,只有一根信号线与CPU连接单总线器件, 具有线路简单,体积小的特点;
(2)不需要备份电源,可通过信号线供电,电源电压范围
从3.3〜5V;
(3)传送串行数据,不需要外部元件;
(4)温度测量范围从-55C〜+125°C,-10〜+85C时测量精
度为±).5C;
2.项目设计具体模块分析
1、总控模块
AT89S52是一种低功耗、高性能CMOS8位微控制器,具 有8K在系统可编程Flash存储器。使用Atmel公司高密度非 易失性存储器技术制造,与工业80C51产品指令和引脚完全兼 容。片上Flash允许程序存储器在系统可编程,亦适于常规编 程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程
Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、 超有效的解决方案。AT89S52具有以下标准功能:8k字节
Flash,256字节RAM,32位I/O口线,看门狗定时器,2个 数据指针,三个16位定时器/计数器,一个6向量2级中断结 构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可 降至OHz静态逻辑操作,支持2种软件可选择节电模式。空闲 模式下,CPU停止工作,允许RAM、定时器/计数器、串口、 中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被
四、项目设计的理解
单片机的接口信号是数字信号。要想用单片机获取温度这类 非电信号的信息,必须使用温度传感器,将温度信息转换为电流或 电压输出。如果转换后的电流或电压输出是模拟信号,还必须进
行A/ D转换,以满足单片机接口的需要。传统的温度检测大多以
热敏电阻作为温度传感器。但是,热敏电阻的可靠性较差、测量
单片机、温度传感器DS18B20与LCD液晶显示器等电子元器 件的互联,可以研制和开发出具有高性价比的新一代测温系 统一一基于单片机AT89S52的数字温度计。
基于单片机的数字温度计设计,即对温度进行实时测量,使
用单线数字温度传感器DS18B20把温度信号直接转换成数字信 号输入单片机。经单片机处理后,将实时温度显示LCD液晶显
体的温度。限制了此温度计的使用。
三、本人对项目设计的贡献
1、小组成员
组长:XXX
组员:XXX
2、每个人对项目设计的贡献
XX(X%):测试板子、原理图、编程、调试程序、项目
报告、传感器模块
XX(X%):焊板子、原理图、编程、PPT制作及演示、
显示模块
XX(X%):焊板子、原理图、项目报告、电源模块
XX(X%):焊板子、原理图、总控模块
(5)通过编程可实现9〜12位的数字值读数方式(出厂时
被设置为12位);
(6)零功耗等待;
(7)现场温度直接以 一线总线”的数字方式传输,大大提
高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如环境 控制、设备或过程控02的LCD。它体积小、功耗低、 超薄轻巧等优点,在袖珍式仪表和低功耗应用系统中得到广泛的 应用。它分为带背光和不带背光两种,基控制器大部分为HD44780.本设计中应用的是带背光的1602,带背光的比不带背
冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2、电源模块
电源采用了7805芯片。他的封装形式为TO-220.他有一系 列固定的限制,以及过热保护和安全工作区的保护,使它基本上 不会损坏。如果能够提供足够的散热片,它们就能提供大于1.5A的输出电流。虽然是按照固定电压值来设计的,但是当接入适当 的外部器件后,就能获得各种不同的电压和电流。
不开温度的测量,因此研究温度的测量方法和装置具有重要意
义。在单片机的应用中,一个很重要的应用就是对温度进行检
测。测量温度的关键是温度传感器,采用智能温度传感器以实现
温度数字化,既能以数字形式直接输出被测温度值,具有测量误
差小,分辨力高,抗干扰能力强,能够远程传输数据,带串行总
线接口等优点。温度的数字输出显示LCD1602液晶显示器上。
光的厚,但两者在应用中并无差别。
1602LCD主要技术参数:显示容量:16 >2个字符;芯片工作
电压:4.5—5.5V;
工作电流:2.0mA(5.0V);模块最佳工作电压:5.0V;字符尺
寸295>.35(W>H)mm。
5、项目展望
本设计也有许多可以改进的地方,首先可以安装报警器,当 温度超过温度测量范围时就可报警。其次也可以安装一个可以在 可变范围内调节温度上下限的按钮。本电路也存在缺点,由于将 传感器焊接在板子上,板子不能绝缘密封的,所以不适合测量液
温度准确率低,而且还必须经专门的接口电路转换成数字信号后
才能由单片机进行处理。
附件一:
1、原理图
匸*二七一
encLLtrLLLtErrrFr^nlEJ^st^MMUJIw*»r*^a*lj砂:r-41-A--*1JI*