基于单片机温室大棚智能监测系统设计_第1页
基于单片机温室大棚智能监测系统设计_第2页
基于单片机温室大棚智能监测系统设计_第3页
基于单片机温室大棚智能监测系统设计_第4页
基于单片机温室大棚智能监测系统设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

常州工学院学士学位设计设计设计设计设计设计设计设计说明书目录TOC\o"1-2"\h\u15908第一部分设计任务与调研 3325271.毕业设计的主要任务 3265332.设计的思路和方法 3197283.调研的目的 47098第二部分设计说明 5239801.单片机最小系统设计 5199612.温度传感器的选型和设定 10232583.显示与报警电路设计 11231154.系统软件设计 1427498第三部分设计成果 16175741.系统仿真 1687892.程序代码 1724468第四部分结束语 2211687第五部分致谢 2322509第六部分参考文献 24

第一部分设计任务与调研1.毕业设计的主要任务本设计的主要任务是设计一个温室大棚的温度智能监测系统,其应具有以下主要功能:(1)可以自行设定所要监测的温度值;(2)实际温度与设定监测的温度相差在不同范围内做出不同的提示:1)不大于1℃时,绿灯常亮;2)不小于3℃时,红灯常亮;3)大于1℃且小于3℃时,绿灯闪烁。(3)LCD显示温室内的实时温度。2.设计的思路和方法思路∶该系统通过单片机接受温度传感器测量的温度信号,并进行控制,依托自动化设备维修实训中心的AT89C51系列单片机实训设备充分运用所学专业知识和实践技能,详细制定设计方案和阶段进度计划,通过程序设计、模拟调试、修订完善,完成基于单片机的温室大棚智能监测系统的硬件与软件设计,仿真调试。方法手段:文献检索参考、图书馆借阅、手册查询、设备选型、AT89C51系列单片机编程、实训室程序调试;步骤:分析工艺与控制流程、分析控制要求与方式、分析系统设计的原则和方法、确定AT89C51的封装和引脚功能、存储空间配置和功能、复位电路和时钟电路、硬件系统设计、软件程序设计、绘制程序设计流程图、程序调试。3.调研的目的在工业设计、农业生产、国防安全等行业,环境参数的监测都有着非常广泛的实际应用。因为使用的环境不同、采集的参数不同,其系统设计也有着很大不同。在现代实际生活和发展中这一系统的应用十分广泛,温度和湿度是室温大棚环境检测系统中两个举足轻重的显示和判断指标,需要对温度和湿度进行定期的抽样检测和分析,从而采用合理的方法进行应对。

现如今,国内外的温湿度检测器件种类五花八门,而且拥有比较广泛的应用,再加上现代科技不断发展的单片机和大规模集成电路技术,随之产生了可行性比较高、稳定性比较高的单片环境参数采集体系。随着国内外社会的不断发展和进步,很多人对现有所处的生活环境要求变得越来越严格。为了让人们在一年四季都能吃到优质的蔬菜,在培育蔬菜的温室大棚中,对这一点要求尤其严格。运用单片机的温室大棚监控系统的设计,将对大棚中环境的温湿度监控进行具体的设计与实现。

在智能测试器件、工业生产操控、机械统一控制等方面,AT89C51单片机是很好的控制芯片,在很多温湿度监控系统的实际应用也比较常见。用AT89C51单片机实现温湿度实时的自动监控和显示不仅性能良好,而且价格也非常便宜。同时,在学习和应用中,AT89C51单片机也易于掌握。使用这一监控系统,可以对温室大棚内的温湿度变化及时、精确的监控和显示以及更重要的报警功能。在温室大棚当中采用此系统对植物的生活环境进行了时刻的监控,以便能对植物提供更加适宜的环境。

第二部分设计说明单片机最小系统设计1.1AT89C51单片机的简介MCS-51系列单片机最基础的成果是8031/8051/8751(8031/8051/8751是对应的低功耗单片机以及其增强产品8032/8052/8752)。它们具有品种全、兼容性强、性价比高等特点,然而它们却是8位的单片机,同时具有足够齐全丰富的软硬件应用设计内容,在国内外设计人员中都有所认识。在1980年到1990年期间,MCS-51系列单片机是中国设计运用非常普遍的单片机机型。图2-1AT89C51单片机实物图中央微处理机AT89C51:它是一个消耗功率低、运行性能高的CMOS

8位单片计算机。拥有4K字节的ISP(在一些系统中可以编程成片状)的Flash程序存储器只读反复1000次。使用Atmel高密度不容易丢失的存储器设备、匹配准则、制造技术、一系列MCS-51指令系统和80C51引脚的基本结构,通用8位CPU和ISP闪存存储单元,AT89C51强大的计算机可以为许多嵌入式控制应用系统提供高可比性的解决方案。AT89C51具有以下特点:看门狗(WDT)电路,片内时钟振荡器,2个16位可编程定时计数器,40个引脚,2层中断嵌套中断,32个外部双向输入/输出(I/O)口,2个全双工串行通信口,128字节的RAM,4000字节Bytes

