Inputlen 设置并返回一次从接收缓冲区中读取字节数
InBufferSize 设置并返回接收缓冲区的大小,缺省值为1024字节
InBufferCount 设置并返回接收缓冲区中等待接收的字符数
InputMode 设置并返回接收数据的类型。其值为0和1时,分别表示通过Input属性以文本方式和二进制方式取回数据
OutBufferSize 设置并返回发送缓冲区的大小,缺省值为512字节
OutBufferCount 设置并返回发送缓冲区中等待计算机发送的字符数
Output 向发送缓冲区发送数据,该属性设计时无效,运行时只读
Rthreshold 在MSComm控件设置ConunEvent属性为comEvReceive并产生OnComm之前,设置并返回要接收的字符数
表3.2.2 MSComm控件的主要属性
其中CommEvent属性是一个非常重要的属性。一旦串口发生通信事件或产生错误,依据产生的事件和错误,MSComm控件为CommEvent属性赋以不同的代码,同时产生OnComm事件。用户程序就可在OnComm事件处理程序中针对不同的代码,进行相应的处理。
3.2.3 MSComm控件的使用
MSComm控件通信的流程图如图3.2.3所示。编写程序时,只需要按照下面流程图,即可实现通信功能。
图3.2.3 MSComm控件通信的流程图
3.3 上位机与下位机的通信
上位机PC机与下位机单片机之间的串行通信主要实现下位机的温度数据的采集和传输。下位机程序用C语言编写,固化在AT89SS52单片机中。单片机是测量系统的数据采集端,它主要完成对测温传感器DS18B20的控制和温度数据的读取以及同上位机的数据通信。上位机软件用VB编写,主要完成通信参数设置和温度数据的转换。
通信参数设置主要用来完成对系统通信参数的设置,包括设定通信端口、波特率、数据位、奇偶校验位和停止位。温度数据的转换主要实现对接受到的温度数据由十优尔进制到十进制的转换,同时这一步也为后面的数据库的生成及温度信息管理工作做好了准备。
3.3.1 通信协议
为使数据在上位机和下位机之间无差错的传送,本文采用通信协议来规约数据的传输。上位机与下位机双方的通信协议如下:
波特率:9600bps;
数据格式:8位数据位,1位停止位,无奇偶校验;
传送方式:下位机和上位机都采用查询方式收发数据,传送的数据格式为二进制格式。DS18B20转换出的温度信息包含两个字节,经过处理后,一个字节为温度的整数部分,另一个字节为温度的小数部分。每个DS18B20共传送两个字节,第一个字节是温度的整数部分,第二个字节是温度的小数部分。下位机收到上位机发送的信号“s”后,就依次命令DS18B20进行温度转换;上位机依次接收下位机上传过来的数据,并显示在特定区域。下位机收到上位机发送的信号“t”后,就将报警上、下限值传送给上位机,显示在特定区域。
3.3.2 串口调试
测试串口和串口线是否正常:
第一步:把串口线或者 USB 转串口线插到计算机上。
第二步:打开串口调试助手
接着选择串口,串口线和 USB 转串口的端口号查看路径:可以到桌面上 鼠标放在 我的电脑上--右键--属性--硬件--设备管理器-端口(COM 和 LPT),点开端口前面的+号查看即可。USB-SERIAL CH340(COM4)就是 USB 转串口的端口号。见图3.3.2
图3.3.2 COM图
第三步:设置串口调试助手(见下图)
1、串口:COM4 是和串口线或者 USB 转串口线在上述路径中查看到的端口号。 AT89S52单片机温度控制监视软件的设计+VB源代码(5):http://www.youerw.com/zidonghua/lunwen_2281.html