温室大棚卷帘机控制系统总体专业技术方案设计.docx

上传人:聆听****声音 文档编号:1983395 上传时间:2023-05-02 格式:DOCX 页数:33 大小:458KB
下载 相关 举报
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第1页
第1页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第2页
第2页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第3页
第3页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第4页
第4页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第5页
第5页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第6页
第6页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第7页
第7页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第8页
第8页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第9页
第9页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第10页
第10页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第11页
第11页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第12页
第12页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第13页
第13页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第14页
第14页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第15页
第15页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第16页
第16页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第17页
第17页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第18页
第18页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第19页
第19页 / 共33页
温室大棚卷帘机控制系统总体专业技术方案设计.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

温室大棚卷帘机控制系统总体专业技术方案设计.docx

《温室大棚卷帘机控制系统总体专业技术方案设计.docx》由会员分享,可在线阅读,更多相关《温室大棚卷帘机控制系统总体专业技术方案设计.docx(33页珍藏版)》请在冰点文库上搜索。

温室大棚卷帘机控制系统总体专业技术方案设计.docx

单片机汇编语言程序设计师毕业论文

目 录

第一章 绪 论 2

1.1背景介绍 2

1.2相关技术的情况 2

1.3设计的意义 2

第二章 总体设计方案 3

2.1结构设计 3

2.2本设计主要功能流程图 3

第三章 硬件设计模块 5

3.1单片机主控制模块 5

3.2GSM短信收发模块 6

3.3温度显示模块 8

3.4矩阵键盘模块 10

3.5步进电机仿卷帘机模块 11

第四章 软件设计 13

4.1程序设计总流程图 13

4.2GSM短信模块程序设计 14

4.3DS18B20程序设计 16

4.4 1602液晶程序设计 19

4.5矩阵键盘程序设计 22

4.6步进电机程序设计 24

第五章 调试与总结 27

5.1 调试 27

5.2 总结 27

致 谢 29

参考文献 30

附 录 31

5

第一章 绪 论

1.1背景介绍

2009年12月8日傍晚,福兴地某村一位中年妇女到自家大棚上放草帘,由于没有及时停住卷帘机,导致绳子在铁杆上反缠,该妇女去拉绳子时,不慎被绳子缠住围巾,最终被勒住颈部,当场死亡。

1.2相关技术的情况

目前使用的温室大棚卷帘机是靠人工送电,以达到控制卷帘机升降的目的,存在着很大的安全隐患。

卷帘机本是帮助人们干活的工具,可有时却成了杀人工具,而且不管温室中是否有劳动任务,管理人员必须亲自到温室按动按键实现卷帘机的升降,浪费了时间。

1.3设计的意义

本设计以发送短信的方式来控制卷帘机的升降,通过远程控制,就能实现卷帘机的自动升降,一方面可以有效的避免类似上述情况的发生,另一方面可减轻管理人员的劳动强度,在温室中没有劳动任务的时候不必亲自到温室,仅仅为实现大棚帘子的升降,节省了时间。

同时本设计外加其他功能,一方面能检测室内温度,将温度以短信的形式发给管理人员,使管理人员能够及时准确的了解温室内的温度情况,及时实现对温室大棚的通风,使作物获得适宜的生长温度,有利于作物的生长;另一功能就是当室内温度过低时,卷帘机能够自动放帘,以保证室内基本恒温,缩短蔬菜生长周期,使蔬菜提前上市,提高经济效益。

第二章 总体设计方案

温室大棚卷帘机控制系统总体方案设计是根据其功能而设计的,从全局的角度,以系统的观点而进行整体方面的设计,主要由GSM短信收发模块、温度显示模块、矩阵键盘设置模块,步进电机模拟卷帘机模块等组成。

2.1结构设计

单片机

AT89S52

GSM短信收发模块

按键设置模块

温度检测模块

卷帘机升降控制

1602液晶显示模块

(图2-1总体框架结构图)

