基于GPRS的溫度實時監(jiān)測系統(tǒng)設(shè)計說明_第1頁
基于GPRS的溫度實時監(jiān)測系統(tǒng)設(shè)計說明_第2頁
基于GPRS的溫度實時監(jiān)測系統(tǒng)設(shè)計說明_第3頁
基于GPRS的溫度實時監(jiān)測系統(tǒng)設(shè)計說明_第4頁
基于GPRS的溫度實時監(jiān)測系統(tǒng)設(shè)計說明_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 PAGE41 / NUMPAGES46 題目基于GPRS的溫度實時監(jiān)測系統(tǒng)設(shè)計學生德林學號 1113014003 所在學院物理與電信工程學院專業(yè)班級電子1101班指導教師賈建科完成地點物電學院實驗室2015 年 6 月 10 基于GPRS的溫度實時監(jiān)測系統(tǒng)設(shè)計德林(理工學院物理與電信工程學院電子信息工程專業(yè)電子1101班 723003)指導教師:賈建科摘要近年來,隨著通信事業(yè)的不斷發(fā)展,移動終端的設(shè)計也逐漸倍受關(guān)注。隨著無線網(wǎng)絡(luò)的覆蓋圍的擴大和完善,基于遠程的溫度采集控制系統(tǒng)在各行各業(yè)量使用。該系統(tǒng)主要由DS18B20單總線溫度傳感器、GPRS傳輸模塊SIM900A和AT89C52微控制器組

2、成,具有無線傳輸網(wǎng)絡(luò)的特征。可方便實現(xiàn)對各種現(xiàn)場溫度進行遠程監(jiān)控和管理。具有傳輸速度快、可靠性高、適應性強等特點。關(guān)鍵字GPRS,無線,數(shù)據(jù)采集,系統(tǒng)Design of GPRS temperature monitoring system for real timeLi Delin(Grade 11,Class 01,Major electronics and information engineering,School of Physics and Telecommunication Engineering.,Shaanxi University of Technology,Hanzhong

3、 Shaanxi,723003)Tutor: Jia Jianke Abstract:In recent years, with the continuous development of communication enterprises, 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 contr

4、ol system used in all walks of life. 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. Easy to realize remote monitoring and management for all kinds of fi

5、eld temperature. With transmission speed, high reliability, strong adaptability, etc. Keyword:GPRS,Wireless, Data acquisition,System目錄TOC o 1-3 h u HYPERLINK l _Toc30544 1緒論1 HYPERLINK l _Toc3647 1.1 課題的研究背景與意義1 HYPERLINK l _Toc17660 1.2 發(fā)展歷程與國外研究現(xiàn)狀1 HYPERLINK l _Toc25426 1.3 系統(tǒng)組成1 HYPERLINK l _Toc2

6、4857 2 系統(tǒng)硬件設(shè)計3 HYPERLINK l _Toc15390 2.1 監(jiān)測端3 HYPERLINK l _Toc20982 2.1.1 AT89C52模塊3 HYPERLINK l _Toc28648 2.1.2 DS18B20模塊4 HYPERLINK l _Toc15123 2.1.3 LED模塊4 HYPERLINK l _Toc24636 2.2 發(fā)射端7 HYPERLINK l _Toc15280 2.2.1 SIM900A模塊7 HYPERLINK l _Toc27575 3 軟件設(shè)計8 HYPERLINK l _Toc27371 3.1 DS18B20測溫流程8 HY

7、PERLINK l _Toc31784 3.1.1 初始化9 HYPERLINK l _Toc9683 3.2 涉與SIM900A的串口初始化與GPRS協(xié)議轉(zhuǎn)換9 HYPERLINK l _Toc13019 3.2.1 單片機程序中涉與SIM900A串口初始化9 HYPERLINK l _Toc18202 3.2.2 GPRS應用系統(tǒng)中的協(xié)議轉(zhuǎn)換 PAGEREF _Toc18202 10 HYPERLINK l _Toc3074 3.3簡介KeilUvision PAGEREF _Toc3074 11 HYPERLINK l _Toc23884 3.4上位機程序與仿真界面 PAGEREF _T

8、oc23884 12 HYPERLINK l _Toc23191 3.4.1 Visual Basic簡介 PAGEREF _Toc23191 12 HYPERLINK l _Toc23471 3.4.2 Visual Basic編譯注意事項 PAGEREF _Toc23471 12 HYPERLINK l _Toc18481 4.總結(jié) PAGEREF _Toc18481 14 HYPERLINK l _Toc25403 致 PAGEREF _Toc25403 15 HYPERLINK l _Toc8353 參考文獻 PAGEREF _Toc8353 16 HYPERLINK l _Toc27

