2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩45頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  題目 基于GPRS的溫度實(shí)時(shí)監(jiān)測系統(tǒng)設(shè)計(jì) </p><p>  學(xué)生姓名 李德林 學(xué)號 1113014003 </p><p>  所在學(xué)院 物理與電信工程學(xué)院 </p><p>  專業(yè)班級 電子1101班

2、 </p><p>  指導(dǎo)教師 賈建科 </p><p>  完成地點(diǎn) 物電學(xué)院實(shí)驗(yàn)室 </p><p>  2015 年 6 月 10 </p><p>  基于GPRS的溫度實(shí)時(shí)監(jiān)測系統(tǒng)設(shè)計(jì)&l

3、t;/p><p><b>  李德林</b></p><p>  (陜西理工學(xué)院物理與電信工程學(xué)院電子信息工程專業(yè)電子1101班陜西漢中 723003)</p><p><b>  指導(dǎo)教師:賈建科</b></p><p>  [摘要]近年來,隨著通信事業(yè)的不斷發(fā)展,移動(dòng)終端的設(shè)計(jì)也逐漸倍受關(guān)注。隨著無

4、線網(wǎng)絡(luò)的覆蓋范圍的擴(kuò)大和完善,基于遠(yuǎn)程的溫度采集控制系統(tǒng)在各行各業(yè)中大量使用。該系統(tǒng)主要由DS18B20單總線溫度傳感器、GPRS傳輸模塊SIM900A和AT89C52微控制器組成,具有無線傳輸網(wǎng)絡(luò)的特征??煞奖銓?shí)現(xiàn)對各種現(xiàn)場溫度進(jìn)行遠(yuǎn)程監(jiān)控和管理。具有傳輸速度快、可靠性高、適應(yīng)性強(qiáng)等特點(diǎn)。</p><p>  [關(guān)鍵字]GPRS,無線,數(shù)據(jù)采集,系統(tǒng)</p><p>  Design o

5、f GPRS temperature monitoring system for real time</p><p><b>  Li Delin</b></p><p>  (Grade 11,Class 01,Major electronics and information engineering,School of Physics and Telecommun

6、ication Engineering.,Shaanxi University of Technology,Hanzhong Shaanxi,723003)</p><p>  Tutor: Jia Jianke</p><p>  Abstract:In recent years, with the continuous development of communication ente

7、rprises, the design of mobile terminal also gradually attention. With the enlargement of the wireless network coverage and improvement of temperature acquisition based on the remote control system used in all walks of li

8、fe. The system is mainly composed of DS18B20 single bus temperature sensor, GPRS transmission module of SIM900A and microcontroller AT89C52, has the characteristics of wireless transmission network. Ea</p><p&g

9、t;  Keyword:GPRS,Wireless, Data acquisition,System</p><p><b>  目錄</b></p><p><b>  1緒論1</b></p><p>  1.1 課題的研究背景及意義1</p><p>  1.2 發(fā)展歷程及國內(nèi)外研究現(xiàn)狀

10、1</p><p>  1.3 系統(tǒng)組成1</p><p>  2 系統(tǒng)硬件設(shè)計(jì)3</p><p>  2.1 監(jiān)測端3</p><p>  2.1.1 AT89C52模塊3</p><p>  2.1.2 DS18B20模塊4</p><p>  2.1.3 LED模塊4&

11、lt;/p><p>  2.2 發(fā)射端7</p><p>  2.2.1 SIM900A模塊7</p><p><b>  3 軟件設(shè)計(jì)8</b></p><p>  3.1 DS18B20測溫流程8</p><p>  3.1.1 初始化9</p><p>  

12、3.2 涉及SIM900A的串口初始化及GPRS協(xié)議轉(zhuǎn)換9</p><p>  3.2.1 單片機(jī)程序中涉及SIM900A串口初始化9</p><p>  3.2.2 GPRS應(yīng)用系統(tǒng)中的協(xié)議轉(zhuǎn)換10</p><p>  3.3簡介KeilUvision11</p><p>  3.4上位機(jī)程序及仿真界面12</p>

13、<p>  3.4.1 Visual Basic簡介12</p><p>  3.4.2 Visual Basic編譯注意事項(xiàng)12</p><p><b>  4.總結(jié)14</b></p><p><b>  致謝15</b></p><p><b>  參考文獻(xiàn)16

14、</b></p><p>  附錄A 程序代碼17</p><p>  附錄B:溫度采集仿真31</p><p>  附錄C外文翻譯32</p><p><b>  1緒論</b></p><p>  1.1 課題的研究背景及意義</p><p>  近年

15、來隨著科學(xué)技術(shù)的進(jìn)步,溫度測量的需求也越來越高,在測量機(jī)構(gòu)的工業(yè)發(fā)達(dá)國家,相關(guān)的溫度測量技術(shù)是一個(gè)重要研究課題。溫度是一個(gè)非常重要的參數(shù),用于工業(yè)和農(nóng)業(yè),醫(yī)學(xué),科研,國防工業(yè),航天工業(yè)等。溫度測量點(diǎn)一般約占一半的生產(chǎn)過程,一般情況國外的一些機(jī)構(gòu)會(huì)注意溫度測量技術(shù)的過程。溫度測量技術(shù)的發(fā)展趨勢是提高結(jié)構(gòu)構(gòu)件的檢測。另一方面是完善二手儀器,特別是檢測元件的小型化,提高動(dòng)態(tài)特性,提高二儀器的靈敏度和可靠性和測量數(shù)字的值。GPRS是通用分組無線