其中AT89S52单片机作为本系统的主控制模块。

按键设置模块可设置最低报警温度和管理人员手机号码。

GSM模块中的短信内容由单片机进行判别,如读到升起的指令,卷帘机往上卷,若为降指令,则往下卷。

同时18B20温度传感器将检测到的温度传输到LCD显示,温度一旦低于设置的值,单片机发短信给GSM,提示管理人员降下帘子。

2.2本设计主要功能流程图

(图2-2 功能流程图)

小节:

本章对该设计的总体框架结构体系设计进行了论述,并对该设计的功能

通过流程图的形式进行了介绍,硬件及软件模块的设计分别在第三章、第四章给以介绍。

第三章 硬件设计模块

温室大棚卷帘机控制系统硬件模块主要由单片机主控制模块、GSM短信收发模块、温度显示模块、按键模块、步进电机仿卷帘机五大模块组成。

下面分别对五大模块进行分析。

3.1单片机主控制模块

本模块主要由单片机最小系统搭建而成,主要包括复位电路与时钟电路两大部分,这里单片机主要进行计算,判断,进制转换等一系列工作,也是整个系统中最关键的部分,下面具体介绍一下单片机主控制模块的各个组成。

3.1.1AT89S52功能简介

AT89S52和AT89S51(如图)基本是一样的,S52比S51多一个定时器,由于S52的定时器2不常用,故在此我们讨论S51,它是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统

及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S51具有如下特点:

40个引脚,

4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16

位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

单片机汇编语言程序设计师毕业论文

(图3-1-1 AT89S51引脚图)

3.1.2复位电路

为确保单片机系统中电路稳定可靠工作,复位电路是必不可少的部分,复位电路有上电自动复位和按键复位两种,这里采用按键复位。

其工作电路图

(3.1.2)。

3.1.3时钟电路

时钟电路是单片机工作的心脏,它控制着单片机的工作节奏,单片机就是通过复杂的时序电路完成不同指令功能的。

时钟的工作电路图如(3.1.3)。

(图3-1-2 复位电路) (图3-1-3 时钟电路)

3.2GSM短信收发模块

GSM短信收发的主要功能是收发短信,当温度低于设定的值时自动给管理人员发送短信,给以报警提示,同时接受管理人员回复的短信,通过单片机判断短信内容,控制卷帘机的升降。

3.2.1TC35模块简介

TC35是Siemens公司推出的新一代无线通信GSM模块,可以快速安全可靠地实现系统方案中的数据、语音传输、短消息服务(ShortMessageService)和传真。

模块的工作电压为

6

3.3-5.5V,可以工作在900MHz和

单片机汇编语言程序设计师毕业论文

1800MHz两个频段,所在频段功耗分别为2W(900M)和1W(1800M)。

模块有AT命令集接口,支持文本和PDU模式的短消息、第三组的二类传真、以及2.4k,4.8k,9.6k的非透明模式。

此外,该模块还具有电话簿功能、多方通话,漫游检测功能,常用工作模式有省电模式、IDLE、TALK等模式。

通过独特的40引脚的ZIF连接器,实现电源连接、指令、数据、语音信号、及控制信号的双向传输。

通过ZIF连接器及50Ω天线连接器,可分别连接SIM卡支架和天线。

3.2.2 TC35引脚极其用法简介

TC35有40个引脚,1~14引脚为电源部分,其中l~5引脚为电源电压输入端VBATT+6~10引脚为电源地GND,ll~12引脚为充电端,13引脚为对外输出电压(供外部电路使用),24~29引脚为SIM卡连接端;33~40引脚为语音接口用来接电话手柄。

15、30、31和32引脚为控制部分,15引脚为启动线IGT(Ignition)。

当TC35通电后必须给IGT一个大于100mV的低电平,模块才能启动。

30引脚为RTCBACKup;31引脚为掉电控制;32引脚为SYNC,16~23引脚为数据输入/输出端。

