基于AT89C51的多点温度检测系统设计

发布者:梅花居士最新更新时间:2010-07-26 来源: 现代电子技术 关键字:AT89C51  DS18B20  多点温度检测系统  温度检测 手机看文章 扫描二维码
随时随地手机看文章

0 引言

    在工业生产及日常生活中,多点温度检测系统的应用十分广泛,例如消防电气的非破坏性温度检测,电力设备的过热故障预知检测,空调系统的温度检测,各类运输工具组件的过热检测,医疗与诊断设备的温度测试等。针对这一情况,本文设计了一种基于AT89C51、数字温度传感器DSl8820的多点温度检测系统,该系统利用DSl8820单总线的特点,可以方便地组建传感器网络,从而实现多点温度的测量。该系统设计灵活、抗干扰性好,可以在恶劣的工作环境中进行温度测量。

1 总体结构

    设计的多点温度检测系统如图1所示。该系统主要由AT89C51单片微型计算机、键盘显示电路、温度显示电路、看门狗电路、温度测试电路、串口通信电路等组成。

2 硬件电路

2.1 温度测试电路

    温度测试电路主要采用温度芯片DSl8820,它是DALLAS公司生产的一线式数字温度传感器,测温范围为-55~+125℃,测温分辨率可达O.062 5℃,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等特点,特别适合于构成多点温度测控系统。其内部结构如图2所示。

    DSl8820有4个主要的数据部件:

    (1)64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成;

    (2)温度灵敏元件;

    (3)非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限值;

    (4)配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。DSl8820在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图3所示。

    图3中:TM为测试模式标志位,出厂时被写入0,不能改变;R0,Rl为温度计分辨率设置位,其对应4种分辨率如表1所列,出厂时R0,R1置为缺省值:R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。

    高速暂存存储器由9个字节组成,其分配如图4所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第O和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图4所示。对应的温度计算:当符号位S=O时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。

    由于DSl8B20是单线数字温度传感器,因此它基本不需要外围电路就可以与单片机直接以1根线相连,图5为多个DSl8B20通过单总线与单片机相连的原理图,图中,DSl8B20采用外部电源供电方式。

2.2 键盘及显示电路

    该系统采用的是矩阵式键盘,共组成20个按键,主要包括10个数字键以及“上限”、“下限”、“确定”等功能键。当有键按下时,8279产生中断信号送入单片机,然后转向相应的功能程序。
    显示部分采用1片75451与5个LED数码管相连来实现动态显示,工作状况下,从左向右依次显示为通道号、温度的正负号、温度值的十位、温度值的个位以及温度值的小数点后一位。

2.3 电源电路

    因为单片机工作电源为+5 V,且底层电路功耗很小,采用7805三端稳压片即可满足要求。具体电路如图6所示。

2.4 看门狗电路

    考虑到底层电路板的工作环境相对恶劣,单片机会受到周围环境的干扰,因而出现程序跑飞、死机等一些不可预知的不正常工作现象,工作人员也不可能到现场对单片机重起,本设计为单片机电路添加一个外部看门狗电路,定时查询单片机的工作状态,一但发现异常即对单片机延时重起,以保证系统安全可靠的运行。其电路如图7所示。

3 软件设计

    系统的软件采用模块化方法进行编程,主要由主程序、数码管显示程序、键盘扫描以及按键处理程序、温度测试程序、中断控制程序等组成。其中主程序完成系统初始化和对采集到的温度进行计算等;键盘扫描电路及按键处理程序实现键盘的输入按键的识别及相关处理;温度测试程序主要完成由温度芯片传送数据的处理,并进行判断和显示;数码管显示程序完成向数码的显示送数,控制系统的显示部分;中断控制程序则实现循环显示功能。

    系统程序流程图如图8所示。


4 结语

    利用AT89C51单片机和DSl8B20数字温度传感器可以实现多点温度的检测与控制。系统具有信号数字化、硬件简单化和抗干扰能力强等特点,如果与相应的可扩展接口芯片相连,则可实现更多路温度的测量与控制,以适应工业生产的需要。

关键字:AT89C51  DS18B20  多点温度检测系统  温度检测 引用地址:基于AT89C51的多点温度检测系统设计

上一篇:无线传感器网络在温室环境监控系统中的应用
下一篇:MCS-51单片机与FPGA接口的逻辑设计

推荐阅读最新更新时间:2024-03-16 12:29

DS18B20,源程序测试OK
; FLAG1: 标志位,为 1 时表示检测到DS18B20 ; DQ: DS18B20的数据总线接脚 ; TEMPER_NUM:保存读出的温度数据 ; 本程序仅适合单个DS18B20和51 单片机 的连接, 晶振 为12M Hz 左右 TEMPER_L EQU 36H TEMPER_H EQU 35H DQ BIT P1.7 ; DS18B20初始化程序 ;//*****************************************// INIT_1820: SETB DQ NOP CLR DQ MOV R0,#06BH TSR1: DJNZ R0,TSR1 ;
[单片机]
基于热敏电阻的温度检测系统(下篇):系统优化与评估
简介 正如本系列文章上篇所讨论的,设计和优化基于热敏电阻的应用解决方案涉及到不同挑战。这些挑战包括上篇文中讨论过的传感器选择和电路配置。其他挑战有测量优化—— 包括ADC配置和选择外部元件,同时确保ADC在规格范围内运行以及系统优化,从而实现目标性能并确定与ADC和整个系统相关的误差源。 热敏电阻系统优化 通过热敏电阻配置器和误差预算 计算器等易于使用的工具,客户可以轻松配置系统中的热敏电阻,包括接线和连接图。该工具以比率式配置设计具有激励电压的热敏电阻系统。它还允许客户调整传感器类型、被测温度范围、线性化和外部元件等设置,如图1所示。它确保ADC和热敏电阻传感器均在规格范围内使用。因此,如果客户选择了不受支持的选
[模拟电子]
基于热敏电阻的<font color='red'>温度检测系统</font>(下篇):系统优化与评估
单总线AT89C51单片机多机通讯系统设计
提出了用单总线完成单片机通讯的方法。结合系统既传输数字信号又传输模拟信号的特点,提出用消侧音电路解决模拟信号的方案,并给出了详细的技术解决方案。 传统的多机通讯系统一般需要四条线完成: 1.电源线;2.地线;3.发送信号线;4.接收信号线。然而,对于主机和分机距离较远、分机台数较多的系统,采用四线制的经费投入较大,安装起来也颇困难。基于这一问题,本文结合为某医院研制的既有模拟信号(语音)又有数字信号的传输呼叫系统,提出用单总线实现多机通讯,并给出了一个完整的技术方案。 1 单总线制多机通讯系统的总线设计方案 本设计实现的多机呼叫系统的主要功能是:分机呼叫主机,利用单片微机向主机发送数字呼叫信息,主机响应后,显示出呼叫
[单片机]
AT89C51单片机电话遥控报警器电路的设计
1 引 言 由于经济的快速发展,人们生活水平得到较大的提高,生活节奏也越来越快,为此家电遥控和家庭安全也为人们所需要和重视。以AT89C51单片机为核心通过电话进行电器遥控和报警装置主要解决这些问题。他的主要功能有:通过电话可以遥控16路电器通断,遥控路数可以根据需要进行扩展;可以实现电器调压调速控制,有密码设定,保密安全性好;有语言提示,避免盲目操作;可以取消已输入的操作命令;当单片机接收到家中天然气泄露、温度超限和失窃信号后会自动拨打预留电话并报告家中发生的情况。 2硬件电路设计 总体电路设计思路是:电话遥控报警器与家用电话采用并联方式,当有振铃信号时单片机开始记数,前10次铃声内若有人接电话,则遥控报警器被屏蔽,不影响正
[单片机]
<font color='red'>AT89C51</font>单片机电话遥控报警器电路的设计
基于AT89C51单片机的自行车仪表系统设计
一.系统概述 系统使用的模块有AT89C51单片机+小灯+按键+ADC0832+DS1302时钟模块。 系统内使用AT89C51单片机作为主控,检测到的自行车速度会通过ADC0832转换后发送到单片机,并且会将速度数据上传到LCD1602上进行显示,通过按键可以设定阈值,当检测到速度超过设定阈值后就会通过小灯报警,使用DS1302时钟模块给系统提供时钟数据,显示屏上会显示日期时间等参数。 二.仿真概述 1.LCD1602显示屏上显示自行车车速和阈值。 2.按下界面切换后显示日期和时间数据。 3.通过ADC0832和电位器模拟自行车车速。 4.通过按键可以设定自行车的车速阈值。 5.当检测到车速超过阈值就会通过小
[单片机]
基于<font color='red'>AT89C51</font>单片机的自行车仪表系统设计
基于AT89C51DS18B20的最简温度测量系统
  l引 言   温度的测量和控制在激光器、光纤光栅的使用及其他的工农业生产和科学研究中应用广泛。 温度检测 的传统方法是使用诸如 热电偶 、热电阻、半导体PN结之类的 模拟 温度 传感器 。信号经取样、放大后通过 模数转换 ,再交自单片机处理。被测温度信号从温敏元件到单片机,经过众多器件,易受干扰、不易控制且精度不高。因此,本文介绍一种新型的可编程 温度传感器 DS18B20,他能代替模拟温度传感器和信号处理电路,直接与单片机沟通,完成温度采集和数据处理。DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场 温度测量 ,有广泛的应用前景。   2温度测量系统硬件
[单片机]
STM32下DS18B20的驱动
折腾了一晚上,才把DS18B20的驱动移植到STM32上来。以前在51上使用过单个和多个连接的DS18B20,有现成的程序了,以为很快就能弄好,结果还是被卡住了,下面说下几个关键点吧: 首先是延时的问题,STM32上若用软件延时的话不太好算时间,所以要么用定时器要么用SysTick这个定时器来完成延时的计算。相比之下用SysTick来的简单方便点。 接着是STM32 IO脚的配置问题,因为51是双向的IO,所以作为输入输出都比较方便。STM32的IO是准双向的IO,网上查了下资料,说将STM32的IO配置成开漏输出,然后外接上拉即可实现双向IO。于是我也按规定做了,但调了老半天都不成功,是因为DS18B20没有响应的信号。
[单片机]
DS18B20的使用程序PIC单片机
#include pic.h __CONFIG(0x1832); //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 #define uch unsigned char //给unsigned char起别名 uch # define DQ RA2 //定义18B20数据端口 # define DQ_DIR TRISA2 //定义18B20D口方向寄存器 # define DQ_HIGH() DQ_DIR =1 //设置数据口为输入 # define DQ_LOW() DQ = 0; D
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved