基于单片机温湿度显示警报系统设计说明.docx
- 文档编号:26045628
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:43
- 大小:526.42KB
基于单片机温湿度显示警报系统设计说明.docx
《基于单片机温湿度显示警报系统设计说明.docx》由会员分享,可在线阅读,更多相关《基于单片机温湿度显示警报系统设计说明.docx(43页珍藏版)》请在冰豆网上搜索。
基于单片机温湿度显示警报系统设计说明
基于单片机温湿度显示报警系统设计
1引言
1.1选题背景
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快[1]。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。
下面是单片机的主要发展趋势[2]。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法[3]。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命[4]。
单片机模块中最常见之一的是传感器,温湿度显示报警系统是一种基于单片机的用数字电路技术实现温湿度控制的装置,在实践社会生产当中拥有广泛的应用。
1.2目的和意义
随着社会的发展,人们对时间和环境中的温度与湿度的要求越来越高,尤其在日常的生活中和人们的生活和健康有着紧密的联系,特别是当人们乘坐公共交通工具时,温湿度以与实时时间和人们的出行都有着密切的联系。
温湿度控制在日常生活中使用比较普遍,如各种仪器控制箱、温室或生产车间的温度湿度控制、空调列车车厢空气环境的控制等[5]。
常见的低端产品多采用机械指针式或水银柱式温湿度计,体积小、质量轻、价格低、安装简便。
但是,此类产品测量精度低,没有LED显示屏,不能向智能化方向发展,不利于进行功能扩展,如不能自动报警[6]。
目前,虽然在工业生产中和科研实验过对温湿度测量来进行自动控制的设备越来越普与,应用场合也越来越多。
但是,随之而来的问题是如何能够测得精确的温湿度以保证自动控制设备能够正确地发出控制指令来控制生产过程。
另一方面,如果温度或者湿度过高过低可能会对一些设备中的一些半导体元器件造成损坏[7]。
因此,对于自动温湿度报警的需求也在逐渐增加。
本文基于以上方面的考虑,研究并设计了一种基于单片机的自动温湿度显示与报警系统。
一般温湿度控制系统中的温湿度测量均采用热敏电阻与湿敏电容,这种传统的模拟式温湿度传感器一般都需要设计信号调理电路并经过复杂的校准和标定过程,因此测量精度难以保证,且在线性度、重复性、互换性等方面也存在一定问题[8]。
这种传感器只适合那些测量点数较少,对精度要求不高的场合。
因此设计出一款基于单片机的精度高、稳定性好、成本低的温湿度显示报警系统具有重要实际意义。
1.3技术要求和设计围
现代社会越来越多的实验都要求在严格的环境条件下完成,而温度和湿度是实验室最基本的环境条件,也是对实验影响较大的因素。
一般温湿度控制系统中的温湿度测量均采用热敏电阻与湿敏电容[9],这种传统的模拟式温湿度传感器一般都需要设计信号调理电路并经过复杂的校准和标定过程,因此测量精度难以保证,且在线性度、重复性、互换性等方面也存在一定问题。
这种传感器只适合那些测量点数较少,对精度要求不高的场合。
因此设计出一款精度高、稳定性好、成本低的温湿度检测控制系统将具有一定的市场。
本系统采用具有高精度[10]、防干扰等优点的数字式传感器SHT11,不需要外部元件,可适配各种单片机。
这为开发新一代的温湿度测控系统提供了有利条件,同时也有助于将温湿度测控技术提高到新的水平。
1.4发展现状
单片机诞生于20世纪70年代末,经历了SCM、MCU、SOC三大阶段[11]。
(1)SCM即单片微型计算机阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。
“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。
(2)MCU即微控制器阶段[12],主要的技术发展方向是:
不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。
(3)单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素[13],就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。
随着微电子技术、IC设计、EDA工具的发展[14],基于SOC的单片机应用系统设计会有较大的发展。
智能温度传感器在20世纪90年代中期问世。
它是微电子技术、计算机技术和自动测试技术的结晶。
目前,国际上已开发出多种智能温度传感器系列产品。
智能温度传感器部包含温度传感器、A/D传感器[15]、信号处理器、存储器和接口电路。
有的产品还带多路选择器、中央控制器、随机存取存储和只读存储器。
智能温度传感器能输出温度数据与相关的温度控制量,适配各种微控制器,并且可通过软件来实现测试功能,温度计也越来越智能化。
跟电子温度计一样湿度计随着湿度传感器的发展趋于成熟。
随着智能检测系统的飞速发展,基于单片机的温湿度检测系统将多传感器系统结合在一起。
如何把多传感器集中于一个检测控制系统,综合利用来自多传感器的信息,获得对被测对象的可靠了解和解释,以利于系统做出正确的响应、决策和控制以与报警,是智能检测控制统中需要解决的重要问题。
2方案论证
2.1方案设计思路
温湿度报警系统的设计以单片机AT89C51为核心,通过控制单片机的P1口的一些端口来调节当前温湿度的显示,完成了温湿度的显示报警功能,在程序中设置温湿度围后,达到指定围后让LED灯的闪亮来实现温湿度控制的效果,让LED1602液晶屏接到单片机的串口上,赋值来控制1602的显示。
因此,整个方案设计包含四个部分,即:
单片机最小系统部分、显示部分、温湿度数据采集部分、报警部分。
2.2方案选择
方案:
单片机编程,用单片机设计电路,充分利用好AT89C51单片机的I/O口,使用软硬件结合的方式,具体的基本框图如图[16]1所示:
单片机
AT89S51
温湿度传感器
被测对象
显示部分
报警部分
图1单片机设计电路的基本框图
方案选择:
从上述原理图看来,这种设计方案电路结构简单,条理清晰,调试也相对方便,易于实现。
2.3设计流程
对于温湿度显示报警系统的设计,先用PROTEUS做电路仿真,再在KEIL软件中编写程序生成源代码,最后将PROTEUS和KEIL连接起来进行在线仿真。
设计流程如图[17]2所示。
Proteus电路设计
源程序设计生成目标代码
基于proteus仿真
图2系统设计流程图
2.4软件环境
2.4.1PROTEUS软件
本设计主要用Proteus7.5电子设计软件进行电子线路的设计和仿真。
Proteus软件的功能很强大,它不仅可以在线仿真模拟电子,数字电子和单片机,还可以将设计直接转换成PCB版图[18],因此,受到众多电子工程师的喜爱。
电路原理图的设计是仿真中的第一步,也是非常重要的一步。
电路原理图设计得好坏将直接影响到后面的工作。
首先,原理图的正确性是最基本的要求,因为在一个错误的基础上所进行的工作是没有意义的;其次,原理图应该布局合理,这样不仅可以尽量避免出错,也便于读图、便于查找和纠正错误;最后,在满足正确性和布局合理的前提下应力求原理图的美观。
电路原理图的设计过程可分为以下几个步骤:
(1)置电路图纸参数与相关信息
根据电路图的复杂程度设置图纸的格式、尺寸、方向等参数以与与设计有关的信息,为以后的设计工作建立一个合适的工作平面。
(2)装入所需要的元件
将所需的元件装入设计系统中,以便从中查找和选定所需的元器件。
(3)设置元件
将选定的元件放置到已建立好的工作平面上,并对元件在工作平面上的位置进行调整,对元件的序号、参数、显示状态等进行定义和设置,以便为下一步的仿真工作打好基础。
(4)连线电路图
利用Proteus所提供的各种工具、命令进行画图工作,将事先放置好的元器件用具有电气意义的导线、网络标号等连接起来,布线结束后,一完整的电路原理图基本完成。
(5)调整、检查和修改
利用Proteus所提供的各种工具对前面所绘制的原理图做进一步的调整和修改。
(6)补充完善
对原理图做一些相应的说明、标注和修饰,增加可读性和可观性。
(7)仿真
这部分工作主要是对设计完成的原理图结合KEIL在线仿真,调试并修改程序。
2.4.2KeilC51软件
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种Keil软件图标是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
下面详细介绍KeilC51开发系统各部分功能和使用。
(1)KeilC51单片机软件开发系统的整体结构:
C51工具包的整体结构,其中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51与A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
(2)使用独立的Keil仿真器时,注意事项:
仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。
仿真器上的复位按钮只复位仿真芯片,不复位目标系统。
仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。
3过程论述
3.1AT89C51单片机最小系统
3.1.1AT89C51单片机最小系统原理图
最小系统包括晶体振荡电路、复位开关和电源部分[19]。
下面图3为AT89C51单片机的最小系统电路图。
图3单片机最小系统电路图
3.1.2电源引脚
Vcc 40 电源端GND 20 接地端
工作电压为5V,另有AT89LV51工作电压则是2.7-6V,引脚功能一样。
3.1.3外接晶体引脚
XTAL1 19
XTAL2 18
图4晶振连接的部、外部方式图
晶振连接的部、外部方式如上图4所示。
XTAL1是片振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-24MHz选择。
电容取30PF左右。
系统的时钟电路设计是采用的部方式,即利用芯片部的振荡电路。
AT89单片机部有一个用于构成振荡器的高增益反相放大器。
引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。
外接晶体谐振器以与电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。
对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。
因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择瓷电容,电容值约为22μF。
在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。
3.1.4复位
RST 9
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。
复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。
复位是由外部的复位电路来实现的。
片复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。
复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。
当时钟频率选用6MHz时,C取22μF,Rs约为200Ω,Rk约为1K。
复位操作不会对部RAM有所影响。
常用的复位电路如下图6所示:
图5常用复位电路图
3.1.5输入输出引脚
(1)P0端口[P0.0-P0.7]P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。
作为输出口时能驱动8个TTL。
对部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。
在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间部的上拉电阻起作用。
(2)P1端口[P1.0-P1.7]P1是一个带有部上拉电阻的8位双向I/0端口。
输出时可驱动4个TTL。
端口置1时,部上拉电阻将端口拉到高电平,作输入用。
对部Flash程序存储器编程时,接收低8位地址信息。
(3)P2端口[P2.0-P2.7]P2是一个带有部上拉电阻的8位双向I/0端口。
输出时可驱动4个TTL。
端口置1时,部上拉电阻将端口拉到高电平,作输入用。
对部Flash程序存储器编程时,接收高8位地址和控制信息。
在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。
而在访问8位地址的外部数据存储器时其引脚上的容在此期间不会改变。
(4)P3端口[P3.0-P3.7]P2是一个带有部上拉电阻的8位双向I/0端口。
输出时可驱动4个TTL。
端口置1时,部上拉电阻将端口拉到高电平,作输入用。
对部Flash程序存储器编程时,接控制信息。
除此之外P3端口还用于一些专门功能,具体如下表1。
表1P3端口引脚兼用功能表
P3引脚
兼用功能
P3.0
串行通讯输入(RXD)
P3.1
串行通讯输出(TXD)
P3.2
外部中断0(INT0)
P3.3
外部中断1(INT1)
P3.4
定时器0输入(T0)
P3.5
定时器1输入(T1)
P3.6
外部数据存储器写选通WR
P3.7
外部数据存储器写选通RD
3.2LCD1602显示系统
3.2.1LCD1602显示系统
液晶显示器普遍地用于直观地显示数字系统或字符的运行状态和工作数据,按照材料与产品工艺[20],单片机应用系统中常用的显示器有:
发光二极管LED显示器、液晶LCD显示器、CRT显示器等。
LCD显示器是现在最常用的显示器之一,其仿真电路图如下所示。
图6LED1602显示器的符号
3.2.2液晶显示器简介
(1)在日常生活中,我们对液晶显示器并不陌生。
液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表与很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。
在单片机的人机交流界面中,一般的输出方式有以下几种:
发光管、LED数码管、液晶显示器。
发光管和LED数码管比较常用,软硬件都比较简单,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。
在单片机系统中应用晶液显示器有以下几个优点:
显示质量高——由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。
因此,液晶显示器画质高且不会闪烁。
数字式接口——液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
体积小、重量轻——液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比一样显示面积的传统显示器要轻得多。
功耗低——相对而言,液晶显示器的功耗主要消耗在其部的电极和驱动IC上,因而耗电量比其它显示器要少得多。
(2)液晶显示原理:
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。
(3)液晶显示器的分类:
液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。
除了黑白显示外,液晶显示器还有多灰度有彩色显示等。
如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(SimpleMatrix)和主动矩阵驱动(ActiveMatrix)三种。
(4)一般1602字符型液晶显示器实物如图所示[21]:
图7型液晶显示器实物图
3.2.3LCD1602引脚功能说明
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口,编号符号引脚说明如下所示:
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
3.2.4LCD1602的指令说明与时序
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
1602液晶模块部的控制器共有11条控制指令,如表2所示。
表21602液晶模块部的控制器的11条控制指令
序号
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示开/关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRAM或DDRAM)
1
0
要写的数据容
11
从CGRAM或DDRAM读数
1
1
读出的数据容
基本操作时序表与读写操作时序如表3和图8,9所示。
表3基本操作时序表
读状态
输入
RS=L,R/W=H,E=H
输出
D0—D7=状态字
写指令
输入
RS=L,R/W=L,D0—D7=指令码,E=高脉冲
输出
无
读数据
输入
RS=H,R/W=H,E=H
输出
D0—D7=数据
写数据
输入
RS=H,R/W=L,D0—D7=数据,E=高脉冲
输出
无
图8读操作时序
图9写操作时序
3.2.5程序流程图(详细程序见附录)
显示第二
行内容
开始
LCD初始化
设第一行
显示位置
设第二行
显示位置
延时
显示第一
行内容
图10程序流程图
3.3SHT10传感器
3.3.1温湿度传感器电路图
图11温湿度传感器电路图
3.3.2产品简介
SHT10属于Sensirion温湿度传感器家族中的贴片封装系列[22]。
传感器将传感元件和信号处理电路集成在一块微型电路板上,输出完全标定的数字信号。
传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上,与14位的A/D转换器以与串行接口电路实现无缝连接。
因此,该产品具有品质卓越、响应迅速、抗干扰能力强、性价比高等优点。
传感器芯片此说明书适用于SHT1x-V4。
SHT1x-V4是第四代硅传感芯片,除了湿度、温度敏感元件以外,还包括一个放大器,A/D转换器,OTP存和数字接口。
材质传感器的核心为CMOS芯片,外围材料顶层采用环氧LCP,底层为FR4。
传感器符合ROHS和WEEE标准,因此不含Pb,Cd,Hg,Cr(6+),P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 温湿度 显示 警报 系统 设计 说明