P1.1、分别与IC总线接口EPROM芯片AT24C04的SCL、SDA相连,AT24C02的器件地址线A1、A2接地,A0悬空,单片机对AT24C02数据的访问必须遵循IC总线通信协议,由软件模拟实现。硬件接口电路见图9。
图9:串行EPROM电路
3.3.3.键盘及显示电路 3.3.3.1.键盘电路
在单片机应用系统设计中,通过按键实现控制功能和数据输入是非常普遍的。由于本系统所需按键数量不多,故采用5个独立式按键。它们分别用来进行功能选择、参数输入和强行控制等功能(一般情况下可采用上位PC机进行操作)。硬件电路见粮仓温、湿度测控整体原理图(附录一)。 3.3.3.2.显示电路
本系统用八位数码管分别显示当前温度(四位)和湿度(四位)数值。其驱动电路采用一片串行输入输出共阴显示驱动芯片MAX7219来完成。
MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。只有一个外部寄存器用来设置各个LED的段电流。MAX7221与SPI(TM)、QSPI(TM)以及MICROWIRE(TM)相兼容,同时它有限制回转电流的段驱动来减少EMI(电磁干扰)。一个方便的四线串行接口可以联接所有通用的微处理器。每个数据可以寻址在更新时不需要改写所有的显示。MAX7219同样允许用户对每一个数据选择编码或者不编码。
整个设备包含一个150μA的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。
MAX7219功能特点如下:10MHz连续串行口;独立的LED段控制;数字的译码与非译码选择;150μA的低功耗关闭模式;亮度的数字和模拟控制;高电压中断显示;共阴极LED显示驱动;24脚的DIP和SO封装。
10
MAX7219管脚配置如下图10所示:
图10:MAX7219管脚配置
MAX7219管脚功能描述如下表4:
表4管脚功能描述
管脚 1 2,3,5-8,10,11 4,9 12 13 14-17,20-23 18 19 24
名称 DIN DIG0-DIG7 GND LOAD
CLK SEGA-SEGG,
DP SET V+ DOUT
功能
串行数据输入端口。在时钟上升沿时数据被载入内部的16位寄存器。 八个数码管驱动线路置显示器共阴极为低电平。关闭时输出高电平。 地线(4脚和9脚必须同时接地)。
载入数据。连续数据的后16位在LOAD端的上升沿时被锁定。 时钟序列输入端。最大速率为10MHz.在时钟的上升沿,数据移入内部移
位寄存器。下降沿时,数据从DOUT端输出。
7段和小数点驱动,为显示器提供电流。当一个段驱动关闭时,此端呈
低电平。
通过一个电阻连接到VDD来提高段电流。
正极电压输入,+5V
串行数据输出端口,从DIN输入的数据在16.5个时钟周期后在此端有效。
MAX7219与AT89C51单片机接口电路如图11所示:
11
图11:MAX7219与AT89C51接口电路
3.3.4.控制设备驱动电路
3.3.4.1.风机、空调机、加湿机驱动电路
粮仓温、湿度的控制是通过空调器与风机实现的。打开进出口的风机,在粮仓内形成通风气流;如果风机调节达不到控制要求,则使用空调进行降温与排湿。湿度的调整还可配合加加湿机进行调节。风机、空调机、加湿机的控制是由单片机和光电耦合器驱动双向晶闸管完成的。其驱动电路如图12所示。图中,发光二极管是用来指示设备运转情况的。当单片机输出端口为低电平时,LED1亮,光耦通,双向晶闸管导通,应用晶闸管驱动设备避免了机械触点式继电器驱动的一些缺点。其中,单片机的P1.2、P1.3、P1.4端口分别接空调机、风机、加湿机的驱动电路。
图12:风机、空调机、加湿机驱动电路
12
3.3.4.2.报警接口电路
本设计采用峰鸣音报警电路。峰鸣音报警接口电路的设计只需购买市售的压电式蜂鸣器,然后通过MCS-51的1根口线经驱动器驱动蜂鸣音发声。压电式蜂鸣器约需10mA的驱动电流,可以用一个晶体三极管驱动,如图13所示。在图中,P2.3接晶体管基极输入端。当P2.3输出高电平“1”时,晶体管导通,压电蜂鸣器两端获得约+5V电压而鸣叫;当P3.2输出低电平“0”时,三极管截止,蜂鸣器停止发声。
图13:三极管驱动的峰鸣音报警电路
3.4.RS485-RS232电平转换电路
上位PC机串行接口采用标准RS232接口,而温、湿度测控电路的通信方式为RS485串行通信方式(为了提高通信距离和实现多粮仓测控)。二者不能直接连接,需要进行电平转换方可将测控电路与PC机相连。图14所示为RS485-RS232电平转换电路。分别采用一片MAX232与MAX1487来完成。转换电路供电部分由PC机RS232端口的4、7脚通过V1、V2、V3、R4和电容C6来实现的。整个电路可做在RS232接头盒内。
图14:RS485-RS232电平转换电路
13
4.系统软件设计
本设计软件系统主要包括:粮仓温、湿度测控系统软件、上位PC机数据通信及人机交互接口软件二部分。 4.1.粮仓温、湿度测控系统软件
粮仓温、湿度测控系统软件设计主要由初始化、温湿度数据采集、信号显示、设备驱
动信号处理、键盘处理、数据通信等几部分组成。程序流程如图15所示。
图15:温、湿度测控系统程序流程图
其中,初始化主要完成对单片机各功能部件初始状态的配置以及开户软件看门狗功能;数据采集完成对环境温、湿度的实时数据采集及相关处理;信号显示部分通过单片机控制实现了对温、湿度参数的实时显示;设备驱动信号处理则通过对温、湿度实时参数与存储在EEPROM中的控制参数进行比较,并适时输出相应的设备驱动信号;键盘处理模
14