基于AT89C51单片机的测温系统
基于AT89C51单片机温度报警系统设计与制作.

一、摘要我们介绍的是一种基于单片机控制的数字温度报警,本温度系统具有多功能性,即可以当数字温度计使用,显示当前环境温度,又可以作为报警器使用,设置报警温度,当温度不在设置范围内时,可以报警,并采取措施使温度下降。
该温度报警系统控制器使用单片机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中的按钮,暂时中断蜂鸣器的鸣叫。
基于AT89C51单片机与DS18B20的温度测量系统

第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单片机的温度测控系统设计一、引言随着现代化科技的进步,在很多工业控制场合需要非常精确的控制温度的变化,而在日常生活中,水温的智能控制应用也非常广泛,在这种环境下,便提出了智能水温控制系统。
本设计一单片机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的温度测量与显示系统

sn0 D 1 B 0 tm eaue aq i  ̄ ,j y ad esr s 2 ,e prt r c u E n d 吣 n 8 s S
ohrf n曲 wt h e e p n fte sf w r t Uc ) e iht d vl met o h o t ae e o
213 序 ..谢 在读时序期 间, 主机读入来 自D 1B 0 S 8 2 的数据 。若 D 1B 0 S 8 2 发送 1 ,则保持总线为 高 电平 ;若发送 0 ,则拉低总线。主机必须
[] 刚 . 片机 原理 及 应 用[]北京 : 3张毅 单 M. 高
等教 育 出版社 .0 8 20 .
L D显示采用常规 的共阴数码管,为 E 了具有 良好 的温度显示效果, 用高集成化的 串 行 输 入 输 出 的 共 阴 极 显 示 驱 动 器
描程序 。这样 显示器循环 点亮 ,即可显示 当前 温 度值 。
实现 温 度 采 集 、 显 示 等 功 能 。 温 度 测 量 ; 单 片 机 ;D 8 2 S B 1 0
[] 永 中 , 文 剑 , 2熊 王 陈金 鹰 等 . 于单 片机 基 和 P 机 的实 时 温度 控 制 系统 设 计 [ . c J 自动 ]
化 技 术 与应 用 .0 , :2 -19. 2 l 5 16 2 0
数字温度传感器D 1B 0 能够直接读 S8 2, 出被 测 温 度 。温 度测 量 范 围 为 一 5 ℃ ~ + 5 15 可根据实际要求编程为9 2 2 ̄ C, ~l位A/ D 转换精度 ,分辨 率可达 0. 6 5 。由于 02 ℃ D IB 0 S 8 2 集温度测量, / A D转换于一体 。 具
T mprtr es rme ta d d p y s se bsd e ea ue m aue n n i l y tm ae sa
基于单片机AT89C51的温度测控系统

