LabVIEW与STC89C54单片机串口通信实现

时间:2014-02-07

  摘要:在单片机控制系统中,经常会涉及到上位机与下位机的通信。本文主要通过一个简单的实例来介绍labVIEW与单片机的串口通信实现过程,包括下位机单片机的硬件与软件设计,上位机LabVIEW的前面板和程序框图设计。

  1.概述

  在现代测控系统中,我们经常会采用上位机和下位机的开发控制模式。下位机主要是用来采集数据,可以通过嵌入式控制器、单片机控制器、PLC等来实现。上位机主要是图形界面,用来实时显示采集数据,并进行数据分析及处理,同时可以控制下位机。上位机的实现可以通过各种语言,比如VB、Delphi等以及NI公司的图形化虚拟仪器软件开发环境LabVIEW.由于LabVIEW采用的是图形化的编程方法,所以无论你是否有过编程经验,都可以快速、高效地设计用户界面,实现与控制硬件的通信,并进行数据分析和处理。如今LabVIEW已经渗透到工业测量的各个领域,与此同时在嵌入式、FPGA、DSP、实时控制等领域也发挥着巨大的作用。

  2.本实例实现的功能

  首先利用单片机STC89C54通过串口发送“你好,LabVIEW”,LabVIEW将单片机发送到数据进行显示。通过这个实例来了解LabVIEW的串口通信设计。

  3.下位机硬件设计与软件设计

  (1)硬件设计

  单片机串口通信硬件电路设计比较简单,主要包括单片机STC89C54系统以及MAX232和九针串口。

  (2)软件设计

  设计源码如下:

  #include<reg52.h>

  #define uchar unsigned char

  #define uint unsigned int

  void SendStr(unsigned char *s);//发送

  字符串

  void DelayMs(uint xms)//延时子函数

  {

  uint i,j;

  for(i=xms;i>0;i-)

  for(j=110;j>0;j-);

  }

  void InitUART(void) //串口初始化

  {

  SCON=0×50; //SCON:模式

  1,8-bitUART,使能接收

  TMOD|=0×20; //TMOD:timer 1,mode

  2,8-bit重装

  TH1=0xFD; // TH1:重装值9600波

  特率 晶振11.0592MHz

  TR1=1; //TR1:timer 1打开

  EA=1; //打开总中断

  }

  void main(void)

  {

  InitUART();

  while(1)

  {

  SendStr(“你好!LabVIEW!”);

  DelayMs(240);

  DelayMs(240);

  }

  }

  void SendByte(unsigned char dat)

  {

  SBUF=dat;

  while(!TI);

  TI=0;

  }

  void SendStr(unsigned char *s)

  {

  while(*s!='\0‘)//\0表示字符串结束

  标志,//通过检测是否字符串末尾

  {

  SendByte(*s);

  s++;

  }

  4.上位机LabVIEW前面板与程序框图

  (1)相关函数介绍

  在做LabVIEW串口通信的时候首先要安装VISA驱动,驱动可以从网上。LabVIEW对串口的操作主要是读操作和写操作。本实例主要是接受数据,也就是读操作,在这里首先介绍一下与此实例相关控件和函数。

  ①VISA资源名称

  在“新式”控件选项卡下“I/O”子选项卡下有“VISA资源名称”控件。安装好VISA驱动后,与硬件连接好后,该控件下可以列出相应的COM口,可以选择合适的COM口。

  ②VISA配置串口函数

  该函数位于函数选项卡下的“仪器I/O”

  子选项卡下,主要用来对串口进行参数配置,包括波特率、数据比特、奇偶校验等。

  ③VISA读取和VISA关闭函数

  VISA读取函数的功能是从VISA资源名称所指定的设备或接口中读取指定数量的字节,并将数据返回至读取缓冲区。VISA关闭函数的功能是关闭VISA资源名称指定的设备会话句柄或事件对象。

  (2)程序框图设计

  程序框图设计如图1所示。

  

  5.测试

  将硬件连接好后,上电,程序,运行labVIEW,我们可以看到在读取缓冲区里接收到了单片机发送来的字符串“你好!LavVIEW”.如图2所示。

  

  6.总结

  利用LabVIEW进行上位机设计,其界面美观,实现起来较容易,可以很方便的运用于各种测量监控系统中。(作者:高亚,徐秋)

上一篇:GPIO实现高可靠性RS485/422通信的研究
下一篇:基于FPGA的通用数控分频器的设计与实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料