Flash片内程序存储器,5个中断优先级。

此外,振荡频率在AT89C51中,也相应地进行了设计和配置。而且运用软件设置合理的省电模式。在掉电模式下,振荡器停止工作来保护RAM的数据,阻止其他芯片功能,直到外部中断或硬件复位被激活。空闲模式下,RAM定时器/计数器、串行端口和中断系统可继续工作。但是中央处理器就会结束工作。而且,该芯片包含三种封装:PDIP,TQFP和PLCC。根据现实的选择需求,并且也考虑到了整个系统的设计和精致的成本,因此在本系统的设计中采用AT89C51单片机作为整个系统的控制器,因为它的价格便宜、运行也比较可靠。1.2AT89C51单片机的引脚介绍AT89C51的引脚封装如图1-2所示。

AT89C51共40个引脚,可划分为以下3种:

电源及时钟引脚:VCC、VSS;XTAL1、XTAL2。

控制引脚:PSEN、ALE/PROG、EA/VPP、RST。

I/O口引脚:P0、P1、P2、P3,为4个8位I/O口的外部引脚。图2-2AT89C51单片机引脚分布图1.3各引脚功能简单介绍VCC:供电电压;GND:接地;

P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,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口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号;

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口:

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INT0(外部中断0)

P3.3

INT1(外部中断1)

P3.4

T0(记时器0外部输入)

P3.5

T1(记时器1外部输入)

P3.6

WR

(外部数据存储器写选通)

P3.7

RD

(外部数据存储器读选通)

同时P3口同时为闪烁编程和编程校验接收一些控制信号;

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高平时间;

ALE

/

PROG

:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止

ALE的输出可在SFR8EH地址上置0。此时,

ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效;

PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期PSEN两次有效。但在访问内部部数据存储器时,这两次有效的PSEN信号将不出现;

EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP);

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入;

XTAL2:来自反向振荡器的输出。1.4时钟电路设计

AT89C51单片机的每个模块的运作均是依靠时钟信号为统一标准,按先后顺序、一定规则地操作。所以单片机的运行速度会被时钟频率非间接影响,单片机系统的稳定性也会被时钟电路的质量非间接影响。在AT89C51单片机中,高增益反相放大器是为了产生内部震荡的,XTAL1是它的输入端,XTAL2是它的输出端。二者之间接有12M的石英晶体和30pF的电容,以此来形成一个相对稳定的振荡器。而外部时钟方式时,XTAL2端悬空,它的外部时钟电源将会接到XTAL1端。时钟电路如图2-3所示。XTAL1XTAL1XTAL2VCC12MC330pf图2-3单片机AT89C51的时钟电路图1.5复位电路设计

单片机的初始化运作是复位,在RST复位端上外加两个机器周期可使单片机复位。复位电路通常采用两种方式自动复位和复位按钮。电源由电容C添加到复位端短的高电平信号,信号逐渐下降与VCC电容C充电时间RST充电过程,在这一高度的持续时间取决于电容C。因此,为了保证系统能够可靠地复位,在EST引脚高水平必须保持足够长的时间。有两种类型的复位方式,手动按钮和水平脉冲复位。复位电路如图2-4所示图2-4单片机的复位电路图2.温度传感器的选型和设定2.1温度传感器的设定常用的温度传感器有热敏电阻、热电偶、PN结温度传感器、集成温度传感器、热电阻等。对于温室内部温度的检测,温度传感器选择DALLAS公司生产的一线制数字,它具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出。

如图2-5所示,DS18B20有三个引脚,GND接地;DQ数字信号的输出/输入;Vdd为外接电源输入端。VCCVCCBQGNDVCC4.7KLSDS18B20 图2-5温度传感器DS18B20引脚图2.2温度采集电路由于DS18B20只有一个串行通信接口,与单片机的连接电路非常简单,只需和单片机的一个I/O端口连接即可,本系统选择了接口接的是P2.0端口,其连接电路图如图2-6所示。DS18B20的I/O口属于漏极开路输出,外接上拉电阻后常态下呈高电平。该器件内含寄生电源,其供电方式可以选择寄生电源方式,也可以选用外部电源。为方便起见,采用外部电源供电。图2-6温度检测电路图3.显示与报警电路设计3.1液晶显示电路设计

