1.概述
在现代测控体系中,咱们经常会选用上位机和下位机的开发操控形式。下位机首要是用来收集数据,能够经过嵌入式操控器、单片机操控器、PLC等来完成。上位机首要是图形界面,用来实时显现收集数据,并进行数据分析及处理,一起能够操控下位机。上位机的完成能够经过各种高档言语,比方VB、Delphi等以及NI公司的图形化虚拟仪器软件开发环境LabVIEW.因为LabVIEW选用的是图形化的编程办法,所以不管你是否有过编程经历,都能够快速、高效地规划用户界面,完成与操控硬件的通讯,并进行数据分析和处理。现在LabVIEW现已渗透到工业丈量的各个范畴,与此一起在嵌入式、FPGA、DSP、实时操控等范畴也发挥着巨大的效果。
2.本实例完成的功用
首要使用单片机STC89C54经过串口发送“你好,LabVIEW”,LabVIEW将单片机发送到数据进行显现。经过这个实例来了解LabVIEW的串口通讯规划。
3.下位机硬件规划与软件规划
(1)硬件规划
单片机串口通讯硬件电路规划比较简单,首要包含单片机STC89C54最小体系以及MAX232和九针串口。
(2)软件规划
规划源码如下:
#include
#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++;
}