基于单片机的草坪花卉喷灌测控系统课程设计_第1页
基于单片机的草坪花卉喷灌测控系统课程设计_第2页
基于单片机的草坪花卉喷灌测控系统课程设计_第3页
基于单片机的草坪花卉喷灌测控系统课程设计_第4页
基于单片机的草坪花卉喷灌测控系统课程设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的草坪花卉喷灌测控系统课程设计目录 摘要.2 一 总体设计方案.2 1 设计任务.2 2 任务分析.2 3 方案确定.24 整体设计.2二 硬件部分设计.31 单片机的选择.32温湿度传感器SHT11.53开关三极管.8 三 模块功能简介.8 1.复位电路.8 2.传感器电路.93.时钟电路.94.显示电路.95. 系统整体硬件图.10四 软件设计.10 1 主程序及说明.10 2 主程序框图.12五 心得体会.14摘要本课程设计设计实现的是单片机温湿度测量与控制系统,通过LCD显示所测量的温湿度,然后通过电磁阀对温湿度进行控制,达到要求的范围。系统采用集温湿度传感器与A/D转换器为

2、一体的SHT11芯片,通过单片机处理进行显示,其它模块包括了实时时钟/日期产生电路和超限报警处理电路,对所测量的值进行实时显示和报警处理。并且温湿度传感器的内部比较器的设定值与当前外界温度和适度进行比较,如低于设定值将会打开电磁阀,对花卉进行喷灌,以保证足够的温度和湿度,当高于设定值将关闭电磁阀。一 总体设计方案1、设计任务:设计一个基于AT89C51单片机的草坪花卉喷灌测控电路。2、任务分析:通过控制电动(电磁)阀门的开关使自来水经过喷头实现。电动(电磁)阀门有单相交流(220V)供电和直流(12V36V不等)供电两大系列,利用微机控制阀门供电实现阀门的开关,经自来水喷头实现草坪花卉喷灌 直

3、流电动阀门 用三极管开关控制供电;微机智能控制方式为土壤温湿度自动测控方式。3、方案确定:采用集温湿度传感器于一体的SHT11芯片为主要芯片如图2所示传感器SHT11是 是AT89C51单片机三极管控制器湿度和湿度传感器是三相步进电机图1 总体设计方框图一4.整体设计 本设计核心部件为AT89C51,信号采集及处理部分由SHT11构成,进入单片机后经处理后通过LCD1604显示温湿度,信号显示采用的液晶屏为5X7点阵,一行可显示16字,四行。其他组成部分为实时时钟发生电路,产生同现在相同的时间和具体日期,通过LCD1604液晶模块显示。 在软件设计部分有对测量的温湿度进行上下值的设定,当测量超

4、过限定值,通过电磁阀处理电路对其进行处理,起动装置控制温湿度,以达到目的。 硬件中包括一个开关,为复位开关。开机后,所有器件初始化,DS1302产生实时时间和日期,温湿度传感器SHT11开始进行温湿度测量和计算,最后通过两个LCD液晶显示器显示结果。在测量结果中有超过设定的温湿度上下限的,通过超限模块作出反应。 整体电路框图如下:图2二 硬件部分设计1、单片机的选择AT89C51控制器采用AT89C51具有低电压供电和体积小等特点,四个端口能满足电路系统的设计需要,可用二节电池供电。其外部引脚图如图4所示 图3 AT89C51单片机的外部引脚图A主要特性: ·与MCS-51 兼容 &

5、#183;4K字节可编程闪烁存储器 ·寿命:1000写/擦循环 ·数据保留时间:10年 ·全静态工作:0Hz-24Hz ·三级程序存储器锁定 ·128*8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路 B管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数

6、据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部

7、拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号 。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:表1 P3口管脚

8、备选功能P3.0 RXD串行输入口P3.4 T0计时器0外部输入P3.1 TXD串行输出口P3.5 T1计时器1外部输入P3.2 /INT0外部中断0P3.6 /WR外部数据存储器写选通P3.3 /INT1外部中断1P3.7 /RD外部数据存储器读选通2、温湿度传感器SHT11 2.1.SHT11 简介 SHT11 是瑞士Scnsirion 公司推出的一款数字温湿度传感器芯片。温湿度传感器SHT11集温度传感器和湿度传感器于一体,因此采用SHT11 进行温湿度实时监测的系统具有精度高、成本低、体积小、接口简单等优点;另外SHT11 芯片内部集成了14位A/D 转换器,且采用数字信号输出,因此抗

