毕设 液晶温湿度显示资料.docx
《毕设 液晶温湿度显示资料.docx》由会员分享,可在线阅读,更多相关《毕设 液晶温湿度显示资料.docx(36页珍藏版)》请在冰豆网上搜索。
毕设液晶温湿度显示资料
液晶显示温湿度计硬件设计
摘 要
温度与湿度和人们的生活息息相关。
在工农业的生产、环境保护、国家边防、气象检测预报和科学研究等领域,经常需要对环境的温度和湿度进行测量和控制。
因而精确测量温湿度对于生产和生活是非常重要的。
但传统的温湿度计本身的精度不高,又不宜读取数据,因而易产生误差。
现要实现单片机控制的液晶温湿度显示计,采用SHT10温湿度传感器和AT89C52相连,实现对温湿度的测量。
89C52内置8位中央处理单元、256字节内部数据存储器RAM、8K片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
AT89C52单片机是此次设计的主控器,它与测量电路以及显示电路相连,将测量电路测得的数据进行处理并传输到显示电路上,判断测量结果是否超出额定限度,如果是则实现报警功能。
关键词:
AT89C52单片机;LCD1602液晶显示屏;STH10温湿度传感器
LCDTEMPERATUREANDHUMIDITYMETERHARDWAREDESIGN
ABSTRACT
Tempratureandhumidtyareveryclosetopeople’slives.Inthefieldofproductionofindustrial,enbironmentalprotection,nationalbodrder,weatherforecastingandscientificresearch,oftenreauiremeasureandcontrolthetemperatureandhumidityoftheenvironment.Thusaccuratemeasurementoftemperatureandhumidityfortheproductionandlifeisveryimportant.Buttheaccuracyoftraditionalhygrometeritselfisnothigh,theyshouldnotreadthedata,andthuseasytohaveaerrorresult.
NowtoachieveaLCDdisplayoftemperatureandhumiditywhichcontrolledbysingle-chip,UsingSHT10temperatureandhumiditysensorsandconnectedAT89C52,realizethemeasurementoftemperatureandhumidity.89C52centralprocessingunitbuilt-8,256-byteinternaldatamemoryRAM,8Kon-chipprogrammemory(ROM)32bidirectionalinput/output(I/O)ports,three16-bittimer/counterandfivetwointerruptstructure,afullduplexserialport,on-chipclockoscillatorcircuit.AT89C52SCMisthemasterofthisdesign,itisconnectedtothemeasuringcircuitandthedisplaycircuit,themeasuringcircuitforprocessingthemeasureddataandtransmittedtoadisplaycircuit,determineswhetherthemeasurementresultexceedstheratedlimit,analarmfunctionifitisthen.
Keywords:
STH10;temperatureandhumiditycompensation;AT89C52;LCD1602
目 录
1 绪论1
1.1 课题来源和意义1
1.2 目的和意义1
1.3 发展现状2
2 整体设计3
2.1 方案设计思路3
2.2 方案选择3
2.3 设计流程3
2.4 软件环境4
2.4.1 PROTEUS软件4
2.4.2 KeilC51软件5
3 系统硬件设计6
3.1 AT89C52单片机最小系统6
3.1.1 AT89C52单片机最小系统原理图6
3.1.2 电源引脚6
3.1.3 复位7
3.1.4 元器件的选择8
3.2 LCD1602显示系统9
3.2.1 液晶显示器简介9
3.2.2 LCD1602引脚功能说明10
3.2.3 LCD1602的指令说明及时序11
3.2.4 程序流程13
3.3 SHT10传感器14
3.3.1温湿度传感器电路图14
3.3.2 产品介绍14
3.3.3SHT10引脚14
3.3.4传感器的通讯15
3.3.5 信号转换17
3.3.6 环境稳定性318
3.3.7 传感器原理流程图19
3.4 报警系统19
3.4.1 报警电路图19
4 仿真与调试20
4.1 实验目的和原理20
4.2 仿真原理图21
4.3系统仿真及其显示结果22
4.4 结果分析及测试总结22
5 结束语23
参考文献24
致谢25
附录26
1 绪论
1.1 课题来源和意义
20世纪末,电子技术得到了快速的发展,在其推动下,现代电子产品几乎渗透到了社会的各个领域,使社会生产力的发展和社会信息化程度得到了很大程度上的得到提高,同时也使现代电子产品性能得到了进一步的提高。
单片机的性能特点是体积小、集成度高、系统功能强、价格低廉,应用在如家用消费类产品、工业控制、仪器仪表、电信及导航等广泛领域。
现在单片机处于百花齐放时期,单片机从8位、16位到32位,应有尽有,它们各具特色,互成互补。
现代单片机朝着低功耗CHMOS化、微型单片化、大容量、高性能和低价格等几个方面发展,目前单片机内ROM最大可大64KB,RAM最大为2KB。
采用精简指令集(RISC)结构和流水线技术,大幅提高了运行速度。
由于单片机越来越高指令速度,可使用软件模拟其I/O功能,引入虚拟外设的新概念。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从以前必须由模拟电路或数字电路实现的大部分功能,到现在已能用单片机通过软件方法来实现。
这种软件代替硬件的控制技术称为微控制技术,是对传统控制技术的一次革命。
传感器是单片机中最长见的模块之一,利用传感器实现对温湿度的测量在社会生产实践中有非常广泛的应用。
1.2 目的和意义
温度和湿度在日常生活中和人们的生活和健康息息相关。
温湿度测量在我们日常生活中有普遍的使用。
比如在农业生产、气象、环保等各个领域都需要对环境的温度和湿度进行准确的测量和控制。
准确的测量温湿度在生物制药、食品加工、医疗保健等行业是非常重要的。
常见的低端产品多采用机械指针式或水银柱式温度计,体积小、质量轻、价格低、安装简便。
但是,此类产品测量精度低,没有LED显示屏,不能向智能化方向发展,不利于进行功能扩展,如不能自动报警[3]。
目前,随着在工业生产和科研实验中通过对温湿度测量进行自动控制的设备越来越多,如何测得精准的温湿度值以保证自动控制设备能够按生产要求正确完成生产控制这一问题越来越受到人们的重视。
一般温湿度控制系统中的温湿度测量均采用热敏电阻和温敏电容,这种传统模式的模拟温湿度传感器一般难以保证测量精度,并且在重复性、线性度和互换性等方面也存在一定的问题。
这种传感器只试用于对测量精度要求不高的场合。
而采用单片机对温湿度进行测量控制,不但方便、简单而且用液晶屏显示可以是测量结果更加直观易读。
在很大程度上可以减小不必要的误差。
所以,设计出一款基于单片机的低成本,高稳定性的温湿度显示报警系统有很重要的实际意义。
1.3 发展现状
最常见的测量温度的温度计有:
水银玻璃温度计,酒精温度计,热电偶或热电阻温度计等。
它们常常以刻度的形式表示温度的高低,虽然结构简单而且便宜,但是它们不易读数而且精度也不高。
传统的湿度计采用干湿球法,不仅复杂而且测量的精度也不高。
而单片机、温度传感器和湿度传感器构成的液晶显示温湿度计不但操作方便而且便于读数。
温度传感器发展经历了传统的分立式温度传感器、模拟集成温度传感器、智能集成温度传感器三个阶段。
目前,国际上新型温度传感器正从模拟式向数字化、从集成化向智能化、网络化方向发展。
湿度传感器也经历了一个逐渐数字化的过程。
单片机的性能特点是体积小、集成度高、系统功能强、价格低廉,应用在如家用消费类产品、工业控制、仪器仪表、电信及导航等广泛领域。
现在单片机处于百花齐放时期,单片机从8位、16位到32位,应有尽有,它们各具特色,互成互补。
单片机的发展趋势有:
1、低功耗CHMOS化,现在单片机制作商基本都采用CMOS,CMOS虽然功耗较低,但其物理特征决定其工作速度不够高,而CHMOS则具备高速和低功耗的特点,这些特征更适合于在要求低功耗,电池供电的应用场合。
2、微型单片化,现在常规单片机普遍都是将CPU、RAM、ROM、并行和串行通信接口、中断系统、定时电路、时钟电路集成在一块单一的芯片上。
增强型单片机集成了如A/D、转换器、PWM(脉宽调制电路)、WDT(看门狗)等,单片机包含的单元电路更多功能更强。
现在许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统朝着微型化方向发展。
3、大容量和高性能,目前单片机内ROM最大可达64KB,RAM最大为2KB。
采用精简指令集(RISC)结构和流水线技术,大幅提高了运行速度。
由于单片机越来越高指令速度,可使用软件模拟其I/O功能,引入虚拟外设的新概念[5]。
随着智能检测系统的快速发展,如何将多传感器集中于一个检测控制系统,综合利用来自多传感器的信息,获得对被测对象的可靠信息,以利于系统做出正确的响应、控制和报警,是智能检测控制系统中需要解决的重要问题。
2 整体设计
2.1 方案设计思路
温湿度测量显示系统的设计以单片机AT89C52为核心,让LED1602液晶屏接到单片机的输入/输出端口上,单片机通过对其赋值来控制1602的显示。
根据与单片机相连的传感器测量所得的数据,单片机处理后,通过控制单片机的P1口的一些端口输出来调节当前液晶显示器对温湿度的显示,完成温湿度的显示功能,在程序中设置温湿度的范围,当超出指定的范围时,LED灯闪亮来实现对温湿度报警的效果。
整个设计方案包含四部分,即:
单片机最小系统部分、显示部分、温湿度数据采集部分、报警部分。
2.2 方案选择
根据要实现的功能进行程序的编写,以单片机为核心设计电路,利用单片机I/O口接收并处理传入数据并且传出指令对液晶显示器进行控制,软硬件相互结合实现对温湿度的测量和液晶显示功能,具体框图如图[1]2-1所示:
图2-1 单片机设计电路的基本框图
主控制器的功能是由单片机实现的,主要负责的是处理温湿度传感器传送来的数据,并且对数据进行处理并传送到显示模块。
温湿度传感器主要用来采集周围的环境参数,并将采集来的参数送到主控制器。
报警部分是通过发光二极管实现的,用来判断周围的温度值或湿度值是否超过设定值,如果超过设定值则响应发光二极管就会被点亮,从而实现提示和报警的作用。
显示部分主要由液晶显示屏LED1602和单片机p1口相连实现的。
从原理图看出此设计具有逻辑清晰,调试简单,易实现的特点。
2.3 设计流程
先用PROTEUS做出电路并且进行仿真,再在KEIL软件中编写程序并仿真,最后将PROTEUS和KEIL连接起来进行在线仿真。
设计流程如图2-2所示:
图2-2 系统设计流程图
2.4 软件环境
2.4.1 PROTEUS软件
Protues软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
迄今为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。
ProtuesISIS与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。
因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。
同时,当原理图调试成功后,利用ProtuesARES(AdvancedRoutingandEditingSoftware)软件,很容易获得其PCB图,为今后的制造提供了方便。
实现Protues与KeilC的接口步骤如下:
1)安装Protues与KeilC并同时安装vdmagdi.exe程序。
2)进入ProtuesISIS,选择Debug|UseRemoteDebugMonitor菜单选项。
3)进入KeilCμVision3集成开发环境,创建一个新项目(Project),并为该项目选定合适的单片机型号,加入KeilC源程序。
随后,选择Project|OptionsforTarget菜单项,或者单击工具栏中的OptionsforTarget按钮,在弹出的界面选择Debug选项卡,在Use的下拉列表框中选择ProtuesVSMSimulator,并且选中Use单选框,即在Use前面的小圆圈内出现小黑点。
在单击Settings按钮,设置通信接口在Host文本框输入“127.0.0.1”;如果使用的不是同一台电脑,则需要在这里输入另一台电脑的IP地址(另一台电脑安装Protues)。
在Port文本框输入“8000”。
设置好以后单击OK按钮即可。
最后将工程编译,进入调试状态,并运行。
此后,便可实现KeilC与Protues连接调试。
2.4.2 KeilC51软件
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
KeilC51软件提供非常丰富的库函数和功能请打的集成开发调试工具,全Windows界面。
另外,KeilC51生成的目标代码功率高,多数语句生成的汇编代码很紧凑,易理解。
开发软件时可以体现出高级语言的优势。
单片机的开发,需要硬件的同时还需要软件。
机器汇编是通过汇编软件将源程序变成机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍试用汇编语言进行开发到逐渐使用高级语言进行开发,单片机的软件开发也不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件。
Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
3 系统硬件设计
3.1 AT89C52单片机最小系统
3.1.1 AT89C52单片机最小系统原理图
最小系统包括晶体振荡电路、复位开关和电源部分[4]。
AT89C52单片机的最小系统电路图如图3-1所示。
其中与单片机上XTAL1和XTAL2相连的一个系统是一个晶振系统,它的作用是给单片机提供时钟信号,使单片机能够正常工作。
与单片机上的复位键RST相连的是复位电路。
本设计中的复位电路,一方面可以实现上电复位,即最基本复位方式,又能够人工手动按键复位[9]。
图3-1 单片机最小系统电路图
3.1.2 电源引脚
电源端Vcc如图3-1所示在单片机的40引脚处,单片机工作是在此处通电,单片机可在4.5V至5.5V电压下正常工作,其额定电压为5V。
因此本设计中,为保证单片机的正常工作,我们在电源端接5V电压。
图3-2晶振连接的内部、外部方式图
晶振连接的内部、外部方式如上图3-2所示。
晶振即振荡器,其主要的作用是产生时钟振荡让单片机产生自激振荡,从而提供时钟信号,使单片机能正常工作。
两个大小都为30Pf的电容C1,C2。
C1与12Mhz的晶振相连再与C2并联。
晶振的一端与XTAL1相连,另一端和XTAL2相连。
单片机的时钟信号通常有两种方式产生:
一是内部时钟方式;二是外部时钟方式。
内部时钟方式如图3-2的图1所示,在单片机内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号。
图中电容器C1和C2的作用是稳定频率和快速起振,电容值在5~30pF,典型值为30pF。
晶振CYS的振荡频率范围为1.2MHz~12MHz,典型值为12MHz和6MHz。
内部振荡器与外接晶体频率相同,晶体起启振作用,晶体频率即为时钟频率。
外部时钟方式是把外部已有的时钟信号引入到单片机内,如图3-2的图2所示,此方式多用于多篇单片机同时工作,以便使各单片机同步。
一般要求外部信号高电平的持续时间大于20ns,且为频率低于12MHz的方波。
对于CHMOS工艺的单片机,外部时钟要由XTAL1端引入,而XTAL2引脚应悬空。
此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为30Pf。
在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定和可靠地工作[2]。
3.1.3 复位
复位是使单片机或系统中的其他部件处于某种确定的初始状态。
单片机的工作是从复位开始的。
单片机的复位分为两种,一种是上电复位,一种是上电与按键均有效复位。
在振荡器运行过程中,有两个机器周期以上的高电平出现在复位引脚RST上,将使单片机实现复位,只要复位引脚保持高电平,单片机芯片就会循环复位。
复位后P0~P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位引脚由高电平变成低电平时,芯片ROM的00H处开始运行程序。
复位是由外部复位电路实现的。
片内复位电路是复位引脚PST通过一个用来抑制噪声的思密特触发器和复位电路相连,其中思密特触发器的输出在每个机器周期中的S5P2(机器周期第五时态中的后半相),由复位电路采样一次。
复位电路一般分为上电自动复位和按钮复位两种方式,在本设计中采用的是上电复位电路。
时钟频率选用6MHz时,C取22μF,Rs约为200Ω,Rk约为1K。
复位操作对内部RAM不会产生影响[4]。
常用的复位电路如图3-3所示:
图3-3常用复位电路图
3.1.4 元器件的选择
(1)主控制器模块选择单片机AT89C52。
AT89C52是美国ATMEL公司生产的低电平,高性能CMOS8位单片机。
片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,32个可编程I/O口线,3个16位定时/计数器,低功耗空闲和掉电模式。
功能强大的AT89C52单片机适合于许多较为复杂控制应用场合。
AT89C52共有6个中断向量:
两个外中断(INT0和INT1),3个定时器中断(定时器0,1,2),串行口中断和四个双向I/0口[15]。
(2)P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时可作为高阻抗输入端用。
对内部Flash程序存储器编程时,接收指令字节,在校验程序时输出指令字节,要求外接上拉电阻。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复位,应为输出驱动级的漏极开路,所以必须外接上拉电阻,否则不能正常工作。
(3)P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILL)。
对内部Flash程序存储器编程时,接收低8位地址信息。
与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。
(4)P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILL)。
(5)P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(ILL)。
P3口除作为一般的I/O口线外,更重要的是它第二功能。
表3-1 P3端口引脚兼用功能表
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.2 LCD1602显示系统
3.2.1 液晶显示器简介
(1)发光二极管LED显示器、液晶LCD显示器、CRT显示器等都是单片机应用系统中常用的显示器,其中LCD显示器是现在最常用的显示器之一,其仿真电路图如图3-4所示。
图3-4 LED1602显示器的符号
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它有若干个5*7或5*11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距的作用,正因为如此,它不能显示图形。
LCD1602指显示内容为16*2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
其特点是:
+5V电压,对比度可调;内含复位电路;提供各种控制命令,如:
光标闪动、清屏、显示移位等多种功能;有80字节显示数据存储器DDRAM;内建有160个5*7点阵字型的字符发生器CGROM;8个可由用户自定义的5*7的字符发生器CGRAM。
并且其还有显示质量高,更可靠易操作的数字式接口,体积小、重量轻;功耗低等优点。
(2)液晶显示原理:
液