久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 電源與新能源 > 設計應用 > LabVIEW與STC89C54單片機串口通信實現

LabVIEW與STC89C54單片機串口通信實現

作者: 時間:2018-09-06 來源:網絡 收藏

1.概述

本文引用地址:http://cqxgywz.com/article/201809/388554.htm

在現代測控系統中,我們經常會采用上位機和下位機的開發控制模式。下位機主要是用來采集數據,可以通過嵌入式控制器、單片機控制器、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!='