日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

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

          LabVIEW與STC89C54單片機串口通信實現(xiàn)

          作者: 時間:2018-09-06 來源:網(wǎng)絡 收藏

          1.概述

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

          在現(xiàn)代測控系統(tǒng)中,我們經(jīng)常會采用上位機和下位機的開發(fā)控制模式。下位機主要是用來采集數(shù)據(jù),可以通過嵌入式控制器、單片機控制器、PLC等來實現(xiàn)。上位機主要是圖形界面,用來實時顯示采集數(shù)據(jù),并進行數(shù)據(jù)分析及處理,同時可以控制下位機。上位機的實現(xiàn)可以通過各種高級語言,比如VB、Delphi等以及NI公司的圖形化虛擬儀器軟件開發(fā)環(huán)境LabVIEW.由于LabVIEW采用的是圖形化的編程方法,所以無論你是否有過編程經(jīng)驗,都可以快速、高效地設計用戶界面,實現(xiàn)與控制硬件的通信,并進行數(shù)據(jù)分析和處理。如今LabVIEW已經(jīng)滲透到工業(yè)測量的各個領域,與此同時在嵌入式、FPGA、DSP、實時控制等領域也發(fā)揮著巨大的作用。

          2.本實例實現(xiàn)的功能

          首先利用單片機STC89C54通過串口發(fā)送“你好,LabVIEW”,LabVIEW將單片機發(fā)送到數(shù)據(jù)進行顯示。通過這個實例來了解LabVIEW的串口通信設計。

          3.下位機硬件設計與軟件設計

          (1)硬件設計

          單片機串口通信硬件電路設計比較簡單,主要包括單片機STC89C54最小系統(tǒng)以及MAX232和九針串口。

          (2)軟件設計

          設計源碼如下:

          #include

          #define uchar unsigned char

          #define uint unsigned int

          void SendStr(unsigned char *s);//發(fā)送

          字符串

          void DelayMs(uint xms)//延時子函數(shù)

          {

          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!='