新闻中心

EEPW首页>EDA/PCB>设计应用> 基于VB的电子线路板自动测试系统设计

基于VB的电子线路板自动测试系统设计

作者: 时间:2012-08-27 来源:网络 收藏

2 RS2232串行通信的实现

2. 1 串行通信的实现

测试夹具中的单片机和计算机之间的数据传送是通过RS2232串行口实现的。计算机向单片机传送控制命令和数据,由单片机把信号传输到上,然后再测量的输出信号,通过串行口回传给计算机。串行口数据通信协议是:数据传输速率为9 600 bp s, 1位开始位, 8位数据位, 1位停止位,无奇偶校验位。由于仅仅是单片机与计算机相互传送信息,都是在生产现场工作,所以RS2232 串行口只需要接收、发射和地三根导线,也不存在传输距离的问题。的信号都是开关量信号或模拟电压值,线路板输出的信号也是电信号,当通信传输速率为9 600bp s时,最快速度是每1. 04 ms发送一个字节。测试夹具中的单片机采用AT89C52芯片,它的逻辑电平与计算机的RS2232的接口电平不一致,需要在单片机和计算机的RS2232串行口之间设计一个MAX232芯片,该芯片可以实现把单片机的0 V、+ 5 V电压转换成RS2232接口的逻辑“1”电平( - 3~ - 15 V)和逻辑“0”电平( + 3~ + 15 V) ,MAX232芯片的应用结构如图3所示。

图3 MAX232芯片的应用结构
图3 MAX232芯片的应用结构

2. 2 VB的应用

VB ( visual basic)是计算机系统中主要的开发语言之一,它具有高效、简单易学的特点和强大的图形功能,支持面向对象的程序设计,具有结构化的事件驱动编程模式和良好的人机界面,提供了功能强大的通信控件MSCOMM,因此,应用VB语言可以方便地设计需要大量图形显示的应用程序。利用MSCOMM控件可以设置串行通信的数据发送和接收,对串口状态及串口通信的信息格式和协议进行设置。MSCOMM控件是一个标准的10位串行口通信,在发送和接收数据过程中触发ONComm事件,访问CommEvent属性来了解通信事件的类型。在电子线路板中,就是应用这种方法实现计算机与单片机的数据通信的。

2. 3 VB通信控件的程序设计

VB串行口的初始化程序如下:

Private Sub Form_Lopad ( )   ;串行口初始化程序

Comm1. InputLen = 0 ;设置串行口1

Comm1. Settings =“9 600, n, 8, 1”;设置波特率、奇偶校验、数据位和停止位

Comm1. InputLen = 0 ;读接收缓冲区的数据

Comm1. InBufferSize = 255 ;设置接收缓冲区的大小

Comm1. OutBufferSize = 255 ;设置发送缓冲区的大小

Comm1. PortOpen = True ;打开串行口1

Comm1. SThreshold = 1 ;缓冲区空触发

Comm1. Rthreshold = 1;数据进入接收缓冲区触发接收事件

2. 4 单片机串行通信程序设计

单片机与计算机进行串行通信,需要对AT89C52的串行口控制器SCON设置,使SCOM = 50H,工作在串行方式1的10位异步通信方式,使AT89C52的中断允许寄存器IE的中断位EA = 1,允许串行口中断。串行口的初始化程序如下:

CXK:  MOV TH1,  #0FDH  ;设置波特率

MOV TL1, #00H

MOV TMOD, #20H;设置定时器2的工作方式为2

MOV TCON, #40H ;定时器启动

SETB ES ;串行口允许中断

MOV SCOM, #50H;设置串行口工作方式为1

RET



评论


相关推荐

技术专区

关闭