版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 本論文主要介紹了利用VB來開發(fā)一套實(shí)現(xiàn)短信息收發(fā)功能的信息系統(tǒng),并給出了短信息發(fā)送系統(tǒng)的軟、硬件及設(shè)計(jì)過程,以及當(dāng)前無線控制的發(fā)展趨勢,與目前無線通信的緊密連接。該系統(tǒng)基于GSM 原理利用手機(jī)通信的遠(yuǎn)程信息檢視系統(tǒng).該系統(tǒng)利用了手機(jī)短信的遠(yuǎn)距離收發(fā)與單片機(jī)的有效結(jié)合,最大特點(diǎn)是可實(shí)現(xiàn)安全遠(yuǎn)距離實(shí)時(shí)監(jiān)控,并記錄監(jiān)控結(jié)果,由于利用了
2、TC35模塊,所以硬件相對(duì)簡單,主要有PC機(jī)、TC35模塊、單片機(jī)以及它們之間的串行接口,并進(jìn)行編程來控制。PC機(jī)與TC35模塊之間的通信協(xié)議采GSM通用通信協(xié)議,利用VB語言的MSC0MM控件實(shí)現(xiàn)兩者之間的通信,單片機(jī)部分采用了上位機(jī),使檢測和檢控在不同的地點(diǎn),確保人員的安全,硬件看門狗使系統(tǒng)運(yùn)行更可靠。</p><p> 關(guān)鍵詞:VB;MSCOMM控件;串口通信;短信息收發(fā)</p><p
3、><b> 目 錄</b></p><p><b> 1 緒論0</b></p><p> 1.1 無線MODEM的現(xiàn)狀及應(yīng)用領(lǐng)域0</p><p> 1.2 無線MODEM的發(fā)展趨勢0</p><p> 1.3 本次畢業(yè)設(shè)計(jì)的主要內(nèi)容1</p><p&
4、gt; 2 無線MODEM設(shè)計(jì)的方案1</p><p> 2.1無線MODEM硬件電路的總體思路1</p><p> 2.2無線MODEM設(shè)計(jì)軟件工程實(shí)現(xiàn)的總體思路1</p><p><b> 3 短信息系統(tǒng)3</b></p><p> 3.1短信通信服務(wù)3</p><p>
5、 3.2基于短信息的遠(yuǎn)程控制系統(tǒng)5</p><p> 3.3與短信息通信相關(guān)的AT指令5</p><p> 3.4短信息傳輸?shù)母袷?</p><p><b> 4 系統(tǒng)硬件9</b></p><p> 4.1西門子TC35模塊的外圍電路9</p><p> 4.2 MSP430
6、單片機(jī)介紹及外圍電路11</p><p> 4.3 RS-232的介紹及外圍電路12</p><p> 4.4 復(fù)位電路14</p><p> 4.5 電源電路15</p><p> 5 Visusal Basic的編程環(huán)境16</p><p> 5.1 VB軟件介紹16</p>&
7、lt;p> 5.2 VB6.0的編程環(huán)境17</p><p> 5.3 MSCOMM控件21</p><p> 5.4 VB對(duì)英文和漢字的處理26</p><p> 5.4短信息收發(fā)系統(tǒng)的實(shí)現(xiàn)29</p><p> 5.5 實(shí)現(xiàn)系統(tǒng)功能的調(diào)試34</p><p> 5.6 最終達(dá)到的結(jié)果3
8、4</p><p><b> 總結(jié)37</b></p><p><b> 致謝38</b></p><p><b> 參考文獻(xiàn)39</b></p><p><b> 1 緒論</b></p><p> 1.1 無線M
9、ODEM的現(xiàn)狀及應(yīng)用領(lǐng)域</p><p> 隨著計(jì)算機(jī)通信技術(shù)的發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)監(jiān)控已成為各種重要現(xiàn)場監(jiān)控的必要技術(shù)手段,對(duì)于遠(yuǎn)程監(jiān)控使用無線遠(yuǎn)程監(jiān)控已經(jīng)成為控制領(lǐng)域的發(fā)展趨勢。GSM網(wǎng)絡(luò)由于其覆蓋范圍廣、信號(hào)較穩(wěn)定、無同頻干擾、保密性好、可處理大量的短消息、數(shù)據(jù)和傳真?zhèn)魉偷葮I(yè)務(wù)功能,而GSM短消息具有隨時(shí)在線(Always Online)﹑不需撥號(hào)﹑價(jià)格便宜﹑覆蓋范圍廣等特點(diǎn),特別適合于需傳送小流量數(shù)據(jù)的應(yīng)用
10、,而,廣泛應(yīng)用于油田、氣象、港監(jiān)、水網(wǎng)水文、環(huán)保監(jiān)測、車輛船舶、移動(dòng)作業(yè)等場所。以往這些領(lǐng)域往往采用集群通訊﹑CDPD網(wǎng)或有線MODEM來進(jìn)行通訊,但這些技術(shù)大多存在通訊范圍有限﹑費(fèi)用高﹑每次通訊需先撥號(hào)等缺點(diǎn)。使用無線MODEM,這些問題便迎刃而解。</p><p> GSM系統(tǒng)是目前基于時(shí)分多支技術(shù)的移動(dòng)通信體系中比較成熟、完善、應(yīng)用最廣泛的一種系統(tǒng)。主要提供話音、短信息、數(shù)據(jù)等多種業(yè)務(wù)?;贕SM短信息功
11、能可以做成傳輸各種監(jiān)測、監(jiān)控?cái)?shù)據(jù)信號(hào)和控制命令的數(shù)據(jù)通信系統(tǒng),能廣泛應(yīng)用于遠(yuǎn)程監(jiān)控、定位導(dǎo)航、個(gè)人通信終端等。由于GSM網(wǎng)絡(luò)實(shí)現(xiàn)了聯(lián)網(wǎng)和漫游,這樣利用GSM網(wǎng)絡(luò)傳輸數(shù)據(jù)不需要再組建專用通信網(wǎng)絡(luò),因此采用段心系方式傳輸數(shù)據(jù)的系統(tǒng)應(yīng)用將會(huì)越來越廣泛。此次通過單片機(jī)控制手機(jī)模塊來實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)南到y(tǒng),該系統(tǒng)采用短信息的方式傳輸數(shù)據(jù),該系統(tǒng)具有使用靈活、運(yùn)行可靠等特點(diǎn)。</p><p> 1.2 無線MODEM的發(fā)展趨勢
12、</p><p> 隨著無線數(shù)據(jù)業(yè)務(wù)的快速發(fā)展,許多從來沒有的應(yīng)用從理想變成了現(xiàn)實(shí),如車輛導(dǎo)航﹑遠(yuǎn)程監(jiān)控﹑無線上網(wǎng)﹑無線POS﹑物流控制、社區(qū)安防等,越來越多的設(shè)備開始要求具備無線通訊能力。</p><p> 無線MODEM無線通訊模塊便是在這種背景下,由我們自己研發(fā)出的通訊產(chǎn)品。應(yīng)用開發(fā)商通過它使自己的設(shè)備增添無線通訊能力,從而開發(fā)出各種各樣的應(yīng)用。該模塊采用發(fā)展最成功的無線通訊技術(shù)
13、,能提供短消息數(shù)據(jù)通訊功能,同時(shí)也可按照需求配備話音通訊功能。</p><p> 在一些監(jiān)控系統(tǒng)中需要將數(shù)據(jù)傳向遠(yuǎn)端服務(wù)器,實(shí)現(xiàn)這種應(yīng)用的主要有有線傳輸和無線傳輸兩種方式。有線傳輸具有可靠性高、成本低的特點(diǎn),但是有線傳輸需要有電話線,這樣就很大程度限制了應(yīng)用場合。無線傳輸有數(shù)傳電臺(tái)的方式,由于采用電臺(tái)的方式受通信距離的入網(wǎng)許可證等方面的限制,因此采用電臺(tái)方式的無線數(shù)據(jù)傳輸系統(tǒng)在應(yīng)用上也有很大的局限性。采用GSM
14、網(wǎng)絡(luò)傳輸數(shù)據(jù)具有介入方便、不需要組網(wǎng)等優(yōu)點(diǎn),加上短信息的廣泛應(yīng)用,因此采用短信息的方式傳輸數(shù)據(jù)將是一個(gè)實(shí)現(xiàn)遠(yuǎn)程傳輸數(shù)據(jù)的新的切入點(diǎn)。</p><p> 1.3 本次畢業(yè)設(shè)計(jì)的主要內(nèi)容</p><p> 對(duì)于本次畢業(yè)設(shè)計(jì)的題目,主要設(shè)計(jì)是基于已有的硬件,利用VB來開發(fā)一套實(shí)現(xiàn)短信息收發(fā)功能的信息系統(tǒng)。</p><p> 2 無線MODEM設(shè)計(jì)的方案</p&
15、gt;<p> 2.1無線MODEM硬件電路的總體思路</p><p> 此次設(shè)計(jì)研究的是——無線MODEM工作原理與工程實(shí)現(xiàn)短信息收發(fā)功能的信息系統(tǒng),此設(shè)計(jì)硬件電路:基于單片機(jī)實(shí)現(xiàn)數(shù)據(jù)傳輸系統(tǒng)?;驹恚翰捎肨C35模塊與單片機(jī)通過串口進(jìn)行連接,再串口使PC機(jī)與單片機(jī)進(jìn)行通信。其系統(tǒng)原理框圖如圖2-1所示。</p><p> 圖2-1 系統(tǒng)原理框圖</p>
16、<p> 2.2無線MODEM設(shè)計(jì)軟件工程實(shí)現(xiàn)的總體思路</p><p> 整個(gè)軟件系統(tǒng)主要實(shí)現(xiàn)數(shù)據(jù)的傳輸。利用VB的編程,來編寫一個(gè)工程界面,實(shí)現(xiàn)短信息收發(fā)系統(tǒng)。發(fā)送流程圖如圖2-2所示。</p><p> 圖2-2 發(fā)送流程圖</p><p> 接收短信息流程圖如圖2-3所示。</p><p> 圖2-3 接收系統(tǒng)
17、流程圖</p><p> 整個(gè)信息接收系統(tǒng)是基于MSComm控件,利用收發(fā)AT指令進(jìn)行數(shù)據(jù)交互,具體的實(shí)現(xiàn)是通過編碼和解碼的數(shù)據(jù)緩沖區(qū)來實(shí)現(xiàn)。</p><p><b> 3 短信息系統(tǒng)</b></p><p><b> 3.1短信通信服務(wù)</b></p><p><b> ?。?)短
18、信中心服務(wù)</b></p><p> GSM(Global System for Mobile Communication)網(wǎng)絡(luò)除了提供話音服務(wù)外,還提供面向字符的短信服務(wù)(SMS,Short Message Service)。SMS占用信道的時(shí)間短、費(fèi)用小,可使得兩個(gè)GSM用戶方便地進(jìn)行點(diǎn)對(duì)點(diǎn)通信。由于因特網(wǎng)開發(fā)的時(shí)間較長,而且已經(jīng)具有大量的支持軟件,并形成了豐富的資源,因此目前眾多的短信服務(wù)廠商
19、幾乎都與國際因特網(wǎng)相結(jié)合而形成統(tǒng)一的短信服務(wù)中心。如圖3-1是中國移動(dòng)通信集團(tuán)短信網(wǎng)絡(luò)的結(jié)構(gòu),其中的簡寫短語意義如下:</p><p> SMPP:Short Message Peer to Peer,短信點(diǎn)對(duì)點(diǎn)協(xié)議。</p><p> CMPP:China Mobile Peer to Peer,中國移動(dòng)點(diǎn)對(duì)點(diǎn)協(xié)議。</p><p> ISMG:Intern
20、et Short Message Gateway,因特網(wǎng)短信網(wǎng)關(guān)。</p><p> 圖3-1 中國移動(dòng)通信短信息服務(wù)網(wǎng)絡(luò)</p><p> ?。?)基于串行口的單機(jī)短信通信</p><p> GSM/GPRS/CDMA是目前商業(yè)化的移動(dòng)通信網(wǎng)絡(luò),屬于2.5G通信產(chǎn)品,都提供標(biāo)準(zhǔn)的短信服務(wù)。但由于其短信中心服務(wù)只授權(quán)給運(yùn)營商,科研單位要想開展基于短信的應(yīng)用研究,
21、目前只能通過移動(dòng)設(shè)備提供的與PC串行通信口來實(shí)現(xiàn)。其結(jié)構(gòu)和原理如圖3-2所示。</p><p> 圖3-2 通信結(jié)構(gòu)原理圖</p><p> (3) 基于串行口的短信通信</p><p> 通過短信可實(shí)現(xiàn)有限字符的通信,也可實(shí)現(xiàn)用戶與因特網(wǎng)服務(wù)器之間的有限字符傳送。利用這一特點(diǎn)可實(shí)現(xiàn)用戶通過無線移動(dòng)網(wǎng)絡(luò)與因特網(wǎng)之間的通信,進(jìn)而實(shí)現(xiàn)遠(yuǎn)程控制的目的。這樣的控制不受
22、時(shí)間、地點(diǎn)和場所的限制。</p><p> 3.2基于短信息的遠(yuǎn)程控制系統(tǒng)</p><p> 圖3-3 基于短信的油田控制系統(tǒng)結(jié)構(gòu)</p><p> 3.3與短信息通信相關(guān)的AT指令</p><p> 與SMS有關(guān)的GSM AT指令(from GSM07.05)如下表3-1所示:</p><p> 表3-1與
23、SMS有關(guān)的GSM AT指令</p><p> 3.4短信息傳輸?shù)母袷?lt;/p><p> 對(duì)短消息的控制共有三種模式:</p><p> Block Mode</p><p> 基于AT命令的PDU Mode</p><p> 基于AT命令的Text Mode</p><p> 使用
24、Block模式需要手機(jī)生產(chǎn)廠家提供驅(qū)動(dòng)支持,目前,PDU Mode 已取代 Block Mode, Text Mode比較簡單,使用Text模式收發(fā)短信代碼簡單,實(shí)現(xiàn)起來十分容易,但是最大的缺點(diǎn)是不能收發(fā)中文短信,實(shí)在是有點(diǎn)美中不足.不過PDU模式完全可以解決這個(gè)問題,PDU模式不僅支持中文短信,也能發(fā)送英文短信,堪稱完美無缺.PDU模式收發(fā)短信可以使用三種編碼: 7-bit、8-bit和UCS2編碼. 7-bit編碼用于發(fā)送普通的AS
25、CII字符,8-bit編碼通常用于發(fā)送數(shù)據(jù)消息,UCS2編碼用于發(fā)送Unicode字符。</p><p> PDU數(shù)據(jù)格式分析:</p><p> 例如,我們要將字符“Hi”字符發(fā)送到目的地“13677328099”</p><p><b> PDU字符串為:</b></p><p> 08 91 6831082
26、00805F0 11 00 0D 91 3176378290F9 00 00 00 02 C834</p><p> ?。?)08—短信息中心地址長度。指(91)+(683108200805F0)的長度。</p><p> ?。?)91—短信息中心號(hào)碼類型。91是TON/NPI遵守International/E.164標(biāo)準(zhǔn),指在號(hào)碼前需加‘+’號(hào);此外還有其它數(shù)值,但91最常用。</
27、p><p> 91—10010001</p><p> 數(shù)值類型(Type of Number):000—未知,001—國際,010—國內(nèi),111—留作擴(kuò)展;</p><p> 號(hào)碼鑒別(Numbering plan identification):0000—未知,0001—ISDN/電話號(hào)碼(E.164/E.163),1111—留作擴(kuò)展;</p>
28、<p> ?。?)683108200805F0—短信息中心號(hào)碼。由于位置上略有處理,實(shí)際號(hào)碼應(yīng)為:8613800280500(字母F是指長度減1)。這需要根據(jù)不同的地域作相應(yīng)的修改。</p><p> ?。?)、(2)、(3)通稱短消息中心地址(Address of the SMSC)。</p><p> ?。?)11—文件頭字節(jié)。</p><p> 1
29、1&h=00010001&b</p><p> 應(yīng)答路徑—TP-RP(TP-Reply-Path):0—不設(shè)置; 1—設(shè)置;</p><p> 用戶數(shù)據(jù)頭標(biāo)識(shí)—TP-UDHL(TP-User-Data-Header-Indicator):0—不含任何頭信息; 1—含頭信息;</p><p> 狀態(tài)報(bào)告要求—TP-SPR(TP-Status-Re
30、port-Request):0—需要報(bào)告; 1—不需要報(bào)告;</p><p> 有效期格式—TP-VPF(TP-Validity-Period-Format):00—不提供(Not present); 10—整型(標(biāo)準(zhǔn)); 01—預(yù)留; 11—提供8位字節(jié)的一半(Semi-Octet Represented)</p><p> 拒絕復(fù)制—TP-RD(TP-Reject-Duplica
31、tes):0—接受復(fù)制; 1—拒絕復(fù)制;</p><p> 信息類型提示—TP-MTI(TP-Message-Type-Indicator):00—讀出(Deliver); 01—提交(Submit);</p><p> ?。?)00—信息類型(TP-Message-Reference)</p><p> ?。?)0B—被叫號(hào)碼長度。</p><
32、;p> ?。?)91—被叫號(hào)碼類型(同(2))。</p><p> ?。?)3176378290F9—被叫號(hào)碼,經(jīng)過了位移處理,實(shí)際號(hào)碼為“13677328099”。</p><p> ?。?)、(7)、(8)通稱目的地址(TP-Destination-Address)。</p><p> ?。?)00—協(xié)議標(biāo)識(shí)TP-PID(TP-Protocol-Ident
33、ifier)。</p><p> Bit No.7與Bit No.6: 00—如下面定義的分配Bit No.0—Bit No.5;01—參見GSM03.40協(xié)議標(biāo)識(shí)完全定義;10—預(yù)留;11—為服務(wù)中心(SC)特殊用途分配Bit No.0—Bit No.5。</p><p> 一般將這兩位置為00</p><p> Bit No.5:0—不使用遠(yuǎn)程網(wǎng)絡(luò),只是短
34、消息設(shè)備之間的協(xié)議;1—使用遠(yuǎn)程網(wǎng)絡(luò)。</p><p> Bit No.0—Bits No.4:00000—隱含;00001—電傳;00010—group 3 telefax;00100—語音;00101—?dú)W洲無線信息系統(tǒng)(ERMES);00110—國內(nèi)系統(tǒng);10001—任何基于X.400的公用信息處理系統(tǒng);10010—Email。</p><p> ?。?0)00—數(shù)據(jù)編碼方案TP-D
35、CS(TP-Data-Coding-Scheme)</p><p> Bit No.7與Bit No.6 :一般設(shè)置為00;Bit No.5:0—文本未壓縮,1—文本用GSM標(biāo)準(zhǔn)壓縮算法壓縮;Bit No.4:0—表示Bit No.1、Bit No.0為保留位,不含信息類型信息,1—表示Bit No.1、Bit No.0含有信息類型信息;Bit No.3與Bit No.2:00—默認(rèn)的字母表,01—8bit,1
36、0—USC2(16bit),11—預(yù)留;Bit No.1與Bit No.0:00—Class 0,01—Class 1,10—Class 2(SIM卡特定信息),11—Class 3</p><p> (11)00—有效期TP-VP(TP-Valid-Period)</p><p> ?。?2)02—用戶數(shù)據(jù)長度TP-UDL(TP-User-Data-Length)。</p>
37、<p> ?。?3)C834—用戶數(shù)據(jù)TP-UD(TP-User-Data)“Hi”。</p><p><b> 短消息編碼:</b></p><p> 設(shè)需要發(fā)送的短消息內(nèi)容為“Hi”,使用的GSM字符集為7位編碼。首先將字符轉(zhuǎn)換為7位的二進(jìn)制,然后,將后面字符的位調(diào)用到前面,補(bǔ)齊前面的差別。例如:H翻譯成1001000,i翻譯成1101001,顯
38、然H的二進(jìn)制編碼不足八位,那么就將i的最后一位補(bǔ)足到H的前面。那么就成了11001000(C8),i剩下六位110100,前面再補(bǔ)兩個(gè)0,變成00110100(34),于是“Hi”就變成了兩個(gè)八進(jìn)制數(shù) C8 34。 </p><p><b> 4 系統(tǒng)硬件</b></p><p> 4.1西門子TC35模塊的外圍電路</p><p> T
39、C35模塊是siemens公司推出的一種無線通信GSM模塊,可以快速安全可靠地實(shí)現(xiàn)系統(tǒng)方案中的數(shù)據(jù)傳輸、語音傳輸、短信息服務(wù)和傳真服務(wù)。模塊的工作電壓為3.3V~5.5V,可以工作在900MHZ和1800MHZ兩個(gè)頻段,所在頻段功耗分別為2W(900MHZ)和1W(1800MHZ)。模塊有AT命令集接口,支持文本和PDU模式的短信息。此外,該模塊還有電話簿功能、多方通話、漫游檢測等功能。常見工作模式由省點(diǎn)模式、IDLE、TALK等模式。
40、通過40管腳的zif連接器,可分別連接SIM卡支架和天線。</p><p> TC35模塊主要有GSM基帶處理器、GSM射頻模塊、供電模塊、閃存、zif連接器和天線接口6部分組成。作為TC35的核心,基帶處理器主要處理GSM終端內(nèi)的語音、數(shù)據(jù)信號(hào),并涵蓋了蜂窩射頻設(shè)備中的所有的模擬和數(shù)字功能。在不需要額外硬件電路的前提下,支持FR、HR和EFR和語音編碼。</p><p> TC35模
41、塊主要通過串口與單片機(jī)進(jìn)行連接,從而單片家實(shí)現(xiàn)對(duì)TC35模塊的控制。雖然TC35模塊的串口提供了許多控制線,但是由于考慮到接口的簡單性,并且與單片機(jī)的UART進(jìn)行連接,所以采用兩線(TXD、RXD)連接。對(duì)于TC35模塊通信的控制可以通過軟件來實(shí)現(xiàn),采用軟件實(shí)現(xiàn)控制具有使用比較靈活的特點(diǎn),也能很好避免了過多的硬件信號(hào)的監(jiān)測。對(duì)于TC35的其他管腳再不使用的時(shí)候,如果該館較為輸出的話,一般讓改管腳懸空,如果該管腳位輸入管腳,需要將該管腳通
42、過10K的電阻拉高。另由于/IGT管腳是控制TC35模塊工作的管腳,所以需要將管腳上拉,并且將該管腳與單片機(jī)進(jìn)行連接,從而可以通過單片機(jī)來控制TC35模塊的工作狀態(tài)。在此次連接是使將TC35的電源管腳全部連接在一起,由于TC35是一個(gè)功能完全的模塊,因此不需要做任何的信號(hào)處理和射頻處理。另外TC35模塊還需要連接SIM卡座子,這樣就實(shí)現(xiàn)了一個(gè)完整獨(dú)立的GSM終端。TC35的接口電路如圖4-1所示。</p><p>
43、; 圖4-1 TC35的接口電路</p><p> 在進(jìn)行串口連接時(shí),雖然TC35模塊的串口管腳的工作電瓶是COMS電平,單片機(jī)的串口管腳的工作電平是TTL電平,但是由于單片機(jī)的高電平和低電平的邏輯判斷電平可以實(shí)現(xiàn)與TC35模塊的管腳進(jìn)行連接,因此TC35模塊的串口線直接與單片機(jī)的串口進(jìn)行連接。對(duì)于TC35模塊的串口管腳中DTR0和RTS0兩個(gè)管腳為輸入管腳,因此分別通過一個(gè)10K的電阻將這兩個(gè)管腳拉高。/I
44、GT為TC35模塊的工作狀態(tài)控制管腳,該管腳首先通過一個(gè)電阻拉高,平時(shí)該管腳為高電平,處于不工作的狀態(tài);另外該管腳還同時(shí)與單片機(jī)的一般I/O口進(jìn)行連接,這樣通過單片機(jī)來實(shí)現(xiàn)對(duì)TC35模塊工作狀態(tài)的控制,當(dāng)單片機(jī)在該管腳送低電平的好似后,則TC35模塊工作。TC35模塊的SYNC管腳用來指示GSM模塊的工作狀態(tài),連接一個(gè)指示燈來指示工作狀態(tài)。TC35模塊的SIM卡座子采用的是MOLEX座子,該座子優(yōu) 個(gè)管腳,而TC35模塊的SIM管腳只有
45、6個(gè)管腳,具體的電路如圖4-2所示。</p><p> 圖4-2 SIM卡座子接口圖</p><p> 從圖中可知,SIM座子只需要直接與TC35模塊的ZIP連接器對(duì)應(yīng)的SIM卡管腳進(jìn)行連接,只是在需要的地方加電容進(jìn)行濾波處理。對(duì)于跳線器JP不是必須的,圖中加上主要是用來進(jìn)行仿真模擬使用的。當(dāng)SIM座子的管腳8與TC35模塊的CCIN進(jìn)行連接時(shí),則用來模擬SIM卡插入的情況;當(dāng)SIM座
46、子的管腳8不與TC35模塊的CCIN進(jìn)行連接時(shí),則用來模擬SIM卡沒有插入的情況。</p><p> 4.2 MSP430單片機(jī)介紹及外圍電路</p><p> 單片機(jī)電路作為整個(gè)系統(tǒng)的核心控制部分,主要是完成與TC35模塊的通信,與上位機(jī)進(jìn)行通信。單片機(jī)TC35模塊與TC35模塊的通信采用單片機(jī)的串口0(UART0)實(shí)現(xiàn),雖然單片機(jī)與TC35模塊的供電電壓不同,但是他們的接口電平可以
47、直接接口,因此不需要進(jìn)行電平轉(zhuǎn)換。單片機(jī)與上位機(jī)通信通過單片機(jī)的串口1(UART1)實(shí)現(xiàn),由于單片機(jī)與上位機(jī)的接口電平不一致,所以需要通過串口芯片(SP3220)完成接口電平的轉(zhuǎn)換。另外單片機(jī)還需要通過一個(gè)I/O管腳來控制TC35模塊的工作,在該管腳上輸出低電平來使TC35模塊工作。整個(gè)系統(tǒng)的單片機(jī)電路圖如圖4-3所示。</p><p> 圖4-3 系統(tǒng)的單片機(jī)電路圖</p><p>
48、 從上圖可以看出,此單片機(jī)的時(shí)鐘與其他單片機(jī)的時(shí)鐘有一定的區(qū)別,MSP430單片機(jī)采用兩個(gè)時(shí)鐘輸入,既一個(gè)32KHZ的時(shí)鐘信號(hào),一個(gè)8MHZ的時(shí)鐘信號(hào)。該系統(tǒng)的時(shí)鐘部分都是采用晶體振蕩器來實(shí)現(xiàn)的??紤]到電源的輸入紋波對(duì)單片機(jī)的影響,在電源的管腳增加一個(gè)0.1uF電容來實(shí)現(xiàn)濾波,以減小輸入端受到的干擾。另外單片機(jī)還有模擬電源的輸入端,因此在該系統(tǒng)中的干擾比較小,因此模擬地和信號(hào)地共地,模擬電源輸入端增加一個(gè)濾波電容以減小干擾。利用單片機(jī)的
49、串口0與TC35模塊接口。為了控制單片機(jī)控制TC35模塊傳輸數(shù)據(jù)的時(shí)刻,利用單片機(jī)的一般I/O口P1.5來作為啟動(dòng)通信的按鍵,由于P1.5可以作為中斷口使用,這里使用低電平觸發(fā)方式,需要將該管腳拉高。單片機(jī)的串口1與上位機(jī)進(jìn)行通信,因此串口1與RS-232芯片進(jìn)行連接。另外單片機(jī)的P1.0作為輸出口,與TC35模塊的/IGT管腳進(jìn)行連接,實(shí)現(xiàn)控制TC35模塊的工作,當(dāng)/IGT管腳輸出高電平的時(shí)候,TC35模塊不工作,當(dāng)/IGT管腳輸出為
50、低電平的時(shí)候,TC35模塊工作。當(dāng)TC35模塊啟動(dòng)后,/IGT管腳可以是高電平。</p><p> 4.3 RS-232的介紹及外圍電路</p><p> 在工業(yè)自動(dòng)控制、智能儀器儀表中,單片機(jī)的應(yīng)用越來越廣泛。隨著應(yīng)用范圍的擴(kuò)大以及根據(jù)解決的問題的需要,對(duì)某些數(shù)據(jù)要做復(fù)雜的處理。由于單片機(jī)的運(yùn)算功能較差,對(duì)數(shù)據(jù)進(jìn)行較復(fù)雜的處理時(shí),往往需要借助計(jì)算機(jī)系統(tǒng)。因此,單片機(jī)與PC機(jī)進(jìn)行遠(yuǎn)程通
51、信更具有實(shí)際意義。利用單片機(jī)的串口與PC機(jī)的串口COM1或COM2進(jìn)行串行通信,將單片機(jī)采集的數(shù)據(jù)傳送到PC機(jī)中,由PC機(jī)的高級(jí)語言或數(shù)據(jù)庫語言對(duì)數(shù)據(jù)進(jìn)行整理及統(tǒng)計(jì)等復(fù)雜處理,或者實(shí)現(xiàn)PC機(jī)對(duì)遠(yuǎn)程前沿單片機(jī)進(jìn)行控制。</p><p> 在實(shí)現(xiàn)計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)間的串口通信時(shí),通常采用標(biāo)準(zhǔn)通信接口。這樣就能很方便地把各種計(jì)算機(jī)、外部設(shè)備、測量儀器等有機(jī)的連接起來,進(jìn)行串口通信。RS—232C是有美國電子
52、工業(yè)協(xié)會(huì)(EIA)正式公布的,在異步串口通信中應(yīng)用最廣的標(biāo)準(zhǔn)總線(C表示此標(biāo)準(zhǔn)修改了3次)。它包括了按位串行通信的電氣和機(jī)械方面的規(guī)定,適用于短距離或帶調(diào)制解調(diào)器的通信場合。為了底稿數(shù)據(jù)傳輸率和通信距離,EIA又公布了RS—422,RS—423和RS—485串口總線接口標(biāo)準(zhǔn)。</p><p> RS—232C標(biāo)準(zhǔn)接口總線</p><p> EIA RS—232C是目前最常用的串行接口標(biāo)
53、準(zhǔn),用于實(shí)現(xiàn)計(jì)算機(jī)與計(jì)算機(jī)之間、計(jì)算機(jī)與外部之間的數(shù)據(jù)通信。該標(biāo)準(zhǔn)的目的是定義數(shù)據(jù)終端設(shè)備(DTE)之間接口的電氣特性。一般的串行通信系統(tǒng)是指個(gè)人計(jì)算機(jī)和調(diào)制解調(diào)器(modem)。調(diào)制解調(diào)器叫數(shù)據(jù)電路終端設(shè)備(簡稱DCE)。RS—232C提供了單片機(jī)與單片機(jī)、單片機(jī)與PC機(jī)間串行數(shù)據(jù)通信的標(biāo)準(zhǔn)接口。通信距離可達(dá)到15m。</p><p> RS—232C接口的具體規(guī)定如下:</p><p&g
54、t;<b> ?。?)范圍</b></p><p> RS—232C標(biāo)準(zhǔn)適用于DCE和DTE間的串行二進(jìn)制通信,最高的數(shù)據(jù)速率為19.2kb/s。如果不增加其他設(shè)備的話,RS—232C標(biāo)準(zhǔn)的電纜長度最大為15m。</p><p> RS—232C不適于接口兩邊設(shè)備間要求絕緣的情況。</p><p> (2)RS—232C的信號(hào)特性<
55、/p><p> 為了保證二進(jìn)制數(shù)據(jù)能夠正確傳輸,設(shè)備控制準(zhǔn)確完成,有必要使所用的信號(hào)電平保持一致。為了滿足此要求,RS—232C標(biāo)準(zhǔn)規(guī)定了數(shù)據(jù)和控制信號(hào)的電壓范圍。由于RS—232C是在TTL集成電路之前研制的,所以它的電平不是+5V和地,而是采用負(fù)邏輯,規(guī)定+3V~+15V之間的任意電壓表示邏輯0電平,-3V~-15V之間的任意電壓表示邏輯1電平。</p><p> 信號(hào)電氣特性與電平特
56、性</p><p><b> ?。?)電氣特性</b></p><p> 為了增加信號(hào)在線路上的傳輸距離和提高抗干擾能力,RS—232C提高了信號(hào)的傳輸電平。該接口采用雙極性信號(hào)、公共地線和負(fù)邏輯。</p><p> 使用RS—232C,數(shù)據(jù)傳輸?shù)牟ㄌ芈试试S范圍為0b/s~20kb/s。在使用19200b/s進(jìn)行通信時(shí),最大傳輸距離在20m
57、之間。降低波特率可以增加傳輸距離。</p><p><b> (2)電平轉(zhuǎn)換</b></p><p> RS—232C規(guī)定的邏輯電平與一般微處理器、單片機(jī)的邏輯電平是不一致的。因此,在實(shí)際應(yīng)用時(shí),必須把微處理器的信號(hào)電平(TTL電平)轉(zhuǎn)換為RS—232C電平,或者對(duì)兩者進(jìn)行逆轉(zhuǎn)換。這兩種轉(zhuǎn)換是通過專用電平轉(zhuǎn)換芯片實(shí)現(xiàn)的。</p><p>
58、 對(duì)于連接在RS—232C和單片機(jī)間的芯片很多,此次采用MAX232。MAX232芯片是MAXIM公司生產(chǎn)的、包含兩路接收器和驅(qū)動(dòng)器IC芯片,適用于各種EIA-232C和V。28/V。24的通信接口。MAX232芯片內(nèi)部有一個(gè)電源電壓變換器,可以把輸入的+5V電源電壓變成RS—232C輸出電平所需要的±10V電壓。所以,采用此芯片借口的串口通信系統(tǒng)只需單一的+5V電源就可以了。對(duì)于沒有±12V電源的場合,其適用性更強(qiáng)
59、。加之其價(jià)格適中,硬件接口簡單。其接口電路如圖4-4所示。</p><p> 圖4-4 RS-232C接口電路圖</p><p><b> 4.4 復(fù)位電路</b></p><p> 在單片機(jī)系統(tǒng)里,單片機(jī)需要復(fù)位電路,復(fù)位電路可以采用R-C復(fù)位電路,也可以采用復(fù)位芯片來實(shí)現(xiàn)復(fù)位,R-C復(fù)位電路據(jù)具有經(jīng)濟(jì)性,但是可靠性不高,用復(fù)位芯片實(shí)現(xiàn)
60、的復(fù)位電路具有很高的可靠性,因此為了保證復(fù)位電路的可靠性,該系統(tǒng)采用復(fù)位芯片來實(shí)現(xiàn)復(fù)位電路。該電路中采用MAX809芯片,復(fù)位電路如圖4-5所示。</p><p><b> 圖4-5 復(fù)位電路</b></p><p> 為了減小電源的干擾,還需要在復(fù)位芯片的電源輸入端加一個(gè)0.1uF的電容來實(shí)現(xiàn)濾波,以減小輸入端受到的干擾。</p><p>
61、;<b> 4.5 電源電路</b></p><p> 整個(gè)系統(tǒng)采用5V供電。除了TC35外都采用3.3V電壓供電,為了減小電源電路對(duì)整個(gè)系統(tǒng)的影響。電源電路采用TPS76033芯片來實(shí)現(xiàn)。電路圖如圖4-6所示。</p><p> 圖4-6 電源電路圖</p><p> 為了使3.3V輸出電源的紋波小,在輸出部分用了一個(gè)2.2Uf和0.
62、1uF的電容,另外在芯片的輸入端也放置一個(gè)0.1Uf的濾波電容,來減小輸入端受到的干擾。</p><p> 對(duì)于TC35模塊采用3.6V電源供電,由于該電源部分的輸出電流必須滿足輸出電流能達(dá)到2A,在此采用NATIONAL公司生產(chǎn)的LP3966芯片。該芯片的管腳2為shutdown管腳,在使用時(shí)必須通過一個(gè)10k的電阻拉高到5V。該芯片的輸出位可調(diào)類型,該芯片通過電阻R2和R1實(shí)現(xiàn)輸出電壓的調(diào)節(jié)。輸出電壓調(diào)節(jié)換
63、算公式為:</p><p> R2=R1(Vout/1.216-1</p><p> 通過上式可以得知:只要給定電阻R1和確定輸出電壓Vout的情況下,就可以計(jì)算得到電阻R2的值。為了使3.6V輸出電源的紋波小,在輸出部分用了一個(gè)68Uf、33uF和0.1uf的電容,實(shí)現(xiàn)濾波。另外在芯片的輸入端也放置一個(gè)68uF的濾波電容,減小輸入端受到的 干擾。</p><p&g
64、t; 5 Visusal Basic的編程環(huán)境</p><p> 5.1 VB軟件介紹</p><p> Basic語言是20世紀(jì)60年代美國Dartmouth學(xué)院的兩位教授共同設(shè)計(jì)的計(jì)算機(jī)程序設(shè)計(jì)語言,其含義是“初學(xué)者通用的符號(hào)指令代碼”。它簡單易學(xué)、人機(jī)對(duì)話方便、程序運(yùn)行調(diào)試方便,因此很快得到了廣泛的應(yīng)用。</p><p> 1988年,Microsof
65、t公司推出的Windows操作系統(tǒng),以其為代表的圖形用戶界面在微機(jī)上引起了很大的影響。在圖形用戶界面中,用戶只要通過鼠標(biāo)的點(diǎn)擊和拖動(dòng)便可以形象地完成各種操作,不必鍵入復(fù)雜的命令。但是對(duì)于程序員來說,可視化程序設(shè)計(jì)語言正式在這種背景下產(chǎn)生。</p><p> 可視化程序設(shè)計(jì)語言除了提供常規(guī)的編程外,還提供一套可視化的設(shè)計(jì)工具,便于程序員建立圖形對(duì)象。1991年Microsoft公司推出的Visusal Basic
66、語言是以結(jié)構(gòu)化Basic語言為基礎(chǔ),以事件驅(qū)動(dòng)為運(yùn)行機(jī)制。繼而Visusal Basic經(jīng)歷了1.0版、2.0版、……6.0版的幾次升級(jí),他的功能也更加強(qiáng)大,更加完善。其主要的功能特點(diǎn)是:</p><p> 具有面向?qū)ο蟮目梢暬O(shè)計(jì)工具</p><p><b> 事件驅(qū)動(dòng)的編程機(jī)制</b></p><p> 提供了易學(xué)易用的應(yīng)用程序集成開
67、發(fā)環(huán)境</p><p> 結(jié)構(gòu)化的程序設(shè)計(jì)語言</p><p> 強(qiáng)大的數(shù)據(jù)庫操縱功能</p><p><b> Active技術(shù)</b></p><p><b> 網(wǎng)絡(luò)功能</b></p><p><b> 多個(gè)應(yīng)用程序向?qū)?lt;/b></
68、p><p> 完備的Help聯(lián)機(jī)幫助功能</p><p> 5.2 VB6.0的編程環(huán)境</p><p> 圖5-1 VB6.0編程環(huán)境圖</p><p><b> 標(biāo)題欄</b></p><p> 標(biāo)題欄中的標(biāo)題為“ Microsoft Visusal Basic [設(shè)計(jì)]”說明此時(shí)集成
69、開發(fā)環(huán)境處于設(shè)計(jì)模式,在進(jìn)入其他狀態(tài)時(shí),方括號(hào)中的文字將被做相應(yīng)的變化。VB有三種工作模式:</p><p> 設(shè)計(jì)模式:可進(jìn)行用戶界面的設(shè)計(jì)和代碼的編制,來完成應(yīng)用程序的開發(fā)。</p><p> 運(yùn)行模式:運(yùn)行應(yīng)用程序,這時(shí)不可編輯代碼,也不可編輯界面。</p><p> 中斷模式:應(yīng)用程序運(yùn)行暫停中斷,這時(shí)可以編輯代碼,但是不可編輯界面。按F5鍵或單擊“繼
70、續(xù)”按扭程序繼續(xù)運(yùn)行,單擊“結(jié)束”按扭停止程序的運(yùn)行。在此模式回彈出“立即”窗口,在窗口內(nèi)可輸入簡短的命令,并立即執(zhí)行。</p><p><b> 2、菜單欄</b></p><p> VB6.0菜單欄中包括13個(gè)下拉式菜單,這是程序開發(fā)過程中需要的命令。</p><p> 文件(FIle):用于創(chuàng)建、打開、保存、顯示最近的工程以及生成可
71、執(zhí)行文件的命令。</p><p> 編輯(Edit):用于程序源代碼的編輯。</p><p> 視圖(View):用于集成開發(fā)環(huán)境下程序源代碼、控件的查看。</p><p> 工程(Project):用于控件、模塊和窗體等對(duì)象的處理。</p><p> 格式(Format):用于窗體控件的對(duì)齊等格式化的命令。</p>&
72、lt;p> 調(diào)試(Debug):用于程序的調(diào)試、查錯(cuò)的命令。</p><p> 運(yùn)行(Run):用于程序的啟動(dòng)、設(shè)置中斷和停止的等程序運(yùn)行的命令。</p><p> 查詢(Query):VB6.0新增,在設(shè)計(jì)數(shù)據(jù)庫應(yīng)用程序時(shí)用于設(shè)計(jì)SQL屬性。</p><p> 圖表(Diagram):VB6.0新增,在設(shè)計(jì)數(shù)據(jù)庫應(yīng)用程序時(shí)編輯數(shù)據(jù)庫的命令。</
73、p><p> 工具(Tools):用于集成開發(fā)環(huán)境下工具的擴(kuò)展。</p><p> 外接程序(Add-Ins):用于為工程增加或刪除外接程序。</p><p> 窗口(Windows):用于屏幕查的層疊、平鋪等布局以及列出所有打開文檔窗口。</p><p> 幫助(Help):幫助用戶系統(tǒng)學(xué)習(xí)掌握VB的使用方法及程序設(shè)計(jì)方法。</p
74、><p><b> 3、工具欄</b></p><p> 工具欄可以迅速地訪問常用的菜單命令。除了所有的標(biāo)準(zhǔn)工具欄外,還有編輯、窗體編輯器、調(diào)試等專用的工具欄。要顯示或隱藏工具欄,可以選擇“視圖”菜單的“工具欄”命令或用鼠標(biāo)在標(biāo)準(zhǔn)工具欄處單擊右鍵選取所需的工具欄。</p><p><b> 4、窗體窗口</b></
75、p><p> 窗口窗體在、如圖5-2所示。</p><p> 圖5-2 窗口窗體圖</p><p> 窗體是VB應(yīng)用程序的主要構(gòu)成部分,用戶通過與窗體上的控制部件可控制應(yīng)用程序的運(yùn)行,得到結(jié)果。每個(gè)窗體查必須有唯一的窗體名字。處于設(shè)計(jì)狀態(tài)的窗體有網(wǎng)格點(diǎn)構(gòu)成,網(wǎng)格點(diǎn)方便用戶對(duì)控件的定位,網(wǎng)格點(diǎn)檢舉可以通過“工具”菜單的“選項(xiàng)”命令,在“通用”標(biāo)簽的“窗體設(shè)置網(wǎng)格”中
76、輸入“寬度”和“高度”來改變。運(yùn)行時(shí)通過屬性控制窗體的可見性一個(gè)應(yīng)用程序至少有一個(gè)窗體窗口。</p><p><b> 5、屬性窗口</b></p><p> 屬性窗口如圖5-3所示。</p><p> 圖5-3 屬性窗口圖</p><p> 所有窗體或控件的屬性,如顏色、字體、大小等,可以通過屬性窗體來修改。屬
77、性窗口由以下部分組成:</p><p> 對(duì)象列表框:單擊其右邊的下拉按扭可打開所選窗體所包含對(duì)象的列表。</p><p> 屬性顯示排列方式:有“按字母序”和“按分類按扭”。屬性列表有中間一條線把其分成兩個(gè)部分,左邊列出的是各種屬性;右邊列出的則是響應(yīng)的屬性值。用戶可以選頂某一屬性,然后對(duì)該屬性值進(jìn)行設(shè)置或修改。</p><p> 屬性含義說明:當(dāng)在屬性列表
78、框選取某屬性時(shí),在該區(qū)顯示所選屬性的含義。</p><p> 6、程資源管理器窗口如圖5-4所示。</p><p> 圖5-4 程資源管理器窗口</p><p> 工程資源管理器窗口有三個(gè)按扭,分別為:</p><p> “查看代碼”按鈕:切換到代碼窗口,顯示和編輯代碼。</p><p> “查看對(duì)象”按鈕:
79、切換到窗體窗口,顯示和編輯對(duì)象。</p><p> “切換文件夾”按鈕:切換文件夾顯示的方式。</p><p> 工程資源管理器下面的列表窗口,以層次列表形式列出組成這個(gè)工程的文件。他包含兩種主要類型的文件:</p><p> 窗體文件(.frm文件):該文件存儲(chǔ)窗體上使用的所有控件對(duì)象和有關(guān)的屬性、對(duì)象相應(yīng)的事件過程、程序代碼。一個(gè)應(yīng)用程序至少包含一個(gè)窗體文
80、件。</p><p> 標(biāo)準(zhǔn)模塊文件(.bas文件):該文件存儲(chǔ)所有模塊級(jí)變量和用戶自定義的通用過程。通用過程是指可以被應(yīng)用程序各處條用的過程。</p><p><b> 7、代碼窗口:</b></p><p> 代碼窗口是專門用來進(jìn)行程序設(shè)計(jì)的窗口,可顯示和編輯程序代碼,如5-5圖所示。</p><p><
81、b> 圖5-5 代碼窗口</b></p><p> 每個(gè)窗體都有各自的代碼窗口,打開代碼窗口有以下三種方法:</p><p> 從工程窗口中選擇一個(gè)窗體或標(biāo)準(zhǔn)模塊,并選擇“查看代碼”按鈕;</p><p> 從窗體窗口中打開代碼窗口,可用鼠標(biāo)雙擊一個(gè)控件或窗體本身;</p><p> 從“視圖”菜單中選擇“代碼窗口
82、”命令。</p><p><b> 代碼窗口主要包括:</b></p><p> ?。?)“對(duì)象”下拉式列表框:顯示所選對(duì)象的名稱??梢詥螕粲疫叺南吕粹o,來顯示此窗體中的對(duì)象名。其中“通用”表示與特定對(duì)象無關(guān)的通用代碼,一般在次聲明模塊級(jí)變量或用戶編寫子定義過程。</p><p> ?。?)“過程”下拉式列表框:列出所有對(duì)象對(duì)應(yīng)于“對(duì)象”列
83、表框中對(duì)象的事件過程名稱。在對(duì)象列表框選擇對(duì)象名,在過程列表框中選擇事件過程名,即可構(gòu)成選中對(duì)象的事件過程模板,用戶可在該摸板內(nèi)輸入代碼。</p><p> (3)“代碼”框:輸入程序代碼。</p><p> (4)“過程查看”按鈕:只能顯示所選的一個(gè)過程。</p><p> (5)“全模塊查看”按鈕:顯示模塊中全部過程。</p><p&g
84、t; 5.3 MSCOMM控件</p><p> 微軟的軟件系統(tǒng)中.提供了MSComm通訊控件。該控件在windows ystem 目錄下,通訊控件是PC機(jī)通過串行端口與其它設(shè)備實(shí)現(xiàn)輕松連接的利器.Visual basic等開發(fā)人員都可以使用它通過使用MSComm通訊控件,可簡單高效的實(shí)現(xiàn)設(shè)備之間的通訊,而不必調(diào)用低級(jí)的API函數(shù),從而使編程效率大大提高.也降低了因編程不當(dāng)導(dǎo)致系統(tǒng)不穩(wěn)定。</p>
85、<p> 利用Mscomm控件完成一般的數(shù)據(jù)通信,使用此控件還是非常方便的,在接收數(shù)據(jù)方面可通過OnComm事件響應(yīng)從而用Input屬性從此控件的接收緩存區(qū)獲得數(shù)據(jù),在發(fā)送數(shù)據(jù)方面是通過給此控件的Output屬性賦值來實(shí)現(xiàn)。在發(fā)送和接收時(shí)通過改變Output和Input的屬性的類型來改變接收到的數(shù)據(jù):若設(shè)置為字符串類型,則按文本方式發(fā)送或接收;若設(shè)置為字節(jié)數(shù)據(jù),則按二進(jìn)制數(shù)據(jù)格式發(fā)送或接收。</p><
86、;p> MSC0mm控件的主要屬性:</p><p> 1)commPorL:設(shè)置并返回通訊端口號(hào),在設(shè)計(jì)時(shí),value可以設(shè)置成從1到16的任何數(shù)(缺省值為 1),注意:必須在打開端口之前設(shè)置CommPort屬性;</p><p> 2)Settings:以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位,設(shè)置的格式為“BBBB,P,D,S”,BBBB為波特率,P為奇偶
87、校驗(yàn),D為數(shù)據(jù)位數(shù),S為停止位數(shù);</p><p> 3)PortOpen:設(shè)置并返回通訊端口的狀態(tài)。也可以打開和關(guān)閉端口.title表示串口打開;</p><p> 4)Input:從接收緩沖區(qū)返回和刪除字符;</p><p> 5)Output:向傳輸緩沖區(qū)寫一個(gè)字符串;</p><p> 6)InputMode:設(shè)置發(fā)送和接收數(shù)
88、據(jù)的類型,0表示文本的方式.1表示二進(jìn)制的方式;</p><p> 7)Rthreshold:設(shè)置CommEvent屬性為comEvReceive并產(chǎn)生OnComm之前.設(shè)置并返回的要接收的字符數(shù),若Rthreshold屬性設(shè)置為0(缺省值)則不產(chǎn)生OnComm 事件;</p><p> 8)SThreshold:MSComm 控件設(shè)置CommEvent屬性為comEvSend.并產(chǎn)生
89、OnComm事件之前.設(shè)置并返回傳輸緩沖區(qū)中允許的最小字符數(shù).若設(shè)置Sthreshold屬性為l,當(dāng)傳輸緩沖區(qū)完全空時(shí).MSComill控件產(chǎn)生OnComm事件。如果在傳輸緩沖區(qū)中的字符數(shù)小于value,CommEvent屬性設(shè)置為comErSend.并產(chǎn)生0nComm 事件:</p><p> 9)InputLen、Input:收緩和發(fā)送緩沖區(qū)字符數(shù)或字節(jié)數(shù):</p><p> 10
90、)comEvent:該屬性列出了控件觸發(fā)事件的類型和具體的事件活錯(cuò)誤MSCOMM只有一個(gè)OnComm事件.只要eomEvent的值一改變.就會(huì)觸發(fā)該事件.這表示發(fā)生了一個(gè)通信錯(cuò)誤或事件。</p><p> MSC0mm控件的主要事件:</p><p> OnComm事件:當(dāng)CommEvent屬性的值發(fā)生變化時(shí),就觸發(fā)此事件,標(biāo)志發(fā)生了一個(gè)通信事件或錯(cuò)誤。如果CommEvent屬性值發(fā)生
91、了變化,而通信事件又未發(fā)生,就必然出現(xiàn)錯(cuò)誤。CommEvent屬性中含有觸發(fā)OnComm事件的真正錯(cuò)誤或事件的標(biāo)識(shí)代碼。</p><p> MSComm控件進(jìn)行串行通信的一般步驟為:</p><p> 1)設(shè)置通信對(duì)象、通信端口號(hào)及其他屬性;</p><p><b> 2)設(shè)定通信協(xié)議;</b></p><p>
92、 3)打開通信端口,進(jìn)行數(shù)據(jù)的傳送;</p><p><b> 4)關(guān)閉通信端口;</b></p><p> MSComm控件通信方式的選擇:</p><p> MSComm控件有兩種處理通信的方式,即事件驅(qū)動(dòng)和查詢方式。事件驅(qū)動(dòng)方式是處理串行通信的一種有效的方法,它可以利用OnComm事件捕獲并處理通信中發(fā)生的事件或錯(cuò)誤,實(shí)時(shí)性較強(qiáng)。而
93、查詢方式是在程序通過查詢CommEvent屬性的值來判斷通信過程中的事件或錯(cuò)誤.這種方式適合于應(yīng)用程序較小、實(shí)時(shí)性要求不高的系統(tǒng)中 。</p><p> 利用MSCOmm控件發(fā)送數(shù)據(jù):</p><p> MSComm控件提供了一個(gè)Output屬性.它能簡化對(duì)數(shù)據(jù)的發(fā)送.Output屬性可以往發(fā)送緩沖區(qū)中寫入一串?dāng)?shù)據(jù),它在設(shè)計(jì)階段是無效的.在運(yùn)行階段也只能寫入。其引用方法如下:</
94、p><p> MSComm.Output[=value]</p><p> 其中.Value參數(shù)表示一串要寫入到發(fā)送緩沖區(qū)中的字符。Output屬性可以發(fā)送文本數(shù)據(jù),也可以發(fā)送二進(jìn)制數(shù)據(jù)。如果要發(fā)送文本數(shù)據(jù).Value就必須是含有字符串的Variant數(shù)據(jù);如果要發(fā)送二進(jìn)制數(shù)據(jù),Value就必須是含有Byte數(shù)組的Variant數(shù)據(jù)。</p><p> 下面的示例
95、程序是利用MSComm控件的Output屬性發(fā)送數(shù)據(jù):</p><p> Private Sub RichTextBox— KeyPress(KeyAscii As Integer)</p><p> ’將鍵盤鍵人的字符傳給RichTextBox控件和MSComm1控件</p><p> Dim OutS as Variant</p><p
96、> MsComm 1.CommPort=1</p><p> MsComm 1.PortOpen=True</p><p> OutS:Ch KevAscii1</p><p> MsComm 1.Output=OutS</p><p><b> End Sub</b></p><p&
97、gt; 利用MSComm控件接收數(shù)據(jù):</p><p> 利用MSComm控件的Input屬性可以接收數(shù)據(jù)。</p><p> Input屬性從接收緩沖區(qū)中返回一串?dāng)?shù)據(jù),它在設(shè)計(jì)階段是無效的,在運(yùn)行階段也只能讀。Input屬性的返回類型為Variant。</p><p> InputLen屬性值決定著Input屬性讀取的字符個(gè)數(shù)。將InputLen設(shè)為0,意
98、味著利用Input屬性讀出接收緩沖區(qū)中的所有內(nèi)容。</p><p> InputMode屬性值決定著Input屬性接收的數(shù)據(jù)類型。如果InputMode設(shè)為ComInputModeText,就可利用Input屬性返回文本數(shù)據(jù);如果InputMode設(shè)為ComIn.</p><p> putModeBinary,則返回Byte數(shù)組中的二進(jìn)制數(shù)據(jù)。</p><p>
99、 下面的示例程序是利用MSComm控件的Intput屬性接收數(shù)據(jù):</p><p> Private Sub Commandl— Click0</p><p> ’用戶單擊Commandl按鈕后讀取輸入緩沖區(qū)中的內(nèi)容</p><p> Dim InS as String</p><p> MsComm 1.InputLen=O<
100、;/p><p> If MsComm 1.InBuferCount Then</p><p> InS=MsComm 1.Input</p><p><b> End If</b></p><p> MsgBox InS</p><p> MsComm 1.PortOpen=False<
101、;/p><p><b> End Sub</b></p><p><b> 開發(fā)步驟:</b></p><p><b> 1、創(chuàng)建新的工程</b></p><p> ?、?啟動(dòng)Visual Basic 6.0</p><p> ②在“文件”菜單中,單
102、擊“新建工程”,選擇“標(biāo)準(zhǔn).exe”. 單擊確定</p><p> 2、加人MSComm控件</p><p> 在“工程”菜單中單擊“部件”.顯示“部件”對(duì)話框 </p><p> 選定“Microsoft Comm Control 6.O”控件名稱左邊的復(fù)選框</p><p> 單擊”確定”關(guān)閉“部件”對(duì)話框,MSComm控件將出現(xiàn)
103、在工具框中</p><p> 將MSComm控件添加到窗體上</p><p> 添加MSComm控件如圖5-6所示。</p><p> 圖5-6 添加MSComm控件圖</p><p><b> 3、屬性設(shè)置</b></p><p> 下面通過一個(gè)實(shí)例具體說明。實(shí)例用于接收和發(fā)送不定長數(shù)
104、據(jù)包,該儀器的通信協(xié)議如下。鏈路層:8位數(shù)據(jù)位、l位停止位、無奇偶校驗(yàn)、19200波特率CommPotr 設(shè)置并返回通訊端口號(hào)。l~16,設(shè)置:1為COM1口。</p><p> InBufferSize 設(shè)置并返回接收緩沖區(qū)的大小,以字節(jié)數(shù)為單位。設(shè)置:16 500。</p><p> InputMode 設(shè)置并返回?cái)?shù)據(jù)輸入方式。設(shè)置:comlnputModeBinary輸入為二進(jìn)制
105、數(shù)據(jù)。</p><p> OutBufferSize 設(shè)置并返回輸出緩沖區(qū)的大小,以字節(jié)數(shù)為單位。設(shè)置:512。</p><p> Rthreshold 設(shè)置并返回要接收的字符數(shù)。當(dāng)接收緩沖區(qū)中的字符數(shù)大于等于該值時(shí),將產(chǎn)生</p><p> OnComm事件。設(shè)置:1O</p><p> Setting 以字符串形式設(shè)置或返回波特率
106、、奇偶校驗(yàn)、數(shù)據(jù)位和停止位。設(shè)置:19 200,n,8,1</p><p><b> 4、編寫代碼</b></p><p> 在窗體中加入一個(gè)組合框控件,名稱為Comboport,用于選擇設(shè)置通訊端口。加入一個(gè)命令按鈕,用于控制通訊。加入一個(gè)通訊控件,名稱為MSComml。加入一個(gè)文本框控件,名稱為Textl,用于顯示接收的數(shù)據(jù)。</p><p
107、> 實(shí)現(xiàn)的界面如圖5-7所示。</p><p> 圖5-7 短信息收發(fā)界面</p><p> 5.4 VB對(duì)英文和漢字的處理</p><p> 英文的數(shù)據(jù)編碼方式:</p><p> GSM只支持ASCII碼值從0x00到0x7f的128個(gè)字符。這些值只需要7bit去定義,而SMS短信息是以8bit字節(jié)序列傳輸?shù)?,因此GSM使
108、用一種編碼方式將7bit ASCII碼值序列壓縮成8 bit字節(jié)序列。</p><p> 數(shù)據(jù)編碼過程事例如下:“TESTU”</p><p> 英文短信息: “T” “E” “S” “T” “U” </p><p> ASCII碼值: 0x54 0x45 0x53 0x54 0
109、x20</p><p> 二進(jìn)制表示: 101 0100 100 0101 101 0011 101 0100 010 0000</p><p> 壓縮碼過程: 11010100 11100010 10010100 00001010 00000010</p><p> 目標(biāo)字節(jié)串: 0XD4 0XE2 0x94
110、 0x0A 0x02</p><p> 當(dāng)原文長度達(dá)到8位時(shí),經(jīng)編碼后長度只有7位,原文到第9位時(shí)又如第1位開始編碼,所不同是位移的序號(hào)比原文減1,依次補(bǔ)齊8位。這樣“TESTU “的8bit編碼為D4E2940A02。</p><p> 中文數(shù)據(jù)的編碼方式:</p><p> 對(duì)于中文的編碼,即采用UCS2編碼(Unicode(Universal
111、Multiple Octet coded Character Set))是用兩個(gè)字節(jié)表示每個(gè)字符的字符編碼方案。它以ASCII為設(shè)計(jì)基礎(chǔ),而統(tǒng)一的編碼方式。</p><p> 中文轉(zhuǎn)換成Unicode碼函數(shù): 因?yàn)槎滔⒌陌l(fā)送是以PDU串的形式發(fā)送出去的,中文字符以Unicode碼來表示,所以在發(fā)送中文短消息之前必須首先將中文字符轉(zhuǎn)換為Unicode碼,下面的函數(shù)將實(shí)現(xiàn)這個(gè)功能。這個(gè)函數(shù)主要應(yīng)用到VB自
112、帶的一個(gè)格式轉(zhuǎn)換函數(shù):ChrW()</p><p> 將中文轉(zhuǎn)換為Unicode碼。Public Function chg(rmsg As String) As String Dim tep As String Dim temp As String Dim i As Integer Dim b As Integer tep = rmsg i = Len(tep) b = i / 4 If i
113、= b * 4 Then b = b - 1 tep = Left(tep, b * 4) Else tep = Left(tep, b * 4) End If chg = "" For i = 1 To b temp = "&H" & Mid(tep, (i - 1) * 4 + 1, 4) chg = chg & ChrW(CInt(Val(temp)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于cdma短信息的無線通信系統(tǒng)的設(shè)計(jì) 【畢業(yè)設(shè)計(jì)】
- 短信息服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 短信息系統(tǒng)接口開發(fā)研究.pdf
- 警用短信息系統(tǒng)的設(shè)計(jì)和開發(fā).pdf
- 短信息點(diǎn)播系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于短信息(SMS)的移動(dòng)電子商務(wù)——購物短信息服務(wù)平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn).pdf
- 基于短信收發(fā)系統(tǒng)畢業(yè)設(shè)計(jì)
- 短信息平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 面向醫(yī)院信息系統(tǒng)的短信息服務(wù)系統(tǒng)的設(shè)計(jì)和應(yīng)用研究.pdf
- 基于cdma短信息的無線通信系統(tǒng)的設(shè)計(jì) 【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于內(nèi)容的短信息審計(jì)系統(tǒng)研究與實(shí)現(xiàn).pdf
- 短信息監(jiān)控中心代理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于離散對(duì)數(shù)算法的加密短信息系統(tǒng)研究.pdf
- 基于vb航空公司管理信息系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于手機(jī)短信息的移動(dòng)學(xué)習(xí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 短信息服務(wù)合同
- 短信息服務(wù)合同
- 基于內(nèi)容的短信息過濾系統(tǒng)研究.pdf
- GSM短信息系統(tǒng)在明渠測流中的應(yīng)用.pdf
- 公安部門短信息平臺(tái)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論