LCD1602液晶是一类特定用来显示符号、字母、数字等的点阵型液晶模块,是由很多点阵字符位组成,但是只能显示字符不能显示图像,而且只能显示两行。1602实物图如图2-7所示。图2-7LCD1602实物图LCD1602主要技术参数如下:

(1)

显示容量:16×2个字符;(2)

芯片工作电压:4.5~5.5V;(3)

工作电流:2.0mA(5.0V);(4)

模块最佳工作电压:5.0V;(5)

字符尺寸:2.95×4.35(W×H)mm;(6)

LCD1602采用标准的16脚(带背光)或14脚(无背光)接口。以下是每个引脚端情况:

第1脚:VSS为地电源。

第2脚:VDD接5V正电源。

第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,当对比度比较高的时候会出现“鬼影”,调整对比度时便可调节一个10000的变阻器。

第4脚:RS是寄存器选择端口,高电平是数据寄存器的选择,低电平是指令寄存器的选择。

第5脚:R/W为读写数据线,高电平为读操作,低电平为写操作。假如RS和R/W同一时间均是低电平,便可以写入指令或者显示地址。

第6脚:E端为使能端口,如果E端从高电平变为低电平的时候,此液晶模块执行相应的命令。

第7~14脚:这八个脚为八位双向通信的数据线。

第15脚:背光源正极。第16脚:背光源负极。

LCD1602与AT89C51的电路连接方式如图2-8所示。图2-8LCD1602与AT89C51电路连接图3.2蜂鸣器报警电路本设计采用峰鸣音报警电路。如图2-9所示。蜂鸣器额定电流≤30Ma,而对于AT89C51单片机,P3口的灌电流为15mA,由此可见,仅靠单片机的P3口电流是不能驱动蜂鸣器的,必须使用晶体管放大电路,为了使单片机的功率更小,所以使用PNP型晶体管,当外部环境的温度超过预设值的时候,基级变为低电平,蜂鸣器导通鸣叫。图2-9监测温度设置电路4.系统软件设计4.1设计思路该系统通过单片机接受温度传感器测量的温度信号,并进行控制,依托自动化设备维修实训中心的AT89C51系列单片机实训设备充分运用所学专业知识和实践技能,详细制定设计方案和阶段进度计划,通过程序设计、模拟调试、修订完善,完成基于单片机的温室大棚智能监测系统的硬件与软件设计,仿真调试。4.2程序模块分析主程序:主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度。

读取温度子程序:读取温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。主要包括以下三个命令:

1.写暂存器命令

【4EH】

这个命令为由TH寄存器开始向DS18B20暂存器写入数据,4EH命令后的3字节数据将被保存到暂存器的地址2、3、4(TH、TL、CONFIG)三个字节。所有数据必须在复位脉冲前写完。即如果只想写一个字节的数据到地址2,可按如下流程:

初始化→写0CCH,跳过ROM检测→写4EH→写1字节数据→复位,即向DQ输出480~960us低电平

2.读暂存命令【BEH】

这个命令由字节0读取9个暂存器内容,如果不需要读取所有暂存内容,可随时输出复位脉冲终止读取过程

3.转换温度命令【44H】

这个命令启动温度转换过程。转换温度时DS18B20保持空闲状态,此时如果单片机发出读命令,

DS18B20将输出0直到转换完成,转换完成后将输出1。4.3温度监测系统流程图系统开始上电启动,蜂鸣器得电鸣一声,LCD显示屏也得电初始化,用温度采集模块采集实时温度,单片机自动检测程序自动检测,判断实时温度与设定温度的差值,当实时温度比设定温度大于3℃时,红灯长亮,报警器报警,控制设备(降温系统)启动,直到恢复设定值为止。当实时温度比设定温度小于1℃时,绿灯常亮,当实时温度比设定温度大于1℃且小于3℃时,绿灯闪烁,提醒人们温度的范围,经过LCD显示屏显示出来,及结束程序。见下图2-10。系统启动系统启动蜂鸣器鸣叫蜂鸣器鸣叫LCD初始化LCD初始化温度采集温度采集自动检测自动检测判断实时温度与设定温度值之差大于3℃红灯长亮绿灯长亮小于1℃判断实时温度与设定温度值之差大于3℃红灯长亮绿灯长亮小于1℃大于1℃小于3℃大于1℃小于3℃蜂鸣器报警绿灯闪烁绿灯闪烁 LCD显示LCD显示程序结束程序结束图2-10系统软件流程图第三部分设计成果1.系统仿真如图3-1所示,建立了一个以单片机,温度传感器,LCD显示屏,及报警器为一个整体来实现温室大棚温度的自动控制和智能监测。图3-1系统仿真电路图2.程序代码DQ

BIT

P3.7

1

wire

line

(p3.7引脚接DS18B20

并置位)

swpH

equ

0d2H

(等值伪指令赋值高温与低温)

swpL

equ

0ffH

WDLSB

DATA

30H

WDMSB

DATA

31H

***************************************************************

ORG

0000H

(设置目标程序起始地址)LJMP

MAIN

ORG

000BH

LJMP

TMR0

;

Timer0

isr

********************************************************

(T0中断服务循环)

TMR0:

MOV

TH0,#swpH

MOV

TL0,#swpL

JB

21H,DSL

MOV

P0,42H

ORL

P0,#00100000B

SJMP

EXIT

DSL:

MOV

P0,43H

ORL

P0,#00010000B

EXIT:

CPL

21H

RETI

(主程序)

MAIN:

TOINIT:

CLR

EA

MOV

TMOD,#01H

MOV

TH0,#swpH

MOV

TL0,#swpL

SETB

EA

SETB

ET0

SETB

TR0

***********************************************************

MOV

R2,#2

MOV

R0,#42H

OVER:

MOV

@R0,#00H;

INC

R0

DJNZ

R2,OVER

(循环判断)

LOOP:

LCALL

DSWD

(调用子程序从DS18B20中读取温度)

SJMP

LOOP

;**********************************************************

(从DS18B20中读温度)DSWD:

LCALL

RSTSNR

;

Init

of

the

DS18B20

JNB

F0,KEND

MOV

R0,#0CCH

LCALL

SEND_BYTE

MOV

R0,#44H

LCALL

SEND_BYTE

;

Send

a

Convert

Command

SETB

EA

MOV

48H,#1

SS2:

MOV

49H,#255

SS1:

MOV

4AH,#255

SS0:

DJNZ

4AH,SS0

DJNZ

49H,SS1

DJNZ

48H,SS2

CLR

EA

LCALL

RSTSNR

JNB

F0,KEND

MOV

R0,#0CCH

LCALL

SEND_BYTE

MOV

R0,#0BEH

LCALL

SEND_BYTE

;

Send

Read

Scratchpad

command

LCALL

READ_BYTE

;

Read

the

low

byte

from

scratchpad

MOV

WDLSB,A

;

保留低温

LCALL

READ_BYTE

;

Read

the

high

byte

from

scratchpad

MOV

WDMSB,A

;

保留高温

LCALL

TRANS12

KEND:

SETB

EA

RET

;**********************************************************

;

TRANS12:

MOV

A,30H

ANL

A,#0F0H

MOV

3AH,A

MOV

A,31H

ANL

A,#0FH

ORL

A,3AH

SWAP

A

MOV

B,#10

DIV

AB;MOV

42H,A

MOV

43H,B

MOV

b,#10

DIV

ab

MOV

42H,B

MOV

41H,A

RET

;*************************************************

;

Send

a

byte

to

the

1

wire

line

SEND_BYTE:

MOV

A,R0

MOV

R5,#8

SEN3:

CLR

C

RRC

A

JC

SEN1

LCALL

WRITE_0

SJMP

SEN2

SEN1:

LCALL

WRITE_1

SEN2:

DJNZ

R5,SEN3

RET

;*************************************************

;

Read

a

byte

from

the

1

wire

line

READ_BYTE:

MOV

R5,#8

READ1:

LCALL

READ

RRC

A

DJNZ

R5,READ1

MOV

R0,A

RET

;*************************************************

;

Reset

1

wire

line

RSTSNR:

SETB

DQ

NOP

NOP

CLR

DQ

MOV

R6,#250

DJNZ

R6,$

MOV

R6,#50

DJNZ

R6,$

SETB

DQ

MOV

R6,#15

DJNZ

R6,$

CALL

CHCK

MOV

R6,#60

DJNZ

R6,$

SETB

DQ

RET

;*************************************************

(低温子程序)

CHCK:

MOV

C,DQ

JC

RST0

SETB

F0

SJMP

CHCK0

RST0:

CLR

F0

CHCK0:

RET

;*************************************************

WRITE_0:

CLR

DQ

MOV

R6,#30

DJNZ

R6,$

SETB

DQ

RET

;*************************************************

WRITE_1:

CLR

DQ

NOP

NOP

NOP

NOP

NOP

SETB

DQ

MOV

R6,#30

DJNZ

R6,$

RET

;*************************************************

READ:

SETB

DQ

NOP

NOP

CLR

DQ

NOP

NOP

SETB

DQ

NOPNOP

NOP

NOP

NOP

NOP

NOP

MOV

C,DQ

MOV

R6,#23

DJNZ

R6,$

RET

;**********************************************

DELAY10:

MOV

R4,#20

(动态显示用于延时)

D2:

MOV

R5,#30

DJNZ

R5,$

温馨提示

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

评论

0/150

提交评论