9、干扰能力也比同类芯片高。该芯片在温湿度监测、自动控制等领域均已得到广泛应用。其主要特点: 高度集成,将温度感测、湿度感测、信号变换、A/D 转换和加热器等功能集成到一个芯片上; 提供二线数字串行接口SCK和DATA,接口简单,支持CRC 传输校验,传输可靠性高; 测量精度可编程调节,内置A/D 转换器(分辨率为812位,可以通过对芯片内部寄存器编程选择); 测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能; 封装尺寸超小(7.62 mm×5.08mm×2.5 mm),测量和通信结束后,自动转入低功耗模式; 高可靠性,采用cmosen

10、s工艺,测量时可将感测头完全浸于水中。 2.2.SHT11 的引脚功能 SHT11温湿度传感器采用SMD(LCC)表面贴片封装形式,接口非常简单,引脚名称及排列顺序如图5 所示。 图4各引脚的功能如下: 脚1和4-信号地和电源,其工作电压范围是2.45.5 V; 脚2和脚3-二线串行数字接口,其中DA-TA为数据线,SCK为时钟线; 脚58-未连接。 2.3.SHT11的内部结构和工作原理 温湿度传感器SHT11将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,其内部结构如图3.5所示。该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感

11、元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大;然后进入一个14位的A/D 转换器;最后经过二线串行数字接口输出数字信号。SHT11在出厂前,都会在恒湿或恒温环境巾进行校准,校准系数存储在校准寄存器中;在测量过程中,校准系数会自动校准来自传感器的信号。此外,SHT11内部还集成了一个加热元件,加热元件接通后可以将SHT11 的温度升高5左右,同时功耗也会有所增加。此功能主要为了比较加热前后的温度和湿度值,可以综合验证两个传感器元件的性能。在高湿(>95RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后SHT11温度升高、相对湿度降低,较

12、加热前,测量值会略有差异。图5 SHT11内部结构图微处理器是通过二线串行数字接口与SHT11进行通信的。通信协议与通用的I2C总线协议是不兼容的,因此需要用通用微处理器I/O口模拟该通信时序。微处理器对SHT11的控制是通过5个5位命令代码来实现的,命令代码的含义如表2所列。命令代码含 义00011测 量 温 度00101测 量 湿 度00111读内部状态寄存器00110写内部状态寄存器11110复位命令,使内部状态寄存器恢复默认值。下一次命令前至少等待11ms其他保 留2.4.SHT11 应用设计 微处理器采用二线串行数字接口和温湿度传感器芯片SHT11进行通信,所以硬件接门设计非常简单;

13、然而,通信协议是芯片厂家自己定义的,所以在软件设计中,需要用微处理器通用I/O口模拟通信协议。 硬件设计 SHT11通过二线数字串行接口来访问,所以硬件接口电路非常简单。需要注意的地方是:DATA数据线需要外接上拉电阻,时钟线SCK用于微处理器和SHT11之间通信同步,由于接口包含了完全静态逻辑,所以对SCK最低频率没有要求;当工作电压高于4.5V时,SCK频率最高为10MHz,而当工作电压低于4.5V 时,SCK最高频率则为1MHz。硬件连接如图7 所示。图6 微处理器和SHT11之间的硬件连接图由于微处理器通过二线串行数字接口访问湿度传感器SHT11,而访问协议是芯片生产商定义的,所以需要

14、用通用I/O口模拟该通信协议。通过对I/O口寄存器的编程,该处理器的I/O口可以根据需要设置成输入、输出、高阻等状态。这为模拟该通信协议提供了条件。在软件实现过程中,通过宏定义来实现I/O口状态的改变。#define set_data_0() DDRB|=(1<<PB5);PORTB&=(1<<PB5) /DATA输出0 #define set_data_1() DDRB|=(1<<PB5);PORTB|=(1<<PB5) /DATA输出1 #define release_data_1() DDRB&=(1<<PB5)

15、 /释放总线,总DATA设为输入状态,因为外接上拉电阻,DATA总线被上拉为高电平 #define set_sck_output() DDRB|=(1<<PB4) /设置SCK为输出 #define set_sck_1() PORTB|=(1<<PB4) /SCK输出高电平 #define set_sck_0() PORTB&=(1<<PB4) /SCK输出为低电平2.5 传感器技术参数 测量精度:±5% 测量范围:温度:-50+70湿度:20%90%分 辨 率:温度:0.1湿度:1% 工作电压:512V工作电流:2126mA,典型值21m

16、A 测量主频:100Mhz 输出信号:01.875V DC 测量稳定时间:2秒 响应时间:1秒 测量区域:以中央探针为中心,围绕中央探针的直径为7cm、高为7cm的圆柱体 电缆长度:1.5米 (标配)3.开关三极管:图8中三极管为NPN型硅管。电阻Rb为基极电阻,电阻Rc为集电极电阻,晶体三极管T的基极b起控制的作用,通过它来控制开关开闭动作,集电极c及发射极e形成开关两个端点,由b极来控制其开闭,c.e两端的电压即为开关电路的输出电压vO。1)当输入电压vI为高电平时,晶体管导通,相当于开关闭合,所以集电极电压vc0,即输出低电平,而集电极电流iCVCC/RC。2)当输入电压vI为低电平时,

