用VisualBasic實(shí)現(xiàn)無線通訊

字號:

---- 一、 概述
    ---- Visual Basic 是Mcrosoft公司推出的強(qiáng)有力的系列開發(fā)軟件之一,而且以其實(shí)用、方便、快捷、開發(fā)周期短、廣泛而強(qiáng)大的功能越來越被廣大編程人員所親賴,廣為流傳,似乎有些專業(yè)的編程人員放棄了Visaul C++ 而改用了Visaul Basic之類的RAD編程工具,盡管Visaul C++在靈活性、代碼緊湊、運(yùn)行速度快及底層開發(fā)等方面Visaul Basic無法比擬的,但編寫C++應(yīng)用程序過長的調(diào)試和開發(fā)周期確實(shí)有點(diǎn)不適應(yīng)當(dāng)今的應(yīng)用程序開發(fā)環(huán)境。
    ---- 二、 VB串行通訊
    ---- 利用VB開發(fā)通信程序主要的方法有兩種,一是利用VB本身提供的控件(CONTRALS),另一種方法是利用WINDOWS API應(yīng)用程序接口,WINDOWS API 主要提供了三個(gè)動(dòng)態(tài)連接庫KERNEL.EXE、USER.EXE、GDI.EXE供開發(fā)人員調(diào)用,其中KERNEL.EXE 主要包括一些底層操作函數(shù),完成一些資源管理、任務(wù)、內(nèi)存等操作,USER.EXE包含了一些與WINDOWS管理有關(guān)的函數(shù),如通訊、菜單、消息、光標(biāo)、插入符、計(jì)時(shí)器以及絕大多數(shù)非顯示函數(shù),GDI.EXE圖形設(shè)備接口庫,主要內(nèi)容為與設(shè)備輸出有關(guān)的函數(shù)。和串口通訊有關(guān)系的函數(shù)BuilidCommDCB、ClearCommBreak、SetCommBreak、FlushComm、GetCommError、GetCommState、WriteComm、ReadComm、SetCommState、CloseComm等均在 Windowssystem 子目錄下的USER.EXE動(dòng)態(tài)連接庫中,在VB調(diào)用之前應(yīng)該先在全局變量定義處聲明API通訊函數(shù)、定義常量。
    ---- 在我們的實(shí)踐中,用VB 控件實(shí)現(xiàn)通訊的方法比調(diào)用SDK的API動(dòng)態(tài)連接庫的方法更加方便、快捷,而且用較少的代碼可以實(shí)現(xiàn)相同的功能,這就是用VB 控件實(shí)現(xiàn)通訊的優(yōu)點(diǎn)所在,下面主要介紹一下利用VB 控件實(shí)現(xiàn)無線通訊的問題。
    ---- 在VB的控件工具箱中,提供了一個(gè)使用非常方便的串行通訊控件MSComm,它全面的提供了使用RS-232串行通訊上層開發(fā)的所有細(xì)則,它既可以使用查詢方式又可以使用事件驅(qū)動(dòng)方式來完成串行通訊。
    ---- 三、 無線傳輸接口和協(xié)議
    ---- 在我們的項(xiàng)目中用Intel 586/120的PC機(jī)為上位機(jī),通訊程序使用VB開發(fā)的,用8031單片機(jī)做CPU、 AD574作數(shù)據(jù)采集的下位機(jī),上位機(jī)作數(shù)據(jù)接收和數(shù)據(jù)處理中心站,下位機(jī)實(shí)時(shí)采集數(shù)據(jù)之后,進(jìn)行簡單的數(shù)據(jù)平均計(jì)算,當(dāng)收到上位機(jī)發(fā)來的發(fā)送指令之后,開始向上位機(jī)發(fā)送數(shù)據(jù)。
    ---- 上位機(jī)無線通訊接口使用的是一塊插在ISA擴(kuò)展槽中的無線MODEM ZX-02,無線MODEM與KENWOOD公司的TK-378無線對講機(jī)相連,數(shù)字信號通過無線MODEM調(diào)制成為音頻信號之后,送到TK-378無線對講機(jī)上的MIC口。
    ---- 下位機(jī)有一臺外置無線MODEM ZX-01,單片機(jī)的數(shù)字信號經(jīng)過串口送入無線MODEM,MODEM對信號進(jìn)行調(diào)制后送入KENWOOD TK-378無線對講機(jī)上,接收數(shù)據(jù)的方式與上述相同,由TK-378收到信號后,經(jīng)無線MODEM將音頻信號解調(diào)為數(shù)字信號進(jìn)入計(jì)算機(jī)或單片機(jī)處理。