第5引脚:R/W为读写信号脚,读操作时为高电平,写操作时为低电平。当R/W和RS同为低电平时可以显示地址或写入指令,当R/W为高、RS为低时可以读忙信号,当R/W为低且RS为高时可以把数据写入。
第6引脚:E端为使能端,当液晶模块执行命令时, 需使E端的电平由高跳变成低。
第7~14引脚:D0~D7的8位双向数据端。
第15引脚:背光源的正极。
第16引脚:背光源的负极。
3.2.2 LCD1602接口电路的设计
LCD1602与AT89S52的连接电路图如图9所示。
图9 LCD1602模块电路图
为了能够判断无线温湿度传输的数据是否正确,我们在数据采集模块也设计了一个液晶显示电路,通过采集模块和接收模块显示的温湿度数据对比,来判断传输是否准确。
将以上设计的传感器电路,液晶显示电路,无线传输和接收电路,单片机最小系统等各单元电路进行接口连接,构成无线温湿度数据采集系统的总体电路图。
3.3 报警模块设计
本设计的报警装置主要采用蜂鸣器报警装置,其电路连接不仅简单,而且价格便宜,同时又容易通过软件实现和占用单片机I/O口资源较少。当土壤温度低于某一温度时或高于某一温度时或者当土壤湿度高于或低于某一设定值时,可程序设定单片机,通过单片机会给蜂鸣器一个信号,使蜂鸣器产生报警。本设计在信号采集和接收控制模块上同时加上了报警装置,方便现场和控制室的工作人员能同时获得警报讯息,从而引起工作人员的注意,从而能及时作出处理,以免引起不必要的损失。
4. 软件设计
本设计的数据采集系统是由采集模块和显示模块构成,程序设计主要有单片微处理器数据采集程序,NRF905发送和接收程序,液晶显示程序构成。软件设计的程序是通过C语言编写而成[7]。
4.1 采集模块软件设计
首先初始化传感器,将采集到的土壤温度和湿度数据传送至单片机,通过单片机的I/O控制温度和湿度传感器。主机通过SPI接口向nRF905的配置寄存器写入信息并通过天线发送,其主要程序流程见图10所示;同时将数据显示在LCD1602上,LCD显示流程图见图11所示。
图10 采集模块主程序流程图
在进行采集模块软件设计时,要将nRF905的工作模式设置为发送状态,通过设置nRF905的配置寄存器使 TRX_CE=0,TX_EN=1。nRF905发送程序流程图见图12所示。
图11 液晶显示程序流程图
图12 nRF905发送程序流程图
4.2 接收模块软件设计
接收模块的程序设计主要是nRF905接收过程的程序设计。如图13和14所示。
图13 接收模块主程序流程图
图14 nRF905接收程序流程图
4.3 模拟SPI口的实现
由于单片机不存在SPI口,为了实现单片机与nRF905的通讯,需要进行模拟SPI口,SPI口的工作方式可以通过SPI指令进行设置。首先必须设置器件的发送/接收模式才能保证有效的数据发送接收。
SPI口外围串行接口包括:MOSI(主机写操作)、MISO(主机读操作)、SCK(串行时钟信号,由主机控制 )、CSN(片选信号,低电平有效)。SPI口的读写操作如图15和图16所示。
图15 SPI读操作时序
图16 SPI写操作时序
5. 系统调试与性能分析
在元器件的布局方面,把相互有关的元件放得比较近,例如:晶振、单片机的时钟输入端都易产生噪音,在放置元件时的时候把它们靠近些。地线应构成闭环形式,提高了电路的抗干扰能力,电路提供的电源是具有稳压作用的+5V电源[8]。单片机选用11.0592MHZ的晶振,因为这样有利于得到没有误差的波特率。特别是当与单片机进行通信的话,选用这种晶振比较好。 AT89S52单片机土壤温湿度检测系统的设计+电路图+流程图(7):http://www.youerw.com/tongxin/lunwen_394.html