資源描述:
《基于labVIEW與單片機的上位機與下位機通信.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、基于labVIEW與單片機的上位機與下位機通信 在單片機控制系統(tǒng)中,經(jīng)常會涉及到上位機與下位機的通信。本文主要通過一個簡單的實例來介紹labVIEW與單片機的串口通信實現(xiàn)過程,包括下位機單片機的硬件與軟件設(shè)計,上位機LabVIEW的前面板和程序框圖設(shè)計。1.概述 在現(xiàn)代測控系統(tǒng)中,我們經(jīng)常會采用上位機和下位機的開發(fā)控制模式。下位機主要是用來采集數(shù)據(jù),可以通過嵌入式控制器、單片機控制器、PLC等來實現(xiàn)。上位機主要是圖形界面,用來實時顯示采集數(shù)據(jù),并進行數(shù)據(jù)分析及處理,同時可以控制下位機。上位機的實現(xiàn)可以通過各種高級語言,比如VB、Delphi等以及NI公司的圖形化虛擬
2、儀器軟件開發(fā)環(huán)境LabVIEW.由于LabVIEW采用的是圖形化的編程方法,所以無論你是否有過編程經(jīng)驗,都可以快速、高效地設(shè)計用戶界面,實現(xiàn)與控制硬件的通信,并進行數(shù)據(jù)分析和處理。如今LabVIEW已經(jīng)滲透到工業(yè)測量的各個領(lǐng)域,與此同時在嵌入式、FPGA、DSP、實時控制等領(lǐng)域也發(fā)揮著巨大的作用。2.本實例實現(xiàn)的功能 首先利用單片機STC89C54通過串口發(fā)送“你好,LabVIEW”,LabVIEW將單片機發(fā)送到數(shù)據(jù)進行顯示。通過這個實例來了解LabVIEW的串口通信設(shè)計。3.下位機硬件設(shè)計與軟件設(shè)計 ?。?)硬件設(shè)計 單片機串口通信硬件電路設(shè)計比較簡單,主要包括單
3、片機STC89C54最小系統(tǒng)以及MAX232和九針串口?! 。?)軟件設(shè)計 設(shè)計源碼如下: #include #defineucharunsignedchar #defineuintunsignedint voidSendStr(unsignedchar*s);//發(fā)送 字符串 voidDelayMs(uintxms)//延時子函數(shù) { uinti,j; for(i=xms;i>0;i-) for(j=110;j>0;j-); } voidInitUART(void)//串口初始化 { SCON=0×50;//SCON:模式
4、1,8-bitUART,使能接收 TMOD
5、=0×20;//TMOD:timer1,mode 2,8-bit重裝 TH1=0xFD;//TH1:重裝值9600波 特率晶振11.0592MHz TR1=1;//TR1:timer1打開 EA=1;//打開總中斷 } voidmain(void) { InitUART(); while(1) { SendStr(“你好!LabVIEW!”); DelayMs(240); DelayMs(240); } } voidSendByte(unsignedchardat) { SBUF=dat
6、; while(!TI); TI=0; } voidSendStr(unsignedchar*s) { while(*s!=‘