9、727 附錄A 程序代碼 PAGEREF _Toc27727 17 HYPERLINK l _Toc12115 附錄B:溫度采集仿真 PAGEREF _Toc12115 31 HYPERLINK l _Toc7948 附錄C外文翻譯 PAGEREF _Toc7948 321緒論1.1 課題的研究背景與意義近年來隨著科學技術(shù)的進步,溫度測量的需求也越來越高,在測量機構(gòu)的工業(yè)發(fā)達國家,相關(guān)的溫度測量技術(shù)是一個重要研究課題。溫度是一個非常重要的參數(shù),用于工業(yè)和農(nóng)業(yè),醫(yī)學,科研,國防工業(yè),航天工業(yè)等。溫度測量點一般約占一半的生產(chǎn)過程,一般情況國外的一些機構(gòu)會注意溫度測量技術(shù)的過程。溫度測量技術(shù)的發(fā)展趨

10、勢是提高結(jié)構(gòu)構(gòu)件的檢測。另一方面是完善二手儀器,特別是檢測元件的小型化,提高動態(tài)特性,提高二儀器的靈敏度和可靠性和測量數(shù)字的值。GPRS是通用分組無線業(yè)務(wù)4(General Packet Radio Service)的英文簡稱,是在現(xiàn)有的GSM系統(tǒng)開發(fā)了一種新的分組數(shù)據(jù)承載業(yè)務(wù)。此功能適用于大多數(shù)的移動互聯(lián)網(wǎng)應用。采用該方法會大大節(jié)省人力和財力,減少工作人員在野外操作的困難,也可以替人類到環(huán)境比較惡劣的條件下進行正常作業(yè),而且采集數(shù)據(jù)精確,速度快。監(jiān)測人員操作方便,為人們帶來很大的方便。采用有線溫度采集,不但在組建采集系統(tǒng)時布線比較麻煩,而且數(shù)據(jù)傳輸距離比較近,組建系統(tǒng)的成本相對較高。而無線溫

11、度采集系統(tǒng)的組建省去了數(shù)據(jù)傳輸時的布線,而且數(shù)據(jù)傳輸距離可以很遠,可靠性高。所以無線溫度采集系統(tǒng)與有線溫度采集系統(tǒng)相比,具有很大的優(yōu)勢。采用該方法會大大節(jié)省人力和財力,減少工作人員在野外操作的困難,也可以替人類到環(huán)境比較惡劣的條件下進行正常作業(yè),而且采集數(shù)據(jù)精確,速度快。監(jiān)測人員操作方便,為人們帶來很大的方便。1.2 發(fā)展歷程與國外研究現(xiàn)狀在應用在GPRS / GSM方面1,事實上,我們是在我們離不開手機應用最廣泛。現(xiàn)在移動互聯(lián)網(wǎng)在3G業(yè)務(wù)的另一個常見的事情發(fā)展迅速。但僅僅在商業(yè)上的應用是不能夠展現(xiàn)他的優(yōu)勢的。在工業(yè)上隨著工業(yè)技術(shù)的不斷發(fā)展在GPRS/GSM的技術(shù)可靠性得到了不斷的提升。這為遠

12、程控制的可靠性提供了保證。目前從GSM到GPRS技術(shù)發(fā)展最好的國外公司是西門子公司的產(chǎn)品。此外國的華為公司的一些產(chǎn)品比如EM310模塊、EM770W模塊、EM200、GTM900-C等銷量也比較的大。由于大多數(shù)的GPRS/GSM產(chǎn)品都支持AT標準指令,所以大多產(chǎn)品都可以很好的兼容。但由于生產(chǎn)技術(shù)的不同,各廠家的產(chǎn)品的性能各不一樣,且GSM網(wǎng)絡(luò)是一種電路交換系統(tǒng),而GPRS網(wǎng)絡(luò)是一種分組交換系統(tǒng)。因此,GPRS特別適用于間斷的、突發(fā)性的或頻繁的數(shù)據(jù)傳輸。介于以上理由與系統(tǒng)的可靠性,本設(shè)計主要使用GPRS網(wǎng)絡(luò)來實現(xiàn)遠程無線溫度的采集和對其控制。1.3 系統(tǒng)組成本設(shè)計的整個系統(tǒng)通過數(shù)字溫度傳感器采集

13、工作現(xiàn)場溫度,將數(shù)字信號傳給單片機,并由LED現(xiàn)場顯示溫度,單片機將處理過的數(shù)據(jù)信息通過GPRS模塊操作,連接到GPRS網(wǎng)絡(luò),將數(shù)據(jù)由GPRS網(wǎng)絡(luò)上傳到Internet網(wǎng)絡(luò)2,在服務(wù)器端由VB編寫的上位機程序通過使用Run-Time Engine控件來對數(shù)據(jù)進行處理顯示。其系統(tǒng)框圖如圖1.1所示。圖1.1系統(tǒng)組成框圖2 HYPERLINK C:Documents and SettingsAdministrator桌面2008022688647420080226886474.doc l _Toc137365789#_Toc137365789 系統(tǒng)硬件設(shè)計硬件組成:檢測端和發(fā)射端兩部分組成。溫度實

