新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于LabVIEW的單片機串口通信設計與實現

        基于LabVIEW的單片機串口通信設計與實現

        作者: 時間:2014-03-25 來源:網絡 收藏

        1.概述

        本文引用地址:http://www.104case.com/article/235288.htm

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

        2.本實例實現的功能

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

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

        (1)硬件設計

        單片機串口通信硬件電路設計比較簡單,主要包括單片機最小系統以及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!='

        主站蜘蛛池模板: 嘉禾县| 牙克石市| 长治县| 兰溪市| 五寨县| 道真| 双鸭山市| 弥渡县| 文水县| 麻城市| 江达县| 甘南县| 肇东市| 那坡县| 衡阳市| 从化市| 崇信县| 崇左市| 琼海市| 湖口县| 舒城县| 宁夏| 固安县| 高邑县| 阿克苏市| 双桥区| 桐城市| 洞头县| 苗栗市| 婺源县| 乌鲁木齐县| 托克逊县| 浦县| 阿图什市| 浦城县| 双峰县| 横山县| 三江| 丰镇市| 海兴县| 木里|