单片机温湿度控制的课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1目录摘要………………………………………………………………4正文………………………………………………………………51设计思想………………………………………………………52硬件设计2.1硬件设计要求……………………………………………62.2具体硬件要求……………………………………………63软件设计………………………………………………………104附录……………………………………………………………145个人体会………………………………………………………15摘要:设计了一种基于单片机和AT89S52温湿度传感器的大棚温湿度控制系统。该系统性能可靠,结构简单,能实现对大棚内温湿度的自动调节。温室大棚种植技术已突破了传统的农作物种植受地域自然环境等诸多因素的限制,对农业生产有重大意义。但目前我国温室大棚的温湿度测量和设备的操作大多还是由人工来完成,当温室较大时,操作人员的劳动强度很大本温湿度控制系统是以单片机控制为核心,以DHT11单片集成温湿度传感器作为温湿度检测元件,初步实现了温室大棚的自动化管理,大大降低了工人的劳动强度。关键词:温室大棚;单片机;温湿度传感器。正文近年来,我国的设施农业得到了较大发展,温室大棚钟植技术已突破了传统的农作物种植受地域自然环境等诸多因素的限制,对农业生产有重大意义。但目前我国温室大棚的温湿度测量和设备的操作大多还是由人工来完成,当温室较大时,操作人员的劳动强度很大本温湿度控制系统是以单片机控制为核心,以DHT11单片集成温湿度传感器作为温湿度检测元件。从硬件和软件两个方面介绍了单片机温度控制系统的设计思路,对硬件原理图和程序流程图进行了系统的描述。系统具有键盘调节上下限温湿度,LCD液晶显示温湿度的功能,实现了温湿度的自动测量和自动控制,可将大棚内的温度始终控制在适合蔬菜生长的温湿度范围内,初步实现了温室大棚的自动化管理,大大降低了工人的劳动强度。1设计思想2伴随着科学技术的迅速发展,我国农业也逐渐地从传统农业像高产、优质、高效为目的的现代化农业转变。而作为家乡的蔬菜大棚,自然也离不开现代化的科学技术。通过国内外大量的科学实验和生产的实践证明,环境的控制对蔬菜生产起到重要的作用。只有在适宜的生长环境下蔬菜才能充分发挥其高产潜力。对于蔬菜大棚内环境的控制主要是对环境温度,土壤湿度等进行测量和控制,为了更好地测量、控制湿度温度和土壤湿度等蔬菜生长的因素,本文设计了已AT89S52单片机为控制器的智能测控系统,通过该系统可以对环境温度、湿度等观测值进行自动控制和适时检测,并利用声音和灯光进行超限报警及相应的处理。1·*-++*-*+2硬件设计2.1硬件要求根据设计要求确定了系统的总体方案,整个系统由单片机、温湿度传感器、显示模块、报警器、温湿度调节系统以及键盘等6部分组成。系统功能原理图如图1所示。用户预先输入温湿度报警值到程序中,该值作为系统阈值。温湿度传感器监测值传输给单片机,当单片机比较监测到的数值超出所设定阈值时,驱动蜂鸣器报警,并为温湿度调节系统提供控制信号,实现自动控制。温湿度调节系统包括加湿模块、除湿模块、加温模块和制冷模块。图1温湿度监控系统功能原理图2.2具体硬件设计单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。这种设计方法可以降低系统设计的复杂性。系统电路原理图如图2所示。本系统主要硬件设计包括蜂鸣器电路、晶振电路、复位电路、LCD显示电路以及温湿度传感器电路。2.2.1单片机简介控制电路的核心器件是由美国Atmel公司生产的AT89S52单片机,属于MCS-51系列。AT89S52是一种低功耗、高性能的CMOS8位微控制器,具有8K在系统可编程Flash存储器,采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰能力强。因此广泛应用于工业控制和嵌入式系统中。主要性能单片机温湿度传感器温湿度调节部分LCD温湿度显示部分独立键盘蜂鸣器3•与MCS-51单片机产品兼容•8K字节在系统可编程Flash存储器•1000次擦写周期•全静态操作:0Hz~33Hz•三级加密程序存储器•32个可编程I/O口线•三个16位定时器/计数器•八个中断源•全双工UART串行通道•低功耗空闲和掉电模式•掉电后中断可唤醒•看门狗定时器•双数据指针•掉电标识符(1)功能特征描述AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。引脚功能VCC:电源GND:接地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)4P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部输入)P3.5T1定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是序存储器外部程选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。5EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。(2)存储器结构MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:2000H~FFFFH。数据存储器:AT89S52有256字节片内数据存储器。高128字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。例如,下面的直接寻址指令访问0A0H(P2口)存储单元MOV0A0H,#data使用间接寻址方式访问高128字节RAM。例如,下面的间接寻址方式中,R0内容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV@R0,#data堆栈操作也是简介寻址方式。因此,高128字节数据RAM也可用于堆栈空间。(3)看门狗定时器WDT是一种需要软件控制的复位方式。WDT由13位计数器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。WDT在默认情况下无法工作;为了激活WDT,户用必须往WDTRST寄存器(地址:0A6H)中依次写入01EH和0E1H。当WDT激活后,晶振工作,WDT在每个机器周期都会增加。WDT计时周期依赖于外部时钟频率。除了复位(硬件复位或WDT溢出复位),没有办法停止WDT工作。当WDT溢出,它将驱动RSR引脚一个高个电平输出。为了激活WDT,用户必须向WDTRST寄存器(地址为0A6H的SFR)依次写入0E1H和0E1H。当WDT激活后,用户必须向WDTRST写入01EH和0E1H喂狗来避免WDT溢出。当计数达到8191(1FFFH)时,13位计数器将会溢出,这将会复位器件。晶振正常工作、WDT激活后,每一个机器周期WDT都会增加。为了复位WDT,用户必须向WDTRST写入01EH和0E1H(WDTRST是只读寄存器)。WDT计数器

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功