14、時檢測端是通過DS18B20從現(xiàn)場采集溫度信息,AT89C52對獲取的數(shù)據(jù)信息進行匯總并加工處理,按照上位機要求上傳網(wǎng)絡(luò)。發(fā)射端是TCP/IP協(xié)議GPRS模塊通過SIM900A來完成,來完成溫度數(shù)據(jù)的監(jiān)測。在此說明,最初我選用的單片機是STC89C52,因為STC89C52相對AT89C52功能更齊全一些,STC89C52有512字節(jié)的數(shù)據(jù)存儲空間,而AT89C52只有256字節(jié)數(shù)據(jù)存儲空間;另外STC89C52單片機部有2K字節(jié)的EEPROM存儲空間,AT89C52卻沒有。但實際操作中沒有燒錄的設(shè)備,所以就選則AT89C52單片機。2.1 監(jiān)測端監(jiān)測端主要包括:AT89C52,DS18B20

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

16、(1)AT89C52的功能特性描述作為普通51單片機已與廣泛應用于各種產(chǎn)品中,其接口簡單,方便使用,且功能強大,因此本系統(tǒng)采用AT89C52單片機作為主控制芯片。AT89C52單片機功能使用有以下標準:8字節(jié)的FLASH閃存,256字的竹部RAM,3個16位定時器/計數(shù)器,32個I / O端口線,一個兩級6向量中斷結(jié)構(gòu)、全雙工串行通信端口,芯片上的時鐘振蕩器電路。AT89c52可降至OHz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電上作模式。空閑方式停止CPU 的工作,但允許RAM,定時計數(shù)器串行通信口與中斷系統(tǒng)繼續(xù)工作。振蕩器停止工作和其他工作,直到下一個硬件復位所有部分.(2)涉與到AT89C

17、52電路簡圖本系統(tǒng)設(shè)計所涉與到的AT89C52最小系統(tǒng)8,僅有芯片,晶振,和復位鍵組成。外接5V的電源電路。如圖2.1所示。圖2.1AT89C52最小系統(tǒng)2.1.2 DS18B20模塊(1) DS18B20一般說明與特點概述DS18B20溫度芯片是一種集成芯片,能夠有效的減小外界的干擾,提高測量的精度,簡化電路的結(jié)構(gòu)。使用集成芯片,已經(jīng)慢慢的成為設(shè)計電路的一種趨勢。本系統(tǒng)設(shè)計使用溫度芯片DS18B20,也正是順應了這一趨勢。DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,其測溫分辨率可達0.0625C,其提供9位溫度讀數(shù),指示器件的溫度。(2)DSl8B20的外部管腳與特點DS18

18、B20有三個管腳。GND為接地線,DQ為數(shù)據(jù)輸入輸出接口,通過一個較弱的上拉電阻與單片機相連。VDD為電源接口,既可由數(shù)據(jù)線提供電源,又可由外部提供電源,圍3.0V5.5V。本文使用外部電源供電。引腳排列如圖所示。圖2.1.2 DS18B20引腳排列圖(3) DS18B20的部結(jié)構(gòu)本系統(tǒng)所用的DS18B20主要由四個部分組成:溫度傳感器, 64位光刻R0M, 配置寄存器,非易失性的溫度報警觸發(fā)TH和TL。R0M交貨前64位序列號被光刻技術(shù),它可以被認為是DSISB20地址碼序列,每個DSI8B20 64序列號是不一樣的。表2.3.2 DS18B20精度位數(shù)對應表R1R0精度位數(shù)最大轉(zhuǎn)換時間R1

19、R0=009位精度93.75 msR1R0=0110位精度187.5 msR1R0=1011位精度375 msR1R0=1112位精度750 ms注:編程時默認是12精度。本系統(tǒng)采用的也是12位的精度。2.1.3 LED模塊(1) LED數(shù)碼管簡介LED數(shù)碼管其實是由七個發(fā)光管組成8字形構(gòu)成的,再加上小數(shù)點為8個發(fā)光管。這些部由字母a,b,c,d,e,f,g,dp分別來標識;如圖2.1.3所示。(2)LED管腳數(shù)碼管加上特定電壓后會發(fā)光, 讓我們的眼睛看到兩個8數(shù)碼管字11。如:顯示一個“0”字,所以應該是a b c d e f亮,g和dp并不明亮。通常為明亮,非常明亮,也有不同的尺寸0.5寸

20、,1寸等。一般來說,一個發(fā)光二極管的管壓降約為1.8 V,電流不得超過30 mA。當陽極接在一塊并且連接在電源正極的發(fā)光二極管是共陽數(shù)碼管,當陰極接在一塊并且連接在電源負極的發(fā)光二極管是共陽數(shù)碼管。LED數(shù)碼管顯示數(shù)字和字符常用的是0,1,2,3,4,5,6,7,8,9,A,B, C,D,E,F。圖2.1.3 DS18B20引腳排列圖2.2 發(fā)射端發(fā)射端主要包括:SIM900A GPRS模塊,它的主要功能是將監(jiān)測端采集的溫度數(shù)字信號同過SIM900A的GPRS業(yè)務(wù)發(fā)送給遠程檢測端(上位機)。GPRS不局限GSM網(wǎng)絡(luò)只能提供思維的電路交換模式,只通過增加相應的功能實體和對現(xiàn)有的基站系統(tǒng)進行一部分

21、改造和分組交換,這種投資的轉(zhuǎn)變是比較小的,但得到用戶數(shù)據(jù)速率是相當快的。此外,由于它不再需要現(xiàn)有的無線應用需要調(diào)解器,因此連接將更加方便和更容易運輸。2.2.1 SIM900A模塊(1)SIM900AGSM通信模塊是數(shù)據(jù)傳輸?shù)耐ㄐ藕诵?。SIM900A可以快速安全可靠地實現(xiàn)系統(tǒng)方案中的數(shù)據(jù)、語音傳輸、短消息服務(wù)(Short Message Service)和 。圖2.2.1 SIM900A實物圖(2)SIM900A 功能圖下圖展示了SIM900A的功能框圖,并說明了主要的功能部分:GSM基帶、存儲器、 GSM射頻、天線接口、其他接口圖2.2.2 SIM900A功能圖(3)GPRS模塊接口設(shè)計通信

22、控制模塊SIM900A可以通過軟件來實現(xiàn)3,用軟件控制使用靈活的特點,同時也很好的避免過多的硬件信號的檢測。SIM900A模塊的設(shè)計和電源引腳在一起,因為SIM900A是一個全功能的模塊,所以沒有必要做任何的信號處理和射頻處理。此外SIM900A模塊還需要連接的SIM卡,從而達到的GPRS終端的完整的獨立。在串行設(shè)計中,雖然SIM900A模塊串口操作電平是CMOS電平,工作電平單片機串口引腳為TTL電平,但由于微控制器的高和低邏輯電平可達到SIM900A引腳的連接,因此TC35模塊串口直接與電纜單片機的串行電纜連接。以下為SIM900A模塊的接口設(shè)計。圖2.2.3 SIM900A模塊接口3 軟

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

24、 ow_reset(void) unsigned char presence;DQ = 0; / 將 DQ 線拉低delay(36); / 保持DQ = 1; / DQ返回高電平delay(5); / 等待存在脈沖presence = DQ; / 獲得存在信號delay(30); / 等待時間隙結(jié)束return(presence); / 返回存在信號,0 = 器件存在, 1 = 無器件3.2 涉與SIM900A的串口初始化與GPRS協(xié)議轉(zhuǎn)換3.2.1 單片機程序中涉與SIM900A串口初始化/* ! 串口0初始化函數(shù), 此串口用作接收終端控制命令 ! 晶振頻率:11.0592MHz ! 串口0

25、波特率:9600*/void Uart0_Init(void) /9600bps11.0592MHz SCON = 0 x50; /8位數(shù)據(jù),可變波特率 AUXR |= 0 x40; /定時器1時鐘為Fosc,即1T AUXR &= 0 xfe; /串口1選擇定時器1為波特率發(fā)生器 TMOD &= 0 x0f; /清除定時器1模式位 TMOD |= 0 x20; /設(shè)定定時器1為8位自動重裝方式 TL1 = 0 xfd; /設(shè)定定時初值 TH1 = 0 xfd; /設(shè)定定時器重裝值 ET1 = 0; /禁止定時器1中斷 TR1 = 1; /啟動定時器1 ES = 1; EA = 1; void

26、 Uart0_PutChar(char ch) ES = 0 ; SBUF = ch ; while(!TI); TI = 0 ; ES = 1 ;/*/! 串口1初始化函數(shù), 此串口用作控制GSM模塊/! 晶振頻率:11.0592MHz/! 串口1波特率:9600*/void Uart1_Init(void) /9600bps11.0592MHzS2CON = 0 x50; /方式1,八位數(shù)據(jù),可變波特率AUXR1 = 0 x00; /1T工作方式 IP2 = 0 x00; /優(yōu)先級默認 BRT = 0 xDC; /設(shè)置波特率 DC 9600 E8 14400/ 256 - (FOSC/32

27、/BAUD) AUXR = 0 x14;/獨立波特率發(fā)生器時鐘為Fosc,即1TIE2 |= 0 x01; /開串口2中斷 EA = 1;3.2.2 GPRS應用系統(tǒng)中的協(xié)議轉(zhuǎn)換將用戶數(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),也得到了一個動態(tài)的IP地址,數(shù)據(jù)傳輸?shù)倪^程開始了。在GPRS網(wǎng)絡(luò),數(shù)據(jù)傳輸IP數(shù)據(jù)報通信過程,該模塊PPP數(shù)據(jù)包的發(fā)往送網(wǎng)關(guān)將傳送到相應的地址在互聯(lián)網(wǎng)網(wǎng)絡(luò);并從互聯(lián)網(wǎng)上得到響應的框架也可以根據(jù)IP地址的GPRS模塊6。從而實現(xiàn)數(shù)據(jù)透明傳輸和互聯(lián)網(wǎng)通過GPRS模塊。從外部經(jīng)

28、歷三個階段:數(shù)據(jù)加載TCP數(shù)據(jù)包,加載IP數(shù)據(jù)包,加載PPP框架。后三個過程已經(jīng)成為一個標準的包,可以在網(wǎng)絡(luò)中傳輸。數(shù)據(jù)傳輸過程可分為以下幾個過程,如圖3.2.1所示。圖3.2.1 GPRS通信程序結(jié)構(gòu)圖3.3簡介KeilUvisionKeil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編程序相比,C語言在功能、結(jié)構(gòu)上有一個明顯的優(yōu)勢,可讀性,可維護性,從而易于使用。使用匯編語言,然后用C開發(fā),更深刻的體驗。KeilC使用過程:(1)先建立一個工程。(2)點擊ProjectNew uVision Project點擊保存,新建一個工程,然后存入文件

29、夾(3)選擇器件(4)選擇Silicon Laboratories,Inc.AT89C52點擊OK(5)新建一個*.c文件并保存點擊FileNew新建一個Text編程序 ,編好程序 ,保存為.c文件。(6)編譯并生成HEX文件(7)通過編譯后點擊Target1,右擊Source Group1,點擊Add Files to Group Source Group點擊.c文件,然后點擊Add,關(guān)閉窗口. 重新編譯一下,點擊Target Options 在彈出的窗口點擊Output欄,在Create HEX File前打勾,點擊OK .最后再點擊編譯就能生成.hex文件了。3.4上位機程序與仿真界面3

30、.4.1 Visual Basic簡介Visual 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語言形式。該程序由實時時鐘程序模塊,溫度采集顯示程序模塊,圖形顯示程序等模塊組成。3.4.2 Visual Basic編譯注意事項在初始化程序時主要完成對串口的設(shè)置,

31、其中包括串口的選擇、波特率的設(shè)置、數(shù)據(jù)格式的設(shè)置與串口的打開等。其中應該注意的是在程序開始以前,切記需要清空發(fā)送和接收緩沖區(qū),避免出現(xiàn)異?;蛘咤e誤。在剛開始我打算將控制面板分成幾個模塊,最后連接起來。因為每個模塊中的變量設(shè)置的不一樣,后來組合在一起不能運行,花了大量的時間將其改過來。在編譯時主要是將該系統(tǒng)與數(shù)據(jù)庫連接起來,因為剛開始將各個模塊分開來編譯,并將其分別和數(shù)據(jù)庫進行連接。最后合在一起時,數(shù)據(jù)庫連接不成功,最后逐個修改程序中連接數(shù)據(jù)庫的目錄,花了很長的時間。由于本人知識不夠全面,技術(shù)也不夠熟練,最終也沒有將采集的數(shù)據(jù)進行圖像處理。導致本次畢設(shè)沒有實現(xiàn)全部功能,在此,我深深地感到自己的不

32、足。我會在以后的學習中繼續(xù)完善自己這方面的知識。圖3.4.1為前面板顯示界面圖3.4.1 前面板顯示界面4.總結(jié)由于本人原因,本次畢設(shè)實體部分沒有全部實現(xiàn),只將采集模塊和客戶端做出來了,沒能實現(xiàn)客戶端檢測的功能。在導師賈建科的指導下和自己不斷在圖書館電子閱覽室查資料,克服自身知識缺陷,將溫度采集模塊和客戶端接收模塊做出來。通過本次課題“基于GPRS的溫度實時監(jiān)測系統(tǒng)設(shè)計”的實戰(zhàn)操作,讓我深深意識到知道和能做出來之間有很大一段距離,同時意識到自身知識的匱乏。本次操作主要困難是將程序放在單片機。由于器材限制,由原本設(shè)定的STC89C52單片機在中途換成AT89C52,焊接技術(shù)不夠熟練,將萬能板焊接

33、的不成樣子,將幾個電阻焊接壞,以至于借了個開發(fā)板,將溫度采集實體做好。在溫度仿真部分,由于個人心粗忘記在顯示管接接電阻,導致沒數(shù)字顯示。致本論文的選題是在賈老師的全面指導下完成的。賈老師不僅為本論文的研究指出了方向,而且提出了寶貴的意見,使我受益匪淺。在論文完成之際,謹向尊敬的賈老師致以深深的意。在本次設(shè)計中,主要通過GPRS無線傳輸技術(shù),實現(xiàn)對遠程無線溫度的采集,交互通信,實時控制。給出了系統(tǒng)硬件軟件的設(shè)計方法,具體方案,電路圖和程序代碼;通過VB制作了一個顯示控制界面。但由于時間原因過于緊湊,未能完成實物的焊接制作。通過這次設(shè)計,使我較充分地掌握了電子設(shè)計的基礎(chǔ)知識,培養(yǎng)了自身的系統(tǒng)設(shè)計思

34、維,開拓了設(shè)計視野,能夠做到理論聯(lián)系實踐,為以后進一步深入學習和深造奠定了基礎(chǔ)。感物電學院全體老師四年來的辛勤培養(yǎng)和教誨。參考文獻1 史素美,戰(zhàn)明.嵌入式遠程測控系統(tǒng)在 GSM/GPRS網(wǎng)絡(luò)基礎(chǔ)上的研究D. 理工大學,2006.2 冰, 芬華. GPRS 技術(shù)在數(shù)據(jù)采集與監(jiān)控系統(tǒng)中的應用J.電子技術(shù), 2003, 29(8): 3呂捷.GPRS技術(shù)R.:郵電大學,2003。4 R.J.(Bud)Bates 著朱洪波,越泓,蔡躍明,程崇虎等譯通用分組無線業(yè)務(wù)(GPRS)技術(shù)與應用:人民郵電2004。6袁紅濤,GPRS技術(shù)應用的軟硬件開發(fā)環(huán)境J.:現(xiàn)代電子技術(shù),2004,27(16):9799。7

35、 康華光.電子技術(shù)基礎(chǔ)M.:高等教育,2000。8 大茂,智能儀器(單片機應用系統(tǒng)設(shè)計)J.:機械工業(yè),1998。9金偉正.單線數(shù)字溫度傳感器的原理與應用.:電子技術(shù)應用,2000。10自美.電子線路設(shè)汁實驗測試(第三版).:華中科技大學,2006。11 閻石.數(shù)字電子技術(shù)基礎(chǔ).:高等教育,2006.12 沙占有,王彥朋,家怡.智能傳感器系統(tǒng)設(shè)計與應用M:電子工業(yè),2004 348353。13 DALLAS Semiconductor.DS18B20 Data Sheet Z.2002:1-26.14 Lin Chine E,Wu Chih-Chen.A real time GPRS surv

36、eillance system using the embedded system J.IEEE Telecomunicatio Conference,2002,(v2):1678-1682.15 A.Neto,H.Fernandes,A.Duarte, Firesignal-Data acquisition and control system software.FusionEngineering and Design 82(2007)1359-1364.附錄A 程序代碼/*SMS*/unsigned char AT_CMGF = AT+CMGF=1;unsigned char AT_CSC

37、S = AT+CSCS=GSM;unsigned char AT_CMGS = AT+CMGS=+86;/*TEL*/unsigned char AT_ATD = ATD;unsigned char AT_ATH = ATH;/*GPRS*/unsigned char AT_CIPMUX = AT+CIPMUX=0;unsigned char AT_CIPMODE = AT+CIPMODE=0;unsigned char AT_CGATT = AT+CGATT=1;unsigned char AT_CSTT = AT+CSTT=UNINET;unsigned char AT_CIICR = A

38、T+CIICR;unsigned char AT_CIFSR = AT+CIFSR;unsigned char AT_CIPSTART = AT+CIPSTART=TCP,75,8088;unsigned char AT_CIPSEND = AT+CIPSEND;unsigned char AT_CIPSHUT = AT+CIPSHUT;/*CONTEL*/unsigned char AT_END2 = 0 x0d , 0 x0a;unsigned char AT_SMS_TEXT_END = 0 x1A;unsigned char AT_TEL_END = ;stat

39、ic void delay(unsigned int t)unsigned int i,j;for( i=0; i t; i+)for( j=0; j 250; j+);static void m_long_delay(unsigned int z)unsigned int i = 0;for(i = 0;i z;i+ )delay(100);void sim900a_send_message(char * msg,int len,char * tel) if(len = 0)return ; UART_SEND_STR(AT_CMGF,strlen(AT_CMGF); UART_SEND_S

40、TR(AT_END,2); delay(1000); UART_SEND_STR(AT_CSCS,strlen(AT_CSCS); UART_SEND_STR(AT_END,2); delay(1000); UART_SEND_STR(AT_CMGS,strlen(AT_CMGS); UART_SEND_STR(tel,strlen(tel);UART_SEND_CHAR();UART_SEND_STR(AT_END,2); delay(2000); UART_SEND_STR(msg,strlen(msg);delay(1000); UART_SEND_CHAR(AT_SMS_TEXT_EN

41、D);void sim900a_call(char * tel) UART_SEND_STR(AT_ATD,strlen(AT_ATD); UART_SEND_STR(tel,strlen(tel); UART_SEND_CHAR(AT_TEL_END); UART_SEND_STR(AT_END,2);delay(1000);void sim900a_ring_off(void) UART_SEND_STR(AT_ATH,strlen(AT_ATH); UART_SEND_STR(AT_END,2); delay(1000);void GPRS_INIT() /*STEP 1 單點連接*/

42、UART_SEND_STR(AT_CIPMUX,strlen(AT_CIPMUX); UART_SEND_STR(AT_END,2); m_long_delay(60); /*STEP 2 非透明傳輸*/ UART_SEND_STR(AT_CIPMODE,strlen(AT_CIPMODE); UART_SEND_STR(AT_END,2); m_long_delay(60); /*STEP 3 附著和分離GPRS業(yè)務(wù)*/ UART_SEND_STR(AT_CGATT,strlen(AT_CGATT); UART_SEND_STR(AT_END,2); m_long_delay(60); /*

43、STEP 4 設(shè)置接入點*/ UART_SEND_STR(AT_CSTT,strlen(AT_CSTT); UART_SEND_STR(AT_END,2); m_long_delay(60); /*STEP 5 啟動連接*/ UART_SEND_STR(AT_CIICR,strlen(AT_CIICR); UART_SEND_STR(AT_END,2); m_long_delay(120); /*STEP 6 獲取本機地址*/ UART_SEND_STR(AT_CIFSR,strlen(AT_CIFSR); UART_SEND_STR(AT_END,2);m_long_delay(60);vo

44、id GPRS_TCP_LINK()UART_SEND_STR(AT_CIPSTART,strlen(AT_CIPSTART);UART_SEND_STR(AT_END,2);m_long_delay(80);void GPRS_TCP_SEND_INIT() UART_SEND_STR(AT_CIPSEND,strlen(AT_CIPSEND); UART_SEND_STR(AT_END,2);m_long_delay(80);void GPRS_TCP_SEND_DATA(char * msg,unsigned int len)UART_SEND_STR(msg,len);UART_SEN

45、D_CHAR(0 x1A);UART_SEND_CHAR(0 x0D);m_long_delay(50);void GPRS_CLOSE()UART_SEND_STR(AT_CIPSHUT,strlen(AT_CIPSHUT);UART_SEND_STR(AT_END,2);m_long_delay(50);void GPRS_RESET()GPRS_CLOSE();GPRS_INIT();/bit busy;static void DelayXus(unsigned char n) while (n-) _nop_(); _nop_();_nop_(); _nop_(); /* ! 串口0初

46、始化函數(shù), 此串口用作接收終端控制命令 ! 晶振頻率:11.0592MHz ! 串口0波特率:9600*/void Uart0_Init(void) /9600bps11.0592MHz SCON = 0 x50; /8位數(shù)據(jù),可變波特率 AUXR |= 0 x40; /定時器1時鐘為Fosc,即1T AUXR &= 0 xfe; /串口1選擇定時器1為波特率發(fā)生器 TMOD &= 0 x0f; /清除定時器1模式位 TMOD |= 0 x20; /設(shè)定定時器1為8位自動重裝方式 TL1 = 0 xfd; /設(shè)定定時初值 TH1 = 0 xfd; /設(shè)定定時器重裝值 ET1 = 0; /禁止定

47、時器1中斷 TR1 = 1; /啟動定時器1 ES = 1; EA = 1;void Uart0_PutChar(char ch) ES = 0 ; SBUF = ch ; while(!TI); TI = 0 ; ES = 1 ;/* !串口0字符串輸出函數(shù) !參數(shù)說明:pString為字符串緩沖區(qū)首地址*/void Uart0_PutString(char * pString,unsigned int len) unsigned short i = 0; for (i = 0;i len;i+ ) Uart0_PutChar(pStringi); /*/! 串口1初始化函數(shù), 此串口用作控

48、制GSM模塊/! 晶振頻率:11.0592MHz/! 串口1波特率:9600*/void Uart1_Init(void) /9600bps11.0592MHzS2CON = 0 x50; /方式1,八位數(shù)據(jù),可變波特率AUXR1 = 0 x00; /1T工作方式IP2 = 0 x00; /優(yōu)先級默認BRT = 0 xDC; /設(shè)置波特率 DC 9600 E8 14400/ 256 - (FOSC/32/BAUD)AUXR = 0 x14;/獨立波特率發(fā)生器時鐘為Fosc,即1TIE2 |= 0 x01; /開串口2中斷 EA = 1;/*/! 串口1字符串輸出函數(shù)/! 參數(shù)說明:pStrin

49、g為字符串緩沖區(qū)首地址/! 備注:此函數(shù)一方面向串口1發(fā)送數(shù)據(jù),/! 另一方面也向串口0發(fā)送數(shù)據(jù),/! 目的是為了方便調(diào)試*/void Uart1_PutChar(char ch)IE2 &= 0 x01; S2BUF = ch ; while(!(S2CON & S2TI); S2CON &= S2TI; IE2 |= 0 x01;void Uart1_PutString(char * pString,unsigned int len) unsigned char i = 0; for (i = 0;i 0) i-; count-; void delay_18B20(unsigned int

50、 i)while(i-);void Init_DS18B20(void)unsigned char x=0;DQ = 1; /DQ復位delay_18B20(80); /稍做延時DQ = 0; /單片機將DQ拉低delay_18B20(800); /精確延時大于 480usDQ = 1; /拉高總線delay_18B20(140);x=DQ; delay_18B20(200); unsigned char ReadOneChar(void)uchar i=0;uchar dat = 0;for (i=8;i0;i-) DQ = 0; / 給脈沖信號 dat=1; DQ = 1; / 給脈沖信號

51、 if(DQ) dat|=0 x80; delay_18B20(40); /40 return(dat);void WriteOneChar(uchar dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0 x01; delay_18B20(50); /50 DQ = 1; dat=1;unsigned int ReadTemp(void)unsigned char a=0;unsigned char b=0;unsigned int temp_value=0, tt;Init_DS18B20();WriteOneChar(0

52、 xCC); WriteOneChar(0 x44); delay_18B20(1000); Init_DS18B20();WriteOneChar(0 xCC); WriteOneChar(0 xBE); delay_18B20(1000);a=ReadOneChar(); /讀取溫度值低位b=ReadOneChar(); /讀取溫度值高位temp_value = b8;temp_value |= a;tt=temp_value*0.0625; /得到真實十進制溫度值,因為DS18B20/可以精確到0.0625度,所以讀回數(shù)據(jù)的最低位代表的是/0.0625度。temp_value=tt; /

53、放大十倍,這樣做的目的將小數(shù)點后第一位return temp_value;void display(uint temp)/顯示程序 uchar A1,A2,A2t,A3,ser; ser=temp/10; /分離出三位要顯示的數(shù)字 SBUF=ser; A1=temp/100;A2t=temp%100; A2=A2t/10; A3=A2t%10; dula=0; P0=tableA1;/顯示百位 dula=1; dula=0; wela=0; P0=0 x20; wela=1; wela=0; delay1(1); dula=0; P0=table1A2;/顯示十位帶小數(shù)點的dula=1; du

54、la=0; wela=0; P0=0 x40; wela=1; wela=0; delay1(1); P0=tableA3;/顯示個位 dula=1; dula=0; P0=0 x80; wela=1; wela=0; delay1(1);static void delay ( unsigned char t )unsigned char i = 0,j = 0;for( i=0; it; i+)for( j=0; j250; j+);/*長延時函數(shù)*/static void delay1S ( unsigned int z ) unsigned int x = 0; for(x = 0;x

55、z;x+ ) delay( 160 ); void LED_ON(unsigned int n)switch(n)case 1:LED1 = 0;break;case 2:LED2 = 0;break;case 3:LED3 = 0;break;case 4:LED4 = 0;break;default:break;void LED_OFF(unsigned int n)switch(n)case 1:LED1 = 1;break;case 2:LED2 = 1;break;case 3:LED3 = 1;break;case 4:LED4 = 1;break;default:break;un

56、signed char get_key()unsigned char tmp = 0;unsigned char res = 0;tmp = P1;tmp = tmp & 0 xC0;if(tmp = 0X80)res = 1;if(tmp = 0 x40)res = 2;if (tmp = 0 xc0)res = 3;return res;void sim900a_start(void) /P1M1 &= 0 x40; /P1M0 &= 0 x40; /先置高 /SIM900A_START_KEY = 1; /delay1S(20); /再拉低 SIM900A_START_KEY = 0;

57、delay1S(100);/大于1S /再置高 SIM900A_START_KEY = 1; delay1S(300);/大于1S / /P1M1 |= 0 x40; /P1M0 &= 0 x40;void board_init(void)P1 = 0 x0;P2 = 0 x0;P3 = 0 x0;P4 = 0 x0;unsigned char start_str = Temperature Monitoring System;unsigned char tmp_end = 0 x0d,0 x0a;unsigned char user_tel = ;unsigned char temperat

58、ure4;sfr WAKE_CLKO = 0X8F;sfr P4SW = 0XBB;sbit ELVD = IE6;static void delay(unsigned int t)unsigned int i,j;for( i=0; i t; i+)for( j=0; j 250; j+);void delay_long_1S(unsigned int z) unsigned int x = 0,j = 0; for (x = 0;x z;x+ )for (j = 0;j 0;a-) display(tmpt); /顯示十次int2asc(tmpt);/sim900a_call(user_t

59、el);/sim900a_send_message(temperature,strlen(temperature),user_tel);#if 1/*GPRS*/GPRS_INIT();GPRS_TCP_LINK();GPRS_TCP_SEND_INIT();GPRS_TCP_SEND_DATA(temperature,strlen(temperature);GPRS_TCP_SEND_INIT();GPRS_TCP_SEND_DATA(temperature,strlen(temperature);GPRS_TCP_SEND_INIT();GPRS_TCP_SEND_DATA(tempera

60、ture,strlen(temperature);GPRS_TCP_SEND_INIT();GPRS_TCP_SEND_DATA(temperature,strlen(temperature);GPRS_TCP_SEND_INIT();GPRS_TCP_SEND_DATA(temperature,strlen(temperature);/GPRS_CLOSE();#endif/delay_long_1S(2);/while(1); 附錄B:溫度采集仿真附錄C外文翻譯Single ConnectionCommand AT+CIPMUX= is used for selecting TCPIP c

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論