基于51单片机的电脑环境监测系统资料.docx
《基于51单片机的电脑环境监测系统资料.docx》由会员分享,可在线阅读,更多相关《基于51单片机的电脑环境监测系统资料.docx(18页珍藏版)》请在冰豆网上搜索。
基于51单片机的电脑环境监测系统资料
摘要
21世纪是信息化时代,电子产品如雨后春笋般迅猛发展,电子测量设备也逐渐丰富起来。
模拟产品逐渐被数字化产品取代,并且使用变得越来越方便。
虽然现今市面上有很多环境测试仪,但针对人们经常使用的电脑的环境检测仪却很少,因此设计出一个简单实用的环境测试仪是很有意义的。
本环境测试仪由温湿度传感器电路,LCD动态显示电路,复位电路及处理器单片机组成,基于单片机对数字信号的高敏感和可控性、温湿度传感器采用单总线数据格式,设计了以8051基本系统为核心的一套检测系统,系统由信号采集、信号分析和信号处理三个部分组成的。
(一)信号采集DHT11模块电路组成;
(二)信号分析单片机8051基本系统组成;
(三)信号处理由串行口LCD显示、蜂鸣器报警电路。
通过硬件的连接接、静态和动态调试和程序的编写和修改以及电路仿真,作品最终很好地实现了实验任务和要求。
关键词:
单片机8051;DHT11模块;1602显示;电路程序proteus仿真
1.课题的任务与要求
1.1任务..........................................................3
1.2任务目标......................................................3
1.3课题要求......................................................3
2.系统概述
2.1方案的比较和论证..............................................................................................3
2.1.1传感器的选择............................................................................................4
2.1.2显示模块的选择........................................................................................5
3.系统的总体设计
3.1.1温湿度传感器................................................................................................7
3.1.2数据读取........................................................................................................8
3.2.1单片机MCS-51..............................................................................................10
3.3显示设计.......................................................................................................14
4.程序及设计......................................................................................................15
5.参考文献.............................................................................................................17
第一部分课题的任务和要求
1.1任务:
设计出一个简单实用的电脑的环境检测仪。
1.2任务目标
1、巩固所学的知识,学会通过各种途径查找资料;
2、理论知识联系实际,解决实际问题;
3、通过实物制作,掌握相关芯片的功能,锻炼动手能力及分析思考能力。
4、进行电路仿真,熟悉并掌握proteus软件的使用
1.3课题要求
本设计利用MCS-51系列单片机,配合传感器,设计出一款人性化环境测试仪,可以检测周围环境的温度、湿度,通过LCD以简单直观的方式显示出来。
温度、湿度或同时显示每大约两秒刷新一次,测量的误差不超过2%。
第二部分系统概述
2.1方案的比较和论证
当将单片机用作测控系统时,系统总要有被测信号懂得输入通道,由计算机拾取必要的输入信息。
对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。
传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无法实现。
工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效率和高质量。
2.1.1传感器的选择
方案一:
采用PT100的铂热电阻
它的工作原理:
当PT100在0摄氏度的时候他的阻值为100欧姆,它的阻值会随着温度上升而成近似匀速的增长。
但他们之间的关系并不是简单的正比的关系,而更应该趋近于一条抛物线。
铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。
缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。
按IEC标准测温范围-200~650℃,XX电阻比W(100)=1.3850时,R0为100Ω和10Ω,其允许的测量误差A级为±(0.15℃+0.002|t|),B级为±(0.3℃+0.005|t|)。
方案二:
采用DS18B20
测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
DS1822的精度较差为±2°C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,新的产品支持3V~5.5V的电压范围,DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问
方案三:
采用DHT11模块
DHT11的供电电压为3-5.5V。
传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令。
电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。
测量温度范围为0°C~+50°C,精度为±2°C
湿度测试范围20-90%RH,精度为±5%RH。
DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分
注意事项:
(1)避免结露情况下使用。
(2)长期保存条件:
温度10-40℃,湿度60%以下。
结合方案一、方案二、方案三,方案一价格较高,方案二虽然测温范围较大精度高,但是需要选取其他测湿度模块,这样会增大测温系统的体积,方案三集合了测温测湿于一体,减小了系统的体积,而且测温范围和测试范围符合要求,我们系统的精度要求并不高,所以DHT11的温度湿度误差对我们的系统没有太大的影响,所以,经过多番筛选,我选择了方案三。
2.1.2显示模块的选择
方案一:
LCD1602模块
工业字符型液晶,能够同时显示16x02即32个字符。
(16列2行),1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
价格低,大约6块钱,在编程使用方面,就是写指令、写地址、写数据
方案二:
12864模块
12864液晶是一种统称,只说明类屏的一个特征,就是128*64个点构成。
对于液晶屏的特性则没有说明。
该点阵的屏显成本相对较低,适用于各类仪器,小型设备的显示领域。
能显示8*4个汉字,因型号不同,有的带汉字库,有的不带,能显示图像效果,最少40块钱一块,在编程使用方面,就是写指令、写地址、写数据
方案三:
数码管显示
数码管也称LED数码管,不同行业人士对数码管的称呼不一样,其实都是同样的产品。
按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
数码管是显示屏其中一类,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。
由于它的价格便宜使用简单在电器特别是家电领域应用极为广泛,空调、热水器、冰箱等等。
绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。
结合方案一、方案二、方案三,方案二价格较方案一来说价格高,方案三价格低但是显示内容有限,综合比对,方案一足够显示温度和湿度两个测量值。
第三部分系统总体设计
LCD显示
本设计是基于单片机对数字信号的高敏感和可控性、温湿度传感器返回值,我设计了以8051基本系统为核心的一套检测系统,其中包括单片机、复位电路、温湿度检测显示、报警电路、系统软件等部分的设计。
单片机
DHT11温湿度传感器
报警系统
图1系统总体框图
本设计由信号采集、信号分析和信号处理三个部分组成的。
(一)信号采集DHT11模块电路组成;
(二)信号分析单片机MCS-51(8051)基本系统组成;
(三)信号处理由串行口LCD显示、蜂鸣器报警电路。
3.1信号采集
3.1.1温湿度传感器
一.DHT11产品概述
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT11传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
产品为4针单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供。
二.主要特性
相对湿度和温度测量
全部校准,数字输出
卓越的长期稳定性
无需额外部件
超长的信号传输距离
超低能耗
4引脚安装
图2
完全互换
三.详细参数
参数
条件
Min
Typ
Max
单位
湿度
分辨率
1
1
1
%RH
16
Bit
重复性
±1
%RH
精度
25℃
±4
%RH
0-50℃
±5
%RH
互换性
可完全互换
量程范围
0℃
30
90
%RH
25℃
20
90
%RH
50℃
20
80
%RH
响应时间
1/e(63%)25℃,1m/s空气
6
10
15
S
迟滞
±1
%RH
长期稳定性
典型值
±1
%RH/yr
温度
分辨率
1
1
1
℃
16
16
16
Bit
重复性
±1
℃
精度
±1
±2
℃
量程范围
0
50
℃
响应时间
1/e(63%)
6
30
S
四.接口说明以及应用电路
建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻
图3
DHT11的供电电压为3-5.5V。
传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令。
电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。
3.1.2数据读取
DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:
8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验
数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。
1.通讯过程如图4所示
图4
总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。
DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后,读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线由上拉电阻拉高。
图5
总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。
数字0信号表示方法如图6所示
图6
数字1信号表示方法.如图7所示
图7
3.2信号分析与处理
3.2.1单片机MCS51
为了设计此系统,我们采用了8051单片机作为控制芯片,在前向通道中是一个非电信号的电量采集过程。
它由传感器采集非电信号,从传感器出来经过功率放大过程,使信号放大,再经过模/数转换成为计算机能识别的数字信号,再送入计算机系统的相应端口。
3.2.1.18051的引脚图
3-158051引脚图
8031的制作工艺为HMOS,采用40管脚双列直插DIP封装,引脚说明如下:
VCC(40引脚)正常运行时提供电源。
VSS(20引脚)接地。
XTAL1(19引脚)在单片机内部,它是一个反向放大器的输入端,该放大器构成了片内的震荡器,可以提供单片机的时钟信号,该引脚也是可以接外部的晶振的一个引脚,如采用外部振荡器时,对于8051而言此引脚应该接地。
XTAL2(18引脚)在内部,接至上述振荡器的反向输入端,当采用外部振荡器时,对MCS51系列该引脚接收外部震荡信号,即把该信号直接接到内部时钟的输入端。
RST/VPD(9引脚)在振荡器运行时,在此引脚加上两个机器周期的电平将单片机复位,复位后应使此引脚电平保持不高于0.5V的低电平以保证8051正常工作。
在掉电时,此引脚接备用电源VDD,以保持RAM数据不丢失,当BVCC低于规定的值时,而VPD在其规定的电压范围内时,VPD就向内部数据存储器提供备用电源。
ALE/PROG(30引脚)当8051访问外部存储器时,包括数据存储器和程序存储器,ALE9地址锁存允许0输入的脉冲的下沿用于锁存16位地址的低8位,在不访问外部存储器的时候,ALE仍有两个周期的正脉冲输出,其频率为振荡器的频率的1/6,在访问外存储器的是候,在两个周期中,ALE只出现一次,ALE断可驱动8个LSTTL负载,对于有片内EPROM的而言,在EPROM编程期间,此脚用于输入编程脉冲PROG。
(29引脚)此脚输出为单片机内访问外部程序存储器的读选通信号,在读取外部指令期间,PSEN非有两次在每个周期有效,在此期间,每当访问外部存储器时,两个有效的PSEN非将不再出现,同样这个引脚可驱动8个LSTTL负载。
/VPP(31引脚)当
保持高电平时,单片机访问内部存储器,当PC值超过0FFFH时,将自动转向片外存储器。
当
保持低电平时,则只访问外部程序存储器,对8031而言,此脚必须接地。
P0,P1,P2,P3:
8051有四个并行口,在这四个并行口中,可以在任何一个输出数据,又可以从它们那得到数据,故它们都是双向的,每一个I/O口内部都有一个8位数据输出锁存器和一个8位数据输入缓冲器,各成为SFR中的一个,因此CPU数据从并行I/O口输出时可以得到锁存,数据输入时可以得到缓冲,但他们在功能和用途上的差异很大,P0和P2口内部均有个受控制器控制的二选一选择电路,故它们除可以用做通用I/O口以外还具有特殊的功能,P0口通常用做通用I/O口为CPU传送数据,P2口除了可以用做通用口以外,还具有第一功能,除P0口以外其余三个都是准双向口。
8051有一个全双工串行口,这个串行口既可以在程序下把CPU的8位并行数据变成串行数据一位一位的从发送数据线发送出去,也可以把串行数据接受进来变成并行数据给CPU,而且这种串行发送和接收可以单独进行也可以同时进行。
8051的串行发送和接收利用了P3口的第二功能,利用P3.1做串行数据接收线,串行接口的电路结构还包括了串行口控制寄存器SCON,电源及波特率选择寄存器PCON和串行缓冲寄存器SBUF,他们都属于SFR,PCON和SCON用于设置串行口工作方式和确定数据发送和接收,SBUF用于存放欲发送的数据起到缓冲的作用。
3.2.1.2工作方式
它的工作方式可以分做复位,掉电和低功耗方式等。
一、复位方式
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
常用的上电复位电路如图(3-15a)中左图所示。
图中电容C1和电阻R1对电源十5V来说构成微分电路。
上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能,如图(3-15a)中所示。
上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。
常用的上电或开关复位电路如图(3-15b)所示。
上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。
当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。
图(3-16a)中:
Cl=10-30uF,R1=1kO
图(3-16b)中:
C:
=1uF,Rl=lkO,R2=10kO
3.2.3数据存储器的掉电保护
单片机系统内的RAM数据是非常容易丢失的,特别是一些珍贵的科研数据,一旦丢失后果不堪设想,因此掉电保护是必须要做的,一旦电源发生掉电现象,在掉电的瞬间系统能自动保护RAM中的数据和系统的运行状态,当电源恢复正常供电后能恢复到掉电前的工作状态。
3.2.4系统时钟的设计
时钟电路是用来产生8031单片机工作时所必须的时钟信号,8031本身就是一个复杂的同步时序电路,为保证工作方式的实现,8031在唯一的时钟信号的控制下严格的按时序执行指令进行工作,时钟的频率影响单片机的速度和稳定性。
通常时钟由于两种形式:
内部时钟和外部时钟。
我们系统采用内部时钟方式来为系统提供时钟信号。
MCS-51内部有一个用于构成振荡器的高增益反向放大器,该放大器的输入输出引脚为XTAL1和XTAL2,它们跨接在晶体振荡器和用于微调的电容,便构成了一个自激励振荡器
电路中的C1、C2的选择在30PF左右,但电容太小会影响振荡的频率、稳定性和快速性。
晶振频率为在1.2MHZ~12MHZ之间,频率越高单片机的速度就越快,但对存储器速度要求就高。
为了提高稳定性我们采用温度稳定性好的NPO电容,采用的晶振频率为12MHZ。
图3-19系统时钟
3.3显示的设计
3.3.1显示电路
参看1602液晶芯片资料可以对其写入内容和设定内容的显示位置以及显示方式。
将1602液晶与单片机最小系统相连接就构成了本次设计方案。
1602液晶与单片机的连接方式是1602液晶的数据端D0~D7连接在单片机的P0口,1602液晶的数据命令选择端RS接在单片机的P2.6引脚,读写控制端RW接在单片机的P2.5引脚,使能端EN接在单片机的P2.7脚。
设计的电路图如图
4程序及设计
温度控制主程序的设计应考虑以下问题:
(1)温湿度采集、温湿度显示、越限报警和处理。
主程序流程图:
温度采样子程序流程图:
参考文献
1张琳娜,刘武发.传感检测技术及应用.中国计量出版社,1999
2沈德金,陈粤初.MCS-51系列单片机接口电路与应用程序实例.北京航空航天大学出版社,1990
3胡汉才.单片机原理及接口技术.清华大学出版社,1996
4李志全等.智能仪表设计原理及应用.国防工业出版社,1998.6
5何立民.MCS-51系列单片机应用系统设计.北京航空航天大学出版社,1990.1
6李建民.单片机在温度控制系统中的应用.江汉大学学报,1996.6
7张毅刚、彭喜元、姜守达、乔立岩.新编MCS-51系列单片机应用设计.哈尔滨工业大学出版社,2003.6
8潘其光.常用测温仪表技术问答.国防工业出版社,1989