5 GND —— 信号地
6 DSR PC机←对方 对方准备就绪
7 RTS PC机→对方 PC机请求发送数据
8 CTS PC机←对方 对方已切换到接收状态(清除发送)
9 RI PC机←对方 通知PC机,线路正常(振铃指示)
实际应用中,DB-25型连接器中的许多信号用不上,对于一般的双工通信,仅需几条信号线就可实现,包括一条发送线、一条接收线和一条地线。因此普遍采用DB9插头,即9针连接器。表3.1给出了DB9连接器的信号引脚功能。
本系统采用DB9型连接器,通过三根线实现系统连接,即接收数据引脚与发送数据引脚彼此交叉相连,信号地对应相接。这是最常用的全双工最简单系统连接法。
RS-232标准规定的波特率为:50、75、100、150、300、600、1200、4800、9600和19200bps。本系统波特率采用9600bps。
3.2 Visual Basic6.0中的串行通信控件MSComm
Visual Basic是一种可视化的编程语言,利用可视化技术进行编程,可使应用程序的开发简单、快捷,可编写出界面友好、功能强大的应用程序。MSComm控件全称为Microsoft Communications Control,是Microsoft公司提供的ActiveX控件,目的是为了简化Windows下串行通信编程,它既可以用来提供简单的串口端口通信功能,也可以用来创建功能完备的、事件驱动的高级通信工具。
MSComm控件在串口编程时非常方便,程序员不必花时间去了解较为复杂的API函数,而且在Visual Basic、Visual C++、Delphi等语言中均可以使用。使用它可以建立与串行端口的连接,通过串行端口连接到其它通信设备(如调制解调器),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。
3.2.1 MSComm控件处理通信的方式
MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通信功能。它提供下列两种处理通信的方式。
1、事件驱动方式
事件驱动通信是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时程序得到通知,例如,在串口接收缓冲区中有一个字符到达或一个变化发生时,程序都可以利用MSComm控件的OnComm事件捕获并处理这些通信事件,OnComm事件还可以检查和处理通信错误。在程序设计中,可以在OnComm事件处理函数中加入自己的处理代码,一旦事件发生即可自动执行该段程序。这种方法的优点是程序响应及时,可靠性高。
2、查询方式
在程序的每个关键功能完成之后,可以通过检查CommEvent属性的值来查询事件和错误。适用于自保持的应用程序较小的编程。查询方式的编程可用计时器或DoLoop程序实现。其实,查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。
本系统中两种处理通信的方式均有运用,见图3.2.1通信处理方式。
图3.2.1 通信处理方式
3.2.2 MSComm控件的常用属性
对控件编程首先需要了解它的属性和事件。表3.2.2介绍了MSComm控件的一些主要属性。
属性 描述
Commport 设置并返回通信串口号
Settings 以字符串的形式设置并返回串口波特率、奇偶校验、数据位、停止位。格式为:MSComm1.Settings=”BBBB,P,D,S”
Portopen 设置并返回串口状态,也可以打开和关闭串口
Input 从接收缓冲区中读取数据并清空缓冲区 AT89S52单片机温度控制监视软件的设计+VB源代码(4):http://www.751com.cn/zidonghua/lunwen_2281.html