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--) ;
}
一周热门 更多>