17、由图可见,晶体管截止,相当于开关断开,所以得集电极电流iC0,而集电极电压vcVCC,即输出为高电平。图7三 模块功能简介1 复位电路这种复位电路的工作原理是:单片机的复位电路在刚接通电时,刚开始电容是没有电的,电容内的电阻很低,通电后,5V 的电通过电阻给电容进行充电, 电容两端的电会由0V 慢慢的升到4V 左右(此时间很短一般小于0.3 秒),RC 构成的微分电路在上电瞬间产生一个微分脉冲,其宽度大于两个机器周期,89C51 将复位。2 传感器电路部分此模块是整个电路设计的信号采集及初步处理的模块,由温湿度传感器芯片SHT11构成,主要的功能结构在前面的芯片介绍中已有,这里不重新介绍。3

18、时钟电路部分此模块是系统时间的实时显示而设计的,主要由芯片DS1302构成,其中引脚RST、CLK、I/O分别接单片机P3.0、P3.1、P3.2口,属于控制引脚。此模块是产生实时的系统时间和日历,能对某个确定环境的实时温湿度控制起到一定的作用。芯片连接电路简单,时间日期准确。4 显示电路部分此模块分为两个显示部分,一个部分是由LCD1604芯片组成的日期时间和实时温湿度显示的电路部分,另一部分是由LCD128×64液晶显示模块组成的电路部分。LCD1604是一个四行每行16字的液晶显示屏,D0-D7接P0口,RS、RW、E接P3.5、P3.6、P3.7 起控制作用。LCD128&#

19、215;64 组成部分是用来显示“温度和湿度的控制与测量”的。5、系统整体硬件图四 软件设计1、 主程序及说明:中断服务程序13 org 0000h ljmp main org 0003h ;int0中断处理程序入口处int0p: movx a,dptr ;读A/D转换数据mov r0,a ;A/D数据送存RAMinc r0 ;地址加“1” djnz r7,intr1 ;是否完成10次转换 clr ex0 ;关中断 clr ea lcall here1 retiintr1: mov dptr,a ;10次未到,重新启动A/D转换reti主程序:main: mov r0,#40h ;数据存放区R

20、AM首地址 mov r7,#10 ;A/D转换次数初始值 setb it0 ;设int0为边沿触发 setb ex0 ; int0开中断 setb ea ;CPU开中断 mov dptr,#7ff8h ;A/D通道in0首址 mov dptr,a ;并启动A/D nop here: sjmp here here1: mov r2,0 mov r3,10 mov r4,40h clr csum: add r2,r4 ;求和 jnc sum1 mov 51h,csum1: mov 50h,r2 inc r4 djnz r3,sum mov al,50h mov ah,51h mov b,10ave

21、: div ab ;求均值 mov r2,amain1: mov a,#1fh ;设定值 subb a,r2 jnc motor1 ret开阀门:motor: ;启电机 mov r3,#20 ;设定20转步start: mov r4,#00h ;正转取码指针初值start1: mov a,r4 ;取码指针载入a mov dptr,#table ;数据指针指到table movc a,a+dptr ;至table取码 jz start ;是否取到结束码00?是则转cpl a ;取反mov p2,a ;将取到的码输出至p2 call delay ;10ms inc r4 ;取码指针加1djnz r3,start ;是否走了20步?不是则转ljmp main ;重复循环,直到浇灌完毕关阀门:motor1:mov r3,#20 ;重新设定r3为20步 start2: mov r4,#05h ;逆转取码指针初值 start3: mov a,r4 ;取码指针载入a mov dptr,#table ;数据指针指到table movc a,a+dptr ;至table取码 jz start2 ;是否取到结束码00?是则转 cpl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论