16、業(yè)務(wù)[4](General Packet Radio Service)的英文簡稱,是在現(xiàn)有的GSM系統(tǒng)開發(fā)了一種新的分組數(shù)據(jù)承載業(yè)務(wù)。此功能適用于大多數(shù)的移動(dòng)互聯(lián)網(wǎng)應(yīng)用。采用該方法會(huì)大大節(jié)省人力和財(cái)力,減少工作人員在野外操作的困難,也可以替人類到環(huán)境比較惡劣的條件下進(jìn)行正常作業(yè),而且采集數(shù)據(jù)精確,速度快。監(jiān)測人員操作方便,為人們帶來很大的方便。采用有線溫度采集,不但在組建采集系統(tǒng)時(shí)布線比較麻煩,而且數(shù)據(jù)傳輸距離比較近,組建系統(tǒng)的成本相對

17、較高。而無線溫度采集系統(tǒng)的組建省去了數(shù)據(jù)傳輸時(shí)的布線,而且數(shù)據(jù)傳輸距離可以很遠(yuǎn),可靠性高。所以無線溫度采集系統(tǒng)與有線</p><p>  1.2 發(fā)展歷程及國內(nèi)外研究現(xiàn)狀</p><p>  在應(yīng)用在GPRS / GSM方面[1],事實(shí)上,我們是在我們離不開手機(jī)應(yīng)用最廣泛?,F(xiàn)在移動(dòng)互聯(lián)網(wǎng)在3G業(yè)務(wù)的另一個(gè)常見的事情發(fā)展迅速。但僅僅在商業(yè)上的應(yīng)用是不能夠展現(xiàn)他的優(yōu)勢的。在工業(yè)上隨著工業(yè)技術(shù)的

18、不斷發(fā)展在GPRS/GSM的技術(shù)可靠性得到了不斷的提升。這為遠(yuǎn)程控制的可靠性提供了保證。目前從GSM到GPRS技術(shù)發(fā)展最好的國外公司是西門子公司的產(chǎn)品。此外國內(nèi)的華為公司的一些產(chǎn)品比如EM310模塊、EM770W模塊、EM200、GTM900-C等銷量也比較的大。由于大多數(shù)的GPRS/GSM產(chǎn)品都支持AT標(biāo)準(zhǔn)指令,所以大多產(chǎn)品都可以很好的兼容。但由于生產(chǎn)技術(shù)的不同,各廠家的產(chǎn)品的性能各不相同,且GSM網(wǎng)絡(luò)是一種電路交換系統(tǒng),而GPRS網(wǎng)

19、絡(luò)是一種分組交換系統(tǒng)。因此,GPRS特別適用于間斷的、突發(fā)性的或頻繁的數(shù)據(jù)傳輸。介于以上理由及系統(tǒng)的可靠性,本設(shè)計(jì)主要使用GPRS網(wǎng)絡(luò)來實(shí)現(xiàn)遠(yuǎn)程無線溫度的采集和對其控制。</p><p><b>  1.3 系統(tǒng)組成</b></p><p>  本設(shè)計(jì)的整個(gè)系統(tǒng)通過數(shù)字溫度傳感器采集工作現(xiàn)場溫度,將數(shù)字信號傳給單片機(jī),并由LED現(xiàn)場顯示溫度,單片機(jī)將處理過的數(shù)據(jù)信息通

20、過GPRS模塊操作,連接到GPRS網(wǎng)絡(luò),將數(shù)據(jù)由GPRS網(wǎng)絡(luò)上傳到Internet網(wǎng)絡(luò)[2],在服務(wù)器端由VB編寫的上位機(jī)程序通過使用Run-Time Engine控件來對數(shù)據(jù)進(jìn)行處理顯示。其系統(tǒng)框圖如圖1.1所示。</p><p>  圖1.1系統(tǒng)組成框圖</p><p><b>  2 系統(tǒng)硬件設(shè)計(jì)</b></p><p>  硬件組成:檢

21、測端和發(fā)射端兩部分組成。溫度實(shí)時(shí)檢測端是通過DS18B20從現(xiàn)場采集溫度信息,AT89C52對獲取的數(shù)據(jù)信息進(jìn)行匯總并加工處理,按照上位機(jī)要求上傳網(wǎng)絡(luò)。發(fā)射端是TCP/IP協(xié)議GPRS模塊通過SIM900A來完成,來完成溫度數(shù)據(jù)的監(jiān)測。在此說明,最初我選用的單片機(jī)是STC89C52,因?yàn)镾TC89C52相對AT89C52功能更齊全一些,STC89C52有512字節(jié)的數(shù)據(jù)存儲空間,而AT89C52只有256字節(jié)數(shù)據(jù)存儲空間;另外STC89

22、C52單片機(jī)內(nèi)部有2K字節(jié)的EEPROM存儲空間,AT89C52卻沒有。但實(shí)際操作中沒有燒錄的設(shè)備,所以就選則AT89C52單片機(jī)?! ?lt;/p><p><b>  2.1 監(jiān)測端</b></p><p>  監(jiān)測端主要包括:AT89C52,DS18B20,LED數(shù)碼管。第一部分:溫度信息獲取,DS18B20傳感器從現(xiàn)場采集溫度信息,第二部分為:對傳遞進(jìn)來的數(shù)據(jù)進(jìn)行

23、處理,AT89C52單片機(jī)將DS18B20傳遞進(jìn)來的數(shù)字信號進(jìn)行處理,將實(shí)時(shí)溫度傳遞給LED和SIM900A(GPRS模塊);第三部分為LED八段數(shù)碼顯示管,它將AT89C52處理的實(shí)時(shí)溫度數(shù)據(jù)顯示出來,以便于讀數(shù)。本次畢設(shè)中在實(shí)際操做中采用12M的晶振來完成,電源采用的是五伏直流電源的蓄電池。實(shí)現(xiàn)步驟主要分為:第一,根據(jù)需要設(shè)計(jì)電路;第二,根據(jù)設(shè)計(jì)電路進(jìn)行溫度實(shí)時(shí)監(jiān)測的仿真;第三,在仿真通過時(shí),進(jìn)行電路優(yōu)化;第四,進(jìn)行實(shí)體電路的焊接并

24、進(jìn)行溫度實(shí)時(shí)監(jiān)測。</p><p>  2.1.1 AT89C52模塊</p><p> ?。?)AT89C52的功能特性描述</p><p>  作為普通51單片機(jī)已與廣泛應(yīng)用于各種產(chǎn)品中,其接口簡單,方便使用,且功能強(qiáng)大,因此本系統(tǒng)采用AT89C52單片機(jī)作為主控制芯片。AT89C52單片機(jī)功能使用有以下標(biāo)準(zhǔn):8字節(jié)的FLASH閃存,256字的竹內(nèi)部RAM,3

25、個(gè)16位定時(shí)器/計(jì)數(shù)器,32個(gè)I / O端口線,一個(gè)兩級6向量中斷結(jié)構(gòu)、全雙工串行通信端口,芯片上的時(shí)鐘振蕩器電路。AT89c52可降至OHz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電上作模式??臻e方式停止CPU 的工作,但允許RAM,定時(shí)/計(jì)數(shù)器.串行通信口及中斷系統(tǒng)繼續(xù)工作。振蕩器停止工作和其他工作,直到下一個(gè)硬件復(fù)位所有部分.</p><p> ?。?)涉及到AT89C52電路簡圖</p>&l

26、t;p>  本系統(tǒng)設(shè)計(jì)所涉及到的AT89C52最小系統(tǒng)[8],僅有芯片,晶振,和復(fù)位鍵組成。外接5V的電源電路。如圖2.1所示。</p><p>  圖2.1 AT89C52最小系統(tǒng)</p><p>  2.1.2 DS18B20模塊</p><p> ?。?) DS18B20一般說明及特點(diǎn)概述</p><p>  DS18

27、B20溫度芯片是一種集成芯片,能夠有效的減小外界的干擾,提高測量的精度,簡化電路的結(jié)構(gòu)。使用集成芯片,已經(jīng)慢慢的成為設(shè)計(jì)電路的一種趨勢。本系統(tǒng)設(shè)計(jì)使用溫度芯片DS18B20,也正是順應(yīng)了這一趨勢。DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,其測溫分辨率可達(dá)0.0625ºC,其提供9位溫度讀數(shù),指示器件的溫度。</p><p> ?。?)DSl8B20的外部管腳及特點(diǎn)</p>

28、<p>  DS18B20有三個(gè)管腳。GND為接地線,DQ為數(shù)據(jù)輸入輸出接口,通過一個(gè)較弱的上拉電阻與單片機(jī)相連。VDD為電源接口,既可由數(shù)據(jù)線提供電源,又可由外部提供電源,范圍3.0V~5.5V。本文使用外部電源供電。引腳排列如圖所示。</p><p>  圖2.1.2 DS18B20引腳排列圖</p><p>  (3) DS18B20的內(nèi)部結(jié)構(gòu)</p>&l

29、t;p>  本系統(tǒng)所用的DS18B20主要由四個(gè)部分組成:溫度傳感器, 64位光刻R0M, 配置寄存器,非易失性的溫度報(bào)警觸發(fā)TH和TL。R0M交貨前64位序列號被光刻技術(shù),它可以被認(rèn)為是DSISB20地址碼序列,每個(gè)DSI8B20 64序列號是不一樣的。</p><p>  表2.3.2 DS18B20精度位數(shù)對應(yīng)表</p><p>  注:編程時(shí)默認(rèn)是12精度。本系統(tǒng)采用的也是1

30、2位的精度。</p><p>  2.1.3 LED模塊</p><p>  (1) LED數(shù)碼管簡介</p><p>  LED數(shù)碼管其實(shí)是由七個(gè)發(fā)光管組成8字形構(gòu)成的,再加上小數(shù)點(diǎn)為8個(gè)發(fā)光管。這些部由字母a,b,c,d,e,f,g,dp分別來標(biāo)識;如圖2.1.3所示。</p><p><b> ?。?)LED管腳</b

31、></p><p>  數(shù)碼管加上特定電壓后會(huì)發(fā)光, 讓我們的眼睛看到兩個(gè)8數(shù)碼管字[11]。如:顯示一個(gè)“0”字,所以應(yīng)該是a b c d e f亮,g和dp并不明亮。通常為明亮,非常明亮,也有不同的尺寸0.5寸,1寸等。一般來說,一個(gè)發(fā)光二極管的管壓降約為1.8 V,電流不得超過30 mA。當(dāng)陽極接在一塊并且連接在電源正極的發(fā)光二極管是共陽數(shù)碼管,當(dāng)陰極接在一塊并且連接在電源負(fù)極的發(fā)光二極管是共陽數(shù)碼管

32、。LED數(shù)碼管顯示數(shù)字和字符常用的是0,1,2,3,4,5,6,7,8,9,A,B, C,D,E,F。</p><p>  圖2.1.3 DS18B20引腳排列圖</p><p><b>  2.2 發(fā)射端</b></p><p>  發(fā)射端主要包括:SIM900A GPRS模塊,它的主要功能是將監(jiān)測端采集的溫度數(shù)字信

33、號同過SIM900A的GPRS業(yè)務(wù)發(fā)送給遠(yuǎn)程檢測端(上位機(jī))。GPRS不局限GSM網(wǎng)絡(luò)只能提供思維的電路交換模式,只通過增加相應(yīng)的功能實(shí)體和對現(xiàn)有的基站系統(tǒng)進(jìn)行一部分改造和分組交換,這種投資的轉(zhuǎn)變是比較小的,但得到用戶數(shù)據(jù)速率是相當(dāng)快的。此外,由于它不再需要現(xiàn)有的無線應(yīng)用需要調(diào)解器,因此連接將更加方便和更容易運(yùn)輸。</p><p>  2.2.1 SIM900A模塊</p><p>  

34、(1)SIM900A</p><p>  GSM通信模塊是數(shù)據(jù)傳輸?shù)耐ㄐ藕诵摹IM900A可以快速安全可靠地實(shí)現(xiàn)系統(tǒng)方案中的數(shù)據(jù)、語音傳輸、短消息服務(wù)(Short Message Service)和傳真。</p><p>  圖2.2.1 SIM900A實(shí)物圖</p><p>  (2)SIM900A 功能圖</p><p>  下圖展示

