盆花自动浇水系统设计毕业设计Word文件下载.docx

上传人:b****6 文档编号:21198414 上传时间:2023-01-28 格式:DOCX 页数:48 大小:925.91KB
下载 相关 举报
盆花自动浇水系统设计毕业设计Word文件下载.docx_第1页
第1页 / 共48页
盆花自动浇水系统设计毕业设计Word文件下载.docx_第2页
第2页 / 共48页
盆花自动浇水系统设计毕业设计Word文件下载.docx_第3页
第3页 / 共48页
盆花自动浇水系统设计毕业设计Word文件下载.docx_第4页
第4页 / 共48页
盆花自动浇水系统设计毕业设计Word文件下载.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

盆花自动浇水系统设计毕业设计Word文件下载.docx

《盆花自动浇水系统设计毕业设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《盆花自动浇水系统设计毕业设计Word文件下载.docx(48页珍藏版)》请在冰豆网上搜索。

盆花自动浇水系统设计毕业设计Word文件下载.docx

待机功率(4VA,浇水时<12VA);

可控制连续作业时间是1分钟至168个小时;

可每天自动完成十次以上浇水作业,可每天、隔天、隔多天自动循环进行浇水,手动自动两用;

每天计时误差小于正负3秒;

电器适应环境温度为-10~50℃;

相对湿度<90%RH[3]。

⑵玻璃、陶瓷类自动浇花器

玻璃、陶瓷类自动浇花器又叫自动渗水装置,它由本身材质的物理结构构成,根据器具的物理渗水原理完成自动浇灌,当自动浇水器部存水,自身形成一定的压力,当遇到干燥的土壤,水就会自上而下的流出,当土壤湿润以后,会形成一个堵塞压力,从而导致水流速度变慢或者停止。

器具工不同,效果也不一样,当然也因土壤的疏松情况决定器具水流的速度[4]。

当前传感器技术与单片机技术发展迅速,其应用逐步由工业、军事等领域向其他领域渗透,已经和我们的日常生活息息相关。

而且智能家居概念也越来越受人们的推崇,因此,微电脑控制的电子类自动浇花系统有很好的发展前景。

1.3毕业设计所采用的研究方法和手段

本次毕业设计是设计一种单片机控制的自动浇水系统,实现室盆花浇水的自动化系统。

该系统可对土壤的温湿度进行监控,并对作物进行适时、适量的浇水。

其核心是单片机和温湿度传感器以及浇水驱动电路构成的检测控制部分。

主要研究土壤湿度与浇水量之间的关系、浇灌控制技术及设备系统的硬件、软件编程各个部分。

检测部分,单片机选用AT89C52单片机,温湿度传感器选用SHT11温湿度传感器。

SHT-11采用COMSens专利传感器技术将温度湿度传感器、A/D转换器、数字接口、校准数据存储器、标准I2C总线等电路全部集成在一个芯片。

软件选用C51语言编程。

土壤温湿度传感器可将检测到的土壤温湿度模拟量放大转换成数字量通过单片机程序控制精确的将温度与湿度分别显示在LCD显示屏上,同时通过单片机的中断服务程序判断是否要给盆花浇水,若需浇水,则单片机系统发出浇水信号,并经放大驱动设备,开启电磁阀进行浇水,若不需浇水,则进行下一次循环检测。

在浇水系统中也同时设计一个手动浇水部分,系统工作时通过设置键的按下与否来选择浇水系统的工作方式。

土壤浇水驱动电路采用继电器开关电路,蓄水箱水位报警以及自动上水部分采用纯硬件控制。

第2章AT89C52单片机

AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。

AT89C52是一个低电压,高性能CMOS8位单片机,片含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合[5]。

2.1AT89C52主要特性

(1)AT89C52主要特性有:

(2)兼容MCS51指令系统

(3)8k可反复擦写(大于1000次)FlashROM;

(4)32个双向I/O口;

(5)256x8bit部RAM;

(6)3个16位可编程定时/计数器中断;

(7)时钟频率0-24MHz;

(8)2个串行中断,可编程UART串行通道;

(9)2个外部中断源,共8个中断源;

(10)2个读写中断口线,3级加密位;

(11)低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;

(12)有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。

2.2管脚说明

AT89C52的引脚图如图2-1所示。

各引脚的具体说明如下:

图2-1AT89C52的引脚图

P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活部上拉电阻。

在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:

P1是一个带部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

  与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表1。

  Flash编程和程序校验期间,P1接收低8位地址。

表1.P1.0和P1.1的第二功能

引脚号

功能特性

P1.0

