从界面图中可以看到“父窗口”包含参数初始化和数据显示两个“子窗口”。参数初始化窗口主要负责设置端口、波特率、数据格式、和数据的接收方式;数据显示窗口负责数据的处理和显示。显示平台的使用在相应的窗口中均有说明。没有霍尔元件动作时,显示界面中的数据显示区初始化显示为…*hh<CR><LF>。有霍尔元件动作时,显示界面实时显示其动作的情况。该平台使用简单,极易操作。
4.1.3 MSComm控件的程序设计
Visual Basic设计串行通信程序时依然遵循四个主要步骤,分别是对象、属性、事件和方法。因此,第一步是添加控件。由于Visual Basic的串行通信控件不在工具箱中,当使用MSComm控件时,首先要把它加入到工具箱中。添加步骤是:选择“工程”菜单下的“部件…”子菜单,在弹出的“部件”对话框中,在“控件”选项卡属性中选中“MicrosoftCommControl 6.0”复选框,然后单击“确定”按钮后,在工具箱中就出现了一个形似“电话”的图标,它就是MSComm控件。在窗体中加载MSComm控件对象。第二步是为MSComm控件的属性赋值。第三步利用OnComm事件程序来接收上位机发来的位置数据。由于篇幅限制,在此没有给
出相关程序。
4.2 PIC单片机部分
单片机采用PIC系列单片机。该单片机具有指令集少、功耗低和驱动能力强等特点。单片机程序使用汇编语言编程,采用其内部的异步串口(USART)进行串行通信。由于该系统用于远距离,故串口通信采用的是的RS 485串口通信标准,因此在单片机的串口端加了一个半双工通信的MAX3471芯片。单片机接收到PC机发送来的波特率标志值和自身设定的值比较,然后校正自身的波特率以和PC机的波特率相匹配。单片机除了校正自身波特率和发送相关信息程序,还要提供获得霍尔元件动作情况以及位置值等重要程序。图5是单片机汇编程序流程图。为了提高显示平台接收数据的准确性,单片机数据采用ASCII字符进行传送。
以下仅给出串行通信初始化程序代码:
串行通信初始化程序为: