labview接收单片机数据!

2019-07-17 17:10发布

51单片机发送数据,可以实现串口助手通讯,就是串口可以接受到数据,求高手指教怎样让labview接受数据(VISA驱动已安装)!下面是单片机程序,高手可否给小弟编一个?
/*******************************************************************************
*  标题:                  RS232串口通信试验(发送)                                      *

*  1.通过本例程了解串口的基本原理及使用 ,理解并掌握对串口进行初始化

   2.请使用串口调试助手(Baud 4800、数据位8、停止位1、效验位无)做为上位机来接收单片机串口所发的信息。
     观察串口调试助手接收窗口
                                     *
********************************************************************************/

#include <REG52.H>
#include <stdio.h>

void delay(unsigned int i);    //函数声明

char  code  MESSAGE[]= "123  ";
unsigned char a;


void main (void) {


        SCON = 0x50;       //REN=1允许串行接受状态,串口工作模式2            
        TMOD|= 0x20;      //定时器工作方式2                       
        PCON|= 0x80;      //波特率提高一倍                                                   
          // TH1  = 0xFD;     //baud*2  /* reload value 19200、数据位8、停止位1。效验位无(11.0592)     
        TH1 = 0xF3;                    // //baud*2  /*  波特率4800、数据位8、停止位1。效验位无 (12M)
        TL1 = 0xF3;
        TR1  = 1;        //开启定时器1                                                      
        ES   = 1;        //开串口中断                  
        EA   = 1;        // 开总中断
       // IE = 0x0;
   
    while(1)
    {  a=0;
   
       while(MESSAGE[a] != '')
          {
        SBUF = MESSAGE[a];            //SUBF接受/发送缓冲器(又叫串行通信特殊功能寄存器)
         while(!ti);                // 等特数据传送    (TI发送中断标志)
         TI = 0;                    // 清除数据传送标志
        
        a++;                        // 下一个字符

   }
  delay(1000);  
}

}

/**************************************************
                                                   
          延时处理程序                                                
                                                  
**************************************************/

void delay(unsigned int i)
{
    unsigned char j;
    for(i; i > 0; i--)
        for(j = 200; j > 0; j--) ;

}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。