首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
航天医用冷藏设备监测系统的设计
来源:本站整理  作者:佚名  2009-03-05 11:02:08




图3  电流采集电路

串口通讯

  由于RS-232串行通信标准接口使用方便、接线少而且传输距离可达到15m,足以满足监测系统的技术要求,因此选用RS-232的串口通信方式。ATMEL的89C52单片机通过普通I/O口与 PC机 RS-232串口实现通信的硬件接口电路,如图4所示。由于 PC系列微机串行口为RS-232标准接口,与输入、输出均为TTL电平的AT89C52单片机在接口规范上不一致,因此TTL电平到RS-232接口电平的转换采用 MAX232标准 RS-232接口芯片,该芯片可以用单电压(+5 v)实现RS-232接口逻辑“1”(-15~3V)和逻辑“0”(3~15 v)的电平转换。AT89C52的P3.0为串行输入端,P3.1为串行输出端。


图4  RS232串口通讯

系统软件设计

  监测系统软件包括下位机程序和Delphi数据通讯软件两部分,实现测试数据的分析处理、回放显示、打印输出等功能,它可以接收命令和数据,向设备发送控制信号,返回设备的状态参数,提供友好的人机界面。同时,利用软件滤波方法提高数据采集的准确性。

下位机程序设计

  监测系统的核心在于下位机程序能够进行数据的采集、显示并与上位机的数据通讯,向上位机发送采集的温度、电源数据,接收上位机发来控制指令,进行传输数据,与上位机通信采用查询和中断方式实现,并有奇偶校验以保证数据正确传输,下位机程序的软件流程图如图5所示。


图5 主程序流程图

  MAX7219初始化即设置各个寄存器初始值,包括BCD译码器、多位扫描电路、段驱动器、位驱动器和用于存放每个数据位的8×8静态RAM以及数个工作寄存器。通过指令设置这些工作寄存器,使其进入所要求的工作状态。AT89C52单片机有发送缓冲寄存器和接收缓冲寄存器SBUF、串行口控制寄存器(SCON)、特殊功能寄存器(PCON),MAX232串口初始化就是通过程序设置SCON定为工作方式2,并使REN为1,允许串行口中断。串口通信发送程序采用查询方式实现,数据接收程序采用串口中断方式实现,在数据接收中断服务程序中根据所接收的数据判断是否将发送标识Send_flag置位。数据采集处理子函数形参为模拟通道号,完成对此通道数据采集转换,并将转换结果放入一维数组Cstring[],然后循环采集多次顺序放入Cstring[]数组中,采用软件滤波方法得到此通道的数据。LED显示子函数是按照正确的时序和寻址方式操作内部寄存器,完成电源信号的实时显示。  

Delphi通讯软件设计

  上位机利用Delphi开发,由于Delphi没有自带的通信控件,采用第三方SPComm控件实现PC机与单片机串口通信。它具有丰富的与串口通讯密切相关的属性、方法和事件,提供了对串口进行操作的多种功能。在使用过程中,只要设置正确,完全可以发送从 0到 255的二进制数字,且接收正确。SPComm控件的StartComm方法用于打开串口,StopComm过程用于关闭串口。利用事件驱动法完成数据的接收和发送,SPComm控件的OnReceiveData事件,当输入缓存有数据时将触发该事件,在这里可以对串口收到的数据进行处理,而WriteCommData完成数据的发送,这样上位机系统可以接收单片机发送的数据和信息,以使PC机更快速作出反应。

  为实现数据通讯程序,须在Delphi开发环境下设置一个窗体,窗体上主要有一个通讯控件SPComm和3个Timer控件。软件采用定时器Timer1和Timer2控件来实现在数据信息送出2s后PC机仍未收到任何回执信息,程序出现提示然后跳出系统,以下是程序编写时相关注意点:

(1)握手信号建立以及发送接收数据时:为了使主机能够对整个检测过程进行实时控制,串口打开即发送握手信号,接着设定等待时间,握手成功后,通过条件判断下一步是发送还是接收数据。对发送的命令,最好采用文本方法,若采用二进制特别注意数据的格式。

(2)接收数据:接收数据通过被动的触发事件完成,可以通过函数实现,根据自己的要求编写,在接收过程中,多用特征字符,如“#”,“$”等,这需要在通信协议中约定。

(3)Timer控件:根据需要设定Timer控件,通过它可以完成发送命令和接收数据的过程,同时可以有效的判断通信异常等情况,并迅速作出反应。

(4)通讯错误:由于外界干扰或电压波动等原因,PC机和单片机之间的通讯可能会出现错误,如接收缓冲区溢出、网络端口超速等,这些可能在代码中引起运行错误,为了处理这些错误,须将错误处理加到SPComm控件的Receivedata事件中处理。

结语

  温度传感器通过温度变送器接入TLC2543A/D转换器,输入信号很小,对干扰很敏感,因此一定要加装独立的屏蔽线,避免外界的干扰。同时,供电电源置于设备内部,工作时会产生干扰,所以一定要与信号线、控制线分开并屏蔽好,防止设备出现意外的情况。

  经过模块化的电路测试、软件调试和系统组装,测温精度可以达到±0.08℃。

  此仪器采用单片机作为主控制器,成本低,通讯可靠性高,实时性好,系统运行稳定,各项指标达到了技术要求,通过青岛市科技局鉴定,并已交付用户单位使用,目前在冷藏设备的开发过程中已经发挥了重要作用。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:96,855.47000 毫秒