T2,时钟输出

P1.1

T2EX(定时/计数器2)

P2口:

P2是一个带有部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口P2写“1”,通过部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的容。

Flash编程或校验时,P2亦接收高位地址和一些控制信号。

P3口:

P3口是一组带有部上拉电阻的8位双向I/O口。

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻 辑门电路。

对P3口写入“1”时,它们被部上拉电阻拉高并可作为输入端口。

此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能 P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。

该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。

在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行部程序存储器中的指令。

Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

XTAL1:

振荡器反相放大器的及部时钟发生器的输入端。

XTAL2:

振荡器反相放大器的输出端。

2.3振荡电路和时钟

在AT89C52芯片部,有一个振荡电路和时钟发生器,引脚XTAL1和XTAL2之间接入晶体振荡器和电容后构成部时钟方式。

也可以使用外部振荡器,由外部振荡器产生的信号直接加载到振荡器的输入端,作为CPU的时钟源,称为外部时钟方式。

采用外部时钟方式时,外部振荡器的输出信号接至XTAL1,XTAL2悬空。

两种方式的电路连接如图2-2所示。

大多数的单片机采用部时钟方式,本次设计亦然[6]。

(a)使用片振荡器接法(b)使用片外振荡器接法

图2-2AT89C51振荡器的连接方式

在AT89C51单片机部,引脚XTAL2和引脚XTAL1连接着一个高增益反相放大器,XTAL1引脚是反相放大器的输入端,XTAL2引脚是反相放大器的输出端。

芯片部的时钟发生器是一个二分频触发器,振荡器的输出

为其输入,输出为两相的时钟信号(状态时钟信号),频率为振荡器输出信号频率

的1/2。

状态时钟经三分频后为低字节地址锁存信号ALE,频率为振荡器输出信号频率

的1/6,经六分频后为机器周期信号,频率为

/12。

一般取20~30pF的陶瓷电容器。

2.4AT89C52的中断系统

为了提高系统的工作效率,AT89C52单片机设置了中断系统,采用中断方式与外设进行数据传送。

所谓“中断”,是指单片机在执行某一段程序的过程中,由于某种原因(如异常情况或特殊请求),单片机暂时中止正在执行的程序,而去执行相应的处理程序,待处理结束后,再返回到被打断的程序处,继续执行原程序的过程。

2.4.1中断系统结构和中断控制

AT89C52共有6个中断向量:

两个外中断(INT0和INT1),3个定时器中断(定时器0、1、2)和串行口中断。

所有这些中断源如图9所示。

  这些中断源可通过分别设置专用寄存器IE的置位或清0来控制每一个中断的允许或禁止。

IE也有一个总禁止位EA,它能控制所有中断的允许或禁止。

  注意表5中的IE.6为保留位,在AT89C51中IE.5也是保留位。

程序员不应将“1”写入这些位,它们是将来AT89系列产品作为扩展用的。

  定时器2的中断是由T2CON中的TF2和EXF2逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,

  事实上,服务程序需确定是TF2或EXF2产生中断,而由软件清除中断标志位。

定时器0和定时器1的标志位TF0和TF1在定时器溢出那个机器周期的S5P2状态置位,而会在下一个机器周期才查

询到该中断标志。

然而,定时器2的标志位TF2在定时器溢出的那个机器周期的S2P2状态置位,并在同一个机器周期查询到该标志。

引起6个中断源的符号、名称及产生的条件如下:

外部中断0,由P3.2端口线引入,低电平或下降沿引起;

外部中断1,由P3.3端口线引入,低电平或下降沿引起;

T0:

定时器/计数器0中断,由T0记满回零引起;

T1:

定时器/计数器1中断,由T1记满回零引起;

TI/RI:

串行口I/O中断,串行端口完成一帧字符发送/接收后引起中断;

T2:

定时器/计数器2中断,由T2记满回零引起。

在本次设计中采用了定时器/计数器0中断,它的中断控制寄存器包括定时器/计数器0、1控制寄存器TCON和中断允许控制寄存器IE。

①定时器控制寄存器TCON

TCON是定时器/计数器和外部中断两者合用的一个可位寻址的特殊功能寄存器,它的格式如下:

D7

D6

D5

D4

D3

D2

D1

D0

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

各控制位定义如下:

TF1:

定时器/计数器1溢出中断请求标志位。

当定时器/计数器1计数产生溢出时,由部硬件置位TF1,向CPU响应中断并转向该中断服务程序执行时,由硬件部自动TF1清0。

TR1:

定时器/计数器1启动/停止位。

由软件置位/复位控制定时器/计数器1的启动或停止计数。