35、了SIM900A的功能框圖,并說明了主要的功能部分:</p><p>  GSM基帶、存儲器、 GSM射頻、天線接口、其他接口</p><p>  圖2.2.2 SIM900A功能圖</p><p> ?。?)GPRS模塊接口設(shè)計(jì)</p><p>  通信控制模塊SIM900A可以通過軟件來實(shí)現(xiàn)[3],用軟件控制使用靈活的特點(diǎn),同時(shí)也很好的

36、避免過多的硬件信號的檢測。SIM900A模塊的設(shè)計(jì)和電源引腳在一起,因?yàn)镾IM900A是一個(gè)全功能的模塊,所以沒有必要做任何的信號處理和射頻處理。此外SIM900A模塊還需要連接的SIM卡,從而達(dá)到的GPRS終端的完整的獨(dú)立。在串行設(shè)計(jì)中,雖然SIM900A模塊串口操作電平是CMOS電平,工作電平單片機(jī)串口引腳為TTL電平,但由于微控制器的高和低邏輯電平可達(dá)到SIM900A引腳的連接,因此TC35模塊串口直接與電纜單片機(jī)的串行電纜連接。

37、以下為SIM900A模塊的接口設(shè)計(jì)。</p><p>  圖2.2.3 SIM900A模塊接口</p><p><b>  3 軟件設(shè)計(jì)</b></p><p>  本系統(tǒng)軟件設(shè)計(jì)主流程圖如下所示。</p><p>  圖2.3.3 系統(tǒng)軟件流程圖</p><p>  3.1 DS18B20測溫

38、流程</p><p>  DS18B20監(jiān)測實(shí)時(shí)溫度時(shí),首先要進(jìn)行初始化,單總線上的所有處理均從初始化開始,初始化序列包括總線主機(jī)發(fā)出一復(fù)位脈沖,接著由從屬器件送出存在脈沖;其次進(jìn)行ROM操作指令,跳過ROM,跳過64位ROM地址,直接向DS18B20發(fā)送溫度轉(zhuǎn)換命;然后AT89C52發(fā)送溫度轉(zhuǎn)換命令,經(jīng)過單線接口訪問DS18B20的協(xié)議處理順序,如圖5.2所示。</p><p>  圖3

39、.1 處理順序圖</p><p><b>  3.1.1 初始化</b></p><p>  單總線上的所有處理均從初始化開始。初始化序列包括總線主機(jī)發(fā)出一復(fù)位脈沖,接著由從屬器件送出存在脈沖。</p><p>  unsigned char ow_reset(void) </p><p>  { unsigned

40、char presence;</p><p>  DQ = 0; // 將 DQ 線拉低</p><p>  delay(36); // 保持</p><p>  DQ = 1; // DQ返回高電平</p><p>  delay(5); // 等待存在脈沖</p><p>  presen

41、ce = DQ; // 獲得存在信號</p><p>  delay(30); // 等待時(shí)間隙結(jié)束</p><p>  return(presence); // 返回存在信號,0 = 器件存在, 1 = 無器件</p><p><b>  }</b></p><p>  3.2 涉及SIM900A的串口初始

42、化及GPRS協(xié)議轉(zhuǎn)換</p><p>  3.2.1 單片機(jī)程序中涉及SIM900A串口初始化</p><p>  /**********************************************</p><p>  ! 串口0初始化函數(shù), 此串口用作接收終端控制命令</p><p>  ! 晶振頻率:11.0592MHz&l

43、t;/p><p>  ! 串口0波特率:9600</p><p>  ***********************************************/</p><p>  void Uart0_Init(void) //9600bps@11.0592MHz</p><p><b>  {</b></

44、p><p>  SCON = 0x50; //8位數(shù)據(jù),可變波特率</p><p>  AUXR |= 0x40; //定時(shí)器1時(shí)鐘為Fosc,即1T</p><p>  AUXR &= 0xfe; //串口1選擇定時(shí)器1為波特率發(fā)生器</p><p>  TMOD &= 0x0f;

45、 //清除定時(shí)器1模式位</p><p>  TMOD |= 0x20; //設(shè)定定時(shí)器1為8位自動(dòng)重裝方式</p><p>  TL1 = 0xfd; //設(shè)定定時(shí)初值</p><p>  TH1 = 0xfd; //設(shè)定定時(shí)器重裝值</p><p>  ET1 = 0;

46、 //禁止定時(shí)器1中斷</p><p>  TR1 = 1; //啟動(dòng)定時(shí)器1</p><p><b>  ES = 1;</b></p><p>  EA = 1; </p><p><b>  }</b></p><p>  void

47、 Uart0_PutChar(char ch)</p><p><b>  {</b></p><p><b>  ES = 0 ;</b></p><p>  SBUF = ch ;</p><p>  while(!TI);</p><p><b>  TI =

48、 0 ;</b></p><p><b>  ES = 1 ;</b></p><p><b>  }</b></p><p>  /**************************************************</p><p>  //! 串口1初始化函數(shù), 此串

49、口用作控制GSM模塊</p><p>  //! 晶振頻率:11.0592MHz</p><p>  //! 串口1波特率:9600</p><p>  **************************************************/</p><p>  void Uart1_Init(void) //9600bps

50、@11.0592MHz</p><p><b>  {</b></p><p>  S2CON = 0x50; //方式1,八位數(shù)據(jù),可變波特率</p><p>  AUXR1 = 0x00; //1T工作方式 </p><p>  IP2 = 0x00; //優(yōu)先級默認(rèn)<

51、;/p><p>  BRT = 0xDC; //設(shè)置波特率 DC 9600 E8 14400// 256 - (FOSC/32/BAUD)</p><p>  AUXR = 0x14;//獨(dú)立波特率發(fā)生器時(shí)鐘為Fosc,即1T</p><p>  IE2 |= 0x01; //開串口2中斷 </p><p&g

52、t;<b>  EA = 1;</b></p><p><b>  }</b></p><p>  3.2.2 GPRS應(yīng)用系統(tǒng)中的協(xié)議轉(zhuǎn)換</p><p>  將用戶數(shù)據(jù)轉(zhuǎn)換為TCP / IP數(shù)據(jù)包,通過GPRS網(wǎng)絡(luò)能夠發(fā)送。首先,在系統(tǒng)初始化的過程中,撥號互聯(lián)網(wǎng)接入GPRS模塊。在GPRS模塊連接到互聯(lián)網(wǎng),也得到了一個(gè)

53、動(dòng)態(tài)的IP地址,數(shù)據(jù)傳輸?shù)倪^程開始了。在GPRS網(wǎng)絡(luò),數(shù)據(jù)傳輸IP數(shù)據(jù)報(bào)通信過程,該模塊PPP數(shù)據(jù)包的發(fā)往送網(wǎng)關(guān)將傳送到相應(yīng)的地址在互聯(lián)網(wǎng)網(wǎng)絡(luò);并從互聯(lián)網(wǎng)上得到響應(yīng)的框架也可以根據(jù)IP地址的GPRS模塊[6]。從而實(shí)現(xiàn)數(shù)據(jù)透明傳輸和互聯(lián)網(wǎng)通過GPRS模塊。從外部經(jīng)歷三個(gè)階段:數(shù)據(jù)加載TCP數(shù)據(jù)包,加載IP數(shù)據(jù)包,加載PPP框架。后三個(gè)過程已經(jīng)成為一個(gè)標(biāo)準(zhǔn)的包,可以在網(wǎng)絡(luò)中傳輸。數(shù)據(jù)傳輸過程可分為以下幾個(gè)過程,如圖3.2.1所示。<

