pcbsun2012

基于VB的电路测试系统设计与实现

0
阅读(1962)

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;数据进入接收缓冲区触发接收事件

  End Sub ;程序结束

  此外还有数据发送和接收程序。数据发送程序是计算机向单片机发送控制命令和数据,使电子线路板进入工作;接收程序是接收单片机检测的数据,通过这三个程序,完成数据的串行通信工作。

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

  3 测试系统的工作流程

  测试系统的工作流程共分以下六个部分:

  ① 室内温度测试。计算机通过单片机发出一个室内温度的仿真信号,与接收到的温度测量信号相比较,误差在±0. 5 ℃时认为测试结果正确,否则显示有故障。

  ② 汽化温度测试。计算机通过单片机发出一个汽化温度的仿真信号,与接收到的温度测量信号相比较,误差在±2 ℃时认为测试结果正确,否则显示有故障。同时,当汽化温度达到235 ±3 ℃时,应该接收到启动油泵驱动和点火控制、燃烧风机、取暖风机的控制信号,否则显示有故障。www.pcbsun.com

  ③ 火焰温度测试。计算机通过单片机发出一个2~3 V的火焰温度仿真信号,与接收到的温度测量信号相比较,误差在±012 V时认为测试结果正确,否则显示有故障。同时,当火焰温度电压高于315 V时,应该接收到关闭汽化加热、油泵驱动、点火控制、燃烧风机和取暖风机的控制信号,并且还会接收到报警输出信号,否则显示有故障。

  ④ 燃烧风机速度测试。计算机通过单片机发出一个燃烧风机速度的仿真信号,与接收到的燃烧风机速度相比较,测量信号的误差在±5 r/min时认为测试结果正确,否则显示有故障。

  ⑤ 油面位置测试。计算机通过单片机发出一个油面位置低的仿真信号,若接收到油面位置低的报警信号,则认为测试结果正确,否则显示有故障。

  ⑥ 振动检测测试。计算机通过单片机发出一个振动的仿真信号,若接收到振动的报警信号,同时接收到关闭汽化加热、油泵驱动、点火控制、燃烧风机和取暖风机的控制信号,则认为测试结果正确,否则显示有故障。

  以上所有的输入/输出信号都是电信号,不涉及传感器和机械部件,所以测试的速度很快。通过以上的信号仿真测试,可以检查燃油取暖器电子线路板上的输入/输出接口部分的电子元器件质量和焊接质量。