没有合适的资源?快使用搜索试试~ 我知道了~
单片机课程设计—数字温度计.doc
需积分: 5 19 浏览量
2022-07-17
11:17:16
上传
评论
收藏 487KB DOC 举报
温馨提示
本文介绍了一种基于单片机STC89S52的温度实时测量与控制系统。该系统能够通过温度传感器DS18B20采集温度数据,并在数码管LED上实时显示。通过控制,可以将温度控制在设定的范围内。该系统具有简单、实用、可靠等特点,适用于温度测量与控制领域。
资源详情
资源评论
资源推荐

. . . .
1 / 21
1 课题任务、功能要求说明与总体方案介绍
1.1 课题目的
随着社会的发展,温度的测量与控制变得越来越重要。本文采用单片机
STC89S52 设计了温度实时测量与控制系统。单片机 STC89S52 能够根据温度传感
器 DS18B20 所采集的温度在数码管上实时显示,通过控制从而把温度控制在设
定的围之。所有温度数据均通过 4 位数码管 LED 显示出来。系统可以根据时钟存
储相关的数据。
通过该课程的学习使我们对计算机控制系统有一个全面的了解、掌握常规控
制算法的使用方法、掌握简单微型计算机应用系统软硬的设计方法,进一步锻炼
同学们在微型计算机应用方面的实际工作能力。
1.2 功能要求说明
设计一个具有特定功能的数字温度计。该数字温度计上电或按键复位后能自
动显示系统提示符“P.”,进入准备工作状态。测量温度围 0℃~99℃,测量精
度小数点后两位,可以通过开始和结束键控制数字温度计的工作状态。
1.3 设计课题总体方案介绍与工作原理说明
1.3.1 设计课题总体方案
(1)根据设计要求,选择 AT89C52 单片机为核心器件。
(2)温度检测器件采用 DS18B20 数字式温度传感器。与单片机的接口为
P3.6 引脚。
(3)键盘采用独立式按键,由三个按键组成,分别是:设置键(SET),加
(+1),确认键(RET)。
(4)SET 键(上下限温度设置键):当该键按下时,进入上下限温度设置
功能。通过 P0.1 引脚接入。
(5)+1 键(加一调整键):在输入上下限温度时,该键按下一次,被调整
位加一。通过 P0.2 引脚接入。
(6)RET 键(确认键):当该键按下时,指向下一个要调整的位。通过 P0.3
引脚接入。

. . . .
2 / 21
1.3.2 工作原理说明
本课题以是 80S52 单片机为核心设计的一种数字温度控制系统,利用温
度传感器 DS18B20 可以直接读取被测温度值,进行转换的特性,模拟温度值
经过 DS18B20 处理后转换为数字值,然后送到单片机中进行数据处理,并与
设置的温度报警限比较,超过限度后通过扬声器报警。同时处理后的数据送
到 LED 中显示。

. . . .
3 / 21
2 硬件系统的设计
2.1 课题硬件系统各模块功能简要介绍
硬件电路设计总体框图为图 1:
图 1
2.1.1 主控制器
单片机 AT89S52 具有低电压供电和体积小等特点,四个端口只需要两个口就
能满足电路系统的设计需要,使用 Atmel 公司高密度非易失性存储器技术制
造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器
在系统可编程,亦适于常规编程器。很适合便携手持式产品的设计使用。
2.2.2 显示电路
显示电路采用四位共阳 LED 数码管,从 P3 口 RXD,TXD 串口输出段码。
2.2.3 温度传感器
DS18B20 是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,
与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要
求通过简单的编程实现9~12位的数字值读数方式。DS18B20 的性能特点如下:
• 独特的单线接口仅需一个端口引脚进行通讯
• 简单的多点分布应用
• 无需外部器件
• 可通过数据线供电
• 零待机功耗
• 测温围-55~+125℃,以0.5℃递增。华氏器件-67~+2570F,以0.90F递增
• 温度以9 位数字量读出
按键输入电
路
时钟 电路复
位电路
电源电路
单片机
LED 显示器驱动
电路
4 位 LED
显示器
温度检测

. . . .
4 / 21
• 温度数字量转换时间200ms(典型值)
• 用户可定义的非易失性温度报警设置
• 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件。
DS18B20部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温
度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列、各种封装形式如图2所
示,DQ 为数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,
也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生
电源时,此引脚必须接地。其电路图如图2所示.。
图2外部封装形式
在仿真软件中如图3所示
图3
DS18B20 的测温原理如图 4 所示,图中低温度系数晶振的振荡频率受温度的
影响很小用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温
度变化其震荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入,图中
还隐含着计数门,当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟
脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来
决定,每次测量前,首先将-55 ℃所对应的基数分别置入减法计数器 1 和温度寄
存器中,减法计数器 1 和温度寄存器被预置在-55 ℃所对应的一个基数值。

. . . .
5 / 21
减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数
器 1 的预置值减到 0 时温度寄存器的值将加 1,减法计数器 1 的预置将重新被装
入,减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循
环直到减法计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中
的数值即为所测温图 4 中的斜率累加器用于补偿和修正测温过程中的非线性其
输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直
至温度寄存器值达到被测温度值,这就是 DS18B20 的测温原理。
另外,由于 DS18B20 单线通信功能是分时完成的,有严格的时隙概念,因此
读写时序很重要。系统对 DS18B20 的各种操作必须按协议进行。操作协议为:初
始化 DS18B20(发复位脉冲)→发 ROM 功能命令→发存储器操作命令→处理数据。
预置
低温度系数振荡器
高温度系数振荡器
斜率增加器
计数器 1
比较
预置
= 0
温度寄存器
计数器 2
= 0
T
x
加 1
停止
τ1
τ2
图 4
在正常测温情况下,DS1820 的测温分辨力为 0.5℃,可采用下述方法获得高
分辨率的温度测量结果:首先用 DS1820 提供的读暂存器指令(BEH)读出以 0.5
℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所
测实际温度的整数部分 Tz,然后再用 BEH 指令取计数器 1 的计数剩余值 Cs 和每
度计数值 CD。考虑到 DS1820 测量温度的整数部分以 0.25℃、0.75℃为进位界限
的关系,实际温度 Ts 可用下式计算:
CDCs-CD25.0 )/(℃)( ��� TzTs
剩余20页未读,继续阅读











智慧安全方案
- 粉丝: 2478
- 资源: 58万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论0