启动电路由漏极开路三极管控制。

在这里,着重介绍下SYNC引脚,因为该引脚可以很好的反映TC35的工作状态。

SYNC引脚可以用来输出一个同步信号(synchronizationsignal),也可以在应用时来控制一个LED灯的输出状态。

SYNC端通过一个三极管或门电路来控制LED。

一个简单的电路接法是:

SYNC端通过一电阻接到NPN三极管(如9013)的基极,射极直接接地,集电极通过一个接限流电阻接到LED的负端,LED的正端接VCC。

LED的工作模式完全类同于同步信号,显示的是TC35的工作状态:

【1】LED灯灭,表示TC35电源关闭,处于休眠、报警或单纯的充电模式

【2】600ms亮/600ms灭,表示未插入SIM卡,或者个人身份未登记/已注销,或者网络正在搜寻中,或者正在进行管理人员身份鉴定,或者网络注册正在进行中

【3】75ms亮/3s灭,表示网络注册成功(控制通道和管理人员交换信息完成),无来电

31

【4】LED灯亮,依据不同的呼叫类型:

声音呼叫,数据呼叫,在建立或者完毕时的状态。

3.3温度显示模块

本模块主要通过DS18B20温度传感器采集室内温度,将实时温度显示在LCD液晶上,并且当温度低于设定温度时,将温度值发送给管理人员,让管理人员知道温室内温度变化。

3.3.1DS18B20温度传感器

(1)DS18B20温度传感器简介

DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式

独特的单线接口仅需要一个端口引脚进行通信;多个

DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.0~5.5V;零待机功耗。

零待机功耗;温度以9或12位数字;管理人员可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

(2)温度检测电路

温度检测采用数字温度计DS18B20。

如图(3.3.1)

(图3-3-1)

3.3.21602字符型LCD液晶屏

(1)LCD简介

字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。

本次设计选用的是长沙太阳人电子有限公司的1602字符型液晶显示器,下面介绍其用法。

一般1602字符型液晶显示器实物如图3-3-2-1:

引脚功能说明

(图3-3-2-1)

1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下:

第1脚:

VSS为地电源。

第2脚:

VDD接5V正电源。

第3脚:

VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:

R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15脚:

背光源正极。

第16脚:

背光源负极。

(2)LCD显示电路

本设计液晶显示模块的设计如下图(3-3-2-2)所示,该电路实现的功能是:

通过AT89S52的P00~P07八个口输出控制信号,控制液晶的8位双向数据线,通过单片机的P2.0、P2.1、P2.2向液晶模块发送命令,控制液晶执行各种命令,其中P2.2控制液晶的使能端,当E端由高电平跳变成低电平时,液晶模块执行命令,P2.1控制液晶模块的读写,高电平时进行读操作,低电平时进行写操作。

当P2.0和P2.1共同为低电平时可以写入指令或者显示地址,当P2.0为低电平P2.1为高电平时可以读忙信号,当P2.0为高电平P2.1为低电平时可以写入数据,P2.0控制寄存器的选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

3.4矩阵键盘模块

(图3-3-2-2)

矩阵键盘主要用来对最低温度和管理人员手机号码的设置,可以随时改变数值,更符合实际生产的要求。

3.4.14×4矩阵键盘的工作原理

矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。

在行线和列线的每一个交叉点上,设置一个按键。

这样键盘中按键的个数是4×4个。

这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。

3.4.2键盘电路设计

矩阵键盘引脚接法及其电路图3-4-2:

P2.0

S4

S5

S6

S7

P2.1

S8

S9

S10

S11

P2.2

S12

S13

S14

S15

P2.3P2.4P2.5P2.6

P2.7

(图3-4-2)

3.5步进电机仿卷帘机模块

现实生活中本模块是卷帘机控制,卷帘机主要由直流电机和减速器组成。

本设计用二相四线步进电机模拟卷帘机的升降。

3.5.1步进电机的工作原理

