资源描述
编号:
题目:基于AT89C51单片机为核心的多路温度采集系统电路设计
题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发
摘 要
本毕业设计提出一种基于AT89C51单片机为核心的温度采集系统,并采用数字化单总线技术的设计方案应用于多路温度采集系统中。方案采用了一种新型数字温度传感器DS18B20,利用DS18B20温度传感器将温度的变化,变换成电流的变化,再转换为电压变化输入模数转换器,通过单线总线传给AT89C51单片机,AT89C51单片机把数据通过液晶显示器LCD1602实时显示不同方位的温度变化。系统对多点的温度进行实时巡检,同时能够通过设定的指令对温度进行监控。温度传感器DS18B20负责温度的采集,单片机将从DS18B20发出的信息读取的温度并与有效温度的上下极值进行比较,若超过有效温度围则启动报警系统,否则继续从DS18B20读取温度。该系统具有实用性强、可靠性高、测量精度高等特点。测温围在-55℃~+125℃。
关键词:数字温度传感器(DS18B20);单片机(AT89C51);液晶(LCD1602)显示器。
Abstract
This design is proposed based on AT89C51microcontroller as the core of the temperature control system and its digital single-bus technology used inthe design of the greenhouse temperature measurement system. Program uses a new type of digital temperature sensor DS18B20, use DS18B20 temperature sensor embedded inside the greenhouse temperature, transformed into the current changes, and then a converted to voltage input ADC, the bus passed through the single AT89C51 comicic- rocontroller AT89C51 microcontroller input and output through the serial port tounat- e with the PC machine. System for real-time multi-point inspection of temperature, w- hile providing instruction based on the temperature of PC-time acquisition. Tempsen- sor for temperature DS18B2collection, microcontroller reads the message from the D-S18B20 temperature and with the effective temperature of the upper and lower extm- comparison, if more than the effective temperature range, start alarm system, and to the PC, send the appropriate signals, or continue to read from the DS18B20 temper- rure. The system has a practical and high reliability。
Key words:
41 / 46
目 录
1 课题的背景与其意义4
1.1 本毕设主要容4
1.2.1 设计任务与要求4
2 总体设计方案5
2.1 方案设计与论证5
2.2 传感器部分5
2.3 控制部分6
2.4 系统方案6
2.5 系统设计原理7
3.1 单片机的选择8
3.1.1 AT89C51单片机的功能特点8
3.2 温度传感器的选择10
3.2.1 DS18B20的简介11
3.2.3 DS18B20部结构12
4 硬件电路设计16
4.1 电源16
4.1.1 电源电路16
4.2 功能按键17
4.2.1按键电路17
4.2.2 液晶显示电路17
4.3 温度采集电路18
4.4报警电路设计19
4.5 基于AT89C51简易转数测量系统复位电路19
4.6基于AT89C52简易转数测量系统时钟电路20
4.5 整体电路21
5 软件设计21
5.1 概述21
5.2 软件设计总流程22
5.3 子程序设计24
5.3.1 初始化LCD160224
5.4 按键扫描24
5.5 温度的设定子程序25
6 系统调试与结果分析26
7 结论26
致27
附录28
原理图28
PCB图29
源程序29
引言
温度是一个十分重要的物理量,对它的测量与控制有着十分重要的意义。随着现代工农业技术的发展与人们对生活环境要求的提高,人们也迫切需要检测与控制温度。在人类的生活环境中,温度扮演者极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。温度对于工业如此重要,由此推进了温度传感器的发展。
1 课题的背景与其意义
温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量。在工、农业生产和日常生活中,占据着极其重要地位。工业发展与是否能掌握温度有着密切的联系。在冶金、钢铁、石化、水泥、玻璃、医药等行业都与之有关,可以说几乎80%的工业部门都不得不考虑温度对自身系统的影响。温度不但对于工业如此重要,在农业生产中温度的监测与控制也有着十分重要的意义。我国作为世界上最大的农业国,但是人均占有耕地面积少,这对农业的发展有着极大的限制。因此,设计一种能够进行多路温度检测系统具有较为广泛的应用价值。多路温度测量显示是近几年的研究课题,随着传感技术与通讯技术的发展,单片机的出现,温度测量仪器应运而生,最近几年的研究更是迅速。采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。因此,单片机对温度的检测与控制问题是一个工农业生产中经常会遇到的问题。基于此,本毕业设计是围绕基于单片机多路温度检测与采集系统来开展相关的应用研究工作。 出现了基于新型AT89C51单片机和数字温度传感器DS18B20的多路温度测量仪器。
1.1 本毕设主要容
1.2.1 设计任务与要求
(1)温度检测:通过传感器和单片机的连接,能实时准确检测到现场温度。
(2)温度显示:把现场实时检测到温度值显示出来。
(3)报警温度设定和报警:根据需要可以设置报警温度,并且当达到报警温度时
会发出声光报警提示。
1.2 .2 设计目的
(1)学会运用keil软件编写程序,提高分析程序的能力。
(2)进一步熟悉AT89C52单片机外部引脚的线路连接方法。
(3)熟悉LCD1602使用方法。
(4)学会使用Proteus仿真软件对设计的电路进行仿真,验证电路功能是否正确。
(5)学会使用DXP2004制作电路图。
(6)熟悉制作电路板的流程。
2 总体设计方案
2.1 方案设计与论证
多路温度采集电路设计系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D 转换与相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远与各种干扰的影响,会使检测系统的稳定性和可靠性下降 。所以多路温度检测系统的设计的关键在于两部分:温度采集即温度传感器的选择和系统主控单元的设计。
2.2 传感器部分
方案一:
热敏电阻作为传统的温度传感器,可满足40摄氏度至90摄氏度测量围,但热敏电阻精度、重复性、可靠性较差。使用时,将其串接在电路中,在一般情况下,其阻值很小,损耗也很小,不影响电路正常工作;但若有过流发生,其温度升高,它的阻值随之急剧升高,达到限制电流的保护作用,避免损坏电路中的元器件。当故障排除后,温度自动下降,又恢复到低阻状态,因此对于检测温度的信号是不适用的。在温度测量系统中,采用单片温度传感器,比如AD590,LM35等.但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。
方案二:
在多路温度采集电路设计系统中,传统的模拟信号远距离测温系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外传统的测温方法是将模拟信号远距离采样进行A/D转换,一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案。采用数字温度芯片DS18B20测量温度,输出信号全数字化,便于单片机处理与控制。且该芯片的物理化学性很稳定,元件线形较好。其测量温度围为-55°C~+125°C,在-10~+85°C围,精度为±0.5°C。热敏电阻的精度较差为±2°C。新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多路温度的测量。轻松的组建温度传感器网络。
2.3 控制部分
方案一:
此方案采用PC机实现。它可在线编程,可在线仿真的功能,这让调试变得方便。但是PC机输出信号不能直接与DS18B20通信。需要通过RS232电平转换兼容,硬件的合成在线调试,较为繁琐,很不简便。而且在一些环境比较恶劣的场合,PC机的体积大,携带安装不方便,性能不稳定,这不利于工作。
方案二:
此方案采用AT89C51八位单片机实现。AT89C51的时钟为12M,I/O口可达32个,高的时钟频率和丰富的I/O,都为实现电路功能提供了非常有利的条件。同时也AT89C51含4KB FLASH ROM,开发环境友好,易用、方便,大大加快本系统设计开发。使操作更为简洁、易懂。实时显示电路的设计,使温度信息更迅速,直观地发布,这些都提高了系统的可行性。而且单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。既可以单独对多路DS18B20控制工作。另外AT89C51在工业控制上也有着广泛的应用,编程技术与外围功能电路的配合使用都很成熟。
2.4 系统方案
综上所述,温度传感器以与主控部分都采用第二方案。
系统设计采用针对传统温度测温系统测温点少,系统兼容性与扩展性较差的特点,运用分布式通讯的思想,用DS18B20和AT89C51单片机一起组成了温度采集系统。DS18B20是在分立式温度采集模块上发展而来的集温度传感器和A/D转化于一体的芯片,该芯片能够直接读出被测温度,并且可根据实际要求通过简单的编程实现 9-12位的数字值读数方式。AT89C51单片机可以分别在 93.75ms 和 750ms 完成 9 位和 12 位的数字量,并且从 DS18B20 读出的信息或写入 DS18B20 的信息仅需要一根I/O口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的 DS18B20 供电,而无需额外电源。因而使用 DS18B20 可使系统结构更趋简单,可靠性更高。同时其“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入了全新的概念。系统主要包括三大模块:控制模块、温度采集模块、温度显示模块、报警模块等。
电源
采用系统总方案如下图1:
图1系统总方案图
(1) 控制模块功能:
控制模块在系统的功能是控制温度采集模块完成温度采集并将采集到的温度读入控制模块的数据寄存器,再将从温度采集模块读取的温度数据写入显示模块并控制显示模块完成温度的显示。
(2) 温度采集模块功能:
温度采集模块的主要功能是通过温度传感器感应温室温度并转化成模拟信号,通过转化模块将模拟信号转化成数字信号,并存取温度数据。
(3) 温度显示模块功能:
温度显示模块的主要功能是在控制模块的控制下将控制模块写入的数据显示在液晶屏上,便于读取温度数值。
(4) 报警模块功能
与设定的报警温度上下限比较,超过限度后通过扬声器与灯光报警。同时处理后把报警的方向的信息送到LCD1602中显示出来。
2.5 系统设计原理
利用温度传感器DS18B20可以直接读取被测温度值,进行转换的特性,模拟温度值经过DS18B20处理后转换为数字值,然后送到单片机中进行数据处理,并与设置的温度报警上下限比较,超过限度后通过扬声器报警。同时处理后的数据送到LCD1602中显示。
3 硬件的设计
本文已经在前面提出多路温度检测系统的设计的关键在于温度采集部分和系统主控单元部分的设计。因此系统硬件的选择主要就是温度传感器主控单片机的选择。
3.1 单片机的选择
所谓单片机(m1crocontroller)是指在一个集成芯片中,集成微处理器 (CPU)、存储器、基本的I/O接口以与定时/计数、通信部件,即在一个芯片上实现一台微型计算机的基本功能。世界上最早的单片机是1974年美国仙童公司研制的F8单片机,但其中最具典型性的当数Intel公司的MCS-51系列单片机。
因此,在本课题设计的多路温度采集设计系统中,采用单片机实现温度的控制。在单片机选用方面,因为MCS- 51系列单片机拥有基于复杂指令集(CISC)的单片机核,虽然其速度不快,12个振荡周期才执行一个单周期指令,但其端口结构为准双向并行口,可兼有外部并行总线,故使其扩展性能非常强大。51系列的部硬件预设,可用特殊功能寄存器对其进行编辑。所以,本系统中的单片机选用INTEL公司生产AT89C51芯片,AT89C51单片机是INTEL公司新近推出的高档型MCS- 51系列单片机中的增强型产品,是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,使用Atmel公司高密度非易失性存储器技术制造。片上Flash允许程序存储器在系统可编程(ISP),亦适于常规编程器。
3.1.1 AT89C51单片机的功能特点
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机。片含4K bytes可反复擦写的只读程序存储器(PEROM)和128 bytes随机存取数据存储器(RAM)。兼容标准MCS-51指令系统,片置8位中央处理器(CPU)和FLASH存储单元。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,能灵活应用于各种控制领域。
AT89C51主要性能参数:
4K字节可编程闪烁存储器
寿命:1000写/擦循环
全静态工作:0Hz-24MHz
三级程序存储器锁定
128×8位部RAM
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片振荡器和时钟电路
3.1.2 AT89C51单片机的引脚说明
在外部结构上,AT89C51单片机和MCS-51系列单片机的结构一样,有三种封装形式,分别是PDIP形式、PLCC形式、TAFP形式。其中,常用的为PDIP形式,其40针脚按其功能可分为3部分:I/O口线(P0~P3),控制线(ALE、EA、PSEN、RST),电源与时钟(GND、VCC、XTAL1、XTAL2)。其PDIP封装,40针脚形式如图2:
图2 AT89C51 PDIP封装引脚图
VCC:供电电压+5V。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入与部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
3.2 温度传感器的选择
温度是表征物体冷热程度的状态量,是现代科学技术中最基本、最重要的物理量。与温度变化有关的物质属性很多,因而温度测量的仪器也是多种多样的。常用的温度测量仪有热电阻、热电偶、PN结温度传感器、集成温度传感器等。热电阻它的优点是灵敏度高,工作温度围宽,稳定性好,过载能力强,体积小。但它的不足之处在于非线性和互换性差。热电偶测量精度高,热电动势与温度在小围基本呈单值、线性关系,稳定性和复现性较好,响应时间较快;测温围宽,高温热电偶测温上限可达2800℃。PN结温度传感器利用晶体二极管、三极管的PN结电压随着温度变化而变化的原理制成。线性度好,热惯性小,灵敏度高。集成温度传感器是将测温元件、放大电路、偏置电路与线性化电路集成在同一芯片上的温度传感器。相对其它传感器有较好的线性度和一致性,且体积小,使用方便。温室是一个有较大惯性的被控对象,温度的变化速度较慢,因而不需要传感器的反应速度太高;但要求传感器有优良的物理与化学稳定性。用的较多的是以铂电阻为代表的模拟传感器和以DS18B20为代表的数字传感器。考虑到铂电阻需要信号调理电路,将电阻信号转换为电压信号,经过A/D转换后才能被单片机接受,信号调理电路的相对复杂,抗干扰性比较差,而且价格较高,而DS18B20不仅价格便宜而且使用方便、测温准确、精度较高。为了节省成本,提高效率,方便采集系统以后的进一步扩展和完善,本设计系统的采集模型采用DS18B20单总线数字式温度传感器。
3.2.1 DS18B20的简介
数字温度传感器DS18B20是DALLAS公司生产的基于串行接口的一线式数字温度传感器,它是将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上,传感器直接输出的就是温度信号数字值的全新传感器。有3引脚TO-92小体积封装形式。具有一线总线、体积更小、适用电压更宽、而且经济等特点。其工作电源既可在远端引入,也可采用寄生电源方式产生。CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B20支持“一线总线”接口,测量温度围为 -55°C~+125°C,在-10~+85°C围,精度为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
DSl8B20具有如下特征:
①采用单总线技能,与单片机通信只须要一根I/O线,在一根线上可挂接多个DSl8B20。
②低压供电,电源围3~5V,可以本地供电,也可以直接从数据线上窃取电源(寄生式供电方式)。
③每只DSl8B20具有一个独立的、不可修改的64位序列号,根据序列号可以访问对应的器件。
④测温围为一55℃~+125℃,在一10℃~85℃围误差为±0.5℃。
⑤可编程数据为9~12位,其转换12位的温度时间为750 ms(最大)。⑥DSl8B20可将检测到的温度值直接转化成数字量,并通过串行通信的方式与主控制器执行数据通信。
3.2.2 DS18B20工作原理
DS18B20测温原理:由于低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在一个对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线形,其输出用于累加器1的预置值。其原理图如3:
图3 DS18B20工作原理图
3.2.3DS18B20部结构
(1) DS18B20的引脚说明
DS18B20采用3脚TO-92封装或8脚SOIC封装。3脚TO-92封装形式和器件图如图4所示:
GND——接地;
DQ——数据输入输出。漏极开路单线接口,也在寄生电源模式时给设备提供电源;
VDD——可选的电源电压脚。VDD在寄生电源模式时必须接地。
图3.3 DS18B20引脚
图4 DS18B20的DIP 40封装图
(2)DS18B20的部结构图5:
图5 DS18B20的部结构图
DS18B20有4个主要的数据部件:
① 64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成。
②温度灵敏元件。
③非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。
④配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。DS18B20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如表1:
表 1
TM
R1
R0
1
1
1
1
1
MSB
LSB
其中,TM:测试模式标志位,出厂时被写入0,不能改变;R0、R1:温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。
配置寄存器与分辨率关系如表2:
表 2
R0
R1
温度计分辨率/bit
最大转换时间/ms
0
0
9
93.75
0
1
10
187.5
1
0
11
375
1
1
12
750
(3)高速暂存存储器
高速暂存存储器由9个字节组成,其分配如表 3所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表 3
温度低位
温度高位
TH
TL
配置
保留
保留
保留
8位CRC
LSB
MSB
温度值格式图DS18B20 温度数据表4:
表 4
23
22
21
20
2-1
2-2
2-3
2-4
MSB
LSB
S
S
S
S
S
26
25
24
典型对应的温度值表5:
表 5
温度/℃
二进制表示
十六进制表示
+125
+25.0625
+10.125
+0.5
0
-0.5
-10.125
-25.0625
-55
00000111 11010000
00000001 10010001
00000000 10100010
00000000 00001000
00000000 00000000
11111111 11111000
11111111 01011110
11111110 01101111
11111100 10010000
07D0H
0191H
00A2H
0008H
0000H
FFF8H
FF5EH
FE6FH
FC90H
(4)DS18B20使用的注意事项
DS1820虽然具有测温系统简单、测温精度高、连接方便、占用P口线少等优点,但在实际应用中也应注意以下几方面的问题:
①对硬件结构简单的单线数字温度传感器DS18B20 进行操作,一定要注意DS18B20对程序和电气参数的严格要求。
②连接DS18B20的总线电缆是有长度限制的。所以在试验中,要考虑总线的选择和分布与与之相关的问题。
③有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20 序列号和自动排序,以减少调试和维护工作量。
④在DS1820的有关资料中均未提与单总线上所挂DS1820数量问题,实际应用时,不能挂接过多的DS18B20,若是挂得太多就要解决其驱动能力问题。
⑤在DS18B20测温实际应用中,一定要确保每个DS18B20都接触良好否则系统会陷入死循环,这一点在进行DS1820硬件连接和软件设计时也要给予一定要注意。
4 硬件电路设计
系统电路主要功能包括:多路温度采集与其相关处理,实时显示温度信息,硬件设计主要包括以下几个模块:电源电路、按键电路、液晶显示电路、温度采集电路、报警电路、复位电路、时钟电路等。具体硬件电路框图结构如图6:
电源
图 6 硬件电路框图结构
4.1 电源
4.1.1 电源电路
因为单片机工作电源为+5V,且电路功耗很小。采用电池组 和LM7805三端稳压片即可满足要求,使移动作业更方便。LM7805系列为3端稳压器件,能提供5V的输出电压。应用围广,含过流和过载保护电路,带散热片时能持续提供1.5A的输出电流。具体电路如下图7:
图 7 电源电路
主要特点:
具有最大输出电流可达 1.5A、输出电压有5V、过热保护、短路保护等特点
电源电路其主要作用是为单片机提供工作电源。
4.2 功能按键
4.2.1按键电路
单片机应用系统中除了复位按键有专门的复位电路,以与专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据。具体电路如下图8:
图8 按键电路
开关状态的输入:
按键开关状态的可靠输入有两种解决方法。一种是软件去抖动:它是在检测到有键按下时,执行一个10ms的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响。另一种为硬件去抖动:即为按键添加一个锁存器。两种方法都简单易行,本设计采用的是软件防抖动方式。
4.2.2 液晶显示电路
设计采用的是液晶LCD1602来显示温度、报警方位等。在液晶显示同一画面上显示三个方位实时温度的信息与温度超过报警信息,具体电路图如下图9:
图 9液晶显示电路
4.3 温度采集电路
DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成。根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成
功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。硬件连接电路如下图10:
图10温度采集电路
本系统为多路温度采集电路设计系统设计。DS18B20采用外部供电方式,理论上可以在一根数据总线上挂256个DS18B20,但实际应用中发现,如果挂接25个以上的DS18B20仍旧有可能产生功耗问题。另外单总线长度也不宜超过80M,否则也会影响到数据的传输。在这种情况下我们可以采用分组的方式,用单片机的多个I/O来驱动多路DS18B20。
4.4 报警电路设计
为了实现多点温度检测报警系统,本设计采用AT89C51单片机作为主控制器,采用扫描的方式对多点DS18B20温度传感器获取对应该位置的温度值,经处理后通过串口可以立即发送到上位机,如温度不在设定的围,给出声光报警信号。硬件连接电路如下图11:
图11报警电路
4.5 基于AT89C51简易转数测量系统复位电路
在上电或复位过程中,控制CPU的复位状态:这段时间让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。无论用户使用哪种类型的单片机,总要涉与到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。
单片机在启动时都需要复位,以使CPU与系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
复位电路通常采用上电自动复位和按钮复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。只要VCC的上升时间不超过1ms,就可以实现自动上电复位。除了上电复位外,有时还需要按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源VCC接通而实现的。
图 12 复位电路
图12兼有上电复位和按钮复位的电路。在单片机设计中,若有外部扩展的I/O接口电路需初始复位,如果它们的复位端和MCS-51单片机的复位端相连,复位电路中的R、C参数要受到影响,这时复位电路中的R、C参数要统一考虑以保证可靠的复位。如果单片机MCS-51单片机与外围I/O接口电路的复位电路和复位时间不完全一致,使单片机初始化程序不能正常运行,外围I/O接口电路的复位也可以不和MCS-51单片机复位端相连,仅采用独立的上电复位电路。一般来说,单片机的复位速度比外围I/O快些。若RC上电复位电路接MCS-51单片机和外围电路复位端,则能使系统可靠地同步复位。为保证系统可靠复位,在初始化程序中应用到一定的复位延迟时间。复位电路软件程序跑飞或者硬件发生错误的时候产生一个复位信号,控制MCS-51单片机从0000H单元开始执行程序,重新执行软件程序。此电路的输出端RESET接在单片机的复位引脚。
4.6基于AT89C52简易转数测量系统时钟电路
时钟在单片机中非常重要,单片机各功能部件的运行都是以时钟频率为基准。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是部时钟方式,另一种为外部时钟方式。
部时钟方式:部时钟方式电路图如下图13所示。
图13 时钟电路
MCS-51单片机部有一个用与构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器电路。电路中的电容C1和C2典型值通常选择为20PF左右。对外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率的围通常是在1.2MHz—12MHz之间。晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。为了提高温度稳定性,应采用温度稳定性能好的NPO高频电容。MCS-51单片机常选择振荡频率12MHz的石英晶体。外部时钟方式是使用外部振荡脉冲信号,常用于多片MCS-51单片机同时工作,以便于同步。对外部脉冲信号只要求高电平的持续时间大于20us,一般为低于12MHz的方波。外部的时钟源直接接到XTAL2端,直接输入到片的时钟发生器上。由于XTAL2的逻辑电平不是TTL的,因此要外接一个4.7k~10k的上拉电阻。这次的设计采用MCS-51的部时钟方式。因为外部时钟方式是用外部振荡脉冲信号,用于多片MCS-51单片机同时工作。在这次设计中只用一个MCS-51单片机,不需要振荡脉冲信号。
4.5 整体电路
电路原理图
展开阅读全文