54、/p><p>  圖3.2.1 GPRS通信程序結(jié)構(gòu)圖</p><p>  3.3簡介KeilUvision</p><p>  Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編程序相比,C語言在功能、結(jié)構(gòu)上有一個(gè)明顯的優(yōu)勢,可讀性,可維護(hù)性,從而易于使用。使用匯編語言,然后用C開發(fā),更深刻的體驗(yàn)。</p&g

55、t;<p>  KeilC使用過程:</p><p> ?。?)先建立一個(gè)工程。</p><p> ?。?)點(diǎn)擊Project→New uVision Project點(diǎn)擊保存,新建一個(gè)工程,然后存入文件夾</p><p><b> ?。?)選擇器件</b></p><p>  (4)選擇Silicon La

56、boratories,Inc.→AT89C52點(diǎn)擊OK</p><p>  (5)新建一個(gè)*.c文件并保存點(diǎn)擊File→New新建一個(gè)Text編程序 ,編好程序 ,保存為.c文件。</p><p> ?。?)編譯并生成HEX文件</p><p> ?。?)通過編譯后點(diǎn)擊Target1,右擊Source Group1,點(diǎn)擊Add Files to Group ‘Sou

57、rce Group’點(diǎn)擊.c文件,然后點(diǎn)擊Add,關(guān)閉窗口. 重新編譯一下,點(diǎn)擊Target Options 在彈出的窗口點(diǎn)擊Output欄,在Create HEX File前打勾,點(diǎn)擊OK .最后再點(diǎn)擊編譯就能生成.hex文件了。</p><p>  3.4上位機(jī)程序及仿真界面</p><p>  3.4.1 Visual Basic簡介</p><p>  V

58、isual Basic是一個(gè)由微軟開發(fā)的協(xié)助開發(fā)環(huán)境的事件驅(qū)動(dòng)編程語言。VB語言世界上最多的人,不僅是贊揚(yáng)VB開發(fā)人員VB抱怨開發(fā)商的數(shù)量。它來源于基本的編程語言。VB圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以很容易地使用刀,RDO、ADO連接數(shù)據(jù)庫,或輕松創(chuàng)建ActiveX控件。程序員可以很容易地使用VB組件快速構(gòu)建應(yīng)用程序。本上位機(jī)軟件部分用VB編寫而成,其語言圖形化G語言形式。該程序由實(shí)時(shí)時(shí)鐘程序模塊,溫度采集顯

59、示程序模塊,圖形顯示程序等模塊組成。 </p><p>  3.4.2 Visual Basic編譯注意事項(xiàng)</p><p>  在初始化程序時(shí)主要完成對串口的設(shè)置,其中包括串口的選擇、波特率的設(shè)置、數(shù)據(jù)格式的設(shè)置及串口的打開等。其中應(yīng)該注意的是在程序開始以前,切記需要清空發(fā)送和接收緩沖區(qū),避免出現(xiàn)異?;蛘咤e(cuò)誤。在剛開始我打算將控制面板分成幾個(gè)模塊,最后連接起來。因?yàn)槊總€(gè)模塊中的變量設(shè)置的

60、不一樣,后來組合在一起不能運(yùn)行,花了大量的時(shí)間將其改過來。</p><p>  在編譯時(shí)主要是將該系統(tǒng)與數(shù)據(jù)庫連接起來,因?yàn)閯傞_始將各個(gè)模塊分開來編譯,并將其分別和數(shù)據(jù)庫進(jìn)行連接。最后合在一起時(shí),數(shù)據(jù)庫連接不成功,最后逐個(gè)修改程序中連接數(shù)據(jù)庫的目錄,花了很長的時(shí)間。</p><p>  由于本人知識不夠全面,技術(shù)也不夠熟練,最終也沒有將采集的數(shù)據(jù)進(jìn)行圖像處理。導(dǎo)致本次畢設(shè)沒有實(shí)現(xiàn)全部功能,

