基于proteus的温湿度测量系统设计.docx
- 文档编号:12697501
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:72
- 大小:404.78KB
基于proteus的温湿度测量系统设计.docx
《基于proteus的温湿度测量系统设计.docx》由会员分享,可在线阅读,更多相关《基于proteus的温湿度测量系统设计.docx(72页珍藏版)》请在冰豆网上搜索。
基于proteus的温湿度测量系统设计
毕业设计
基于PROTEUS的温湿度测量系统设计
摘要
温度和湿度是两个最基本的环境参数,与人们的生活息息相关。
在工农业生产、气象、环保、国防、科研等部门,经常需要对环境温度和湿度进行测量和控制。
准确测量温湿度在生物制药、食品加工、造纸等行业更是至关重要。
因此研究温湿度的测量和控制方法具有重要的意义。
本设计实现的是单片机温湿度测量和控制系统,通过LCD显示所测量的温湿度。
系统采用集温湿度传感器与A/D转换器于一体的SHT11芯片,通过单片机进行处理显示,其它模块包括了实时时钟/日期产生电路和超限报警处理电路,对测量的值进行实时显示和报警处理。
文章介绍了基于ATMEL公司的AT89C51系列单片机的温湿度实时测量与控制系统和显示系统的设计,包括介绍了硬件结构原理,并分析了相应的软件的设计及其要点,包括软件设计流程及其程序的实现。
系统结构简单、实用,提高了测量精度和效率。
关键词:
AT89C51、SHT11、LCD、DS1302、温湿度控制
ABSTRACT
Temperatureandhumidityaretwobasicenvironmentalparameterswhicharecloselyrelatedtopeople’slives.Intheindustrialandagricultureproduction,meteorology,environmentalprotection,nationaldefense,scientificresearchandotherdepartments,weoftenneedtomeasureandcontrolthetemperatureandhumidityoftheenvironment.Accuratemeasurementoftemperatureandhumidityinthepharmaceutical,foodprocessing,papermakingandothersectorsisessential.Sothemethodoftemperatureandhumiditycontrolandmeasurementisofgreatsignificance.
ThedesignimplementationofmeasurementandcontroltemperatureandhumidityisMCUsystem,throughwhichthetemperatureandhumiditymeasurementLCD.SystemadoptssettemperatureandhumiditysensorandA/DconverterforSHT11chipmicrocontrollerprocessing,throughthatothermodulesincludingreal-timedisplayandalarm.ThepaperintroducestheATMELcompanybasedonAT89C51single-chipseriesoftemperatureandhumiditymeasurementandcontrolsystemandreal-timedisplaysystemdesign,includingthehardwarestructureandprinciple,andthecorrespondingsoftwaredesign,includingthedesignofthesoftwareanditskeyprocessandprocedure.Systemstructureissimple,practical,andimprovethemeasuringprecisionandefficiency.
Keywords:
AT89c51,SHT11、LCD、DS1302、temperatureandhumiditycontrol
第1章绪论
1.1研究的目的及意义
温度和湿度与人们的生活息息相关。
在工农业生产、气象、环保、国防、科研等部门,经常需要对环境温度与湿度进行测量及控制。
准确测量温湿度在生物制药、食品加工、造纸等行业都是至关重要的。
传统的温度计是用水银柱来显示的,它的精确度不高,不易读数。
而采用单片机对温湿度进行控制,不仅具有控制方便、简单和灵活等优点,而且可以大幅度提高温湿度控制的技术指标。
用LCD来显示温湿度的数字看起来更加直观。
采用SHT11数字温湿度传感器作为检测元件,能够同时测试温度和湿度。
SHT11传感器可以直接读出被测的温湿度值。
同时单片机可以把测量出的数据通过串口传到计算机上,来完成工业中的自动控制,给工业生产带来了极大的便利。
用单片机控制的温湿度计不仅硬件电路简单,而且测量精度比较高。
用液晶显示测量值看起来比较美观。
无论在日常生活中还是在工业、农业方面都离不开对周围环境进行温湿度的测量。
因此,研究温湿度的测量具有非常重要的意义。
1.2国内外研究情况
测量温湿度的关键是温湿度传感器。
过去测量温度与湿度是分开的。
随着技术的进步和人们生活的需要出现了温湿度共测的传感器。
温度传感器的发展经历了3个阶段:
传统的分立式温度传感器、模拟集成温度传感器、智能集成温度传感器。
目前,国际上新型温度传感器正从模拟式向数字式、从集成化向智能化、网络化的方向发展。
温度传感器也是经历了这样一个阶段逐渐走向数字智能化。
现今国内外用的最多的温湿度传感器是SHTXX系列。
SHT11温湿度传感器应用于专利的工业COMS过程微加工技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电容式聚合体测湿元件和一个能隙式测温元件,并与一个14位的A/D转换器以及串行接口电路在同一芯片上实现无缝链接,从而具有超快响应,抗干扰能力强,性价比极高等优点。
采用SHT11数字温湿度传感器与单片机AT89C51相连比较容易,而且电路比较简单,软件设计也比较简单。
所以,本设计以SHT11数字温湿度传感器为例,介绍基于SHT11数字温湿度传感器的设计,该设计适用于人们的日常生活及工农业生产中用于温湿度的测量。
1.3系统内容的设计
1.3.1系统的主要性能指标
根据生活和一般工业环境,设计本产品的主要技术指标为:
·测温范围:
20—+80℃;湿度测量范围为30—90%Rh
·温度测量精度:
±0.5ºC
·湿度测量误差:
≤4%Rh
·可设置上、下限报警值,当湿度温度超限时,发出报警信号
·电源工作范围:
DC4.5~5.5V
1.3.2主要工作任务
根据本毕业设计实际的任务要求,选择合适的温湿度传感器,完成温湿度的测量,并设计显示电路模块、时钟电路模块、超限处理模块、复位电路模块的程序。
系统开始工作后,根据初始条件读取湿度值和温度值,测量数据经处理后,将其与设定的温湿度值比较,如果发现当前的温湿度超限,则发出报警信号,未超限时,系统显示正常的湿温度度值。
1.4方案论证
方案一:
采用单总线的DS18B20的温度传感器和HS110X相对湿度传感器组成测量和控制系统。
方案二:
采用集温湿度传感器和A/D转换器于一体的SHT11芯片构成温湿度的测量和控制系统。
由于传统的模拟式温湿度传感器一般不仅要设计信号调理电路,还要进行复杂的校准和标定过程,其测量精度难以保证,并且使用分立的温度传感器和湿度传感器测量电路比较麻烦。
而SHT11是具有二线串行接口的单片全校准数字式新型相对湿度和温度传感器,集温湿度传感器和A/D转换器于一体,可用来测量相对湿度、温度和露点等参数,具有数字式输出、免调试、免标定、免外围电路及全互换的特点,使用起来比较方便,且电路简单。
该传感器将CMOS芯片技术与传感器技术融合,为开发高集成度、高精度、高可靠性的温湿度测控系统提供了解决方案。
因此本设计采用方案二。
本设计核心部件为AT89C51,信号采集及处理部分由SHT11构成,进入单片机经处理后通过LCD1604显示温湿度,信号显示采用的液晶屏为5×7点阵,一行可显示16字,四行。
其他组成部分为实时时钟发生电路,产生与现在相同的时间和具体日期,通过LCD1604液晶模块显示。
在软件设计部分有对测量的温湿度进行上下值的设定,当测量超过限定值时,通过超限报警处理电路对其进行处理,分别显示不同的二极管灯亮,蜂鸣器产生长鸣。
硬件中包括一个开关,为复位开关。
开机后,所有器件初始化,DS1302产生实时时间和日期,温湿度传感器SHT11开始进行温湿度测量和计算,最后通过两个LCD液晶显示器显示结果。
在测量结果中有超过设定的温湿度上下限的,通过超限模块做出反应。
电路主要包括了AT89C51控制模块、SHT11温湿度测量模块、DS1302时间模块、LCD显示模块、超限处理模块。
其他是一些附件,比如复位、晶振电路。
图1.1整体电路框图
第2章工具简介
系统单片机代码采用C语言编写,并用Keil软件检查程序有无错误,在Proteus仿真软件上进行仿真。
2.1C语言
2.1.1C语言的优点
C语言的运算符丰富,它包括的范围相当广泛,使得C语言的运算类型极其丰富,并且表达方式的类型多样化,能够实现在高级语言中不能实现的运算,它有32个关键字,9种控制语句。
和汇编语言一样,它能够对位,字节和地址进行操作;数据类型很丰富,能实现各种复杂的数据类型,同时还加入了指针的概念,使得效率更高,同时支持图形编辑,以及多种显示器等;它所应用的结构式语言,这种方式会让程序有层次,一目了然,同时语法显示不严格,设计自由度高;C语言提供给用户的方式是一函数的形式,它们可以方便调用,使得程序完全结构化;地址的访问上,能够访问物理地址,对硬件进行直接操作;适用范围广,能够适用于多种操作,例如:
DOS、UNIX等,同时适用于多种机型。
2.1.2C语言的缺点
它的缺点主要是数据封装的安全性不高,因此这一点也成为了C语言和C++的最大的区别,另一方面由于语法以及变量的类型没有严格限制,也造成了较低的安全性,再者从应用角度来说,它比较其他的高级语言来说较为难以掌握。
2.2Proteus简介
Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等。
Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。
此系统受益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—“TheRoutetoPCBCAD”。
Proteus产品系列也包含了革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。
用户甚至可以实时采用诸如LED/LCD、键盘、
RS232终端等动态外设模型来对设计进行交互仿真。
其功能模块:
一个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真;ARESPCB设计。
PROSPICE仿真器的一个扩展PROTEUSVSM:
便于包括所有相关的器件的基于微处理器设计的协同仿真。
此外,还可以结合微控制器软件使用动态的键盘,开
关,按钮,LEDs甚至LCD显示CPU模型。
·支持许多通用的微控制器,如PIC,AVR,HC11以及8051.最新支持ARM
·交互的装置模型包括:
LED和LCD显示,RS232终端,通用键盘,I2C,SPI器件
·强大的调试工具,包括寄存器和存储器,断点和单步模式
·IARC-SPY和KeiluVision2等开发工具的源层调试
·应用特殊模型的DLL界面-提供有关元件库的全部文件
最新版支持非常丰富仿真元件共7000多种,还有很多第三方模型。
如MMC卡,以太网卡,ATA硬盘,麦克风,等等。
2.3KeilC51编译器简介
2.3.18051开发工具
KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。
C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。
C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:
编译器,汇编器,实时操作系统,项目管理器,调试器。
uVision2IDE可为它们提供单一而灵活的开发环境。
2.3.2uVision2集成开发环境
项目管理
工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。
一个单一的uVision2工程能够产生一个或多个目标程序。
产生目标程序的源文件构成“组”。
开发工具选项可以对应目标,组或单个文件。
uVision2包含一个器件数据库(devicedatabase),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。
此数据库包含:
片上存储器和外围设备的信息,扩展数据指针(extradatapointer)或者加速器(mathaccelerator)的特性。
uVision2可以为片外存储器产生必要的连接选项:
确定起始地址和规模。
编辑器和调试器
uVision2编辑器包含了所有用户熟悉的特性。
彩色语法显像和文件辩识都对C源代码进行和优化。
可以在编辑器内调试程序,它能提供一种自然的调试环境,使得可以更快速地检查和修改程序。
C51编译器
KEILC51编译器在遵循ANSI标准的同时,为8051微控制器系列特别设计。
语言上的扩展能让用户使用应用中的所有资源。
1)存储器和特殊功能寄存器的存取
C51编译器可以实现对8051系列所有资源的操作。
SFR的存取由sfr和sbit两个关键字来提供。
变量可旋转到任一个地址空间。
用关键字-at-还能把变量放入固定的存储器存储模式(大,中,小)决定了变量的存储类型。
连接定位器支持的代码区可达32个,这就允许用户在原有64KROM的8015基础上扩展程序。
在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。
2)中断功能
C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。
可再入功能是用关键字来定义的。
多任务,中断或非中断的代码要求必须具备可再入功能。
3)灵活的指针
C51提供了灵活高效的指针。
通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。
特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。
由
于地址的存储只需1-2字节,因此,指针存取非常迅速。
第3章硬件设计
3.1芯片介绍
3.1.1单片机——AT89C51
AT89C51是一种带4k字节可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
89C2051是一种带2K字节可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。
89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:
·与MCS-51兼容
·4K字节可编程闪烁存储器
·寿命:
1000写/擦循环
·数据保留时间:
10年
·全静态工作:
0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
管脚说明:
VCC:
供电电压
GND:
接地
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,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)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
表3.1.1P3口管脚备选功能
P3.0RXD
串行输入口
P3.4T0
计时器0外部输入
P3.1TXD
串行输出口
P3.5T1
计时器1外部输入
P3.2/INT0
外部中断0
P3.6/WR
外部数据存储器写选通
P3.3/INT1
外部中断1
P3.7/RD
外部数据存储器读选通
P3口同时为闪烁编程和编程校验接收一些控制信号。
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:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2
应不接。
输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的
脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器、串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
结构特点:
·8位CPU;
·片内振荡器和时钟电路;
·32根I/O线;
·布尔处理器;
·外部存贮器寻址范围ROM、RAM64K;
·2个16位的定时器/计数器;
·5个中断源,两个中断优先级;
·全双工串行口;
3.1.2LCD显示——LCD1604
LCD1604原理
1604采用标准的16脚接口,其中:
1脚:
VSS为地电源
2脚:
VDD接5V正电源
3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令
7~14脚:
D0~D7为8位双向数据线
15~16脚:
空脚
1604液晶模块内部的控制器共有11条控制指令,如表3.1.2所示,
表3.1.21604液晶指令表
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
清显示
0
0
0
0
0
0
0
0
0
1
光标返回
0
0
0
0
0
0
0
0
1
*
置输入模式
0
0
0
0
0
0
0
1
I/D
S
显示开/关控制
0
0
0
0
0
0
1
D
C
B
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
置功能
0
0
0
0
1
DL
N
F
*
*
置字符发生存储器地址
0
0
0
1
字符发生存储器地址(AGG)
置数据存储器地址
0
0
1
显示数据存储器地址(ADD)
读忙标志或地址
0
1
BF
计数器地址(AC)
写数到CGRAM或DDRAM
1
0
要写的数
从CGRAM或DDRAM读数
1
1
读出的数据
它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)
指令1:
清
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 proteus 温湿度 测量 系统 设计