采 用一 定的算法对信 号处理 以确 定采取 某种控制手段 , 在本 系统 中采 用温度优 先模 式, 循 环处理 。
【 关键词 】 8 9 C 5 1 ; 8 7 2 9 键盘显示 ; L C D显示; A D C 0 8 0 9
1 系统总体分析与设计
1 . 1 总 体 方 案
简单平均处理作为温室 温度 和湿度 。在分辨率达到的前提下 . 温湿
S c i e n c e & Te c h n o l o g y Vi s i o n
科 技 视 界
科技・ 探索・ 争I 乌
基于单片机 A T 8 9 C 5 1 的温度测控系统
郭 爽 ( 武汉 理 工大 学 , 湖 北 武汉 4 3 0 0 7 0 )
【 摘 要】 本文利用 8 0 5 1 单片机 设计一个温 室的温湿度控 制 系统 , 对给 定的温湿度进行控制 并实时显示 , 其 中温湿度信号各有 四路 . 系统
度的精度为 1 % 2 . 2 温湿度控制系统
1 ) 温度监控 : 对温室温度进行 测量 . 并 通过升温 或降温达到植被 首先 , 系统启动后 , 提示用户输入温度的上限与下 限的温度值 。 用 的最佳温度 户输入之后 . 系统 自动求出 中间值 . 根据实际温度 的情 况采取相应 的 2 ) 湿度监控 : 对 温室湿度进行 测量 , 并通 过喷雾或去 湿达到植被 方案。 的最佳湿度 如果 该时刻的实际温度值 低于用 户给定 的下限温度值时 . 系统立 3 ) 控制处理 : 当温度 、 湿度越限时报警 , 并根据报警信号提示采取 即启动报警装置 , 且 系统处于升温状 态 , 直到实 际温度 达到用户输入 定手段控制 的上下限温度的中间值 一定区间内时停 止升 温 反之 . 如果实际温度 4 ) 显示 : L C D就地显示输入值 和相应 的温湿 度 . 数码管 摆放在生 值 高于用户设定 的上 限值 时 , 系统也会 立即启动报警装置 . 且系统处 产现 场用于显示当前的温湿度 于降温状 态 . 直 到实际温度 达到用户输入 的上下限温度的 中间值一定 1 . 2 实施 措 施 区间内时停止降温 1 ) 实 际环境 温度 与给定界 限比较 , 执行加热刷 冷措施 。 选择 中间值作为 控制参数 .防止升温——降温——升温 的死循 2 ) 实 际环境湿度 与给定界 限比较 , 执行加湿/ 去 湿措施 环, 因为温度低于下限时会一 直升温 . 可能 导致温度高于上 限系统又 3 ) 越 限报警 : 当温湿度越 限时声光报警 。 开始 降温 , 这样 系统便一直重 复升温——降温——升温过程 . 导致设 4 ) 键盘 显示 : 负责用户的输入 及相关数据 的显示 . 其 中包括 L E D 备在某一 个温湿度点附近频 繁的启停 . 使设备 寿命下降 . 而且 没有实 和L E D显示。 际意义 。 1 - 3 硬件系统设计 选择 中间值 的一定 区间 , 是 防止达到 中间值 时 . 采取 了停止 升温 经过上 面的总体方案 和实施 措施 的讨论 后可 以开始 着手硬件 系 或者降温措施 , 温度还是会持续上 升或下降一会儿 . 这时候温度可 能 统的设计 , 硬件系统是应用系统 的基础 、 软件系统设计的依据 。 不是正好在 中间值处 . 系统便还 是采取升温或者 降温的措施 . 而此 时 主机与主要部件 的选择 : 的温度值可能 已经是很适合植被生长的需要 的温度值 所以本方案选 根据总体功 能和性价 比及其运行速度等 因素的考虑 . 选用 M C S 一 在 中间值 的正 负一 度区间内 , 认 为此区问 内都是适合 的 . 不产生任何 5 1 系列的 8 9 C 5 1 为主机 . 满足上面 的要求而且设计 方便 . 不需要再存 控制动作 变化 . 这样就能解决设备频繁启停 问题 储扩 展 。 2 . 3 键 盘 显示 系统 数据存储片 内设有 1 2 8 B . 外部有 8 2 7 9 的2 5 6 B . 而 由于存 入 的数 键盘显示 系统采用 8 2 7 9芯 片控制 l 6键的键盘 和 8个 七段数码 据是 随时更 新的且不计小数位 。 存入 8 个 1 6 进制数字 . 其总共需要 的 管, 以实现用 户的输入与数据输 出。1 6个 键分别是… 0’ 到… F’ . 对应的 容 量 只有 1 6 B , 已经 够用 。 对外 部模 拟 量 ( 温度 、 湿度) 采样 , 选 用 键值是 0到 1 5 不需要键值 的转换 。七段数码管采用共阴极 AD C 0 8 0 9能够满足要求 2 . 4 报警 系统 温室温 湿度控制 系统是 以 8 9 C 5 1 单片机 作为 中央控 制装置 . 模 报警 系统 由声音报警 和警报 灯报警组成 声音报警通过 P 1 . O口 数转 换器 A D C 0 8 0 9 . 风扇, 加热设 备 , 加 湿设备 . 排潮设 备 , 键盘 显示 接 S D F I 控制系统 的音效模 块发声 .用 C P U控制 P 1 . 0产 生一定频率 芯片等 。 其 功能和原理 如下 : 的方 波就 可以实现音效模块 的发声 音效模块是一个带有扬声器 的放 1 ) 8 9 C 5 1 作 为中央控制 装置 , 负责 中心运算 和控制 . 协调 系统各 大 电路 个模块 的工作 2 ) 四路 采样 温度信号采样 简单平均处理 , 温度保存为整 数。 3 硬 件调 试 方 案 3 ) 四路采样湿度 信号采样简单平均处理 . 温度保存为整数 。 3 . 1 硬件 电路 的调试 4 ) 模数转换器 A D C 0 8 0 9 : 即由模拟信号转换为数字信号 它共有 此部分 的任务是在系统连接好后, 调试各 个组件 能否正 常工作 , 能 8 个模数转换 通道 模数的转换共有 2 种方 法 一种是利用 I N T O 中 否实现软件设计 的预期 目标 。其步骤如下 : 断. 当一 次转换结束后 . A D C 0 8 0 9 使I N T 0 产生 中断 . 通知系统转换 完 1 ) 按照系统设计 . 将系统需要的各个组件连接好 。 毕: 另一 种使用延时方法 . 开始转换后 系统延时 i 0 0 微 秒等待转换 完 2 ) 实验说明书 . 了解各个组件的工作原理 , 开始着手调试芯片 。 成 。本方案采用延时转换 的方法 。 3 ) 试A D C 0 8 0 9 芯片 按照说明书调用 C O N W. A S M汇编程序 , 运 5 ) 键盘显示芯片 : 用8 7 2 9识别键盘 , 负责用户的输入及相关 的数 行, 观察现象 现象正确 , 说明 A D C 0 8 0 9 卷 片正常 . 可以使用。 据的L E D显示 例如选择系统的工作模 式 . 用户输 入温度及 湿度的界 4 ) 电机 . 按照说 明书调用直流 电机相应的汇编程 序, 运行 , 观察现 限数据 . 显示实时 的温度及湿度值等等 象。 6 ) 风扇 : 负责系统的降温工作。 3 . 2 功能模块的调试方案 7 ) 加热设备 : 负责系统的加热工作 。 把各个功能模块编写成单独 的源文件进行调试 .调试成 功以后 . 8 ) 喷雾设备 : 负责系统 的加湿工作 。 再将各部分联 合在一起 9 ) 排潮设备 : 负责系统的去湿工作。 整个系统的编写 、 调试是从 8 2 7 9开始 的。控制 8 2 7 9原理虽然 简 单. 但需要 细节却很 多 . 如选择显 示寄存器 与送段码 的顺序 . 8 2 7 9的 2 温 湿 度 采 样 与 控 制 系统 初始化等待时间等 2 . 1 温 湿 度 采 样 系 统 用户温度输入数据时上限 、 下限分别在七 段数码管的 0 、 1 、 2 、 3 位 为了更精确的反映温室的温度和湿度 . 取温湿度各 4 路信号采样 置显示 , 湿度输入数 据时上限 、 下 限分别在七段数码 ( 下转第 2 4 0页 )
毕业设计_基于AT89C51单片机为核心的多路温度采集系统电路设计

