基于STC12C5410AD单片机的温湿度检测仪设计说明.docx
- 文档编号:5775555
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:37
- 大小:567.48KB
基于STC12C5410AD单片机的温湿度检测仪设计说明.docx
《基于STC12C5410AD单片机的温湿度检测仪设计说明.docx》由会员分享,可在线阅读,更多相关《基于STC12C5410AD单片机的温湿度检测仪设计说明.docx(37页珍藏版)》请在冰豆网上搜索。
基于STC12C5410AD单片机的温湿度检测仪设计说明
科技大学
本科生毕业论文(设计)
题目基于STC12C5410AD单片机的温湿度检测仪
二级学院电子信息工程学院
专业电子信息工程
学生 海宾
学号年级2008
指导教师炎增职称讲师
教务处制表
2012年5月30日
基于STC12C5410AD单片机的温湿度检测仪
摘要
温湿度是环境中一个重要的物理参数,人类的生存和社会活动与温湿度密切相关。
在生产和生活中的许多场合,不论是仓库管理、图书保存,还是工业生产、居民生活,都对环境中的温湿度有一定的要求,在某些行业中对温湿度的要求更高。
因此,对环境中温湿度的检测和控制显得尤为重要,温湿度检测在很多现代科技领域中也成为一项重要技术。
在整个设计过程中,我们综合参考了国外同类产品的设计方法,结合用户的实际需求,经研究之后,硬件部分的设计采用了以带有A/D转换器的STC12C5410AD单片机为核心控制器件,系统采用集温湿度传感器与A/D转换器为一体的SHT11芯片采集环境中的温湿度,模拟输入接口接入键盘实现人机交换功能,并用LCD作为显示设备的硬件设计方案。
此外,在通信方面使用RS-232串行数据接口与计算机进行数据传输。
软件部分则采用采用模块化的方法将其分成几个部分,然后逐模块设计程序,用汇编语言来实现,最终使各部分结合起来协调工作。
该温湿度检测仪的设计,能够完成的温湿度检测,实现主要的温湿度检测功能。
关键词:
STC12C5410AD单片机,传感器,LCD,温湿度
MEASURINGINSTRUMENTFORHUMIDITYBASEED
ONSTC12C5410ADMICROCONTROLLER
ABSTRACT
Thehumitureisanimportantphysicsparameterofenvironment,humanbeing'ssurvivalandpublicactivitiesgohandinhandwiththehumiture.manysituationsthatareintheproductionandthelife,notonlywarehousemanagement,preservationofbooks,butalsoindustrialproduction,residentslife,allhavecertainrequesttothehumitureoftheenvironment,someprofessionshavehigherrequirements.Therefore,itappearsveryimportanttoexaminationandcontrolthehumitureoftheenvironment,andhumituredetectingbecomesanimportanttechnologyinmanymodernscienceandtechnologyfields.
Inthewholedesignprocess,wehavesynthesizedreferredtothedomesticandforeignsimilarproductsdesignmethod,theunionuser'sdemand,aswellashighXingjiancomparedtoandsoontarget,afterresearch,usedtakeincludedA/DtheswitchtheSTC12C5410ADmicrocontrollerasthecorecontrolcomponent,SystemadoptssetsandhumiditysensorandA/DconverterfortheintegrationofSHT11chipmicrocontrollerprocessing,andtookthegraphicdisplaydevicewithLCDthehardwaredesignproposal.Inaddition,hasusedtheRS-232serialdataconnectionintheserialcommunicationaspect.Butsoftwarepartialusesmodularthedesignmethod,causesvarioussegmentsthefunctionevenmoretobeclearabout,thereadabilityisstronger.
Thetemperatureandhumiditydetectorcircuitdesign,tocompleteacaptialtemperatureandhumiditytesting,achievingbasicfunctionsoftemperatureandhumiditytesting.
KEYWORDS:
STC12C5410ADmicrocontroller,Sensor,LCD,Humiture
目 录
§3.2.1温湿度采集子程序.................................................15
§3.2.2SHT11的工作原理...................................................16
前 言
日常生活中,档案馆、图书馆、精密仪器室、超净车间等诸多场所都对环境温湿度有严格的要求,温湿度集散控制技术也是比较常见的应用技术。
随着科技的进步,温湿度的相关检测仪表也向着智能化、小型化、低功耗的方向发展。
在这个发展过程中,单片机发挥了重要的作用,本文介绍的温湿度检测仪就是以单片机作为核心控制器设计的。
它具有体积小、操作简单、测量精度高和抗干扰能力强等优点,能很好的满足许多环境中对温湿度检测围和精度的要求。
本设计首先根据实际生产生活的需要提出温湿度检测仪的功能要求,然后由这些具体要求设计出了硬件原理图,采用模块化的方法先将整个系统分成若干部分,然后逐模块进行硬件和软件设计,最后将各部分结合起来协调工作。
它是利用单片机的在控制方面的突出优点,并综合运用现代检测技术、微控制技术、数据处理和通信技术以与LCD显示技术而设计的。
可以实时、准确的测量环境中的温度和相对湿度。
论文的第一章介绍了温湿度检测仪的主要性能指标与其工作原理,概括介绍了温湿度检测仪的硬件设计总体方案和温湿度检测仪的应用软件系统的设计方案;第二章主要介绍了温湿度检测仪的硬件电路设计,重点介绍了温湿度检测电路的设计;第三章主要介绍了基于STC12C5410AD单片机的温湿度检测仪的软件设计。
第1章温湿度检测仪的总体技术方案
温度和湿度是重要的环境参数,在很多方面都起着重要的作用,而对环境中的温度和湿度的检测也尤为重要。
本文中的基于STC12C5410AD单片机的湿度检测仪就是针对这一需求而设计的,它综合运用了检测技术、数据处理和通信技术以与LCD显示技术,可以实时、准确的测量环境中的温度和相对湿度,并且可以和PC机进行通信,作为温湿度记录仪使用。
在此设计过程中,我们综合分析了不同用户在不同场合的不同需求,并且借鉴了国外同类仪表设计的经验,经研究之后,采用了以带有A/D转换器的STC12C5410AD单片机为核心控制器件,采用集温湿度传感器于一体的SHT11芯片为主要芯片的温湿度计作为数据获取元件的方案。
它的设计过程主要包含硬件设计和软件设计两大过程,以下是该温湿度检测仪设计的大概过程。
§1.1温湿度检测仪的主要性能指标与其工作原理
§1.1.1主要性能指标
1.相对湿度测量精度:
±2.0%,湿度检测围:
0~100%。
2.温度测量精度:
±0.1℃,温度检测围:
-40~+123.8℃。
3.可有用户自行校准仪表的测量精度,无需硬件调整。
4.可直接与微机串行口连接,作环境相对湿度与温度的高精度记录仪使用。
5.LCD显示。
6.电源:
DC9V±10%。
7.工作环境温度≤123.8℃,工作环境湿度≤100%。
§1.1.2温湿度检测仪的基本工作原理
加载有相应程序的STC12C5410AD单片机定时采集温湿度测量电路SHT11输出的信号,然后将这些模拟信号转化为数字信号,分别将这些数据存储于数据存储器中,然后送LCD显示。
§1.2温湿度检测仪的硬件设计方案概述
硬件部分是检测仪的重要部分,设计的好坏直接影响到整机的性能。
该检测仪采用STC12C5410AD单片机为核心,整个硬件系统分为以下几个部件,具体如图1-1所示:
图1-1硬件电路框图
温湿度传感器由SHT11构成,键盘输入电路实现人机对话的功能,可通过键盘设置是否进行温度和湿度的检测。
RS-232接口电路与PC机的串行口联接,实现程序的下载。
电源电路部分为单片机的正常工作提供稳定可靠的电压。
§1.3温湿度检测仪的软件设计方案概述
该仪表的软件设计采用模块化的程序设计方法,其结构见图1-2:
图1-2软件设计模块图
检测仪的应用软件系统包括:
主程序模块、温湿度检测模块、、键盘和显示模块以与串行通信模块。
主程序的容包括:
主程序的起始地址,中断服务程序的起始地址,有关存单元与相关部件的初始化和一些子程序。
温湿度检测模块主要是完成温湿度数据的存储和显示。
键盘、显示模块完成检测仪控制和数据显示功能;通信模块实现程序的下载和烧录。
第2章温湿度检测仪硬件电路的设计
此系统采用了以含有A/D转换器的STC12C5410AD单片机为核心控制器件,以高灵敏度传感器SHT11为温湿度获取元件,用LCD作为显示设备。
这个系统主要由STC12C5410AD单片机电路、温度测量电路、相对湿度测量电路、键盘输入电路与LCD显示电路。
§2.1温湿度检测仪单片机电路的设计
该检测仪的设计是以STC12C5410AD单片机为核心部件,STC12C5410系列单片机是单时钟/机器周期(1T)的兼容8051核单片机,是高速/低功耗的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍,部集成MAX810专用复位电路。
拥有4路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。
工作电压:
5.5V~3.5V(5V单片机),工作频率围:
0~35MHz,用户应用程序空间12K/10K/8K/6K/4K/2K/1K字节……,片上集成512字节RAM,有EEPROM功能,部集成MAX810专用复位电路(外部晶体12M以下时,可省略外部复位电路)。
图2-1STC12C5410AD单片机的引脚排列与基本外围电路图
运用STC12C5410AD单片机的输入/输出接口P1.5和P1.6定时采集温度测量电路电压信号和相对湿度测量电路输出的频率信号,并对湿度的频率进行线性化处理和温度补偿,从而获得温度和相对湿度数据,分别将这些数据存储于数据存储器中,然后再通过P1.0和P1.1口把芯片处理的数据送入显示模块电路进行显示。
单片机通过模拟输入口P1.3连接键盘,用户可以通过键盘输入实现人机交换。
STC12C5410AD单片机的P3.0、P3.1口与RS-232串行接口相连实现与PC机的串行通信。
STC12C5410AD单片机片的时钟产生方式采用的是部时钟方式,即在XLAT1和XLAT2两引脚间外接石英晶体和电容构成一个自激振荡器,从而向部时钟电路提供振荡时钟。
震荡器的频率主要取决于晶体的振荡频率,一般晶体可在1.2~12MHz之间任选。
通过改变电容C1、C2的值进行微调,通常取30pF左右。
本设计中晶体的振荡频率取11.0592MHz,电容的值取30pF。
复位电路的基本功能是:
系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。
为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。
本设计中STC12C5410AD单片机的复位电路采用的是开关复位电路,如图2-1所示,开关未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC一样。
随着电容的充电,RST脚上的电压才慢慢下降。
选择合理的充电常数,就能保证在开关按下时使RST端有两个机器周期以上的高电平,从而使STC12C5410AD部复位。
SW1按下时是按键手动复位电路,RST端通过R1与VCC电源接通,提供足够时间的复位电平,使单片机复位。
基于STC12C5410AD单片机的温湿度检测仪的硬件原理图见附录。
§2.2温湿度检测仪其他硬件电路的设计
该温湿度检测仪的硬件系统由以下几部分组成:
单片机控制电路、温湿度测量电路、键盘扫描电路、LCD显示电路、与PC机通信的RS-232转换电路等。
这些部分组合起来协调工作,从而达到温湿度检测的目的,各部分设计如下。
§2.2.1温湿度检测电路的设计
本设计共涉与两类数据——温度和湿度,因此需要两个传感器芯片,一个负责温度采集,另一个负责湿度采集。
若采用独立式传感器芯片,会给程序带来不变,也会给单片机增加负担。
因此,本设计选用一款集温度、湿度测量于一体的复合式传感器——SHT11。
数字温湿度传感器是一款含有已校准数字信号输出的复合式传感器。
芯片部主要由相对湿度传感器,温度传感器,校准存储器,14位A/D转换器,信号放大器和I²C总线接口构成。
SHT11具有温度和相对湿度测量,露点值计算输出、全部校准、数字输出、免外围电路、低功耗等优点。
是本设计理想的温湿度测量与传输芯片。
SHT11简介:
(1)SHT11是瑞士Scnsirion公司推出的一款数字温湿度传感器芯片。
该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。
其主要特点如下:
◆高度集成,将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上;
◆提供二线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高;
◆测量精度可编程调节,置A/D转换器(分辨率为8~12位,可以通过对芯片部寄存器编程来选择);
◆测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能;
◆封装尺寸超小(7.62mm×5.08mm×2.5mm),测量和通信结束后,自动转入低功耗模式;
◆高可靠性,采用CMOSens工艺,测量时可将感测头完全浸于水中。
(2)SHT11的引脚功能
SHT11温湿度传感器采用SMD(LCC)表面贴片封装形式,接口非常简单,引脚名称与排列顺序如图3-5所示:
图3-5SHT11引脚图
◇脚1和4—信号地和电源,其工作电压围是2.4—5.5V;
◇脚2和脚3--二线串行数字接口,其中DATA为数据线,SCK为时钟线;
◇脚5~8—空脚。
(3)SHT11的部结构和工作原理
温湿度传感器SHT11将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。
这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大;然后进入一个14位的A/D转换器;最后经过二线串行数字接口输出数字信号。
SHT11在出厂前,都会在恒湿或恒温环境进行校准,校准系数存储在校准寄存器中;在测量过程中,校准系数会自动校准来自传感器的信号。
此外,SHT11部还集成了一个加热元件,加热元件接通后可以将SHT11的温度升高5℃左右,同时功耗也会有所增加。
此功能主要为了比较加热前后的温度和湿度值,可以综合验证两个传感器元件的性能。
在高湿(>95%RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。
加热后SHT11温度升高、相对湿度降低,较加热前,测量值会略有差异。
微处理器是通过二线串行数字接口与SHT11进行通信的。
通信协议与通用的I²C总线协议是不兼容的,因此需要用通用微处理器I/O口模拟该通信时序。
微处理器对SHT11的控制是通过5个5位命令代码来实现的,命令代码的含义如表3-1所示:
表3-1SHT11控制命令代码
命令代码
含义
00011
测量温度
00101
测量湿度
00111
读部状态寄存器
00110
写部状态寄存器
11110
复位命令,是部状态寄存器恢复默认值,下一次命令前至少等待11ms
其他
保留
对于SHT11与单片机的接口电路设计,由于SHT11是一个串行器件,而STC12C5410AD不具备I²C总线接口,故需要用单片机通用I/O口线来虚拟I²C总线,本设计利用P1.5口线来模拟时钟线,P1.6口线来模拟数据线。
为避免信号冲突,单片机应驱动DATA在低电平,需要加一个外部上拉电阻将信号拉至高电平,本设计采用两个10K的电阻分别作为时钟线和数据线的上拉电阻;另外,为了达到去耦滤波的目的,应在VCC和GND端接入一个0.1uF的电容;SHT11有三个地址位,由于目前只支持“000”,4个NC引脚悬空。
SHT11与单片机的接口电路如图3-6所示:
图3-6SHT11与单片机接口电路
§2.2.2其它模块电路的设计
键盘输入电路与LCD显示电路实现人机对话的功能。
RS-232接口电路与PC机的串行口联接,实现通信功能。
以下重点介绍LCD显示电路串行通信模块。
1.LCD显示电路
LCD显示电路用于实现中文窗口菜单和测量结果显示功能,可通过键盘扫描电路完成参数输入、菜单选择等操作。
因此,键盘扫描电路和LCD显示电路可视为人机对话接口。
显示模块电路如图2-4所示。
图2-4显示模块电路
电路中的HS12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器与128×64全点阵液晶显示器组成。
可完成图形显示,也可以显示8×4个(16×16点阵)汉字。
主要技术参数和性能:
(1).电源:
VDD:
+5V;模块自带-10V负压,用于LCD的驱动电压。
(2).显示容:
128(列)×64(行)点
(3).全屏幕点阵
(4).七种指令
(5).与CPU接口采用8位数据总线并行输入输出和8条控制线
(6).占空比1/64
(7).工作温度:
-10℃~+50℃,存储温度:
-20℃~+70℃
在显示电路中,单片机的P1.0、P1.1、P1.2端口通过由“与非门”构成的辅助电路与HS12864的E端口相连,来控制显示模块对单片机送来数据的操作;而P0.1口控制显示器显示容,即数据或指令;来自P0.2,P0.3的指令选择显示器左右半屏的信号。
2.串行通信模块
检测仪与PC机通信采用RS-232串行接口。
RS-232是PC机与通信工业中应用最广泛的一种串行接口,它被定义为一种在低速率串行通讯中增加通讯距离的单端标准。
RS-232采取不平衡传输方式,即所谓单端通讯。
由于其发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。
RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3~7kΩ,所以RS-232适合本地设备之间的通信。
RS-232是用正负电压来表示逻辑状态的,而TTL是用高低电平来表示逻辑状态的,因此,为了能够同PC机接口或终端的TTL器件连接,必须在RS-232与TTL电平之间进行电平转换。
在本设计中运用MAX232完成电平转换工作。
MAX232产品是由仪器公司(TI)推出的一款兼容RS-232标准的芯片。
该器件包含2个驱动器、2个接收器和一个电压发生器电路,提供TIA/EIA-232-F电平。
MAX232的引脚如图2-8所示,该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5V-TTL/CMOS电平。
每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。
其工作温度围为0℃至70℃,适用于各种EIA-232C和V.28/V.24的通信接口。
MAX232芯片部有一个电压变换器,可以把输入的+5V电源电压变换成为RS-232所需的电压。
所以,采用此芯片的串行通信系统只需单一的+5V电源就可以了。
图2-8MAX232的引脚图
通信模块电路如图2-9所示:
图2-9通信模块电路
第3章温湿度检测仪的软件设计
§3.1主程序模块的设计
主程序是系统控制和管理的核心,主要完成在系统上电后进行定时和中断处理操作的初始化。
它的容包括主程序的起始地址,中断服务程序的起始地址,有关存单元与相关部件的初始化和一些子程序调用等。
单片机通过I²C总线读写程序将温湿度数据从SHT11中读出来,然后,根据温湿度补偿(主要指非线性补偿)公式计算出当前温湿度值并送到12864显示;主程序设计流程如图3-1所示。
图3-1主程序流程图
主程序初始化的具体容包括时间中断的初始化、外部中断源的初始化、单片机I/O口初始化以与LCD初始化等。
然后对温度和湿度进行检测并将结果显示在LCD上。
§3.2温湿度检测模块的程序设计
§3.2.1温湿度采集子程序
(1)设计思路
单片机首先向温湿度传感器SHT11发出启动传输命令,然后通过写总线子程序将温度测量指令(地址位000+命令位00011)或者湿度测量指令(000+命令位00101)写入SHT11。
传感器正确接收到温度测量指令后,就会进行数据采集,单片机要等到测量完成,随后SHT11向单片机传送两字节测量数据(MSB和LSB)与1字节CRC校验码,单片机则通过读总线子程序将温湿度数据读取出来。
读子程序流程图:
图5-2获取温湿度子程序
(2)SHT11时序问题
从SHT11中读取数据以与往SHT11中写指令都涉与到了时序问题,下面简要介绍一下SHT11相关时序:
启动传输时序:
当时钟线SCK为高时将数据线DATA翻转为低电平,紧接着SCK变为低电平,然后在下一个时钟线SCK位高电平时DATA翻转为高电平。
测量时序:
当单片机发出了启动传输命令,且SHT11正确接收到温(湿)度测量命令后,单片机就要等到测量完成。
为表明测量完成,SHT11会使数据线为低,此时单片机必须重新启动SCK。
然后SHT11向单片机传送两字节测量数据(MSB、LSB)与1字节CRC校验码。
在传输过程中控制器必须通过使DATA为低来确认每一字节,所有的测量值从右算MSB列于第一位。
通讯在确认CRC数据位后停止。
如果没有用CRC-8校验码,则单片机需要在测量数据LSB后,保持ACK为高来停止通讯。
为了测量准确,保证在测量时SHT11自身温升低于0.1℃,因此SHT11的激活时间不要超过10%,例如对于12bit的测量,每秒最多测量2次。
通信复位时序:
如果在工作中发生微处理器与SHT11的通信失败,可采用下图所示的时序复位串口。
当DATA线处于高电平时,触发SCK9次以上(含9次),则进入重启SHT11的状态,注意这种时序只复位串口,SHT11的状态寄存器容仍然被保留。
§3.2.2SHT11的工作原理.
1)温度
SHT11的温度测量具有良好的线性,可直接采用如下公式得到的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC12C5410AD 单片机 温湿度 检测 设计 说明
![提示](https://static.bdocx.com/images/bang_tan.gif)