多点温度检测系统设计
T—R。
具体连接电路如下:
J1162RXD73TXD8495DB9 AT89C51162738495DB9 PCJ2RXDTXD §3.4 整体电路
见附件二(电路原理图)
第四章 软件设计
§4.1 概述
整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。
首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。
§4.2 主程序方案
主程序调用了4个子程序,分别是数码管显示程序、键盘扫描以及按键处理程序、
温度测试程序、中断控制程序、单片机与PC机串口通讯程序。
第 16页 共 27 页
多点温度检测系统设计
键盘扫描电路及按键处理程序:实现键盘的输入按键的识别及相关处理。 温度测试程序:对温度芯片送过来的数据进行处理,进行判断和显示。 数码管显示程序:向数码的显示送数,控制系统的显示部分。 中断控制程序:实现循环显示功能。
串口通讯程序:实现PC机与单片机通讯,将温度数据传送给PC机。
程序结构 LED显示数码管显示程序键盘扫描程序中断控制程序串口通讯程序温度芯片传数据程序与当前温度相比较程序继电器控制程序
将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序,然后在寄存器的分配上作一下调整,消除寄存器冲突和I/O冲突即可。程序应该尽可能多的使用调用指令代替跳转指令。因为跳转指令使得程序难以看懂各程序段之间的结构关系。而调用指令则不同,调用指令使得程序结构清晰,无论是修改还是维护都比较方便。将功能程序段写成子程序的形式,除了方便调用之外,还有一个好处那就是以后写
温度测试及处理子程序拨码开关扫描子程序温度显示子程序系统初始化系统硬件测试程序开始第 17页 共 27 页 串口通讯子程序 多点温度检测系统设计
程序的时候如果要用到,就可以直接调用这个单元功能模块。
主程序流程图如右图:
§4.3 各模块子程序设计
中断入口下面对主要几个子程序的流程图做介绍:
2S到否Y定时器1重新赋值N(1)温度测试子程序设计 见附录一:温度测试子程序流程图 (2)中断控制程序设计
如右图:
(3)串口通信程序设计
本次通讯中,测控系统分位上位机和下位机之间的通信,系统中单片机负责数据采集、处理和控制,上位机进行现场可视化检测,通信协议采用半双工异步串行通信方式,通过
返回装下一个温度显示存储单元地址 RS232的RTS信号进行收发转换,传输数据采用二进制数据,上位机与下位机之间采用主从式通讯。本人采用的VB环境下PC机与单片机之间实现串行通讯的软硬件方案。VB是Microsoft公司推出的Windows应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且Visual Basic 6.0 版本带有专门实现串行通讯的MSCOMM控件。
MSComm控件串口具有完善的串口数据的发送和接收功能。通过此控件,PC机可以利用串行口与其它设备实现轻松连接,简单高效地实现设备之间的通讯。此控件的事件响应有两种处理方式。事件驱动方式:由MSComm控件的OnComm事件捕获并处理通讯错误及事件;查询方式:通过检查CommEvent属性的值来判断事件和错误。 1) MSComm控件的主要属性和方法
a. CommPort:设置或返回串行端口号,其取值范围为1—99,缺省为1
b. Setting:设置或返回串行端口的波特率、奇偶校验位、数据位数、停止位。 c. PortOpen:打开或关闭串行端口。
第 18页 共 27 页
多点温度检测系统设计
d. RThreshold:该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生MSComml-OnComm事件。
e. Input:从接收缓冲区移走一串字符。
f. Output:向发送缓冲区传送一字符串。 软件流程图如下:
开始自动接收数据子程序
开始发联络信号AAH读一个数据且存储
是联络信号55H?N是联络信号AAH?N
Y发储存单元数据Y回复55H接受字节数据
返回单片机程序流程图
8个字节到否?Y返回N
PC通讯程序流程图
参数设定:通信端口选择COM1,波特率设定为1200B/S MSCOmm.CommPort=1
MSComm.Setting=“1200, n, 8, 1”。 START: MOV
MOV
SP,#60H TMOD,#20H
第 19页 共 27 页
多点温度检测系统设计
MOV MOV MOV MOV SETB
TH1,#0E6H
TL1,#0E6H ;1200B/S,晶振为12MHZ PCON,#00H SCON,#50H TR1
第五章 系统调试
§5.1 分步调试 1、测试环境及工具
测试温度:0~100摄氏度。(模拟多点不同温度值环境)
测试仪器及软件:数字万用表,温度计0~100摄氏度,串口调试助手。 测试方法:目测。 2、测试方法
使系统运行,观察系统硬件检测是否正常(包括单片机最小系统,键盘电路,显示电路,温度测试电路等)。系统自带测试表格数据,观察显示数据是否相符合即可。
采用温度传感器和温度计同时测量多点水温变化情况(取温度值不同的多点),目测显示电路是否正常。并记录各点温度值,与实际温度值比较,得出系统的温度指标。
使用串口调试助手与单片机通讯,观察单片机与串口之间传输数据正确否。 3、测试结果分析
自检正常,各点温度显示正常,串口传输数据正确。
因为芯片是塑料封装,所以对温度的感应灵敏度不是相当高,需要一个很短的时间才能达到稳定。
§5.2 统一调试
将硬件及软件结合起来进行系统的统一调试。实现PC机与单片机通讯,两者可
以实时更新显示各点温度值。
第 20页 共 27 页