TF0:

定时器/计数器0溢出中断请求标志位。

当定时器/计数器0计数产生溢出时,由部硬件置位TF0,向CPU响应中断并转向该中断服务程序执行时,由硬件部自动TF1清0。

TR0:

定时器/计数器0启动/停止位。

由软件置位/复位控制定时器/计数器0的启动或停止计数。

IE1:

外部中断请求标志位。

当CPU检测到INT0低电平或下降沿且IT1=1时,由部硬件置位IE1标志位(IE1=1)向CPU请求中断,当CPU响应中断并转向该中断服务程序执行时,由硬件部将IE1清0。

IE0:

当CPU检测到INT0低电平或下降沿且IT0=1时,由部硬件置位IE0标志位(IE0=1)向CPU请求中断,当CPU响应中断并转向该中断服务程序执行时,由硬件部将IE0清0。

IT1:

用软件置位/复位IT1来选择外部中断INT1是下降沿触发还是电平触发中断请求。

当IT1置1时,则外部中断INT1为下降沿触发中断请求,即INT1端口由前一个机器周期的高电平跳变为下一个机器周期的低电平,则触发中断请求;

当IT1复位清0,则INT1的低电平触发中断请求。

IT0:

由软件置位/复位IT0来选择外部中断INT0是下降沿触发还是低电平触发中断请求,其控制原理同IT1。

②中断允许控制寄存器

中断允许控制寄存器IE的格式如下:

EA

ET2

ES

ET1

EX1

ET0

EX0

EA:

中断总控制为。

EA=1,CPU开中断,它是CPU是否响应中断的前提,在此前提下,如果某中断源的中断允许位置1,才能响应该中断源的中断请求。

如果EA=0,无论哪个中断源有请求,CPU都不予回应。

ET2:

定时器/计数器T2中断控制位,ET2=1,允许T2计数溢出中断;

ET2=0,禁止T2中断。

ES:

串行口中断控制位,ES=1,允许串行口发送/接收中断;

ES=0禁止串行口中断。

ET1:

定时器/计数器T1中断控制位,ET1=1,允许T1计数溢出中断;

ET1=0,禁止T1中断。

EX1:

外部中断1控制位,EX1=1,允许中断;

EX1=0,禁止外部中断1中断。

ET0:

定时器/计数器T0中断控制位,ET0=1,允许T0计数溢出中断;

ET0=0,禁止T0中断。

EX0:

外部中断0控制位,EX0=1,允许中断;

EX0=0,禁止外部中断0中断[1]。

2.4.2中断响应过程

CPU中断处理从响应中断、控制程序转向对应的中断矢量地址入口处执行中断服务程序,到执行返回(RETI)指令为止。

中断响应可分为以下几个步骤:

①保护断点,即保存下一个将要执行的指令的地址,把这个地址送入堆栈。

②寻找中断入口,根据6个不同的中断源所产生的中断,中断系统必须能够正确地识别中断源,查找6个不同的入口地址。

以上工作是由单片机自动完成的,与编程者无关。

在6个入口地址处存放有中断处理程序。

③执行中断处理程序。

④中断返回:

执行完中断指令后,从中断处返回到主程序,继续执行[2]。

2.5定时器/计数器

AT89C52单片机部设有两个16位可编程定时器/计数器,即定时器/计数器0和定时器/计数器1。

除此之外还有一个可编程定时器/计数器2。

2.5.1定时器/计数器0和1简介

定时器/计数器0和1部有一个计数寄存器(

),它实际上是一个累加寄存器进行加1计数。

定时器和计数器共用这个寄存器,但定时器/计数器同一时刻只能工作在其中一种方式下,不可能既工作在定时器方式,同时又工作在计数器方式。

这两个工作方式的根本区别是在于计数脉冲的来源不同。

工作在定时器方式时,对振荡源12分频的脉冲计数,即每过一个机器周期(1个机器周期在时间上和12个振荡周期的时间相等),计数寄存器中的值就加1。

工作在计数器方式时,计数脉冲不是来自部的机器周期,而是来自外部输入。

对定时器/计数器0、定时器/计数器1,计数脉冲分别来自T0、T1引脚。

当这些引脚上输入的信号产生高电平至低电平的负跳变时,计数寄存器的值就加1。

单片机每个机器周期都要对对外部输入进行采样,如果在第一个周期采得的外部信号为高电平,在下一个周期采得的信号为低电平,则在再下一个机器周期,即第三个机器周期计数寄存器的值才增加1。

2.5.2与定时器/计数器0和1相关的特殊功能寄存器

