基
于
单
片
机
的
室
内
温
度
测
量
系
统
专业:2011 级电子信息工程
姓名:范开鹏
学号:2011310686
时间:2013 年 10 月 19 日
一、设计任务书
1、设计题目:基于单片机的室内温度测量
2、设计背景: 在日常生活中温度与人们息息相关,采用单片机来对温度进行控制已成为
当今的主流。现在采用单片机来实现对温度的控制。它的主要组成部分有:AT89S51 单片
机、温度传感器、键盘与显示电路、温度控制电路。可实时的显示和设定温度,实现对温
度自动控制。
3、设计要求:
1)能够完成对温度的测量且达到精度范围;
2)设计方案和结构框图应简单明了;
3)所设计的测温计应当方便使用;
4)温度计抗干扰能力要强;
5)完成此次设计所需费用应当合理;
6)完成本毕业设计电路原理图设计。
7)完成本毕业设计程序流程图和汇编语言源程序设计
8)完成软件和硬件系统的调试,功能指标达到技术要求;
9)完成本毕业设计程序流程图和汇编语言源程序设计
4、元器件选择、系统组成:
CPU选用的是 AT89S51 、温度传感器用的是Dallas公司的DS18B20、显示器选用的LCD
液晶屏;主要组成部分有:AT89S51单片机、温度传感器、键盘与显示电路、温度控制电
路。
名 称
单片机
A/D 转换器
LCD 显示器
晶 振
三极管
电阻排
蜂鸣器
小风扇
加热器
滑动变阻器
电 阻
按 键
温度传感器
瓷片电容
发光二极管
电解电容
元件清单列表如下:
型 号
封装形式
DIP40
DIP20
DIP20
MAXIAL0.4
TO—92B
DIP16
ANJIAN
PORT—3
AT89S51
TLC0832
1602
12M
9012
470 X8
10K
DS18B20
30pF
4.7μF
数量
1 个
1 个
1 个
1 个
4 个
2 个
1 个
1 个
1 个
2 个
若干个
20 个
1 片
2 片
1 片
2 片
二、数学模型的建立和算法的确立
2.1 电路的总体工作原理
温度控制系统采用 AT89S51 八位机作为微处理单元进行控制。采用 4X4 键盘把设定温
度的最高值和最低值存入单片机的数据存储器,还可以通过键盘完成温度检测功能的转
换。温度传感器把采集的信号与单片机里的数据相比较来控制温度控制器。
系统框图如下:
温度传感器
AT89S51
键
盘
设
定
温度控制
报警电路
显示电路
2.2 各元件功能、选择原因及系统总体设计思路
2.2.1 根据设计要求作如下选择:
1.选择 DS18B20 作为本系统的温度传感器;
2.选择单片机 AT89S51 为测控系统的核心来完成数据采集、处理、显示、报警等功能;
3.选用数字温度传感器 DS18B20,省却了采样/保持电路、运放、数/模转换电路以
及进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系
统的硬件成本。
4.中央微处理器 AT89S51: AT89S51 是一个低功耗,高性能 CMOS 8 位单片机,片内
含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储
器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统
及 80S51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大
的微型计算机的 AT89S51 可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51
具有如下特点:40 个引脚,4k Bytes Flash 片内程序存储器,128 bytes 的随机存取数据
存储器(RAM),32 个外部双向输入/输出(I/O)口,5 个中断优先级 2 层中断嵌套中断,
2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡
器。
此外,AT89S51 设计和配置了振荡频率,并可通过软件设置省电模式。空闲模式下,
CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡
器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有
PDIP、TQFP 和 PLCC 等三种封装形式。AT89S51 单片机综合了微型处理器的基本功能。按
照实际需要,同时也考虑到设计成本与整个系统的精巧性,所以在本系统中就选用价格较
低、工作稳定的 AT89S51 单片机作为整个系统的控制器。
5.温度传感器的选择
采用模拟集成温度传感器,集成传感器是采用硅半导体集成工艺而制成的,因此亦
称硅传感器或单片集成温度传感器,它是将温度传感器集成在一个芯片上、可完成温度测
量及模拟信号输出功能的专用 IC。模拟集成温度传感器的主要特点是功能单一(仅测量温
度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离
测温、控温,不需要进行非线性校准,外围电路简单。AD590 把被测温度转换为电流再通
过放大器和 A/D 转换器,输出数字量送给单片机进行温度控制。
6.采用数字单片智能温度传感器
智能温度传感器(亦称数字温度传感器)是微电子技术、计算机技术和自动测试技术
(ATE)的结晶。智能温度传感器内部都包含温度传感器、A/D 转换器、信号处理器、存储器
(或寄存器)和接口电路。智能温度传感器的特点是能输出温度数据及相关的温度控制量,
适配各种微控制器(MCU). 智能温度传感器的总线技术也实现了标准化、规范化,所采用
的总线主要有单线(1-WIRE)总线、I2C 总线、SMBUS 总线和 SPI 总线。温度传感器作为从
机可通过专用总线接口与主机进行通信。它们还可以脱离微控制器单独工作,自行构成一
个温控仪。DS18B20 具有 3 引脚 TO-92 小体积封装形式;温度测量范围为-55℃~+125℃,
可编程为 9 位~12 位 A/D 转换精度,测温分辨率可达 0.0625℃,被测温度用符号扩展的 16
位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生;多个
DS18B20 可以并联到 3 根或 2 根线上,CPU 只需一根端口线就能与诸多 DS18B20 通信,占用
微处理器的端口较少,可节省大量的引线和逻辑电路。同 DS1820 一样,DS18B20 也 支持“一
线总线”接口,测量温度范围为 -55℃~+125℃,在-10℃~+85℃范围内,精度为 0.5℃。
DS18B20 的精度较差为±0.2℃ 。现场温度直接以“一线总线”的数字方式传输,大大提
高了系统的抗干扰性。适合于恶劣环境的现场温度测量。如:环境控制、设备或过程控制、
测温类消费电子产品等。与前一代产品不同,新的产品支持 3V~5.5V 的电压范围,使系统
设计更灵活、方便。而且新一代产品更便宜,体积更小。
由于 DS18B20 将温度传感器、信号放大调理、A/D 转换、接口全部集成于一芯片,与
单片机连接简单、方便,与 AD590 相比是更新一代的温度传感器,所以温度传感器采用
DS18B20。
7. 显示器的选择
LED 显示器
采用传统的七段数码 LED 显示器。LED 虽然价格便宜,但在现代的许多仪表、各种电
子产品中逐渐被 LCD 所取代。
LCD 液晶屏
采用 LCD 液晶屏进行显示。LCD 液晶显示器是一种低压、微功耗的显示器件,只要 2~
3 伏就可以工作,工作电流仅为几微安,是任何显示器无法比拟的,同时可以显示大量信
息,除数字外,还可以显示文字、曲线,比传统的数码 LED 显示器显示的界面有了质的提
高。在仪表和低功耗应用系统中得到了广泛的应用。优点为:
1 显示质量高,由于液晶显示器的每一个点收到信号后就一直保持那种色彩和亮度恒
定发光,因此液晶显示器的画质高而且不会闪烁。
2 数字式接口,液晶显示器都是数字式的,和单片机的接口简单操作也很方便。
3 功率消耗小,相比而言液晶显示器的主要功耗在内部电极和驱动 IC 上,因而耗电
量比其他器件要小很多。
虽然 LCD 显示器的价格比数码管要贵,但它的显示效果好,是当今显示器的主流,
所以采用 LCD 作为显示器。
8. 单片机的选择
采用 AT89S51 单片机
由于 MCS-51 系列单片机具有优越的性能、成熟的技术及高可靠性和高性能价格比,
MCS 系列单片机集成了几乎完善的中央处理单元,处理功能强,中央处理单元中集成了方
便灵活的专用寄存器,运行速度更快,可靠性更高,抗干扰能力更强,而且 51 的优点是
价钱便宜,I/O 口多,程序空间大。因此,测控系统中,使用 51 单片机是最理想的选择。
2.2.2 该系统的总体设计思路如下:
温度传感器 DS18B20 把所测得的温度发送到 AT89S51 单片机上,经过 51 单片机处理,
将把温度在显示电路上显示,本系统显示器为点阵字符 LCD,1602 液晶模块。检测范围 5
摄氏度到 60 摄氏度。本系统除了显示温度以外还可以设置一个温度值,对所测温度进行
监控,当温度高于或低于设定温度时,开始报警并启动相应程序(温度高于设定温度时,
风扇开;当温度低于设定温度时,加热器开)。
2.2.3 测温计系统各部分具体设计
1.单片机最小系统的设计
目前的单片机开发系统只能够仿真单片机,它的应用特点是:
(1)全部 I/O 口线均可供用户使用。
(2)内部存储器容量有限(只有 4KB 地址空间)。
(3)应用系统开发具有特殊性
4 个双向的 8 位并行 I/O 端口,分别记作 P0、P1、P2、P3,都可以用于数据的输出和
输入,P3 口具有第二功能为系统提供一些控制信号。时钟电路用于产生 MCS-51 单片机工
作所必须的时钟控制信号,内部电路在时钟信号的控制下,严格地按时序指令工作。MCS-51
内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片的
引脚 XTAL1,输出端为 XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成了一
个稳定的自激振荡器。电路中的微调电容通常选择为 30pF 左右,该电容的大小会影响到
振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率为 12MHz。
把 EA 脚接高电平,单片机访问片内程序存储器,但在 PC 值超过 0FFFH(4Kbyte 地
址范围)时,将自动转向执行外部程序存储器内的程序。
MCS-51 的复位是由外部的复位电路来实现。采用最简单的外部按键复位电路。按键
自动复位是通过外部复位电路的来实现的.我们选用时钟频率为 12MHz,C1 取 47μf。
2. 温度传感电路设计
DS18B20 的性能特点:
采用单总线专用技术,既可通过串行口线,也可通过其它 I/O 口线与微机接口,无
须经过其它变换电路,直接输出被测温度值(9 位二进制数,含符号位)
测温范围为-55℃-+125℃,测量分辨率为 0.0625℃;内含 64 位经过激光修正的只读
存储器 ROM;适配各种单片机或系统机;可分别设定各路温度的上、下限;内含寄生电源。
DS18B20 内部结构主要由四部分组成:64 位光刻 ROM,温度传感器,非挥发的温度报警触发
器 TH 和 TL,高速暂存器。DS18B20 的管脚排列如下图所示。
DS18B20
1
2
3
I/O
GND
NC
NC
1
2
3
4
DS18B20
VCC
NC
NC
NC
8
7
6
5
GND
I/O
VCC
图 3.2
DS18B20 管脚图
DS18B20 有六条控制命令,如下表所示:
DS18B20 控制命令
指
令
约定代码
操
作
说
明
温度转换
读暂存器
写暂存器
复制暂存器
重新调 E2RAM
44H
BEH
4EH
48H
B8H
启动 DS18B20 进行温度转换
读暂存器 9 个字节内容
将数据写入暂存器的 TH、TL 字节
把暂存器的 TH、TL 字节写到 E2RAM 中
把 E2RAM 中的 TH、TL 字节写到暂存器 TH、TL
字节
读电源供电方
B4H
启动 DS18B20 发送电源供电方式的信号给主 CPU
式
CPU 对 DS18B20 的访问流程是:先对 DS18B20 初始化,再进行 ROM 操作命令,最后
才能对存储器操作,数据操作。DS18B20 每一步操作都要遵循严格的工作时序和通信协议。
如主机控制 DS18B20 完成温度转换这一过程,根据 DS18B20 的通讯协议,须经三个步骤:
每一次读写之前都要对 DS18B20 进行复位,复位成功后发送一条 ROM 指令,最后发送 RAM
指令,这样才能对 DS18B20 进行预定的操作。
3. 温度控制电路的设计
把实际测量的温度和设定的上下限进行比较,来控制 P0.0、P0.1、P0.7 端口的高低
电平。把 P0.0、P0.1、P0.7 端口分别与三极管的基极连接来控制温度和报警。当测量的
温度超过了设定的最高温度,P2.2 由高电平变成低电平,就相当于基极输入为“0”,这时三
极管导通推动小风扇和控制电路工作,反之,当基极输入为“1”时,三极管不导通,报警
器和控制电路都不工作。只要控制单片机的 P0.0、P0.1、P0.7 口的高低电平就可以控制
模拟电路的工作。
4. 键盘电路的设计
用 AT89S51 的并行口 P1 接 4×4 矩阵键盘,以 P1.0-P1.3 作输入线,以 P1.4-P1.7
作输出线;液晶显示器上显示每个按键的“0-F”序号。对应的按键的序号排列如下图示:
按键的序号排列图