61、在此,我深深地感到自己的不足。我會(huì)在以后的學(xué)習(xí)中繼續(xù)完善自己這方面的知識。圖3.4.1為前面板顯示界面</p><p>  圖3.4.1 前面板顯示界面</p><p><b>  4.總結(jié)</b></p><p>  由于本人原因,本次畢設(shè)實(shí)體部分沒有全部實(shí)現(xiàn),只將采集模塊和客戶端做出來了,沒能實(shí)現(xiàn)客戶端檢測的功能。在導(dǎo)師賈建科的指導(dǎo)下和自

62、己不斷在圖書館電子閱覽室查資料,克服自身知識缺陷,將溫度采集模塊和客戶端接收模塊做出來。</p><p>  通過本次課題“基于GPRS的溫度實(shí)時(shí)監(jiān)測系統(tǒng)設(shè)計(jì)”的實(shí)戰(zhàn)操作,讓我深深意識到知道和能做出來之間有很大一段距離,同時(shí)意識到自身知識的匱乏。本次操作主要困難是將程序放在單片機(jī)內(nèi)。由于器材限制,由原本設(shè)定的STC89C52單片機(jī)在中途換成AT89C52,焊接技術(shù)不夠熟練,將萬能板焊接的不成樣子,將幾個(gè)電阻焊接壞

63、,以至于借了個(gè)開發(fā)板,將溫度采集實(shí)體做好。在溫度仿真部分,由于個(gè)人心粗忘記在顯示管接接電阻,導(dǎo)致沒數(shù)字顯示。</p><p><b>  致謝</b></p><p>  本論文的選題是在賈老師的全面指導(dǎo)下完成的。賈老師不僅為本論文的研究指出了方向,而且提出了寶貴的意見,使我受益匪淺。在論文完成之際,謹(jǐn)向尊敬的賈老師致以深深的謝意。在本次設(shè)計(jì)中,主要通過GPRS無線傳

64、輸技術(shù),實(shí)現(xiàn)對遠(yuǎn)程無線溫度的采集,交互通信,實(shí)時(shí)控制。給出了系統(tǒng)硬件軟件的設(shè)計(jì)方法,具體方案,電路圖和程序代碼;通過VB制作了一個(gè)顯示控制界面。但由于時(shí)間原因過于緊湊,未能完成實(shí)物的焊接制作。</p><p>  通過這次設(shè)計(jì),使我較充分地掌握了電子設(shè)計(jì)的基礎(chǔ)知識,培養(yǎng)了自身的系統(tǒng)設(shè)計(jì)思維,開拓了設(shè)計(jì)視野,能夠做到理論聯(lián)系實(shí)踐,為以后進(jìn)一步深入學(xué)習(xí)和深造奠定了基礎(chǔ)。感謝物電學(xué)院全體老師四年來的辛勤培養(yǎng)和教誨。&l

65、t;/p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 史素美,李戰(zhàn)明.嵌入式遠(yuǎn)程測控系統(tǒng)在 GSM/GPRS網(wǎng)絡(luò)基礎(chǔ)上的研究[D]. 蘭州理工大學(xué),2006.</p><p>  [2] 韓冰, 李芬華. GPRS 技術(shù)在數(shù)據(jù)采集與監(jiān)控系統(tǒng)中的應(yīng)用[J].電子技術(shù), 2003, 29(8): </p><

66、p>  [3]呂捷.GPRS技術(shù)[R].北京:北京郵電大學(xué)出版社,2003。 </p><p>  [4] R.J.(Bud)Bates 著朱洪波,沈越泓,蔡躍明,程崇虎等譯.通用分組無線業(yè)務(wù)(GPRS)技術(shù)與應(yīng)用北京:人民郵電出版社[C].2004。</p><p>  [6]袁紅濤,GPRS技術(shù)應(yīng)用的軟硬件開發(fā)環(huán)境[J].北京:現(xiàn)代電子技術(shù),2004,27(1

67、6):97–99。</p><p>  [7] 康華光.電子技術(shù)基礎(chǔ)[M].北京:北京高等教育出版社,2000。</p><p>  [8] 劉大茂,智能儀器(單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì))[J].北京:機(jī)械工業(yè)出版社,1998。</p><p>  [9]金偉正.單線數(shù)字溫度傳感器的原理及應(yīng)用.北京:電子技術(shù)應(yīng)用,2000。</p><p>  [1

68、0]謝自美.電子線路設(shè)汁·實(shí)驗(yàn)·測試(第三版).武漢:華中科技大學(xué)出版社,2006。</p><p>  [11] 閻石.數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,2006.</p><p>  [12] 沙占有,王彥朋,葛家怡.智能傳感器系統(tǒng)設(shè)計(jì)與應(yīng)用[M]北京:電子工業(yè)出版社,2004 348~353。</p><p>  [13] DALLA

69、S Semiconductor.DS18B20 Data Sheet [Z].2002:1-26.</p><p>  [14] Lin Chine E,Wu Chih-Chen.A real time GPRS surveillance system using the embedded system [J].IEEE Telecomunicatio Conference,2002,(v2):1678-1682

70、.</p><p>  [15] A.Neto,H.Fernandes,A.Duarte, Firesignal-Data acquisition and control system software.FusionEngineering and Design 82(2007)1359-1364.</p><p><b>  附錄A 程序代碼</b></p>

71、;<p><b>  /*SMS*/</b></p><p>  unsigned char AT_CMGF[] = "AT+CMGF=1";</p><p>  unsigned char AT_CSCS[] = "AT+CSCS=\"GSM\"";</p><p> 

72、 unsigned char AT_CMGS[] = "AT+CMGS=\"+86";</p><p><b>  /*TEL*/</b></p><p>  unsigned char AT_ATD[] = "ATD";</p><p>  unsigned char AT_ATH[] = &

73、quot;ATH";</p><p><b>  /*GPRS*/</b></p><p>  unsigned char AT_CIPMUX[] = "AT+CIPMUX=0";</p><p>  unsigned char AT_CIPMODE[] = "AT+CIPMODE=0";<