步进电机是一种将电脉冲转化为角位移的执行机构。

当步进驱动器接收到一

个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移

量,从而达到准确定位的目的,同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)

的特点,广泛应用于各种开环控制。

现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机

(PM)、混合式步进电机(HB)和单相式步进电机等。

3.5.2步进电机模拟卷帘机的设计

本设计步进电机及驱动器模块设计的电路如图所示,VCC接12V电源,GND接地,A+、A-,B+、B-分别连接步进电机的四根接线,CP+、CP-

、CW+、CW-分别连接单片机P10—P13口。

该电路实现的功能是:

通过AT89S51的P10、P11、P12、P13四个口输出四个信号,其中P10、P12口输出控制水平方向和垂直方向脉冲的个数,即两个方向上的位移量;P11、P13口控制步进电机的转动方向,即正反转。

控制过程为:

单片机接受键盘传来的信号,通过P1的四个口输出控制信号,通过硬件接线,发送到步进电机的驱动器,通过驱动器控制步进电机的转向和转角。

当然,其中还包括单片机的内部振荡电路,驱动器匹配的电路等的设计。

(图3-5-2)步进电机及驱动器模块设计电路图

引脚功能说明

P10、P12(1、3脚):

接步进驱动器,传递脉冲个数;

P11、P13(2、4脚):

控制电机的转动方向;

小节:

本章节对单片机主控制模块、GSM短信收发模块、温度显示模块、按键模块、步进电机仿卷帘机模块分别进行了介绍,里面对各模块的重点,难点及注意点进行了很仔细的分析与讲解。

第四章 软件设计

温室大棚卷帘机控制系统软件设计主要由GSM短信模块程序设计,DS18B20程序设计,1602液晶程序设计,矩阵键盘程序设计及步进电机程序组成。

每一模块都是先单独调试,最后整体调试的。

下面分别介绍一下各模块的程序设计过程及注意点。

4.1程序设计总流程图

(图4-1 功能流程图)

4.2GSM短信模块程序设计

GSM模块与手机之间的通信协议是一些AT指令集,AT指令是以AT作首,字符结束的字符串,AT指令的响应数据包在中。

每个指令执行成功与否都有相应的返回。

所以本模块的程序设计主要以发送AT指令为着手点。

用AT命令设置TC35的参数时,必须先要将命令写入串口,然后通过读取串口的应答数据来判断是否成功。

一般AT命令发送成功时,会返回数据“OK",表示AT命令执行成功。

在短消息模块设计的过程中,对于TC35的相关参数要进行设置。

具体应用到的AT指令如下:

(1)设置发送模式

短消息收发时,必须要用AT命令设置TC35的发送和接收模式。

在收发短消息时,必须按照设置的模式对发送和接收的数据进行相应编码和解码。

其中,设置PDU模式的命令为“AT+CMGF=1回车“。

(2)设置服务中心号码

根据前面介绍短消息收发技术原理,短消息的传输总是由处于GSM外部的短消息服务中心进行中继。

每个消息有自己的目的地或起源地,但只与用户和SMSC有关,因此要根据SIM卡的营运商设置相应的服务中心。

如设置徐州联通公司服务中心的命令是,“AT+CSCA=008613010350500 回车“。

(3)短消息发送

在短消息发送时,使用以下命令将短信发出去:

at+cmgf=1回车at+csmp=17,167,0,0回车at+cscs=gsm回车

at+cmgs=手机号码回车

输入短信内容text格式+

(注:

“”ASCII值为26,即1AH)

发送短信子程序如下:

;========================

;发送短信程序

;========================

MAIN:

MOV SP,#53H ;设置堆栈指针

MOV78H,#20H ;设置要发送的数据块的首末地址

MOV77H,#00HMOV76H,#20HMOV75H,#40H

ACALLTRANS ;调用发送子程序

SJMP $

TRANS:

MOV SBUF,78H ;发送地址高8位WAT1:

