2 系统硬件的设计
3.1 系统工作原理综述
基于单片机的单总线多点温度监测系统以AT89C52为中心,以KEIL为系统程序开发平台,以C语言进行程序设计,以PROTEUS作为仿真软件设计而成的。系统主要由温度传感器、湿度传感器、液晶显示电路、键盘、报警电路、电风扇、干燥机组成,电路图如附录A所示。
温度传感器是DS18B20芯片,它的输入、输出采用数字量,通过单总线,接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度数值以串口形式发给主机,主机按照通讯协议用一个I/O口模拟DS18B20时序,发送命令(初始化命令、ROM命令、功能命令)给DS18B20,并读取温度值,在内部进行相应的数据处理得到温度值。湿度传感器是HS1100芯片,在电路构成中等效于一个电容器件,将该湿敏电容置于555振荡电路中,将电容值的变化转为与之呈反比的电压频率信号,可直接被计算机所采集,然后通过编程将电压频率信号转换成与之对应的湿度。湿度和温度值在液晶上循环显示。在系统启动时,可以通过软件设置各点温湿度的上限值和下限值,当某点温度或湿度超过设置值时,报警器开始报警且执行器开始工作,从而实现了对各点温湿度实时监测。 3.2 AT89C52的介绍 3.2.1 AT89C52芯片的简介
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可提供许多较复杂系统控制应用场合[3]。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
9
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
图3.1 AT89C52引脚图
3.2.2 AT89C52主要功能特性
兼容MCS51指令系统 32个双向I/O口
3个16位可编程定时/计数器中断 2个串行中断 2个外部中断源 2个读写中断口线 低功耗空闲和掉电模式
8K可反复擦写(大于1000次)Flash ROM
256?8bit内部RAM
时钟频率0~24MHz 可编程UART串行通道 共6个中断源 3级加密位
软件设置睡眠和唤醒功能
10
3.3 DS18B20简介
美国MAXIM公司的子公司Dallas半导体公司的数字温度传感器DS18B20是世界上第一片支持“一线总线” 接口的温度传感器,全部传感元件及转换电路集成在形如一只三级管的集成电路内。一线总线独特而且经济的特点,使用用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活,使你可以充分发挥“一线总线”的优点[6]。 3.3.1 DS18B20 的性能特点
单线数字温度传感器DS18B20器件的特点如下:
1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条信号线即可实现单片机与DS18B20的双向通讯。
2)在使用中不需要任何外围元件。
3)可用数据线供电,电压范围: 3.0~ 5.5 V。 4)测温范围:-55 ~125 ℃。测温分辨率为0.5℃。 5)通过编程可实现9~12位的数字读数方式。 6)用户可自设定非易失性的报警上下限值。
7)支持多点组网功能,多个DS18B20可以并联在三条线上,实现多点测温。 8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 3.3.2 DS18B20 的内部结构
DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图3.2所示。
DS18B20引脚定义:
(1) DQ 为数字信号输入/输出端; (2) GND 为电源地;
(3) VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。
DS18B20采用3角PR-35封装或8角SOIC封装,其内部结构如图3.3所示。
11
图3.2 DS18B20 的管脚排列图
64位 ROM 和 单线 接口 电流检测 存储器和控制器 温度敏感元件 高速 缓存 存储器 低温触发器TL 高温触发器TH 配置寄存器 8位CRC生成器
图3.3 DS18B20 内部结构图
(1)64 位光刻ROM的结构如下:
8位CRC校验码 MSB LSB 48位序列号 MSB LSB 8工厂代码(10H) MSB LSB 在ROM中,开始是8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前56位的CRC校验码。可用ROM操作命令读出其内容。
(2)内部存储器
12
相关推荐: