基于gprs的溫度實時監(jiān)測系統(tǒng)設計畢業(yè)設計_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

4、線網(wǎng)絡的覆蓋范圍的擴大和完善,基于遠程的溫度采集控制系統(tǒng)在各行各業(yè)中大量使用。該系統(tǒng)主要由DS18B20單總線溫度傳感器、GPRS傳輸模塊SIM900A和AT89C52微控制器組成,具有無線傳輸網(wǎng)絡的特征??煞奖銓崿F(xiàn)對各種現(xiàn)場溫度進行遠程監(jiā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)硬件設計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 軟件設計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 單片機程序中涉及SIM900A串口初始化9</p><p>  3.2.2 GPRS應用系統(tǒng)中的協(xié)議轉(zhuǎn)換10</p><p>  3.3簡介KeilUvision11</p><p>  3.4上位機程序及仿真界面12</p>

13、<p>  3.4.1 Visual Basic簡介12</p><p>  3.4.2 Visual Basic編譯注意事項12</p><p><b>  4.總結(jié)14</b></p><p><b>  致謝15</b></p><p><b>  參考文獻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、來隨著科學技術(shù)的進步,溫度測量的需求也越來越高,在測量機構(gòu)的工業(yè)發(fā)達國家,相關(guān)的溫度測量技術(shù)是一個重要研究課題。溫度是一個非常重要的參數(shù),用于工業(yè)和農(nóng)業(yè),醫(yī)學,科研,國防工業(yè),航天工業(yè)等。溫度測量點一般約占一半的生產(chǎn)過程,一般情況國外的一些機構(gòu)會注意溫度測量技術(shù)的過程。溫度測量技術(shù)的發(fā)展趨勢是提高結(jié)構(gòu)構(gòu)件的檢測。另一方面是完善二手儀器,特別是檢測元件的小型化,提高動態(tài)特性,提高二儀器的靈敏度和可靠性和測量數(shù)字的值。GPRS是通用分組無線

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

31、></p><p>  數(shù)碼管加上特定電壓后會發(fā)光, 讓我們的眼睛看到兩個8數(shù)碼管字[11]。如:顯示一個“0”字,所以應該是a b c d e f亮,g和dp并不明亮。通常為明亮,非常明亮,也有不同的尺寸0.5寸,1寸等。一般來說,一個發(fā)光二極管的管壓降約為1.8 V,電流不得超過30 mA。當陽極接在一塊并且連接在電源正極的發(fā)光二極管是共陽數(shù)碼管,當陰極接在一塊并且連接在電源負極的發(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è)務發(fā)送給遠程檢測端(上位機)。GPRS不局限GSM網(wǎng)絡只能提供思維的電路交換模式,只通過增加相應的功能實體和對現(xiàn)有的基站系統(tǒng)進行一部分改造和分組交換,這種投資的轉(zhuǎn)變是比較小的,但得到用戶數(shù)據(jù)速率是相當快的。此外,由于它不再需要現(xiàn)有的無線應用需要調(diào)解器,因此連接將更加方便和更容易運輸。</p><p>  2.2.1 SIM900A模塊</p><p>  

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

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

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

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

38、流程</p><p>  DS18B20監(jiān)測實時溫度時,首先要進行初始化,單總線上的所有處理均從初始化開始,初始化序列包括總線主機發(fā)出一復位脈沖,接著由從屬器件送出存在脈沖;其次進行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>  單總線上的所有處理均從初始化開始。初始化序列包括總線主機發(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); // 等待時間隙結(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 單片機程序中涉及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; //定時器1時鐘為Fosc,即1T</p><p>  AUXR &= 0xfe; //串口1選擇定時器1為波特率發(fā)生器</p><p>  TMOD &= 0x0f;

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

46、 //禁止定時器1中斷</p><p>  TR1 = 1; //啟動定時器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)先級默認<

51、;/p><p>  BRT = 0xDC; //設置波特率 DC 9600 E8 14400// 256 - (FOSC/32/BAUD)</p><p>  AUXR = 0x14;//獨立波特率發(fā)生器時鐘為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應用系統(tǒng)中的協(xié)議轉(zhuǎn)換</p><p>  將用戶數(shù)據(jù)轉(zhuǎn)換為TCP / IP數(shù)據(jù)包,通過GPRS網(wǎng)絡能夠發(fā)送。首先,在系統(tǒng)初始化的過程中,撥號互聯(lián)網(wǎng)接入GPRS模塊。在GPRS模塊連接到互聯(lián)網(wǎng),也得到了一個

53、動態(tài)的IP地址,數(shù)據(jù)傳輸?shù)倪^程開始了。在GPRS網(wǎng)絡,數(shù)據(jù)傳輸IP數(shù)據(jù)報通信過程,該模塊PPP數(shù)據(jù)包的發(fā)往送網(wǎng)關(guān)將傳送到相應的地址在互聯(lián)網(wǎng)網(wǎng)絡;并從互聯(lián)網(wǎng)上得到響應的框架也可以根據(jù)IP地址的GPRS模塊[6]。從而實現(xiàn)數(shù)據(jù)透明傳輸和互聯(lián)網(wǎng)通過GPRS模塊。從外部經(jīng)歷三個階段:數(shù)據(jù)加載TCP數(shù)據(jù)包,加載IP數(shù)據(jù)包,加載PPP框架。后三個過程已經(jīng)成為一個標準的包,可以在網(wǎng)絡中傳輸。數(shù)據(jù)傳輸過程可分為以下幾個過程,如圖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系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編程序相比,C語言在功能、結(jié)構(gòu)上有一個明顯的優(yōu)勢,可讀性,可維護性,從而易于使用。使用匯編語言,然后用C開發(fā),更深刻的體驗。</p&g

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

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

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

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

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

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

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

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

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

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

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

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

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

68、0]謝自美.電子線路設汁·實驗·測試(第三版).武漢:華中科技大學出版社,2006。</p><p>  [11] 閻石.數(shù)字電子技術(shù)基礎.北京:高等教育出版社,2006.</p><p>  [12] 沙占有,王彥朋,葛家怡.智能傳感器系統(tǒ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 單點連接*/</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è)務*/</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 設置接入點*/</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 啟動連接*/</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 獲取本機地址*/</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; //定時器1時鐘為Fosc,即1T</p><p>  AUXR &= 0xfe; //串口1選擇定時器1為波特率發(fā)生器</p><p>  TMOD &

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

106、= 0; //禁止定時器1中斷</p><p>  TR1 = 1; //啟動定時器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)先級默認</p><p>  BRT = 0xDC; //設置波特率 DC 9600 E8 14400// 256 - (FOSC/

114、32/BAUD)</p><p>  AUXR = 0x14;//獨立波特率發(fā)生器時鐘為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; //定義臨時變量</p><p>  if(RI) //判斷是接收中斷產(chǎn)生</p><p><b>  {</b></p><p&

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

123、></p><p>  if(TI) //如果是發(fā)送標志位,清零</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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論