74、;/p><p>  unsigned char AT_CGATT[] = "AT+CGATT=1";</p><p>  unsigned char AT_CSTT[] = "AT+CSTT=\"UNINET\"";</p><p>  unsigned char AT_CIICR[] = "AT+C

75、IICR";</p><p>  unsigned char AT_CIFSR[] = "AT+CIFSR";</p><p>  unsigned char AT_CIPSTART[] = "AT+CIPSTART=\"TCP\",\"120.25.241.175\",\"8088\"&q

76、uot;;</p><p>  unsigned char AT_CIPSEND[] = "AT+CIPSEND";</p><p>  unsigned char AT_CIPSHUT[] = "AT+CIPSHUT";</p><p>  /*CONTEL*/</p><p>  unsigned

77、char AT_END[2] = {0x0d , 0x0a};</p><p>  unsigned char AT_SMS_TEXT_END = 0x1A;</p><p>  unsigned char AT_TEL_END = ';';</p><p>  static void delay(unsigned int t)</p>

78、<p><b>  {</b></p><p>  unsigned int i,j;</p><p>  for( i=0; i < t; i++)</p><p>  for( j=0; j < 250; j++);</p><p><b>  }</b></p&g

79、t;<p>  static void m_long_delay(unsigned int z)</p><p><b>  {</b></p><p>  unsigned int i = 0;</p><p>  for(i = 0;i < z;i++ ){</p><p>  delay(100

80、);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void sim900a_send_message(char * msg,int len,char * tel)</p><p><b>  {</b></p>

81、;<p>  if(len <= 0){</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  UART_SEND_STR(AT_CMGF,strlen(AT_CMGF));</p><p>  UART_SEND_ST

82、R(AT_END,2);</p><p>  delay(1000);</p><p>  UART_SEND_STR(AT_CSCS,strlen(AT_CSCS));</p><p>  UART_SEND_STR(AT_END,2);</p><p>  delay(1000);</p><p>  UART_S

83、END_STR(AT_CMGS,strlen(AT_CMGS));</p><p>  UART_SEND_STR(tel,strlen(tel));</p><p>  UART_SEND_CHAR('"');</p><p>  UART_SEND_STR(AT_END,2);</p><p>  delay(2

84、000);</p><p>  UART_SEND_STR(msg,strlen(msg));</p><p>  delay(1000);</p><p>  UART_SEND_CHAR(AT_SMS_TEXT_END);</p><p><b>  }</b></p><p>  void

85、sim900a_call(char * tel)</p><p><b>  {</b></p><p>  UART_SEND_STR(AT_ATD,strlen(AT_ATD));</p><p>  UART_SEND_STR(tel,strlen(tel));</p><p>  UART_SEND_CHAR(A

86、T_TEL_END);</p><p>  UART_SEND_STR(AT_END,2);</p><p>  delay(1000);</p><p><b>  }</b></p><p>  void sim900a_ring_off(void)</p><p><b>  {&

87、lt;/b></p><p>  UART_SEND_STR(AT_ATH,strlen(AT_ATH));</p><p>  UART_SEND_STR(AT_END,2);</p><p>  delay(1000);</p><p><b>  }</b></p><p>  v

88、oid GPRS_INIT()</p><p><b>  {</b></p><p>  /*STEP 1 單點(diǎn)連接*/</p><p>  UART_SEND_STR(AT_CIPMUX,strlen(AT_CIPMUX));</p><p>  UART_SEND_STR(AT_END,2);</p>

89、<p>  m_long_delay(60);</p><p>  /*STEP 2 非透明傳輸*/</p><p>  UART_SEND_STR(AT_CIPMODE,strlen(AT_CIPMODE));</p><p>  UART_SEND_STR(AT_END,2);</p><p>  m_long_delay(6

90、0);</p><p>  /*STEP 3 附著和分離GPRS業(yè)務(wù)*/</p><p>  UART_SEND_STR(AT_CGATT,strlen(AT_CGATT));</p><p>  UART_SEND_STR(AT_END,2);</p><p>  m_long_delay(60);</p><p>

91、  /*STEP 4 設(shè)置接入點(diǎn)*/</p><p>  UART_SEND_STR(AT_CSTT,strlen(AT_CSTT));</p><p>  UART_SEND_STR(AT_END,2);</p><p>  m_long_delay(60);</p><p>  /*STEP 5 啟動(dòng)連接*/</p><

92、;p>  UART_SEND_STR(AT_CIICR,strlen(AT_CIICR));</p><p>  UART_SEND_STR(AT_END,2);</p><p>  m_long_delay(120);</p><p>  /*STEP 6 獲取本機(jī)地址*/</p><p>  UART_SEND_STR(AT_CI

93、FSR,strlen(AT_CIFSR));</p><p>  UART_SEND_STR(AT_END,2);</p><p>  m_long_delay(60);</p><p><b>  }</b></p><p>  void GPRS_TCP_LINK()</p><

94、;p><b>  {</b></p><p>  UART_SEND_STR(AT_CIPSTART,strlen(AT_CIPSTART));</p><p>  UART_SEND_STR(AT_END,2);</p><p>  m_long_delay(80);</p><p><b>  }&l

95、t;/b></p><p>  void GPRS_TCP_SEND_INIT()</p><p><b>  {</b></p><p>  UART_SEND_STR(AT_CIPSEND,strlen(AT_CIPSEND));</p><p>  UART_SEND_STR(AT_END,2);</p

96、><p>  m_long_delay(80);</p><p><b>  }</b></p><p>  void GPRS_TCP_SEND_DATA(char * msg,unsigned int len)</p><p><b>  {</b></p><p>  

97、UART_SEND_STR(msg,len);</p><p>  UART_SEND_CHAR(0x1A);</p><p>  UART_SEND_CHAR(0x0D);</p><p>  m_long_delay(50);</p><p><b>  }</b></p><p>  vo

98、id GPRS_CLOSE()</p><p><b>  {</b></p><p>  UART_SEND_STR(AT_CIPSHUT,strlen(AT_CIPSHUT));</p><p>  UART_SEND_STR(AT_END,2);</p><p>  m_long_delay(50);</

99、p><p><b>  }</b></p><p>  void GPRS_RESET()</p><p><b>  {</b></p><p>  GPRS_CLOSE();</p><p>  GPRS_INIT();</p><p><b&

100、gt;  }</b></p><p>  //bit busy;</p><p>  static void DelayXus(unsigned char n)</p><p><b>  {</b></p><p>  while (n--)</p><p><b>  {

101、</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p>

102、<p><b>  }</b></p><p><b>  }</b></p><p>  /**********************************************</p><p>  ! 串口0初始化函數(shù), 此串口用作接收終端控制命令</p><p>  ! 晶

103、振頻率:11.0592MHz</p><p>  ! 串口0波特率:9600</p><p>  ***********************************************/</p><p>  void Uart0_Init(void) //9600bps@11.0592MHz</p><p><b>  

104、{</b></p><p>  SCON = 0x50; //8位數(shù)據(jù),可變波特率</p><p>  AUXR |= 0x40; //定時(shí)器1時(shí)鐘為Fosc,即1T</p><p>  AUXR &= 0xfe; //串口1選擇定時(shí)器1為波特率發(fā)生器</p><p>  TMOD &

105、amp;= 0x0f; //清除定時(shí)器1模式位</p><p>  TMOD |= 0x20; //設(shè)定定時(shí)器1為8位自動(dòng)重裝方式</p><p>  TL1 = 0xfd; //設(shè)定定時(shí)初值</p><p>  TH1 = 0xfd; //設(shè)定定時(shí)器重裝值</p><p>  ET1

106、= 0; //禁止定時(shí)器1中斷</p><p>  TR1 = 1; //啟動(dòng)定時(shí)器1</p><p><b>  ES = 1;</b></p><p>  EA = 1;</p><p><b>  }</b></p><p

107、>  void Uart0_PutChar(char ch)</p><p><b>  {</b></p><p><b>  ES = 0 ;</b></p><p>  SBUF = ch ;</p><p>  while(!TI);</p><p><b

108、>  TI = 0 ;</b></p><p><b>  ES = 1 ;</b></p><p><b>  }</b></p><p>  /********************************************** </p><p>  !串口0字符串輸出

109、函數(shù)</p><p>  !參數(shù)說明:pString為字符串緩沖區(qū)首地址</p><p>  ***********************************************/</p><p>  void Uart0_PutString(char * pString,unsigned int len)</p><p><

110、b>  { </b></p><p>  unsigned short i = 0;</p><p>  for (i = 0;i < len;i++ ){</p><p>  Uart0_PutChar(pString[i]);</p><p><b>  }</b></p>&l

111、t;p><b>  }</b></p><p>  /**************************************************</p><p>  //! 串口1初始化函數(shù), 此串口用作控制GSM模塊</p><p>  //! 晶振頻率:11.0592MHz</p><p>  //!

112、 串口1波特率:9600</p><p>  **************************************************/</p><p>  void Uart1_Init(void) //9600bps@11.0592MHz</p><p><b>  {</b></p><p>  S

113、2CON = 0x50; //方式1,八位數(shù)據(jù),可變波特率</p><p>  AUXR1 = 0x00; //1T工作方式</p><p>  IP2 = 0x00; //優(yōu)先級默認(rèn)</p><p>  BRT = 0xDC; //設(shè)置波特率 DC 9600 E8 14400// 256 - (FOSC/

114、32/BAUD)</p><p>  AUXR = 0x14;//獨(dú)立波特率發(fā)生器時(shí)鐘為Fosc,即1T</p><p>  IE2 |= 0x01; //開串口2中斷</p><p><b>  EA = 1;</b></p><p><b>  }</b></p>

115、<p>  /********************************************</p><p>  //! 串口1字符串輸出函數(shù)</p><p>  //! 參數(shù)說明:pString為字符串緩沖區(qū)首地址</p><p>  //! 備注:此函數(shù)一方面向串口1發(fā)送數(shù)據(jù),</p><p>  //!

116、 另一方面也向串口0發(fā)送數(shù)據(jù),</p><p>  //! 目的是為了方便調(diào)試</p><p>  *********************************************/</p><p>  void Uart1_PutChar(char ch)</p><p><b>  {</b>&

117、lt;/p><p>  IE2 &= ~0x01; </p><p>  S2BUF = ch ;</p><p>  while(!(S2CON & S2TI));</p><p>  S2CON &= ~S2TI;</p><p>  IE2 |= 0x01;</p><

118、p><b>  }</b></p><p>  void Uart1_PutString(char * pString,unsigned int len)</p><p><b>  { </b></p><p>  unsigned char i = 0;</p><p>  for (i

119、= 0;i < len;i++ ){</p><p>  Uart1_PutChar(pString[i]);</p><p>  //DelayXus(200);</p><p><b>  }</b></p><p><b>  }</b></p><p>  /

120、****************************************************</p><p>  串行 1接收中斷函數(shù)</p><p>  ******************************************************/</p><p>  void Uart0() interrupt 4</p>

121、<p><b>  {</b></p><p>  unsigned char Temp; //定義臨時(shí)變量</p><p>  if(RI) //判斷是接收中斷產(chǎn)生</p><p><b>  {</b></p><p&

122、gt;  RI=0; //標(biāo)志位清零</p><p>  Temp = SBUF; //讀入緩沖區(qū)的值</p><p>  //把接收到發(fā)送到UART2</p><p>  Uart1_PutChar(Temp);</p><p><b>  }</b

123、></p><p>  if(TI) //如果是發(fā)送標(biāo)志位,清零</p><p><b>  TI=0;</b></p><p><b>  }</b></p><p>  /************************************

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論