GPRS遠(yuǎn)程無線溫度采集系統(tǒng)設(shè)計(jì)_第1頁
GPRS遠(yuǎn)程無線溫度采集系統(tǒng)設(shè)計(jì)_第2頁
GPRS遠(yuǎn)程無線溫度采集系統(tǒng)設(shè)計(jì)_第3頁
GPRS遠(yuǎn)程無線溫度采集系統(tǒng)設(shè)計(jì)_第4頁
GPRS遠(yuǎn)程無線溫度采集系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

DS18B20有三個(gè)管腳。GND為接地線,DQ為數(shù)據(jù)輸入輸出接口,通過一個(gè)較弱的上拉電阻與單片機(jī)相連。VDD為電源接口,既可由數(shù)據(jù)線提供電源,又可由外部提供電源,范圍3.0V~5.5V。本文使用外部電源供電。引腳排列如圖5.1所示。圖5.1DS18B20引腳排列圖5.2.3DS18B20的內(nèi)部結(jié)構(gòu)DS18B20主要由4部分組成:64位光刻R0M、溫度傳感器、非易失性的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。R0M中的64位序列號(hào)是出廠前被光刻好的,他可以看作是該DSISB20的地址序列碼,每個(gè)DSI8B20的64位序列號(hào)均不相同。高低溫報(bào)警觸發(fā)器TH和TL,配置寄存器均由一個(gè)字節(jié)的E2PROM組成,使用一個(gè)存儲(chǔ)器功能命令可對(duì)TH,TL或配置寄存器寫入。配置寄存器中R1,R0決定溫度轉(zhuǎn)換的精度位數(shù)。表5.1DS18B20精度位數(shù)對(duì)應(yīng)表R1R0精度位數(shù)最大轉(zhuǎn)換時(shí)間R1R0=‘009位精度93.75msR1R0=‘0110位精度187.5msR1R0=‘1011位精度375msR1R0=‘1112位精度750ms注:未編程時(shí)默認(rèn)為12位精度。本系統(tǒng)采用的也是12位的精度。5.2.4DS18B20的內(nèi)存結(jié)構(gòu)DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM(便簽式的內(nèi)部存儲(chǔ)器)和一個(gè)非易失性的可電擦除的EEPROM,后者存放高溫和低溫觸發(fā)器TH,TL和結(jié)構(gòu)寄存器。便簽存儲(chǔ)器包含了9個(gè)連續(xù)字節(jié)(0~8),前兩個(gè)字節(jié)是測得的溫度信息,字節(jié)0的內(nèi)容是溫度的低8位,字節(jié)1是溫度的高8位,字節(jié)2是TH(溫度上限報(bào)警),字節(jié)3是TL(溫度下限報(bào)警),字節(jié)4是配置寄存器,用于確定輸出分辨率9到12位。第5、6、7個(gè)字節(jié)是預(yù)留寄存器,用于內(nèi)部計(jì)算。字節(jié)8是冗余檢驗(yàn)字節(jié),校驗(yàn)前面所有8個(gè)字節(jié)的CRC碼,可用來保證通信正確。5.3DS18B20的測溫功能當(dāng)DSI8B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的0,1字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式以0.0625oC/LSB形式表示。經(jīng)過單線接口訪問DSl820的協(xié)議處理順序,如圖5.2所示。圖5.2處理順序圖5.3.1初始化單總線上的所有處理均從初始化開始。初始化序列包括總線主機(jī)發(fā)出一復(fù)位脈沖,接著由從屬器件送出存在脈沖。5.3.2ROM操作品令總線主機(jī)檢測到DSl820的存在便可以發(fā)出ROM操作命令之一。這些命令如表5.2所示。表5.2ROM操作命令表指令代碼ReadROM(讀ROM)[33H]MatchROM(匹配ROM)[55H]SkipROM(跳過ROM][CCH]SearchROM(搜索ROM)[F0H]Alarmsearch(告警搜索)[ECH]5.3.3存儲(chǔ)器操作命令表5.3存儲(chǔ)器操作命令代碼指令代碼寫暫存存儲(chǔ)器[4EH]讀暫存存儲(chǔ)器[BEH]復(fù)制暫存存儲(chǔ)器[48H]溫度變換[44H]重新調(diào)出[B8H]讀電源[B4H]攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文)6系統(tǒng)硬件方案設(shè)計(jì)6系統(tǒng)硬件方案設(shè)計(jì)6.1硬件系統(tǒng)組成本系統(tǒng)硬件主要有數(shù)字溫度傳感器、單片機(jī)、GPRS模塊、SIM卡及卡座、電源等組成。其硬件組成框圖如圖6.1所示。圖6.1硬件系統(tǒng)組成框圖系統(tǒng)從結(jié)構(gòu)上可以分為以下三層:最底層為溫度信息獲取、處理與發(fā)射子系統(tǒng)(數(shù)據(jù)采集節(jié)點(diǎn))。DS18B20傳感器從現(xiàn)場采集溫度信息,對(duì)獲取的數(shù)據(jù)進(jìn)行匯總和加工處理,并且按照監(jiān)控平臺(tái)的要求上傳網(wǎng)絡(luò);第二層為信息相互傳遞(移動(dòng)通信網(wǎng)GSM/GPRS),利用移動(dòng)通信網(wǎng)的大范圍覆蓋性與傳輸可靠性,實(shí)現(xiàn)控制溫度數(shù)據(jù)的傳輸;第三層為信息接收與反饋(監(jiān)控中心或移動(dòng)臺(tái)如PDA、手機(jī)),監(jiān)控中心或移動(dòng)臺(tái)接收到溫度信息后發(fā)出控制命令,進(jìn)行實(shí)時(shí)反饋,從而完成系統(tǒng)的監(jiān)控。數(shù)據(jù)采集節(jié)點(diǎn)按照匯聚節(jié)點(diǎn)的要求將數(shù)據(jù)上傳匯聚節(jié)點(diǎn),匯聚節(jié)點(diǎn)進(jìn)行數(shù)據(jù)中樞處理,然后將數(shù)據(jù)上傳到系統(tǒng)接收反饋平臺(tái)。系統(tǒng)主要以GSM/GPRS網(wǎng)作為通信子系統(tǒng),再通過INTERNET網(wǎng)絡(luò)或GPRS模塊直接將數(shù)據(jù)傳到用戶接受處。工作人員可以很方便的將系統(tǒng)安裝到GSM/GPRS網(wǎng)絡(luò)覆蓋的地區(qū)。系統(tǒng)層次圖如圖6.2所示。圖6.2基于GPRS遠(yuǎn)程溫度采集網(wǎng)絡(luò)的設(shè)計(jì)系統(tǒng)層次圖6.2單片機(jī)控制系統(tǒng)本硬件系統(tǒng)設(shè)計(jì)所用到的單片機(jī)最小系統(tǒng),主要由AT89S52芯片構(gòu)成。單片機(jī)在電路中充當(dāng)中央處理器的作用,用以產(chǎn)生各個(gè)部分所需的控制指令。將控制程序預(yù)先載入單片機(jī)內(nèi),單片機(jī)通過調(diào)用相應(yīng)的控制指令,送到相應(yīng)電路,讓整個(gè)系統(tǒng)得以正確運(yùn)轉(zhuǎn)。最小系統(tǒng)電路圖如圖6.3所示。圖6.3單片機(jī)最小系統(tǒng)組成圖6.3溫度檢測模塊本硬件系統(tǒng)設(shè)計(jì)的溫度檢測部分,基于通信方便,電路簡潔,測量準(zhǔn)確等多方面因素,傳感器選用DALLAS公司的數(shù)字溫度傳感器DS18B20作為系統(tǒng)的溫度檢測主芯片。它與MCU(AT89S52)的接法電路如圖6.4所示。圖6.4DS18B20連接電路圖溫度顯示部分,主要由數(shù)碼管,MC74HC573鎖存器等組成。其中,MC74HC573是八進(jìn)制三態(tài)數(shù)據(jù)鎖存器,其為高電平鎖存。即當(dāng)鎖存使能端為高時(shí),輸出同步;當(dāng)鎖存使能變低時(shí),符合建立時(shí)間和保持時(shí)間的數(shù)據(jù)會(huì)被鎖存。溫度顯示的電路圖如圖6.5所示。(連線用網(wǎng)絡(luò)標(biāo)簽代替。)圖6.5LED溫度顯示電路圖6.4GPRS模塊6.4.1EM310GPRS模塊與外圍設(shè)備所應(yīng)用接口有UART接口、SIM卡接口、音頻接口、電源接口、USB總線接口、網(wǎng)絡(luò)狀態(tài)指示接口,本作品采用的是EM310與單片機(jī)通訊,便于簡便考慮單片機(jī)的通訊接口,我們選取了UART與EM310接口。EM310模塊通過UART接口與外界進(jìn)行串行通信,和AT指令的輸入。該UATR口最高支持115.2Kbit/s的波特率,最低支持300bit/s的波特率,默認(rèn)支持9600bit/s的速率,支持波特率掉電保存。UART所選用的串口通訊協(xié)議如表6.1所示。表6.1UART串口通訊協(xié)議表通訊端口COM1波特率9600bit/s數(shù)據(jù)位8停止位1奇偶校驗(yàn)NONE6.4.2EM310模塊提供一路串行接口,其支持8線或4線串行總線接口或2線串行接口。如下圖6.6、6.7、6.8所示。本硬件系統(tǒng)設(shè)計(jì)采用8線串行接口電路。圖6.6UART8線串行總線接口電路圖6.7UART4線串行總線接口電路圖6.8UART2線串行總線接口電路6.4.3EM310網(wǎng)絡(luò)狀態(tài)接口EM310模塊提供一個(gè)網(wǎng)絡(luò)狀態(tài)接口(LPG),LPG管腳輸出脈沖信號(hào)管腳用于控制LED燈,作為指示網(wǎng)絡(luò)連接狀態(tài)。通過狀態(tài)指示燈閃爍的模式不同,表示不同的網(wǎng)絡(luò)狀態(tài)。如表6.2所示.表6.2LPG管腳狀態(tài)指示表工作或網(wǎng)絡(luò)狀態(tài)LPG管腳輸出狀態(tài)模塊啟動(dòng)輸出高電平深度睡眠持續(xù)低電平無SIM卡,未輸入PIN碼,或正在搜索網(wǎng)絡(luò)周期1s,高電平輸出0.1s已注冊(cè)到網(wǎng)絡(luò),IDLE狀態(tài)周期3s,高電平輸出0.1sGPRS數(shù)據(jù)傳輸中周期0.125s,高電平輸出0.1s呼叫中持續(xù)高電平LPG管腳不能直接驅(qū)動(dòng)LED,需要配合三極管使用,其電路連接圖如圖6.9所示。表6.9LPG管腳狀態(tài)指示表6.4.4EM310與單片機(jī)連接總電路圖6.10EM310與單片機(jī)接口及外圍電路圖6.5SIM卡接口模塊EM310模塊基帶處理器集成了符合ISO7816-3標(biāo)準(zhǔn)的SIM卡接口,為外部SIM卡座提供SIM卡接口信號(hào)。EM310模塊支持并能夠自動(dòng)檢測3.0V和1.8VSIM卡,SIM卡接口定義如表6.3所示。表6.3SIM卡接口定義表信號(hào)名描述SIM-CLKSIM卡時(shí)鐘SIM-VCCSIM卡電源SIM-IOSIM卡數(shù)據(jù)SIM-RSTSIM卡復(fù)位SIM-GNDSIM卡地EM310與SIM卡座連接電路如圖6.11所示。圖6.11SIM卡座連接電路6.6串口擴(kuò)展及連接模塊6.6.1串口擴(kuò)展電路本系統(tǒng)硬件上,需要單片機(jī)具有兩串口。一個(gè)用于與EM310連接通信,另一個(gè)用于連接PC機(jī),但選用的單片機(jī)只具備一個(gè)串口。所以,要選用一種串口擴(kuò)展芯片作一擴(kuò)二的串口擴(kuò)展電路。GM8123為一擴(kuò)三的通用異步串口擴(kuò)展芯片,并能通過外部控制串口擴(kuò)展模式:單通道工作模式和多通道工作模式,即可以指定一個(gè)子串口和母串口以相同的波特率單一的工作,也可以讓所有子串口在母串口波特率基礎(chǔ)上分頻同時(shí)工作。該芯片工作在多通道模式下時(shí),子串口能主動(dòng)響應(yīng)從機(jī)發(fā)送的數(shù)據(jù),并有母串口發(fā)送給主機(jī),同時(shí)返回子串口地址,該模式使每個(gè)從機(jī)的發(fā)送要求都能被及時(shí)地響應(yīng),即使所有從機(jī)同時(shí)發(fā)送要求,數(shù)據(jù)也不會(huì)丟失,基本實(shí)現(xiàn)了主控單元和外設(shè)通訊的實(shí)時(shí)性。該芯片母串口和子串口的工作波特率可由軟件調(diào)節(jié),而不需要修改外部電路和晶振頻率。該芯片的外部控制少,應(yīng)用靈活,編程使用簡單。其一擴(kuò)二串口擴(kuò)展電路如圖6.12所示。圖6.12串口擴(kuò)展連接電路6.6.2MAX232電路部分圖6.13為MAX232接口電路圖。在從PC機(jī)下載程序到單片機(jī)上時(shí)要用到該電路。圖6.13MAX232接口電路圖6.7電源模塊由于GPRS模塊在通訊是模塊的瞬間電流可以達(dá)到2A,所以需要可靠的電源支持。同時(shí)由于GPRS的用電不是橫流,而是脈沖式的需要,尤其是在模塊啟動(dòng)的瞬間大電流需要會(huì)使電源瞬間有一個(gè)很大的壓降。過大的壓降會(huì)導(dǎo)致模塊重啟而不能進(jìn)入工作模式。所以在設(shè)計(jì)中不但要有可靠的電源供電,同時(shí)還要在模塊電源端盡可能近的地方連接一個(gè)大的電容。電源模塊電路圖如圖6.14所示。圖6.14電源模塊電路圖220V的交流電經(jīng)過變壓器后輸出18V的交流電。而后經(jīng)過LM7805Z轉(zhuǎn)換出5V電壓給MAX232供電、經(jīng)過LM317轉(zhuǎn)換出3.8V的電壓供單片機(jī)部分用電、最重要的GPRS供電由LM2576-ADJ轉(zhuǎn)換出3.8V的電壓提供。攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文)7系統(tǒng)軟件方案設(shè)計(jì)7系統(tǒng)軟件設(shè)計(jì)在設(shè)計(jì)系統(tǒng)軟件部分時(shí),首先要先明確軟件程序所要實(shí)現(xiàn)的功能,然后確定方案,執(zhí)行命令的順序及所達(dá)到的效果。本系統(tǒng)軟件設(shè)計(jì)主流程圖如圖7.1所示。圖7.1系統(tǒng)軟件流程圖7.1GPRS應(yīng)用系統(tǒng)中的協(xié)議轉(zhuǎn)換協(xié)議轉(zhuǎn)化模塊的任務(wù)主要是,將用戶數(shù)據(jù)轉(zhuǎn)換為TCP/IP協(xié)議的數(shù)據(jù)包,從而能夠通過GPRS網(wǎng)絡(luò)發(fā)出。其中在系統(tǒng)初始化過程中,首先使GPRS模塊撥號(hào)上網(wǎng)。當(dāng)GPRS模塊已經(jīng)附在Internet時(shí),也獲得了一個(gè)動(dòng)態(tài)的IP地址,數(shù)據(jù)傳輸?shù)倪^程也就開始了。在GPRS網(wǎng)絡(luò)中,數(shù)據(jù)傳輸就是IP數(shù)據(jù)報(bào)通信過程,模塊向網(wǎng)關(guān)發(fā)送的PPP報(bào)文都會(huì)傳送到Internet網(wǎng)中相應(yīng)的地址;而從Internet傳過來的應(yīng)答幀也同樣會(huì)根據(jù)IP地址傳到GPRS模塊。從而實(shí)現(xiàn)采集數(shù)據(jù)和Internet網(wǎng)絡(luò)通過GPRS模塊的透明傳送。從外部來的數(shù)據(jù)經(jīng)歷三個(gè)過程:裝入TCP包、裝入IP包、裝入PPP幀。經(jīng)歷這三個(gè)過程后就成為了符合標(biāo)準(zhǔn)的數(shù)據(jù)包,能夠在網(wǎng)絡(luò)中傳送了。數(shù)據(jù)傳輸過程可分為以下幾個(gè)過程,如圖7.2所示。圖7.2GPRS通信程序結(jié)構(gòu)圖實(shí)現(xiàn)此數(shù)據(jù)傳輸過程的軟件部分代碼為:voidIPInit(TCPDataTCPOption){//TCP包裝入IP包IPOption.data=TCPOption;IPOption.1ocaladdr=Syssock.1ocaladdr;IPOption.remoteaddr=Syssock.remoteipaddr;}voidPPPInit(TCPDataTCPOption){PPPOption.flag=0x73;PPPOtocol=0x0021PPPOption.address=0XffPPPOption.control=ox03;PPPOption.data=IPOption;}7.2軟件設(shè)計(jì)中涉及到的主要AT命令A(yù)T命令及返回狀態(tài)狀態(tài)說明AT%TSIM%TSIM1測試SIM卡是否存在1表示卡在位,0表示未讀到卡AT+CSQ+CSQ:27,99OK檢查當(dāng)?shù)氐木W(wǎng)絡(luò)信號(hào)強(qiáng)度,31最大,該命令空閑時(shí),循/環(huán)發(fā)送,了解網(wǎng)絡(luò)信號(hào)狀態(tài)AT+CREG=1OK啟用網(wǎng)絡(luò)注冊(cè)非請(qǐng)求結(jié)果碼AT+COPS?+COPS:0,0,"CHINAMOBILEOK網(wǎng)絡(luò)運(yùn)營商注冊(cè)查詢已注冊(cè)上中國移動(dòng)AT+CGATT?+CGATT:1OK查詢GPRS附著狀態(tài)GPRS已附著AT+COPS?+COPS:0,0,"CHINAMOBILEOK查詢是否有網(wǎng)絡(luò)AT+CGREG?+CGREG:1,1查詢GPRS網(wǎng)絡(luò)注冊(cè)狀態(tài)AT+CSQ?+CSQ:31,99OK查詢信號(hào)強(qiáng)度建議做網(wǎng)絡(luò)連接時(shí),信號(hào)值在15以上AT%IOMODE=1,1,0第一個(gè)參數(shù)=1模塊對(duì)輸入輸出數(shù)據(jù)進(jìn)行轉(zhuǎn)換,這個(gè)時(shí)候用戶也要對(duì)輸入和輸出數(shù)據(jù)進(jìn)行相應(yīng)轉(zhuǎn)換。第二個(gè)參數(shù)=1當(dāng)前使用單鏈接AT命令;第三個(gè)參數(shù)=0使用接收緩存AT+CGDCONT=1,“IP”,“CMNET”O(jiān)K注冊(cè)移動(dòng)的CMNET網(wǎng)關(guān)AT%ETCPIP=“user”,“gprs”O(jiān)K注冊(cè)用戶名密碼,并等分配IP收到ok后表示分配IP完成,這個(gè)時(shí)間根據(jù)網(wǎng)絡(luò)有所不同,建議等待時(shí)間可以設(shè)定為10s,注冊(cè)過程中做其它AT操作會(huì)注冊(cè)不到IPAT%ETCPIP?%ETCPIP:1,"",,"0","03"OK查詢GPRS初始化是否成功AT%IPOPEN="TCP","75",3000CONNECT設(shè)置接收服務(wù)器的協(xié)議類型,IP,和端口號(hào)連接成功AT%IPSEND="31323334354142"%IPSEND:15OK%IPDATA:1,1,7發(fā)送數(shù)據(jù)12345AB收到數(shù)據(jù)AT%IPDR%IPDR:1,1,7,"31323334354142"OK讀取數(shù)據(jù)數(shù)據(jù)為12345ABAT%IPCLOSE=1%IPCLOSE:1OK關(guān)閉一條TCP鏈接,最長需要等待15秒鐘左右才會(huì)有OK返回。AT%IPCLOSE=5OK退出TCP/IP功能,模塊從GPRS網(wǎng)絡(luò)注銷。7.3部分模塊程序代碼7.3.1其程序主函數(shù)為:********************************voidmain(void){ CLI();Port_Init();Usart_Init(); timer1_init(); timer3_init(); ETIMSK=0x04;//extendedtimerinterruptsources //watchdog_init(); SEI(); Lcm_clear();//清除顯示 Write_String(0,0,"GPRS初始化",0); Delay_ms(1000);//Usart_PutString("AT+CIPCLOSE\r");//軟關(guān)機(jī)Delay_ms(1000);//Usart_PutString("AT+CIPSHUT\r");//軟關(guān)機(jī) do{ Connect_to_ip(); }while(Connected_flag==0);//直到連接到網(wǎng)絡(luò) Clear_Rxbuffer(Rx_buffer_length);//清RxbufferAdd_ciphead(); Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer//增加傳輸頭 Txdata_to_ip(); Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer//發(fā)送連接完畢信息 watchdog_init(); while(1) { WDR(); status_check();//聯(lián)網(wǎng)情況判斷 Receive_command(); if(Receive_CMD_flag==1) { Receive_CMD_flag=0; PWM_LED();} Receive_REQ(); if(Receive_REQ_flag==1) { Receive_REQ_flag=0; LED_Status();} }}*****************************7.3.2AT命令反*****************************voidResponse_OK(void){unsignedchari=0; while(i<=MAXNUM_GSM){if(Rx_data[i]=='O'&&Rx_data[i+1]=='K') { OK_flag=1; Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer Write_String(0,0,"OK",0);//行,列,字符,速度 return;}i++;} OK_flag=0; Write_String(1,0,"Response_error",0); }********************************7.4上位機(jī)程序及仿真界面7.4.1Labview簡介Labview是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā)的,類似于C和BASIC開發(fā)環(huán)境,但是Labview與其他計(jì)算機(jī)語言的顯著區(qū)別是:其他計(jì)算機(jī)語言都是采用基于文本的語言產(chǎn)生代碼,而Labview使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。與C和BASIC一樣,Labview也是通用的編程系統(tǒng),有一個(gè)完成任何編程任務(wù)的龐大函數(shù)庫。Labview的函數(shù)庫包括數(shù)據(jù)采集、GPIB、串口控制、數(shù)據(jù)分析、數(shù)據(jù)顯示及數(shù)據(jù)存儲(chǔ),等等。Labview也有傳統(tǒng)的程序調(diào)試工具,如設(shè)置斷點(diǎn)、以動(dòng)畫方式顯示數(shù)據(jù)及其子程序(子VI)的結(jié)果、單步執(zhí)行等等,便于程序的調(diào)試。本系統(tǒng)的上位機(jī)程序就是用Labview編寫的程序,并作出了遠(yuǎn)程監(jiān)控系統(tǒng)的在線監(jiān)控界面。7.4.2Labview軟件程序本上位機(jī)軟件部分用Labview編寫而成,其語言圖形化G語言形式。該程序由實(shí)時(shí)時(shí)鐘程序模塊,溫度采集顯示程序模塊,溫度報(bào)警程序模塊,圖形顯示程序等模塊組成。其軟件程序圖如圖7.3所示。圖7.3上位機(jī)程序圖上位機(jī)程序前面板顯示界面如圖7.4所示。圖7.4前面板顯示界面攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文)致謝攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文)結(jié)論結(jié)論在本次設(shè)計(jì)中,主要通過GPRS無線傳輸技術(shù),實(shí)現(xiàn)對(duì)遠(yuǎn)程無線溫度的采集,交互通信,實(shí)時(shí)控制。給出了系統(tǒng)硬件軟件的設(shè)計(jì)方法,具體方案,電路圖和程序代碼;并且編譯成功,還通過Labview制作了一個(gè)顯示控制界面。但由于時(shí)間原因過于緊湊,未能完成實(shí)物的焊接制作。通過這次設(shè)計(jì),使我較充分地掌握了電子設(shè)計(jì)的基礎(chǔ)知識(shí),培養(yǎng)了自身的系統(tǒng)設(shè)計(jì)思維,開拓了設(shè)計(jì)視野,能夠做到理論聯(lián)系實(shí)踐,為以后進(jìn)一步深入學(xué)習(xí)和深造奠定了基礎(chǔ)。攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文)參考文獻(xiàn)參考文獻(xiàn)[1]呂捷.GPRS技術(shù)[R].北京:北京郵電大學(xué)出版社,2003。[2]袁紅濤,GPRS技術(shù)應(yīng)用的軟硬件開發(fā)環(huán)境[J].北京:現(xiàn)代電子技術(shù),2004,27(16):97–99。[3]康華光.電子技術(shù)基礎(chǔ)[M].北京:北京高等教育出版社,2000。[4]劉大茂,智能儀器(單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì))[J].北京:機(jī)械工業(yè)出版社,1998。[5]金偉正.單線數(shù)字溫度傳感器的原理及應(yīng)用.北京:電子技術(shù)應(yīng)用,2000。[6]謝自美.電子線路設(shè)汁·實(shí)驗(yàn)·測試(第三版).武漢:華中科技大學(xué)出版社,2006。[7]閻石.數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,2006.[8]黃繼呂,季紙發(fā),過潤秋等.傳感器工作原理及應(yīng)用實(shí)例[M].北京:人民郵電出版社,1998。[9]田小輝,李明遠(yuǎn),田昕.基于GPRS的遠(yuǎn)程無線透傳終端系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].北京:現(xiàn)代電子技術(shù),2005,28(4):97—99。[10]沙占有,王彥朋,葛家怡.智能傳感器系統(tǒng)設(shè)計(jì)與應(yīng)用[M]北京:電子工業(yè)出版社,2004348~353。[11][美]RJ(Bud)Bates.通用分組無線業(yè)務(wù)(GPRS)技術(shù)與應(yīng)用[M]朱洪波等譯.北京:人民郵電出版社,2004。[12]R.J.(Bud)Bates著朱洪波,沈越泓,蔡躍明,程崇虎等譯.通用分組無線業(yè)務(wù)(GPRS)技術(shù)與應(yīng)用北京:人民郵電出版社[C].2004。[13]WongSKM,ZiarkoW.GeneralizedVectorSpaceModelInformationRetrieval[A].Proceedingsofthe8thAnnualACMS1GIRInternationalConferenceonResearchandDevelopmentInformationRetrieva1.1985:18—25.[14]DALLASSemiconductor.DS18B20DataSheet[Z].2002:1-26.[15]LinChineE,WuChih-Chen.ArealtimeGPRSsurveillancesystemusingtheembeddedsystem[J].IEEETelecomunicatioConference,2002,(v2):1678-1682.攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文)附錄A:程序代碼附錄A:程序代碼秒延時(shí)子程序voidDelay_ms(unsignedintn){unsignedinti=0;for(i=0;i<n;i++)Delay_1ms();} 連接完畢voidResponse_AT_Connected(void){unsignedchari=0;while(i<=MAXNUM_GSM){if((Rx_data[i]=='C'||Rx_data[i]=='A')&&(Rx_data[i+1]=='O'||Rx_data[i+1]=='L')&&(Rx_data[i+2]=='N'||Rx_data[i+2]=='R')&&(Rx_data[i+3]=='N'||Rx_data[i+3]=='E')&&(Rx_data[i+4]=='E'||Rx_data[i+4]=='A')&&(Rx_data[i+5]=='C'||Rx_data[i+5]=='D')&&(Rx_data[i+6]=='T'||Rx_data[i+6]=='Y')&&(Rx_data[i+7]=='O'||Rx_data[i+7]=='C')&&(Rx_data[i+8]=='K'||Rx_data[i+8]=='O')){ Connected_flag=1;//Clear_Rxbuffer(Rx_buffer_length;清RxbufferCurrent_bit=i;//Clear_CurrentBuffer(Current_bit,9);Write_String(2,0,"Connectedtothenet",0);//行,列,字符,速度return;}i++;}Connected_flag=0;Write_String(3,0,"Outofthenet",0);}發(fā)送完畢SENDOKvoidResponse_AT_Sended(void){unsignedchari=0;while(i<=MAXNUM_GSM){if(Rx_data[i]=='S' &&Rx_data[i+1]=='E' &&Rx_data[i+2]=='N' &&Rx_data[i+3]=='D' ){ Sended_flag=1;//Clear_Rxbuffer(Rx_buffer_length);//清RxbufferWrite_String(2,0,"sendok",0);//行,字符,速度 return;}i++;} Sended_flag=0; Write_String(3,0,"send_error",0);}無參數(shù)的傳輸函數(shù)部分voidsend_english_sms(void){Usart_PutString("AT\r"); Delay_ms(100);//等反饋信號(hào)延時(shí)Response_OK();//反饋OK Delay_ms(100);Clear_Rxbuffer(Rx_buffer_length);清RxbufferUsart_PutString("AT+CMGF=1\r"); Delay_ms(100);//等反饋信號(hào)延時(shí) Response_OK();//反饋OK Delay_ms(500);Clear_Rxbuffer(Rx_buffer_length);清RxbufferUsart_PutString("AT+CSCS=\"GSM\"\r"); Delay_ms(100);//等反饋信號(hào)延時(shí) Response_OK();//反饋0KDelay_ms(500);、Clear_Rxbuffer(Rx_buffer_length);清RxbufferUsart_PutString("AT+CMGS=\"139***\"\r");//AT+CMGS="139**" Delay_ms(100);//等反饋信號(hào)延時(shí) Response_Ready();//反饋> Delay_ms(500);Clear_Rxbuffer(Rx_buffer_length);清Rxbuffer Usart_PutString("wucanshuSMSchuanshushishiyan\x01a"); Delay_ms(2000);Delay_ms(2000);Delay_ms(2000);//等反饋信號(hào)延時(shí) Response_SMS_Finish(); Delay_ms(500);Clear_Rxbuffer(Rx_buffer_length);清Rxbuffer Delay_ms(10);}voidcall_diale(void){Usart_PutString("AT\r"); Delay_ms(1000);//等反饋信號(hào)延時(shí)Response_OK(); Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer Delay_ms(1000); Lcm_clear();//反饋OK Usart_PutString("ATD139*******;\r");//撥號(hào)139*****; Delay_ms(1000);//等反饋信號(hào)延時(shí) Response_OK(); Delay_ms(1000); Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer Delay_ms(10); }通過域名連接到GPRSvoiduse_DNS_GPRS(void){Usart_PutString("AT+CDNSCFG=\"8\"\r"); Delay_ms(100);//等反饋信號(hào)延時(shí)Response_OK(); Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer Delay_ms(10); Usart_PutString("AT+CDNSORIP=1\r"); Delay_ms(100);//等反饋信號(hào)延時(shí)Response_OK(); Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer Delay_ms(10);Usart_PutString("AT+CIPSTART=\"TCP\",\"*****.*****.NET\",\"8000\"\r");//AT+CIPSTART="TCP","*****.*****.NET","8000"Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);//等反饋信號(hào)延時(shí)Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);//等反饋信號(hào)延時(shí)Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);//等反饋信號(hào)延時(shí) Response_OK(); Response_AT_Connected();Clear_Rxbuffer(Rx_buffer_length);清RxbufferDelay_ms(10);Usart_PutString("AT+CDNSGIP=\".NET\"\r"); Delay_ms(100);//等反饋信號(hào)延時(shí)Response_OK();}voidConnect_to_ip(void){Usart_PutString("AT\r"); Delay_ms(100);//等反饋信號(hào)延時(shí)Response_OK(); Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer//Clear_GPRS_buffer(Rx_buffer_length);//GPRS_buffer Delay_ms(10); Usart_PutString("AT+CREG=1\r"); Delay_ms(100);//等反饋信號(hào)延時(shí)Response_OK(); Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer //Clear_GPRS_buffer(Rx_buffer_length);//GPRS_buffer Delay_ms(10);//Usart_PutString("AT+CREG?\r"); //Delay_ms(100);//等反饋信號(hào)延時(shí)//Response_AT_CREG();//+CREG:1,1//Clear_GPRS_buffer(Rx_buffer_length);//GPRS_buffer //Response_OK();//Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer//Clear_GPRS_buffer(Rx_buffer_length);//GPRS_buffer//Delay_ms(10); Usart_PutString("AT+CGATT=1\r");//附加到GPRS Delay_ms(100);//等反饋信號(hào)延時(shí) Response_OK(); Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer //Clear_GPRS_buffer(Rx_buffer_length);//GPRS_buffer//Delay_ms(10); //Usart_PutString("AT+CGATT?\r");//查詢是否附著 //Delay_ms(100);//等反饋信號(hào)延時(shí)//Response_AT_CGATT(); //Clear_GPRS_buffer(Rx_buffer_length);//GPRS_buffer //Response_OK(); //Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer //Clear_GPRS_buffer(Rx_buffer_length);//GPRS_buffer //Delay_ms(10);Usart_PutString("AT+CIPSTART=\"TCP\",\"***\",\"8000\"\r");//AT+CIPSTART="TCP","**.**.***","8000"Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);//等反饋信號(hào)延時(shí)Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);//等反饋信號(hào)延時(shí)Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);//等反饋信號(hào)延時(shí) //Response_OK();//Clear_GPRS_buffer(Rx_buffer_length);//GPRS_buffer Response_AT_Connected(); Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer //Clear_GPRS_buffer(Rx_buffer_length);//GPRS_bufferDelay_ms(10);}//Receive_from_GPRS;//GPRS接收到的數(shù)據(jù)//GPRS接收到的**.***PC發(fā)送過來的信息,CONNECTOK成功后若有數(shù)據(jù)則自動(dòng)接收voidTxdata_to_ip(void){ Usart_PutString("AT+CIPSEND\r");//請(qǐng)求發(fā)送數(shù)據(jù) Delay_ms(1000);//等反饋信號(hào)延時(shí) Delay_ms(1000);//等反饋信號(hào)延時(shí) Response_Ready();//反饋> Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer Delay_ms(10); Delay_ms(1000);//此處加延時(shí)是為了觀察狀態(tài),正式程序中去掉 Delay_ms(1000);//此處加延時(shí)是為了觀察狀態(tài),正式程序中去掉Usart_PutString("0F\x01a");//發(fā)送的數(shù)據(jù) Delay_ms(1000);//等反饋信號(hào)延時(shí) Delay_ms(1000);//等反饋信號(hào)延時(shí) Delay_ms(1000);//等反饋信號(hào)延時(shí)Response_AT_Sended();//成功反饋SENDOK Clear_Rxbuffer(Rx_buffer_length);//清Rxbuffer Delay_ms(10);}串口初始化函數(shù)OKvoidUsart_Init(void){UCSR0B=0x00;//設(shè)置時(shí)停止?fàn)顟B(tài)寄存器B UCSR0A=0x02;//倍速發(fā)送 UCSR0C=0x06;//八位長度 UBRR0L=0x67;//setbaudrateloUBRR0H=0x00;//setbaudratehi波特率:9600UCSR0B=0x98;//接收使能,發(fā)送使能,結(jié)束中斷使能 }字符發(fā)送函數(shù)OKvoidUsart_PutChar(unsignedcharcTxData){UDR0=cTxData; while(!(UCSR0A&0x40));//1位 UCSR0A=UCSR0A|0x40;}字符串發(fā)送函數(shù)OKVoidUsart_PutString(unsignedchar*pcString){ while(*pcString) { Usart_PutChar(*pcString++); }}中斷處理函數(shù)OK不接收空格#pragmainterrupt_handleruart0_rx_isr:19//uart0rx中斷程序voiduart0_rx_isr(void){unsignedcharstatus,data;status=UCSR0A;data=UDR0;if((status&(FRAMING_ERROR|PARITY_ERROR|DATA_OVERRUN))==0){ if(data!='') { Enter_flag=0;Rx_data[Rx_bit]=data;if((++Rx_bit==Rx_buffer_length)||(++Rx_counter==Rx_buffer_length)) { Rx_bit=0;Rx_counter=0; } if(data=='\n') { Enter_flag=1; } }}}緩存區(qū)清理函數(shù)OKvoidClear_Rxbuffer(unsignedcharlength){ unsignedcharbit; for(bit=0;bit<length;bit++) { Rx_data[bit]=0X00; } Rx_bit=0; Rx_counter=0; }voidClear_CurrentBuffer(unsignedcharbit,unsignedcharlength){ unsignedchari=0; for(i;i<length;i++) { Rx_data[bit]=0; } } 程序調(diào)試完畢端口初始化函數(shù)OKvoidPort_Init(void){ Delay_1ms();DDRA=0xff;PORTA=0x00;DDRB=0xF7; PORTB=0xF1;DDRC=0xff; PORTC=0xFF;//PC0->GPRS_PPC1->GPIO8C4->PWRKEY關(guān)閉GPRS電源

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論