亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MFC的單片機上下位機通信控制系統(tǒng)設(shè)計

        2019-04-25 01:56:58吳雨川李紅軍
        武漢紡織大學(xué)學(xué)報 2019年2期
        關(guān)鍵詞:單片機計算機設(shè)計

        江 維,吳雨川,李紅軍

        ?

        基于MFC的單片機上下位機通信控制系統(tǒng)設(shè)計

        江 維,吳雨川,李紅軍

        (武漢紡織大學(xué) 機械工程與自動化學(xué)院,湖北 武漢 430200)

        隨著現(xiàn)代信息技術(shù)的發(fā)展以及計算機的廣泛應(yīng)用,計算機與計算機、計算機與微處理器(MCU)等之間串口通信在數(shù)據(jù)采集、數(shù)據(jù)通信、故障檢測、工業(yè)監(jiān)控、實時控制系統(tǒng)等方面得到了廣泛應(yīng)用。本文以單片機為下位機,PC為上位機,利用可視化編程軟件Visual C++6.0 MFC設(shè)計了友好的人機交互界面實現(xiàn)了PC與單片機之間的數(shù)據(jù)通信,其編程模塊化、易于擴展、通用性強,適用于一般的工業(yè)控制系統(tǒng)。

        MFC(微軟基礎(chǔ)類);單片機;上位機;通信控制

        上位機[1-4]是指人可以直接發(fā)出操控命令的計算機,一般是PC,屏幕上顯示各種信號變化(液壓,水位,溫度等)。下位機是直接控制設(shè)備獲取設(shè)備狀況的計算機,一般是PLC/單片機之類的。上位機發(fā)出的命令首先給下位機,下位機再根據(jù)此命令解釋成相應(yīng)時序信號直接控制相應(yīng)設(shè)備。下位機不時讀取設(shè)備狀態(tài)數(shù)據(jù)(一般為模擬量),轉(zhuǎn)換成數(shù)字信號反饋給上位機。這種以上位機控制下位機的控制系統(tǒng)為計算機遠程控制提供了技術(shù)基礎(chǔ),是目前計算機通信控制的一個重要方面。

        1 上位機開發(fā)方案論證和選取

        1.1 基于Matlab設(shè)計的調(diào)試平臺

        Matlab是Mathworks公司開發(fā)的面向理論分析研究和工程設(shè)計的一套具有強大功能的軟件系統(tǒng)。Matlab不僅能解決控制系統(tǒng)中存在的大量數(shù)值計算和矩陣運算,其編程也簡單并集圖像、顯示、處理等于一身。從Matlab6.0版本開始,其軟件增加了設(shè)備控制箱(instrument control toolbox),提供了對串口通信的支持。利用該工具箱的serial類能可靠地進行串口通信??衫脝纹瑱C和Matlab的優(yōu)點,利用Matlab GUI圖形用戶界面和設(shè)計友好的可視化上位機平臺實現(xiàn)與PC串行通信及數(shù)據(jù)實時處理的方法。對數(shù)據(jù)的處理采用Matlab也能更好反映測試的性能,減少勞動強度,測試的結(jié)果十分明顯,是有效的實時數(shù)據(jù)采集和處理方法。

        1.2 基于LabVIEW開發(fā)調(diào)試平臺

        LabVIEW是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā)的,類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計算機語言的顯著區(qū)別是:其他計算機語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。LabVIEW應(yīng)用于數(shù)據(jù)采集與控制、信號分析等方面,它為不熟悉文本語言編程的非計算機專業(yè)從業(yè)人員在測控領(lǐng)域建立計算機儀器系統(tǒng)——虛擬儀器,提供了一個便捷、輕松的圖形化設(shè)計環(huán)境。由于其靈活、簡單易用、開發(fā)效率高等特點,正逐漸成為科技工作者進行儀器應(yīng)用與開發(fā)的得力工具。如果采用單片機作為前端數(shù)據(jù)采集,通過串口進行與LabVIEW的數(shù)據(jù)通信,就可實現(xiàn)低成本、靈活方便、接口簡單的數(shù)據(jù)采集系統(tǒng)。這對于許多信號頻率不是太高的場合,此方案無疑非常便利。利用LabVIEW對單片機的數(shù)據(jù)進行分析處理,并通過串口實現(xiàn)二者之間的數(shù)據(jù)交換、經(jīng)濟實用的數(shù)據(jù)采集及分析系統(tǒng)。

        1.3 基于VC++開發(fā)的調(diào)試平臺

        Visual C++是一種由微軟公司開發(fā)的包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動編程語言,VC擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),程序員可以輕松的使用VC提供的組件快速建立一個應(yīng)用程序。MSComm是Windows下串行通信編程控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。MSComm控件[5-6]在串口編程時非常方便。開發(fā)人員不必花時間去了解較為復(fù)雜的API函數(shù),而且在Visual C++等語言中經(jīng)常使用。

        1.4 方案選擇和論證

        用Matlab設(shè)計調(diào)試平臺,所編寫的軟件不能脫離Matlab編程環(huán)境在Windows平臺下直接運行,對上位機(PC機)的配置要求比較高,代碼執(zhí)行效率較低,界面編寫功能簡單,不能達到某些用戶的需求。LabVIEW使用的是圖形化環(huán)境,對數(shù)據(jù)文檔的顯示及處理方面效率不高,而且對上位機(PC機)的配置要求比較高,以及考慮到現(xiàn)階段知識的儲備情況,所以不選擇這種方案。綜合上面三種方案,本課題選擇的是第三種方案,即基于VC++(Visual C++)開發(fā)的調(diào)試平臺,它界面明晰、操作方便,同時對于后期的擴展推廣也很容易實現(xiàn)。

        2 下位機串口通信設(shè)計

        以單片機為下位機設(shè)計串口接收上位機發(fā)送來的數(shù)據(jù),其中單片機P1口接LED,串行通信波特率設(shè)定為9600BPS,在KEILC中編寫的C語言程序如下:

        #include

        unsigned char flag;

        unsigned char w,i;

        unsigned int j;

        void main()

        {

        TMOD=0x20;

        TH1=0xfd;

        TL1=0xfd;

        TR1=1;

        SCON=0x50;

        PCON=0x00;

        EA=1;

        ES=1;

        while(1);

        }

        void ser() interrupt 4

        {

        RI=0;

        flag=SBUF;

        if(flag=='1')

        {

        w=0xfe;

        for(i=0;i<8;i++)

        {

        w=~((~w)<

        P1=w;

        for(j=0;j<10000;j++);

        }

        }

        else if(flag=='2')

        {

        w=0x7f;

        for(i=0;i<8;i++)

        {

        w=~((~w)>>i);

        P1=w;

        for(j=0;j<10000;j++);

        }

        }

        else if(flag=='3')

        {

        P1=0xff;

        for(j=0;j<10000;j++);

        P1=0x00;

        for(j=0;j<10000;j++);

        }

        }

        圖1 基于VC++設(shè)計的通信控制界面

        3 上、下位機通信的實現(xiàn)

        (1)在Visual C++6.0中新建工程添加串口通信控件設(shè)計上位機通信控制界面如圖1所示:

        (2)添加串口初始化代碼:

        if(m_ctrlComm.GetPortOpen())

        m_ctrlComm.SetPortOpen(FALSE);

        m_ctrlComm.SetCommPort(2); //選擇com2

        if( !m_ctrlComm.GetPortOpen())

        m_ctrlComm.SetPortOpen(TRUE);//打開串口

        else

        AfxMessageBox("cannot open serial port");

        m_ctrlComm.SetSettings("9600,n,8,1"); //波特率9600,無校驗,8個數(shù)據(jù)位,1個停止位

        m_ctrlComm.SetInputMode(1); //1:表示以二進制方式檢取數(shù)據(jù)

        m_ctrlComm.SetRThreshold(1); //參數(shù)1表示每當(dāng)串口接收緩沖區(qū)中有多于或等于1個字符時將引發(fā)一個接收數(shù)據(jù)的OnComm事件

        m_ctrlComm.SetInputLen(0); //設(shè)置當(dāng)前接收區(qū)數(shù)據(jù)長度為0

        m_ctrlComm.GetInput();//先預(yù)讀緩沖區(qū)以清除殘留數(shù)據(jù)

        (3)分別為信號1和信號2兩個按鈕控件添加事件處理函數(shù):

        char i= '1';

        CString str;

        str.Format("%c",i);

        m_ctrlComm.SetOutput(COleVariant(str));

        char i= '2';

        CString str;

        str.Format("%c",i);

        m_ctrlComm.SetOutput(COleVariant(str));

        (4)聯(lián)機調(diào)試現(xiàn)象:將單片機通過串口線和PC相連,把下位機串口通信程序下載到單片機中,用鼠標(biāo)在PC上分別點擊界面上的信號1信號2兩個按鈕控件,可以觀察到單片機P1口上的8個LED順序流水燈、反序流水燈現(xiàn)象,編輯框可以接收下位機發(fā)過來的數(shù)據(jù),清空接收區(qū)按鈕可以將接收區(qū)的數(shù)據(jù)清空,點擊退去系統(tǒng)按鈕控件可以退出控制界面。

        4 結(jié)語

        針對本文的設(shè)計要求,較好的完成了方案的選擇和任務(wù),有效的實現(xiàn)了上位機和下位機的通信,設(shè)計出了友好的可視化界面和上位機下位機編程模塊,通用性強,推廣價值高,可運用于實際的工業(yè)控制系統(tǒng)之中。

        [1] 樊新乾,潘存海.基于Modbus/TCP協(xié)議臺達PLC與上位機VB軟件之間的通信[J].制造業(yè)自動化,2012,34(20):33-35.

        [2] 陸嘉,孟文,李常輝.基于VB的PLC與上位機通信軟件的設(shè)計[J].自動化技術(shù)與應(yīng)用,2007,26(9):79-81.

        [3] 李志宏,杜娟,張平.基于VB的PLC和上位機通信的實現(xiàn)方法[J].控制工程,2002,9(1):35-37.

        [4] 胡昊,劉建華,侯云輝.基于冗余S7-400H的通信系統(tǒng)在熱媒爐項目中的應(yīng)用[J].化工自動化及儀表,2017,44(8):774-777.

        [5] 張素萍,李朝強.基于MSComm和隊列技術(shù)的LabVIEW數(shù)據(jù)采集系統(tǒng)設(shè)計[J].國外電子測量技術(shù),2016,35(6):86-91.

        [6] 龔建偉.VisualC++/TurboC串口通信編程實踐(第2版)[M].北京:電子工業(yè)出版社,2007.9.

        Design of Communication Control System for Upper and Lower SCM based on MFC

        JIANG Wei, WU Yu-chuan, LI Hong-jun

        (School of Mechanical Engineering and Automation, Wuhan Textile University, Wuhan Hubei 430200, China)

        With the development of modern information technology and the wide application of computers, serial communication between computers and computers and computers and microprocessors (MCUs) have been used widely in data acquisition, data communication, fault detection, industrial monitoring, real-time control systems, etc. In this paper, the single-chip microcomputer is used as the lower computer, and the PC is the upper computer. The visual programming software Visual C++6.0 MFC is used to design a friendly human-computer interaction interface to realize the data communication between the PC and the single-chip microcomputer. The soft programme is modular, easy to be expanded and strong universal, which is suitable for general industrial control systems.

        Microsoft Foundation Class; SCM; Host computer; Communication control

        江維(1983-),男,講師,博士,研究方向:智能控制與嵌入式系統(tǒng).

        2018年武漢紡織大學(xué)教學(xué)研究項目(2018JY019).

        TP273

        A

        2095-414X(2019)02-0077-04

        猜你喜歡
        單片機計算機設(shè)計
        計算機操作系統(tǒng)
        基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于計算機自然語言處理的機器翻譯技術(shù)應(yīng)用與簡介
        科技傳播(2019年22期)2020-01-14 03:06:34
        基于單片機的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        瞞天過?!律O(shè)計萌到家
        信息系統(tǒng)審計中計算機審計的應(yīng)用
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        Microchip推出兩個全新PIC單片機系列
        白嫩丰满少妇av一区二区| 久久久久久岛国免费网站| 国产亚洲一区二区三区三州| 午夜免费观看日韩一级片| av免费不卡国产观看| 亚洲欧洲精品成人久久曰影片| 国产情侣一区在线| 国产免费一区二区三区在线观看| 亚洲综合av一区二区三区蜜桃| 中文字幕av素人专区| 久久成人成狠狠爱综合网| 精品一区二区三区免费播放| 精品无码久久久九九九AV| 亚洲一区二区一区二区免费视频| 天堂视频在线观看一二区| 久久久久亚洲av片无码下载蜜桃| 欧美日韩精品福利在线观看| 国产女主播在线免费观看| 亚洲字幕中文综合久久| 高清破外女出血av毛片| 国产乱人伦AV在线麻豆A| 一级二级三一片内射视频| av在线免费观看蜜桃| 激情综合色五月丁香六月亚洲 | 久久久噜噜噜久久熟女| 久久精品人人做人人爱爱| 亚洲日韩精品欧美一区二区一| 亚洲成a人片在线观看中文!!!| 亚洲成人av一区免费看| 色爱av综合网站| 久久99国产亚洲高清观看韩国| 久久麻豆精亚洲av品国产精品| 男女射黄视频网站在线免费观看| 曰韩人妻无码一区二区三区综合部 | 色欲人妻综合网| 久久久久久久99精品国产片| 无码天堂在线视频| 激情在线一区二区三区视频| 欧美日韩视频在线第一区| 精品一精品国产一级毛片| 白浆高潮国产免费一区二区三区 |