①计数寄存器TH0、TL0和TH1、TL1

计数寄存器是16位的,再启动定时器时需要对它设定初始值。

是计数寄存器的高8位,

是计数寄存器的低8位。

TH0、TL0对应T/C0,TH1、TL1对应T/C1。

②定时器/计数器控制寄存器TCON

定时器/计数器控制寄存器TCON的格式如下:

TF1为T/C1的溢出标志,溢出时由硬件置1,进入中断后又由硬件自动清0。

TR1为T/C1的启动和停止位,由软件控制。

置1时启动T/C1;

清0时停止T/C1。

TF0和TR0的功能和使用方法以TF1、TR1类似,只是它们针对的是T/C0。

③定时器/计数器方式控制寄存器TMOD

定时器/计数器方式控制寄存器TMOD的格式如下所示。

它的控制位都是由软件控制的,其中高4位是针对T/C1的,低4位是针对T/C0的,其功能和使用方法相似。

GATE

M1

M0

现在以T/C0来说明各控制位的使用方法:

GATE是一个选通位,当GATE位置1时,T/C0受到双重控制,只有

为高电平且TR0位置1是T/C0才开始工作,当GATE位清0时,T/C0仅受到TR0的控制。

用来选择工作在定时器方式还是计数器方式。

当该位置1时工作在计数器方式,清0时工作在定时器方式。

M1和M0联合起来用于选择操作模式,一共有四种操作模式,如表2-2所示。

表2-2操作模式

操作模式

计数器配置

模式0

13位计数器

1

模式2

自动重的8位计数器

模式3

T0分为两个8位计数器,T1停止计数

第3章复位及电源设计

复位、时钟和电源管理电路构成最基本的单片机外围电路,一般也称为最小系统或者核心系统。

最小系统的各个部分的正常运行是单片机芯片能够工作的必要条件,因此在设计这个部分的时候,应该给予特别的重视。

单片机最小系统逻辑图如图3-1所示。

图3-1单片机最小系统逻辑图

3.1复位电路

对于实际的单片机应用系统,特别是产品化的单片机系统,其可靠性是一个不容忽视的问题。

由于单片机系统运行时钟频率高,在运行时极有可能发生干扰和被干扰的现象,严重时系统可能会出现死机现象。

为了克服这一情况,除了在软件上做一些保护措施外,硬件上也必须做相应的处理。

硬件上最有效的保护措施就是采用具有看门狗功能的自动复位和手动复位电路相结合的方式[7]。

自动复位电路除了具有上电复位功能外,还具有监视运行并在系统发生故障或死机时再次进行复位的能力。

其基本原理就是通过电路提供的一个用于监视系统运行的监视线,当系统正常运行时,应在规定的时间给监视线提供一个高电平变化的信号,如果在规定的时间这个信号不发生变化,自动复位电路就认为系统运行不正常并对系统进行复位。

自动复位的功能可以通过“看门狗”芯片实现,图3-2为用DS1232芯片搭建的“看门狗”电路[8]。

图3-2看门狗电路

3.1.1DS1232的结构及特点

(1)引脚功能

PBRST:

按钮复位输入端;

TD:

看门狗定时器延时设置端;

TOL:

5%或10%电压监测选择端;

GND:

电源地;

  RST:

高电平有效复位输出端;

/RST:

低电平有效复位输出端;

ST:

周期输入端;

Vcc:

电源。

(2)主要特点

具有8脚DIP封装和16脚SOIC贴片封装两种形式,可以满足不同设计要求;

在微处理器失控状态下可以停止和重新启动微处理器;

微处理器掉电或电源电压瞬变时可自动复位微处理器;

精确的5%或10%电源供电监视;

不需要分立元件;

适应温度围宽,-40~+85℃。

3.1.2.DS1232的功能

(1)电源电压监视

DS1232能够实时监测向微处理器供电的电源电压,当电源电压VCC低于预置值时,DS1232的第5脚和第6脚输出互补复位信号RST和RST。

预置值通过第3脚(TOL)来设定;

当TOL接地时,RST和RST信号在电源电压跌落至4.75V以下时产生;

当TOL与VCC相连时,只有当VCC跌落至4.5V以下时才产生RST和RST信号。

当电源恢复正常后,RST和RST信号至少保持250ms,以保证微处理器的正常复位。

(2)按键复位

在单片机产品中,最简单的按键复位电路是由电阻和电容构成的,如果系统扩展存在需要和微处理器同时复位的其他接口芯片,这种简单的阻容复位电路往往不能满足整体复位的要求。

DS1232提供了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1