JNB TI,WAT1

CLR TI

MOV SBUF,77H ;发送地址低8位WAT2:

JNB TI,WAT2

CLR TI

MOV SBUF,76H ;发送地址高8位WAT3:

JNB TI,WAT3

CLR TI

MOV SBUF,75H ;发送地址低8位WAT4:

JNB TI,WAT4

CLR TI

MOV IE,#90H ;打开中断允许寄存器,采用中断方式发送数据

MOVDPH,78HMOVDPL,77HMOVXA,@DPTR

MOVSBUF,A ;发送首个数据

WAIT:

JNB F0,WAITRET

COM_INT:

CLR TI ;关发送中断标志位TI

INCDPTR ;数据指针加1,准备发送下一个数据

MOV A,DPH ;判断当前被发送的数据地址是不是末地

CJNE

A,76H,END1

;不是末地址则跳转

MOV

A,DPL

CJNE

A,75H,END1

SETE

FO

;数据发送完毕,置1标志位

CLR

ES

;关串行口中断

CLR

EA

;关中断

RETI

;中断返回

END1:

MOVX

A,@DPTR

;将要发送的数据送累加器,准备发送

MOV

SBUF,A

;发送数据

RETI

;中断返回

4.3

DS18B20程序设计

DS18B20温度传感器是DALLAS公司生产的单总线器件,在一根线上进行全部的信息传输,因为硬件简单,所以软件设计相对麻烦,对时序掌控精度要求较高。

4.3.1写18B20程序设计

主机要生存一个写时间隙,必须把数据线拉低到低电平然后释放,写时间间隙开始后的15us内允许数据线拉倒高电平。

主机要生成一个写0间隙,必须把数据线拉低电平并保持60us,如图4.3.1所示。

(图4-3-1 DS18B20写时序图)

写18b20子程序的汇编程序如下:

;========================================

;写DS18B20的子程序(有具体的时序要求)

;========================================WRITE_1820:

MOV R2,#8 ;一共8位数据

CLR C

WR1:

CLR DQ

MOV R3,#6

DJNZ R3,$

RRC A

MOV DQ,C

MOV R3,#23

DJNZ R3,$

SETB DQNOP

DJNZ R2,WR1

SETB DQRET

4.3.2读18B20程序设计

主机生成读时间间隙,从ds18b20输出的数据在读间隙的下降沿出现的15us

内有效,因此主机停止I/O口的操作,以读取I/O口的值,如图4.3.2所示。

(图4-3-2 DS18B20读时序图)

读18b20子程序的汇编程序如下:

;===========================================

; 读DS18B20的程序

;============================================

READ_18200:

MOVR4,#2 ;将温度高位和低位从DS18B20中读出MOVR1,#TEMPER_L ;低位存入TEMPER_L(TEMPER_L)

;高位存入(TEMPER_H)

RE00:

MOVR2,#8 ;数据一共有8位RE01:

CLRC

SETB DQ

NOPNOPCLRDQNOPNOPNOP

SETB DQMOVR3,#9

RE10:

DJNZ R3,RE10

MOVC,DQMOVR3,#23

RE20:

DJNZR3,RE20

RRCA

DJNZR2,RE01MOV@R1,ADECR1

DJNZR4,RE00

RET

单线总线的空闲状态是高电平。

无论任何理由需要暂停某一执行过程时,如果还想恢复执行的话,总线必须停留在空闲状态。

在恢复期间,如果单线总线处于非活动(高电平)状态,位与位间的回复时间可以无限长。

如果总线停留在低电平超过480us,总线上所有的器件都将复位。

执行序列通过单线总线端口访问DS18B20的协议流程图如下:

(图 4-3-2 协议流程图)

4.41602液晶程序设计

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。

要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图4.4是1602的内部显示地址。

(图4-4 1602LCD内部显示地址)

例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?

这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)

=11000000B(C0H)。

4.4.11602初始化的程序设计

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2