china_54@tom.com第2章基于单片机的实时温度监控系统china_54@tom.com本章导读物联网是在计算机与互联网技术的基础上,利用RFID、无线通信、嵌入式等技术,构造一个覆盖世界上万事万物的“InternetofThings”。一切物品通过互联网进行信息交换和通讯,实现智能化识别、定位、跟踪、监控和管理。温度是物联网家居系统中一个十分重要的物理量,对它的测量与控制有十分重要的意义,本文介绍一种基于单片机与温度传感器的实时温度监控系统,其中包括系统的方案设计、硬件系统原理与制作、软件的设计以及系统的调试等。china_54@tom.com2.1设计任务书设计任务书中包含了设计的目的、意义、设计的时间安排等,只有了解了这些信息,才能有目的、有计划地完成系统设计。2.1.1设计的目的与意义设计的目的:利用单片机与温度传感器完成一款实时温度监控系统的设计,系统应能够实时检测、显示当前环境的温度信息,并具备报警等功能。设计的意义:物联网就是给物体安装各类传感器,然后通过RFID、全球定位系统、红外感应器等传输设备进行信息交换。1999年,美国召开的《移动计算和网络》国际会议提出“传感器网络是下一个世纪人类面临的又一个发展机遇”;2003年,美国《技术评论》提出传感器网络技术将是未来改变人们生活的十大技术之首。温度是物联网中十分重要的参数,所以对温度的测量有十分重要的意义。随着信息技术与微电子技术的发展,温度的监控已经实现了自动化、智能化。china_54@tom.com2.1设计任务书2.1.2设计的要求1.完成系统的设计方案,并论证其可行性。2.完成系统硬件系统的设计与制作。3.完成系统软件系统的设计。4.完成技术方案报告并撰写论文2.1.3设计及论文的时间安排第一部分阅读相关资料(2周)。第二部分设计系统的总体方案(3周)。第三部分设计硬件系统(3周)。第四部分编制系统的软件程序(3周)。第五部分系统模块调试以及系统总体联调(2周)。第六部分完成论文写作准备答辩(3周)。china_54@tom.com2.1设计任务书2.1.4摘要嵌入式技术、微电子技术、传感器技术极大地推动了温度监控技术的发展,也为温度监控系统的实现提供了多种方法,本文利用单片机技术和传感器技术设计了一种实时温度监控系统。系统的主控制器是ATMEL公司的AT89S52,传感器是使用较为广泛的数字温度传感器DS18B20,它具备独特的单线接口方式,与微处理器连接时仅需要一条线即可实现微处理器与DS18B20的双向通讯。本文对系统的总体设计方案与论证、硬件系统的设计、软件系统的设计等做出了详尽的说明。关键词:AT89S52、DS18B20、温度监控、单线接口china_54@tom.com2.2引言2.2.1研究背景2009年8月,温家宝总理在访问中科院无锡高新微纳传感网工程技术研发中心时提出“在激烈的国际竞争中,迅速建立中国的传感信息中心或‘感知中国’中心”,11月3日,在《让科技引领中国可持续发展》的讲话中,温总理再次提出“要着力突破传感网、物联网关键技术,及早部署后IP时代相关技术研发,使信息网络产业成为推动产业升级、迈向信息社会的‘发动机’”。温度传感器在整个物联网中是重要的节点,广泛应用于智能楼宇、大棚、仓库、农田监测等领域。DS18B20数字温度传感器是DALLAS公司生产的最新可组网、单线数字式温度传感器,十分适合在智能监控领域使用。本课题来源于工程实践,应用性较强,下面将介绍本课题的研究背景、本论文的各部分内容安排等。china_54@tom.com2.2引言2.2.2本文研究的主要内容本课题利用单片机AT89S52、数字温度传感器DS18B20、液晶显示屏、蜂鸣器、EEPROM等设计了一个具有实现检测、实时显示的温度监控系统,主要工作有:完成系统的总体设计方案。了解单片机、传感器的工作原理与特性,完成硬件系统的设计。完成软件系统的设计。调试运行,保证系统的稳定性和程序的可靠性。撰写论文和技术报告。china_54@tom.com2.3系统总体方案的设计与论证系统方案决定了整个系统的可实现性和性能。为了可以高指标地完成系统设计,就必须要对系统的各个设计方案进行权衡与综合,既要考虑到满足设计要求,又要考虑到系统的可行性和易行性。所以系统方案的论证显得尤为重要。本节首先介绍本系统总体方案的设计,然后详细说明硬件系统与软件系统的设计方案。2.3.1系统总体方案设计基于单片机和温度传感器的实时温度监控系统的总体方案如下图所示,该系统由单片机、数字温度传感器DS18B20、EEPROM24C02、蜂鸣器等组成,当传感器监测到温度信息后传输给微控制器,微控制器对接收到的数据进行处理,将数据实时显示到液晶显示屏上,系统设置了两个阈值,一旦现场温度超出了或者低于阈值,系统通过蜂鸣器进行报警。系统还具备电子密码锁的功能,防止非工作人员误操作了系统。如下图中,传感器模块与微控制器模块是系统的核心部分,各模块在单片机的控制下完成指定功能。china_54@tom.com2.3系统总体方案的设计与论证微控制器传感器液晶显示屏电子密码锁键盘输入设备2.3.2系统方案的论证系统由单片机、传感器、EEPROM、液晶显示屏等组成。china_54@tom.com2.4系统硬件各模块设计硬件包括电源模块、微控制器模块、液晶显示模块、EEPROM模块、温度采集模块、键盘输入电路等组成。2.4.1系统电源单片机AT89S52的供电电压为4.0V到5.5V,温度传感器的供电电压为3V到5V,CAT24C02供电电压为1.8V到6V,所以系统选用5V电压供电,可以让所有芯片正常工作。室内场合可以直接用5V的电源适配器,室外场合可用太阳能供电板。2.4.2单片机AT89S52电路单片机是系统的控制核心,因此单片机模块的设计也是硬件设计的核心部分,这部分设计的成功与否决定了整个系统能否正常工作。china_54@tom.com2.4系统硬件各模块设计2.4.3温度采集电路1.DS18B20的结构框图DS18B20的结构框图如下图所示,从图中可以看出,DS18B20的三个主要数字部件是:64位激光ROM、温度传感器、非易失性温度报警触发器TH、TL。器件既可以用外部电压供电,也可以从通讯线上获得能量,过程为:在信号线处于高电平器件把能量存储在内部电容里,信号线处于低电平器件消耗电容上的电容。china_54@tom.com2.4系统硬件各模块设计2.4.3温度采集电路2.DS18B20的测量原理DS18B20通过偏上测量技术实现温度的测量,温度测量电路如下图所示。china_54@tom.com2.4系统硬件各模块设计2.4.3温度采集电路3.提高温度值分辨率控制器从DS18B20中读取温度值,将0.5℃位(LSB)从读取的值中截去,这个值称为TEMP_READ,然后读取计数器中剩余的值,这个值是门周期结束后保留下来的值,称为COUNT_REMAIN,每一度的计数值称为COUNT_PER_C,实际温度值可以用以下公式计算,即:4.温度采集电路的设计DS18B20采用的是单总线结构,硬件电路十分简单,如下图所示,一脚接地,二脚为数据线,三脚为可选电源线。这里没有采用寄生电源,用的是电源供电,将数据线通过4.7K电阻上拉。china_54@tom.com2.4系统硬件各模块设计china_54@tom.com2.4系统硬件各模块设计2.4.4EEPROM存储电路EEPROM选择了CAT24WC02,这是一款2K位串行CMOSEEPROM,通过IIC总线接口进行操作,有一个专门的写保护功能,其管脚配置图如下图所示。china_54@tom.com2.4系统硬件各模块设计A0,A1,A2为器件地址线,用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0(24WC01除外)。WP为写保护引脚,如果WP连接到Vcc,所有内容都被写保护,即只能读取,当WP管脚连接到Vss或者悬空时,允许器件进行正常的读/写操作。SCL,SDA为IIC总线接口。芯片管脚描述如下表所示,连接图如下图所示。管脚名称功能A0,A1,A2器件地址选择SDA串行数据、地址传输线SCL串行时钟WP写保护Vcc1.8V~6V工作电压Vss地china_54@tom.com2.4系统硬件各模块设计2.4.5键盘输入电路在一个需要人机交互的电子系统中,键盘是必不可少的输入装置。键盘是有许多按键开关组成的,一旦按键按下,单片机I/O口的电平会发生变化,单片机通过判断I/O口电平的变化来识别按键。在单片机的接口应用中,键盘接口一般分为两种:一种是独立式键盘,一种是矩阵式键盘。china_54@tom.com2.4系统硬件各模块设计独立式键盘的每一个按键都有一个信号线与单片机相连,每一个键互不影响,这种键盘的优点是结构简单,使用方便,但是缺点也是显而易见的,那就是占用资源过多,按键数目越多,占用的I/O口就越多,所以如果系统需要的按键比较多时,一般采用矩阵式键盘。矩阵式键盘的按键连接在行、列线构成的矩阵电路的交叉处,每当有按键按下时通过该键将相应的行、列线连通,如下图所示。获取键值的过程为:CPU先将某一个行线为低,其余行线为高,比如这里先将P1.4置为0,然后CPU读取列线的值,如果P1.1为0,说明P1.1与P1.4相连了,那么可以确定“1”号键被按下了,以此类推。china_54@tom.com2.4系统硬件各模块设计2.4.6蜂鸣器电路在单片机的应用系统中,蜂鸣器是常用的设备,蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成,多谐振荡器由晶体管或集成电路构成。当接通电源后,多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。china_54@tom.com2.4系统硬件各模块设计2.4.7液晶显示电路液晶显示部分采用16×2液晶显示模组,它是专门用于显示字母、数字、符号的液晶显示模块,它的显示特性为:5V电压供电,低功耗、高可靠。内置160个5×7点阵字符和32个5×10点阵字符。64字节的自定义字符RAM,可自定义8个5×8点阵字符或4个5×11点阵字符。显示方式:STN、半透、正显。驱动方式:1/16DUTY,1/5BIAS。视角方向:6点。背光方式:底部LED。通讯方式:4位或8位并口。适配MC51和M6800系列MPU的操作时序。china_54@tom.com2.5系统软件各模块设计软件系统由主程序、实时温度采集程序、液晶显示程序、电子密码锁程序、蜂鸣器报警程序、EEPROM存储与读写程序、键盘扫描程序等组成。2.5.1实时温度采集程序1.初始化DS18202.读一个字节3.写一个字节4.读取64位序列码5.读取温度china_54@tom.com2.5系统软件各模块设计2.5.2EEPROM存储与读写程序EEPROM选用的是使用较为广泛的CAT24C02,该芯片基于IIC总线协议。IIC总线的协议定义:只有在总线空闲时才允许启动数据传送;在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变,时钟线为高电平时,数据线的任何电平变化将被看作总线的起始或停止信号。1.开始与停止2.24C02向MCU传输数据3.MCU向24C02传输数据china_54@tom.com2.5系统软件各模块设计2.5.3电子密码锁程序为了系统的安全性,设置了电子密码锁,防止非相关人员的误操作。电子密码锁的程序主要分为密码验证与密码修改两部分。1.密码验证2.密码修改2.5.4蜂鸣器报警程序2.5.5键盘扫描程序2.5.6液晶显示程序1.写指令数据到L