Abstract
This design is proposed based onAT89C51microcontroller as the core of the temperature control system and its digital single-bus technology used inthe design of the greenhouse temperature measurement system. Program uses a new type of digital temperature sensor DS18B20, use DS18B20 temperature sensor embedded inside the greenhouse temperature, transformed into the current changes, and thenaconverted to voltage input ADC, the bus passed through the singleAT89C51comicic-rocontrollerAT89C51microcontroller input and output through the serial port tounat-e with the PC machine.System for real-time multi-point inspection of temperature,w-hile providing instruction based on the temperature of PC-time acquisition.Tempsen-sor for temperature DS18B2collection, microcontroller reads the message from theD-S18B20 temperature and with the effective temperature of the upper and lowerextm-comparison, if more than the effective temperature range, start alarm system, and to the PC, send the appropriate signals, or continue to read from the DS18B20temper- rure. The system has a practical and high reliability。
基于AT89C51的温度控制系统设计

基于AT89C51的温度控制系统设计冯晓锋西安翻译学院实验中心摘要:本系统是基于AT89C51单片机和DS18B20数字温度传感器的智能温度控制系统,根据要求可进行最高和最低温度的设定,通过RS-485总线标准实现与PC机的远程通信,实现PC机对采集温度的存储、处理、打印等功能。
关键字:AT89C51 数字温度传感器温度控制系统一、系统总体结构设计根据设计要求对某指定地点的温度进行实时的监测与控制,采用了分布式系统的控制方式,即在测控点配置能独立工作的从机,从机由主机进行监控管理,上下采用主从式监控管理形式,系统总体结构如图1所示。
图1 系统总体结构系统的各个部分功能和关系如下:①主机为管理机,完成参数设置、数据存储、处理及管理及打印功能。
②从机为控制机,采用单片机AT89C51,直接实现各个模块的控制功能,并能在主机关机的条件下实现所有的控制功能。
③通讯转换芯片MAX485实现RS-232信号和RS-485信号的转换,主机通过其向从机发送控制参数,从机将现场采集数据通过其传给主机。
④数据采集实现对传感器及运行设备的检测。
⑤输入输出部分包括输入模块和输出模块,输入模块将采集的信号转换后输入到从机,输出模块将系统的控制信号输出到控制器及其设备。
二、系统工作方式系统以温度监控为核心,温度参数和设备运行状态由主机根据用户要求定时向从机查询,各控制模块的设置参数修改时,将新的参数发送到从机。
主机可以对从机进行参数设置及控制,从机也可以独立工作。
从机通过温度传感器不间断地采集温度数据,根据控制模块的设置参数做出控制决策,驱动设备运行,并随时准备接受主机的指令,当受到询问时,将各项数据编码通过串行通信方式传输到主机。
主机接收到数据后,进行数据处理,在监控界面上显示当前的状态信息,并将此信息实时地存储到数据库中,为用户维护和管理准备数据。
对数据可以进行查询,也可以将一段时期的数据信息汇集成报表,报表包括各项统计数据,还可以将数据处理绘制成图形曲线,实现对数据的分析与管理。
基于AT89C51单片机的温度计设计

引言概述: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. 测试与调试在进行实际应用之前,需要对设计的温度计进行测试与调试,确保其功能正常。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
引言本文主要介绍了一个基于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,再加入了几个电阻。
虽然有些困难,但是经过努力,我们还是完成了电路的设计。
经过本次的设计,我们学到了很多的知识,了解到了传感器能够把自然界的各种非电量转换为电信号的能量物理理念。
?????从本次的实习设计中,我们意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识运用到实际当中,实践是检验真理的唯一标准。
培养了一定的独立思考能力、解决问题的能力。