基于單片機的水位遠(yuǎn)程監(jiān)測系統(tǒng)設(shè)計_第1頁
基于單片機的水位遠(yuǎn)程監(jiān)測系統(tǒng)設(shè)計_第2頁
基于單片機的水位遠(yuǎn)程監(jiān)測系統(tǒng)設(shè)計_第3頁
基于單片機的水位遠(yuǎn)程監(jiān)測系統(tǒng)設(shè)計_第4頁
基于單片機的水位遠(yuǎn)程監(jiān)測系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄TOC\o"1-3"\h\z一引言2二系統(tǒng)的總體設(shè)計3三硬件系統(tǒng)的設(shè)計43.1傳感器的選擇43.2單片機的選擇53.2.3復(fù)位電路73.2.4電源電路73.2.5模擬量采集電路83.3遠(yuǎn)程通信模塊的選擇83.4TC35的介紹123.6單片機的接口設(shè)計154.2.1首先進行初始化234.2.2短信中心地址的設(shè)置244.2.3短消息格式的設(shè)置254.2.4短消息的發(fā)送254.2.5短信接收264.2.6刪除短消息274.3串口程序284.4主處理程序30結(jié)論31致謝32附錄34英文文獻44一引言水位監(jiān)測屬于水利土木平安監(jiān)測的一個分支,是一項有重大實際意義的研究課題。目前,隨著單片機技術(shù)和無線通信技術(shù)的飛速開展,水利土木平安監(jiān)測手段也同樣得到了快速的開展。從最早的人工觀測,到使用電纜傳輸數(shù)據(jù)的有線觀測方法,再到現(xiàn)在的無線監(jiān)測系統(tǒng),可以說新技術(shù)層出不窮。國內(nèi)外己經(jīng)有大量的文章研究了將單片機技術(shù)應(yīng)用于平安監(jiān)測領(lǐng)域的課題,也有了很多相關(guān)產(chǎn)品的問世。但是水利監(jiān)測系統(tǒng)有這樣的特性,那就是每一個應(yīng)用,都有區(qū)別于其它應(yīng)用的地方,設(shè)計人員不能夠簡單照搬己有的監(jiān)測模式,而需要根據(jù)實際需求尋找最適宜的解決方案。隨著單片機技術(shù)的飛速開展,無論是在國內(nèi)還是國外,單片機技術(shù)都己經(jīng)得到了廣泛地應(yīng)用,其可靠性也得到了廣泛地驗證。單片機技術(shù)應(yīng)用于水利土木監(jiān)測領(lǐng)域,為各種平安監(jiān)測提供了強有力的技術(shù)支持。但是國內(nèi)外這方面的研究成果還是具有一定的差距。主要表達在,國際先進水平的水利土木平安監(jiān)測系統(tǒng),己經(jīng)得到了廣泛的應(yīng)用,形成了一定的市場規(guī)模和占有率。國際上處于領(lǐng)先水平的技術(shù)相對于國內(nèi)技術(shù)的優(yōu)勢在于:傳感器技術(shù)更先進,監(jiān)測系統(tǒng)的整體設(shè)計能力更強,從業(yè)公司比擬多,市場認(rèn)知度比擬高。國內(nèi)這方面的研究目前開展的也很多,開展相對來說也很快,市場前景也比擬看好。單片機大多都是興旺國家提供的產(chǎn)品,國內(nèi)在平臺設(shè)計方面比擬落后,但是本課題也能夠接觸到國際上比擬先進的單片機類型,能夠為系統(tǒng)構(gòu)建良好的硬件根底。在無線通信技術(shù)方面,也可以接觸到國際上比擬先進的無線通信技術(shù)。就像本課題中采用的GSM技術(shù),是一種遠(yuǎn)距離低數(shù)據(jù)率無線技術(shù),適合無線數(shù)據(jù)采集網(wǎng)絡(luò)。本文通過使用GSM技術(shù),很好的解決了用戶的需求。二系統(tǒng)的總體設(shè)計本系統(tǒng)采用傳感器作為數(shù)據(jù)采集終端,通過傳感器采集水位變化情況,然后用單片機處理數(shù)據(jù)并且控制水泵啟動停止,具體的有A/D轉(zhuǎn)換和數(shù)據(jù)的接受與發(fā)送,遠(yuǎn)程通信采用短消息的方式,最后由接受數(shù)據(jù)并且遠(yuǎn)程控制水位的上下。具體的系統(tǒng)方框圖如下:遠(yuǎn)程通信模塊單片機處理數(shù)據(jù)傳感器采集數(shù)據(jù)遠(yuǎn)程通信模塊單片機處理數(shù)據(jù)傳感器采集數(shù)據(jù)水泵啟動/停止水泵啟動/停止GSM網(wǎng)絡(luò)遠(yuǎn)程通信模塊GSM網(wǎng)絡(luò)遠(yuǎn)程通信模塊圖2-1系統(tǒng)方框圖在本系統(tǒng)中主要分為兩大局部,硬件的選擇和軟件的編程,其中硬件的選擇有傳感器的選擇,單片機的選擇,單片機電源的選擇,單片機復(fù)位芯片的選擇。除此之外還要選擇遠(yuǎn)程通訊系統(tǒng)模塊,通訊模塊的電源芯片,遠(yuǎn)程通訊系統(tǒng)與上位機的通信電平的轉(zhuǎn)換芯片都需要挑選與搭配。軟件局部主要分為單片機的編程和TC35編程。三硬件系統(tǒng)的設(shè)計3.1傳感器的選擇在本文中采用的是佛山市順德區(qū)昊勝傳感儀器生產(chǎn)的PTH601型傳感器,下面具體介紹一下工作標(biāo)準(zhǔn)以及原理。

PTH601采用擴散硅壓阻芯體或陶瓷壓阻芯體,316全不銹鋼結(jié)構(gòu),主要適用于河流、地下水位、水庫、水塔及容器等的液位測量與控制。量程:10mmH2O~100mH2O(水位高/深度)

綜合精度:0.2%FS、0.5%FS、1.0%FS

輸出信號:4~20mA(二線制)供電電壓:24DCV(9~36DCV)

介質(zhì)溫度:0~85℃環(huán)境溫度:常溫(-20~85℃)

負(fù)載電阻:電流輸出型:最大800Ω;電壓輸出型:大于50KΩ

絕緣電阻:大于2000MΩ(100VDC)

密封等級:IP68

長期穩(wěn)定性能:0.1%FS/年振動影響:在機械振動頻率20Hz~1000Hz內(nèi),輸出變化小于0.1%FS

電氣接口(信號接口):緊線防水螺母與五芯通氣電纜連接。機械連接(螺紋接口):投入式圖3-1傳感器外形尺寸圖3-2傳感器形狀具體介紹一下擴散硅壓阻芯體或陶瓷壓阻芯體傳感器的原理,本傳感器是利用電阻應(yīng)變片將應(yīng)變轉(zhuǎn)換為電阻值變化的傳感器,屬于應(yīng)變傳感器。它的根本結(jié)構(gòu)是應(yīng)變式傳感器由彈性元件上粘貼電阻應(yīng)變片構(gòu)成。電阻應(yīng)變片的工作原理是基于應(yīng)變效應(yīng),即導(dǎo)體或半導(dǎo)體材料在外界力的作用下產(chǎn)生機械變形時,其電阻值相應(yīng)發(fā)生變化。當(dāng)被測物理量作用于彈性元件上,彈性元件在力、力矩或壓力等的作用下發(fā)生變形,產(chǎn)生相應(yīng)的應(yīng)變或位移,然后傳遞給與之相連的應(yīng)變片,引起應(yīng)變片的電阻值變化,通過測量電路變成電量輸出。輸出的電量大小反映被測量的大小。3.2單片機的選擇MSP430f1XX系列單片機是一種超低功耗的混合信號控制器,它根據(jù)不同的應(yīng)用提供不同的具體型號的單片機,以滿足不同用戶的需求。MSP430F149具有以下特點介紹:超低的工作電壓1.8-3.6V,1MHz的時鐘頻率下運行,耗電量在0.1μA-400μA之間。強大的處理能力。MSP430F1XX系列單片機為16位的RSIC結(jié)構(gòu),具有豐富的尋址方式,簡潔的指令,大量的存放器以及片內(nèi)的數(shù)據(jù)存儲器都可以參加多種運算。8MHz晶體下運算能力到達1MIPS〔每秒運算100萬條指令〕,是傳統(tǒng)的51單片機遠(yuǎn)遠(yuǎn)達不到的。這些特點是該單片機采用C語言開發(fā)時候仍能有很高的工作效率,從而可以提高開發(fā)的周期,也可以實現(xiàn)程序的可移植性。系統(tǒng)工作穩(wěn)定。MSP430F1XX系列單片機在上電復(fù)位后,首先由DCOCLK啟動CPU,保證系統(tǒng)從正確的位置開始執(zhí)行,同時也保證晶體震蕩器有足夠的起振及穩(wěn)定時間。在CPU運行中,軟件可以設(shè)置特定的存放器控制位來確定最后的系統(tǒng)工作時鐘頻率。如果MCLK發(fā)生故障,DCO會自動啟動,以保證系統(tǒng)正常工作,如果程序出錯,可以通過看門狗來解決。片內(nèi)有12位的A/D轉(zhuǎn)換器,片內(nèi)提供參考電壓。A/D轉(zhuǎn)換器具有采樣保持電路和自動掃描特點。具有靈活的時鐘設(shè)置。主要有32K的晶體方式,高頻率晶體方式,諧振器方式和外部時鐘方式。這樣可以根據(jù)功耗和速度要求進行靈活的時鐘設(shè)置。串口通信模塊:USART0,USART1。兩個串口都可以通過軟件設(shè)置成UART方式或者SPI方式,由于該系列單片機提供了兩個串口,因此能為用戶進行多機通信設(shè)計提供方便。片內(nèi)提供較多的存儲器,MSP430F149提供片內(nèi)的FLASH為60K,同時片內(nèi)還提供較多的RAM,以便進行運算處理。提供P1.0-P6.0共6個數(shù)據(jù)端口,能為用戶提供更多的處理功能。單片機P口介紹:MSP430F149有6個8位的P口,其中P1、P2口占兩個中斷向量,共可以接16個中斷源,還可以直接利用P口的輸入輸出存放器,直接對外進行通信。因為所有的P口都是和其他外設(shè)復(fù)用的,因此在用端口之前都要用功能選擇存放器選定所用的功能是外設(shè)還是P口,選定之后還要在方向存放器中確定是是輸出還是輸入。具體的硬件原理圖如下:圖3-3單片機的管腳圖復(fù)位電路在單片機系統(tǒng)里,單片機需要復(fù)位電路,復(fù)位電路可以采用R-C復(fù)位電路,也可以采用復(fù)位芯片實現(xiàn)復(fù)位,R-C復(fù)位電路具有經(jīng)濟性,但是可靠性不高,用復(fù)位芯片實現(xiàn)復(fù)位具有很高的可靠性。復(fù)位電路采用復(fù)位芯片實現(xiàn)復(fù)位,使用芯片具有很高的可靠性,在該系統(tǒng)里采用MAX232芯片,如以下圖:圖3-4復(fù)位電路圖為了減小電源的干擾,還需要在復(fù)位芯片的電源輸入端加一個0.1μF的電容實現(xiàn)濾波,減小輸入端受到的干擾。電源電路單片機系統(tǒng)里使用的是3.3V供電,因為硬件系統(tǒng)里對電源的要求具有穩(wěn)壓功能和紋波小等特點,因此該系統(tǒng)的電源局部采用TI公司的TPS76033芯片,該芯片能很好的滿足硬件的要求,另外該芯片具有很小的封裝,因此有效的節(jié)約了PCB板的面積。具體電路如下:圖3-5電源電路為了使輸出電源波紋小,在輸出局部用了一個2.2μF和0.1μF的電容,另外在輸入端也放置了一個0.1μF的濾波電容,減小輸入端受到的干擾。模擬量采集電路在該系統(tǒng)中最前端為傳感器,傳感器采集傳輸?shù)氖悄M信號,信號為標(biāo)準(zhǔn)的電流信號〔4mA-20mA〕,信號相當(dāng)微弱而且單片機采集的是電壓信號所以要求將電流信號轉(zhuǎn)換成電壓信號,具體的電路如以下圖:圖3-6模擬量采集電路采集電路通過一個電阻將電流信號轉(zhuǎn)換成電壓信號,為了提高采集精度,需要很高精度的電阻,這里采用精度為1%的電阻。電路中采用二極管作為ESD保護電路,考慮到干擾的問題,采用電容進行濾波處理,增加電路的干擾問題。3.3遠(yuǎn)程通信模塊的選擇GSM的涵義GSM全名為:GlobalSystemforMobileCommunications,中文為全球移動通訊系統(tǒng),俗稱"全球通",是一種起源于歐洲的移動通信技術(shù)標(biāo)準(zhǔn),是第二代移動通信技術(shù),其開發(fā)目的是讓全球各地可以共同使用一個移動網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶使用一部就能行遍全球。我國于20世紀(jì)90年代初引進采用此項技術(shù)標(biāo)準(zhǔn),此前一直是采用蜂窩模擬移動技術(shù),即第一代GSM技術(shù)〔2001年12月31日我國關(guān)閉了模擬移動網(wǎng)絡(luò)〕。目前,中國移動、中國聯(lián)通各擁有一個GSM網(wǎng),為世界最大的移動通信網(wǎng)絡(luò)。GSM系統(tǒng)包括GSM900:900MHz、GSM1800:1800MHz及GSM1900:1900MHz等幾個頻段。我國陸地公用蜂窩數(shù)字移動通信網(wǎng)GSM通信系統(tǒng)采用900MHz頻段:890~915〔移動臺發(fā)、基站收〕935~960〔基站發(fā)、移動臺收〕雙工間隔為45MHz,工作帶寬為25MHz,載頻間隔為200kHz。隨著業(yè)務(wù)的開展,可視需要向下擴展,或向1.8GHz頻段的GSM1800過渡,即1800MHz頻段:1710~1785〔移動臺發(fā)、基站收〕1805~1880〔基站發(fā)、移動臺收〕雙工間隔為95MHz,工作帶寬為75MHz,載頻間隔為200kHz。GSM短信平臺組網(wǎng)優(yōu)點信道穩(wěn)定,傳輸質(zhì)量好,傳輸速率可達960bps以上。系統(tǒng)容量較大,可傳輸數(shù)據(jù)量大,一條短信所能容納的數(shù)據(jù)量最多可達100字節(jié)以上。GSM信道無需中繼,利用公網(wǎng),不需要自建和維通信網(wǎng),組網(wǎng)十分靈活。GSM系統(tǒng)體積小,重量輕,工耗低。不需要架設(shè)室外天線,安裝方便,不僅一次性投資少,而且維護管理簡單,運行費用低。短信平臺的缺點1)受到GSM網(wǎng)絡(luò)覆蓋的面積限制,可能有些偏遠(yuǎn)的站點無法通信組網(wǎng),因此適合在網(wǎng)絡(luò)覆蓋的范圍之內(nèi)。2)短信的接受會出現(xiàn)延時現(xiàn)象,這就要求在使用的時候充分考慮具體控制余量的問題。SMS卡的介紹SMS〔ShortMessagingService〕是最早的短消息業(yè)務(wù),也是現(xiàn)在普及率最高的一種短消息業(yè)務(wù)。目前,這種短消息的長度被限定在140字節(jié)之內(nèi),這些字節(jié)可以是文本的,可以是70個漢字,或者是140個英文字母。SMS以簡單方便的使用功能受到群眾的歡送,是屬于第一代的無線數(shù)據(jù)效勞。SIM〔SubscriberIdentityModule〕卡叫用戶身份識別模塊。它實際上是一張內(nèi)含大規(guī)模集成電路的智能卡,用來登記用戶身份識別數(shù)據(jù)和信息。它是GSM系統(tǒng)中不可缺少的一個重要局部,是用戶接入GSM網(wǎng)絡(luò)的憑證,只有插入了SIM卡,移動終端才能接入網(wǎng)絡(luò)。它的組成由CPU〔8〕位,程序存儲器〔3-8bit〕,工作存儲器〔6-16bit〕,數(shù)據(jù)存儲器(128-256kbit)和串行通信單元五個局部組成。89860081100240557419圖3-7SIM卡的正面SIM卡正面上有20值數(shù)碼,前面的6位是中國的代號,第7位是業(yè)務(wù)接入號,在135,136,137,138,139中分別為5,6,7,8,9一般為0,現(xiàn)在的預(yù)付費SIM卡為1,第9,10位是各省的編碼,第11,12位是年號,第13位是供給商代碼,第14-19位是用戶識別碼,第20位是校驗位。SIM卡的物理結(jié)構(gòu)如下:C1C5C2C6C3C7C4C8圖3-8SIM卡的反面一共有8個觸點,各個觸點如下:C1:Vcc電源電壓。C2:RST復(fù)位端。C3:CLK時鐘,時鐘速率通常由移動終端提供,SIM卡支持1-5MHz時鐘,它在指定時間內(nèi)運行監(jiān)權(quán)過程時至少需要13/4MHz的時鐘頻率,其它情況下使用13/8MHz的時鐘頻率。C4:無定義,為將來使用保存。C5:GND地。C6:Vpp編程電壓。C7:I/O輸入輸出。C8:無定義,為將來使用保存。AT指令及介紹GSM模塊通過AT命令與單片機通信。首先來了解一下AT指令。AT指令如下:AT+CMGCSendanSMScommand〔發(fā)出一條短消息命令〕AT+CMGDDeleteSMSmessage〔刪除SIM卡內(nèi)存的短消息〕AT+CMGFSelectSMSmessageformate〔選擇短消息信息格式:0-PDU;1-文本〕AT+CMGLListSMSmessagefrompreferredstore〔列出SIM卡中的短消息PDU/text:0/“RECUNREAD〞-未讀,1/“RECREAD〞-已讀,2/“STOUNSENT〞-待發(fā),3/“STOSENT〞-已發(fā),4/“ALL〞-全部的〕AT+CMGRReadSMSmessage〔讀短消息〕AT+CMGSSendSMSmessage〔發(fā)送短消息〕AT+CMGWWriteSMSmessagetomemory〔向SIM內(nèi)存中寫入待發(fā)的短消息〕AT+CMSSSendSMSmessagefromstorage〔從SIN|M內(nèi)存中發(fā)送短消息〕AT+CNMINewSMSmessageindications〔顯示新收到的短消息〕AT+CPMSPreferredSMSmessagestorage〔選擇短消息內(nèi)存〕AT+CSCASMSservicecenteraddress〔短消息中心地址〕AT+CSCBSelectcellbroadcastmessages〔選擇蜂窩播送消息〕AT+CSMPSetSMStextmodeparameters〔設(shè)置短消息文本模式參數(shù)〕AT+CSMSSelectMessageService〔選擇短消息效勞〕經(jīng)過以上了解現(xiàn)在來對GSM模塊進行軟件編寫。所有的AT指令〔除了重復(fù)命令A(yù)/以外〕都由AT開頭,除了發(fā)送短信消息最后是以<CTRL>+<Z>結(jié)束外,其余的都是以回車〈CR〉結(jié)束的。響應(yīng)形式都是〈CR〉〈LF〉〈response〉〈CR〉〈LF〉。常用初始化指令:設(shè)置單片機和GSM模塊的通信波特率AT+IPR=9600〈CR〉設(shè)置短消息中心號碼AT+CSCA=“〞〈CR〉,正確返回〈CR〉〈LF〉OK〈CR〉〈LF〉,〈CR〉〈LF〉是回車換行符號。如果讀取短消息中心號碼,那么命令為AT+CSCA=?〈CR〉,模塊應(yīng)該返回〈CR〉〈LF〉+CSCA:“〞〈CR〉〈LF〉。設(shè)置短消息發(fā)送格式AT+CMGF=1〈CR〉,設(shè)置1代表text格式,指令正確返回〈CR〉〈LF〉OK〈CR〉〈LF〉。保存當(dāng)前的設(shè)置AT&W。把當(dāng)前的通信波特率,短消息中心代碼和短消息發(fā)送格式寫入模塊。短消息操作指令短消息數(shù)據(jù)的長度AT+CMGS=8〈CR〉等待GSM模塊返回“〉〞那么可以將text格式數(shù)據(jù)輸入,text格式數(shù)據(jù)以〈CTRL〉+〈Z〉作為結(jié)束符,短消息發(fā)送成功返回〈CR〉〈LF〉OK〈CR〉〈LF〉。設(shè)置短消息到達自動提示AT+CNMI=1,1,0,0,<CR>,設(shè)置正確返回〈LF〉OK〈CR〉〈LF〉。錯誤返回+CMSERROR:<ERR>。設(shè)置此命令可使模塊在消息到達后向單片機發(fā)送指令<CR><LF>+CMTI:“SM〞,INDEX〔信息在SIM中的存儲位置〕<CR><LF>。讀取短消息。模塊接受到新的短消息之后,向單片機發(fā)送字符<CR><LF>+CMTI:“SM〞,INDEX<CR><LF>。于是讀取該短消息的AT指令A(yù)T+CMGR=INDEX<CR><LF>,模塊返回剛收到的短消息text格式短消息內(nèi)容。刪除短消息。SIM卡內(nèi)存有限,所以防止卡中內(nèi)存缺乏,在收到短息并且處理數(shù)據(jù)之后,將該短消息刪除,刪除指令A(yù)T+CMGD=INDEX<CR>,刪除后模塊返回<CR><LF>OK<CR><LF>。3.4TC35的介紹TC35是西門子公司推出的一種無線通信GSM模塊,可以平安的傳輸方案中的數(shù)據(jù),完成短信效勞。模塊的工作電壓為3.3V-5.5V,可以工作在900MHz和1800MHz兩個頻段,所在頻段功耗分別為2W和1。模塊有AT指令接口,支持PDU模式的短信和文本格式的短信。第3組的2類以及2.4K,4.8K,9.6K的非透明模式。此外,該模塊還有薄功能,多方通話,漫游檢測等功能。常用的工作模式有省電模式,IDLETALK等模式。具有獨特的40管腳的ZIF連接器,通過ZIF連接器以及50Ω天線連接器,可以分別連接SIM卡支架和天線。TC35模塊主要由GSM基帶處理器,GSM射頻模塊,供電模塊,閃存,ZIF連接器和天線接口組成。以下圖是TC35的具體模塊圖:40引腳ZIF插座FlashROM無線連接器40引腳ZIF插座FlashROM無線連接器基帶處理器射頻電路基帶處理器射頻電路電源電源圖3-9TC35物理結(jié)構(gòu)圖TC35是一個完整的GSM模塊,本身能夠完成獨立的功能,外部通過40管腳的ZIF連接器對TC35模塊進行控制,從而實現(xiàn)電源連接,指令數(shù)據(jù),語音信號以及控制信號的雙向傳輸。以下圖給出了ZIF連接器的管腳圖:圖3-10TC35的管腳圖下面具體介紹在本系統(tǒng)使用到的管腳:VBATT+:供電膠管。供電電壓在3.3V-5.5V之間,該膠管還必須滿足峰值電流為2A。當(dāng)模塊在充電的時候,該膠管還可以作為輸出管腳。所有的VBATT+必須并行連接在一起。GND:接地管腳。/IGT:啟動管腳。該管腳用來啟動TC35模塊進行工作。該腳管低電平有效。RXD0:發(fā)送數(shù)據(jù)到DTE。TXD0:接收數(shù)據(jù)從DTE。CTS0:去除發(fā)送。該信號有效表示TC35模塊準(zhǔn)備接受DTE數(shù)據(jù)。RTS0:請求發(fā)送。該信號有效表示DTE準(zhǔn)備發(fā)送數(shù)據(jù)到TC35模塊。如果該管腳不用的話,通過一個10K的電阻將該管腳拉高。DTR0:數(shù)據(jù)終端準(zhǔn)備好,DTE控制該信號線有效。如果該管腳不用的話,通過一個10K的電阻將該管腳拉高。CCIN:SIM卡連接膠管。該管腳用來檢測SIM卡是否連接上,如果連上,該膠管被設(shè)置成高電平,如果沒有連接上,那么該管腳被設(shè)置成低電平。CCRET:SIM卡復(fù)位管腳。由基帶處理器提供。CCIO:SIM卡的串行數(shù)據(jù)總線。輸入輸出數(shù)據(jù)。CCCLK:SIM卡的時鐘線。CCVCC:SIM卡的電源輸出管腳。CCGND:SIM卡的接地管腳。3.5TC35的硬件設(shè)計TC35的電源設(shè)計對于TC35模塊采用3.6V供電,由于該電源電流必須滿足輸出電流能夠到達2A,在此采用NATIONAL公司的LP3966-ADJ芯片。該芯片的管腳2為shutdown管腳,在設(shè)計的時候必須通過一個10K的電阻拉高到5V。為了使3.6V輸出電源波紋小,在輸出局部用了一個68Pf,33μF和0.1μF的電容,實現(xiàn)濾波。另外在芯片的輸入端也放置了一個68μF的濾波電容,減小輸入端收到的干擾。具體的電路如下:圖3-11TC35電源電路TC35接口設(shè)計TC35主要通過串口與單片機進行通訊,從而對TC35的控制,通過與單片機的UART進行兩線連接,對于TC35的其他管腳不用的時候懸空處理,如果該管腳為輸入的話,通過一個10K的電阻上拉。另外/IGT管腳使控制TC35模塊工作的管腳,需要上拉,并且將該管腳與單片機連接,從而實現(xiàn)單片機控制TC35的工作狀態(tài)。它的電源管腳并聯(lián)在一起,另外TC35還需要連接SIM卡座子,下面為具體的接設(shè)計:圖3-12TC35的接口設(shè)計圖SIM卡座子TC35模塊的SIM卡座子采用的是MOLEX座子,該座子由8個管腳,而TC35模塊的管腳只有6個,具體的電路如下:圖3-13SIM卡座子接線圖上圖只需要把對應(yīng)的管腳與TC35連接,在電源接地端參加電容濾波處理,到達減小波紋的目的。3.6單片機的接口設(shè)計作為這個系統(tǒng)的核心處理局部,主要完成與TC35通信,它們是通過串口UART0實現(xiàn)的,雖然這兩者的供電電壓不同但是他們的接口點評可以直接相連,不需要電平轉(zhuǎn)換。單片機通過一個I/O口來控制TC35的工作狀態(tài),MSP430F149單片機由兩個時鐘輸入,即一個32kHz的時鐘信號,一個8MHz的時鐘信號。該系統(tǒng)的時鐘局部是通過晶體振蕩器實現(xiàn)的。電源的管腳參加一個0.1μF的電容來濾波,模擬地和數(shù)字地共地,模擬電源輸入端增加一個濾波電容,設(shè)置p1.5口來作為啟動通信的按鍵,由于p1.5作為中斷來使用,這里設(shè)置成低電平出發(fā)方式,需要將管腳拉高。P1.0作為輸出口,與TC35模塊的/IGT管腳連接實現(xiàn)控制TC35的工作。連接傳感器并且進行A/D轉(zhuǎn)換的接口設(shè)置為P6.0口,單片機的電源分別接入AVCC和DVCC復(fù)位端為RESET0接口,并且通過I/O口P1.1發(fā)出高電平信號來實現(xiàn)水泵的啟動停止,具體的過程是由軟件來實現(xiàn)的。下面為單片機的接口設(shè)計:圖3-14單片機外部接線設(shè)計圖3.7電平轉(zhuǎn)換局部本板子提供TTL電平可以實現(xiàn)[PC-MCU,PC_TC35,TC35-MCU],簡單實現(xiàn)適應(yīng)各種MCU的TTL電平轉(zhuǎn)換。TTL接口如以下圖圖3-15TTL接口從排針可以看出需要6-45-3這樣實現(xiàn)TC35的TTL電平和MCU的TTL電平接入如以下圖圖3-16TTL接口連線圖接好MCU的TTL電平,注意應(yīng)該是發(fā)送對于接收[MCU_TTC35_RMCU_RTC35_TMCU_GNDTC35_GND]如圖圖3-17實物圖TC35接線局部GSM端 白色VCC 黑色GND 紅色GSM_RXD 橙色GSM_TXD圖3-18實物圖430接線局部單片機端: 紅色P3.0MCU_RXD 橙色P3.1MCU_TXD切記:先啟動TC35。讓TC35注冊到網(wǎng)絡(luò)。MCU下載程序后自動復(fù)位,TC35不要斷電。四系統(tǒng)的軟件設(shè)計4.1模擬量采集MSP430F149單片機中集成了14路12位A/D轉(zhuǎn)換,其中8路屬于外部的信號轉(zhuǎn)換,3路是對內(nèi)部參考電壓的檢測轉(zhuǎn)換,1路是接溫控的傳感電壓轉(zhuǎn)換,每一路轉(zhuǎn)換都有一個可控制的轉(zhuǎn)換存儲器,而且,參考電平和時鐘源都是可選擇的,可以外部提供的.這給使用上帶來了很大的靈活性.原理上不同于一般積分和逐次比擬等A/D轉(zhuǎn)換原理,它的輸入信號是加在A/D的電容網(wǎng)絡(luò)上的,通過電容的充電來采樣信號進行A/D轉(zhuǎn)換的.其時序可以歸納為:加信號,開始采樣時序加信號,開始采樣時序選擇通道模式,參考電平,時鐘源,分頻因子,及中斷允許轉(zhuǎn)換結(jié)束寫結(jié)束采樣控制位,轉(zhuǎn)換結(jié)束寫結(jié)束采樣控制位,開始轉(zhuǎn)換延時到采樣結(jié)束時序下次轉(zhuǎn)換下次轉(zhuǎn)換圖4-1時序框圖模擬量采集模塊主要是單片機通過A/D通道采集來自傳感器的信號,將信號進行處理。MSP430F149的A/D轉(zhuǎn)換有幾種模式,比方序列通道單次轉(zhuǎn)換,序列通道屢次轉(zhuǎn)換,在本系統(tǒng)中采用的是序列通道屢次轉(zhuǎn)換。下面是A/D轉(zhuǎn)換方框圖:定時器A中斷到來定時器A中斷到來停止A/D轉(zhuǎn)換停止A/D轉(zhuǎn)換讀取數(shù)據(jù)讀取數(shù)據(jù)啟動A/D轉(zhuǎn)換啟動A/D轉(zhuǎn)換設(shè)置標(biāo)志位設(shè)置標(biāo)志位圖4-2A/D轉(zhuǎn)換方框圖單片機通過A/D通道采集來自傳感器的信號,然后將信號進行處理。選用序列通道單次轉(zhuǎn)換,數(shù)據(jù)采集的間隔時間通過定時器A來完成,在每次定時器A中斷到來時讀取A/D采集到的數(shù)據(jù),在讀取之前先停止A/D轉(zhuǎn)換,在讀取數(shù)據(jù)完成后自動啟動A/D轉(zhuǎn)換,如果得到數(shù)據(jù),那么設(shè)置一個標(biāo)志位通知主程序,告訴主程序已經(jīng)得到新的數(shù)據(jù)。具體的程序如下:voidInit_ADC(void);voidInit_TimerA(void);voidInit_ADC(void){//設(shè)置P6.0為模擬輸入通道P6SEL=0X07;//設(shè)置ENC為0,從而修改ADC12存放器的值A(chǔ)DC12CTL0&=~(ENC);//轉(zhuǎn)換的起始地址為:ADCMEM0ADC12CTL1|=CSTARTADD_0; //設(shè)置參考電壓分別為AVSS和AVCC,輸入通道為A0ADC12MCTL0=INCH_0+EOS;ADC12CTL0|=ADC12ON;ADC12CTL0|=MSC;//轉(zhuǎn)換模式為:單通道、屢次轉(zhuǎn)換ADC12CTL1|=CONSEQ_2;//SMCLKADC12CTL1|=ADC12SSEL_1;//時鐘分頻為1ADC12CTL1|=ADC12DIV_0; //采樣脈沖由采用定時器產(chǎn)生ADC12CTL1|=(SHP); //使能ADC轉(zhuǎn)換ADC12CTL0|=ENC; return;}////////////////////////////////通過設(shè)置CCR0設(shè)置定時器中斷的頻率{TACTL=TASSEL1+TACLR;//選擇SMCLK,去除TARTACTL+=ID1;TACTL+=ID0;//1/8SMCLKCCTL0=CCIE;//CCR0中斷允許CCR0=32768;//時間間隔1sTACTL|=MC0;//增記數(shù)模式return;}////////////////////////////////////定時器中斷完成A/D轉(zhuǎn)換voidInit_ADC(void);voidInit_TimerA(void);//定時器中斷,完成ADC轉(zhuǎn)換interrupt[TIMERA0_VECTOR]voidTimerA_ISR(void){intresults;ADC12CTLO&=~ENC;//關(guān)閉轉(zhuǎn)換results=ADC12MEM0;//讀出轉(zhuǎn)換結(jié)果ADC_BUF[nADC_Count]=result;nADC_Count+=1;//設(shè)置標(biāo)志if(nADC_Count==10){nADC_Flag=1;for(inti=0;i<10;i++)ADC_BUF_Temp[i]=ADC_BUF[i];nADC_Count=0;//將數(shù)據(jù)倒向緩沖區(qū)}ADC12CTL0|=ENC=ADC12SC;//開啟轉(zhuǎn)換}以上程序使用了全局變量nADC_Flag,通過nADC_Flag變量通知主程序有新的數(shù)據(jù)到來,全局變量nADC_Count用來技術(shù)處理,nADC_BUF0[]等全局變量,用來臨時存放數(shù)據(jù),nADC_BUF_Temp[]等全局變量用來作為與主程序交換數(shù)據(jù)的緩沖區(qū)。4.2發(fā)送與接受短信的實現(xiàn)在前面了解了短息相關(guān)的AT指令之后,對短信的操作有了一些根本的概念,在這一節(jié)了面具體介紹相關(guān)的短信操作的實現(xiàn)。在本系統(tǒng)中,短信的操作是基于TEXT格式的。因為TEXT格式的短信實現(xiàn)起來比擬容易,而且能夠滿足本系統(tǒng)的要求,在本系統(tǒng)中傳感器采集的電壓經(jīng)過轉(zhuǎn)換之后傳給TC35的是數(shù)字量,不需要編碼與解碼,所以相對于PDU格式的短信具有相當(dāng)大的優(yōu)勢。短消息的實現(xiàn)主要有短消息中心地址的設(shè)置,短消息格式的設(shè)置,短消息發(fā)送,短消息接受,短消息刪除等操作。以下圖是發(fā)送短消息軟件流程圖:開始開始輸入短消息內(nèi)容輸入短消息內(nèi)容發(fā)送短消息?發(fā)送短消息?送出短消息目的號碼送出短消息目的號碼送出短消息目的內(nèi)容送出短消息目的內(nèi)容結(jié)束結(jié)束圖4-3發(fā)送短消息軟件流程圖接受短消息的軟件流程圖如下:開始開始退出退出正常響應(yīng)?正常響應(yīng)?Y發(fā)出讀取短消息指令Y發(fā)出讀取短消息指令超時?超時?N傳輸完畢?傳輸完畢?NY刪除接收區(qū)中無用的短消息刪除接收區(qū)中無用的短消息輸出短消息內(nèi)容輸出短消息內(nèi)容結(jié)束結(jié)束圖4-4接收短消息軟件流程首先進行初始化//初始化inttc35_init(charpBuf[]){pBuf[0]='A';pBuf[1]='T';pBuf[2]='E';pBuf[3]='0';pBuf[4]=13;return5;}4.2.2短信中心地址的設(shè)置//設(shè)置短信中心地址intsetCsca(charpBuf[]){pBuf[0]='A';pBuf[1]='T';pBuf[2]='+';pBuf[3]='C';pBuf[4]='S';pBuf[5]='C';pBuf[6]='A';pBuf[7]='=';pBuf[8]='+';pBuf[9]='8';pBuf[10]='6';pBuf[11]='1';pBuf[12]='3';pBuf[13]='8';pBuf[14]='0';pBuf[15]='0';pBuf[16]='3';pBuf[17]='1';pBuf[18]='1';pBuf[19]='5';pBuf[20]='0';pBuf[21]='0';pBuf[22]=',';pBuf[23]='1';pBuf[24]='4';pBuf[25]='9';pBuf[26]='13';//結(jié)束字符return27;//返回數(shù)據(jù)包長度}該程序中,封裝好命令“〞,函數(shù)返回的是數(shù)據(jù)包的長度,其中“〞為信息中心地址。命令中的149為地址識別號4.2.3短消息格式的設(shè)置在發(fā)送短消息的時候,需要選擇短消息的格式,短消息的格式分為兩種,分別為TEXT何PDU格式。該系統(tǒng)的格式為TEXT格式,具體程序如下://設(shè)置短消息格式intsetCmgf(charpBuf[]){pBuf[0]='A';pBuf[1]='T';pBuf[2]='+';pBuf[3]='C';pBuf[4]='M';pBuf[5]='G';pBuf[6]='F';pBuf[7]='=';pBuf[8]='1';//短消息格式為TEXT格式pBuf[9]=13;//結(jié)束字符return10;//返回數(shù)據(jù)包長度}在該程序中,封裝好命令“AT+CMGF=1”,函數(shù)返回的是數(shù)據(jù)包的長度。由于設(shè)置的格式為TEXT格式,所以參數(shù)設(shè)置為“4.2.4短消息的發(fā)送//短消息的發(fā)送intsetCsca(charpBuf[]){pBuf[0]='A';pBuf[1]='T';pBuf[2]='+';pBuf[3]='C';pBuf[4]='M';pBuf[5]='G';pBuf[6]='S';pBuf[7]='=';pBuf[8]='+';pBuf[9]='8';pBuf[10]='6';pBuf[11]='1';pBuf[12]='3';pBuf[13]='8';pBuf[14]='0';pBuf[15]='0';pBuf[16]='3';pBuf[17]='1';pBuf[18]='1';pBuf[19]='5';pBuf[20]='0';pBuf[21]='0';pBuf[22]=',';pBuf[23]='1';pBuf[24]='4';pBuf[25]='5';pBuf[26]=(char)(index&0xff+0x30);//指針指向所需數(shù)據(jù)pBuf[27]='26';//結(jié)束字符return28;//返回數(shù)據(jù)包的長度}在該程序中,封裝好了命令“AT+CMGS=<da>,[<toda>]<cr>〞命令,<da>為字符串形式的目的地址,<toda>為地址類型識別號,當(dāng)<da>的第一個是“+〞時候,<toda>的值為數(shù)值“145〞,否那么為“129〞。4.2.5短信接收//接收短消息intrevSms(charpBuf[]){pBuf[0]='A';pBuf[1]='T';pBuf[2]='+';pBuf[3]='C';pBuf[4]='M';pBuf[5]='G';pBuf[6]='R';pBuf[7]='=';pBuf[8]=(char)(index&0xff+0x30);//接收指針指向的數(shù)據(jù)pBuf[9]=13;//結(jié)束字符return10;//返回數(shù)據(jù)包長度}在該程序中封裝好了“AT+CMGR=<DA>〞其中da為index的具體指針指向數(shù)據(jù)。4.2.6刪除短消息//刪除短消息intdeleteSms(charpBuf[]){pBuf[0]='A';pBuf[1]='T';pBuf[2]='+';pBuf[3]='C';pBuf[4]='M';pBuf[5]='G';pBuf[6]='D';pBuf[7]='=';pBuf[8]=(char)(index&0xff+0x30);//刪除具體內(nèi)容pBuf[9]=13;//結(jié)束return10;//返回數(shù)據(jù)包長度}在函數(shù)中封裝好了“AT+CMGD=<da>〞指令,刪除了指定地址的內(nèi)容,并且返回了數(shù)據(jù)包的長度。4.3串口程序串口程序主要完成的是單片機與TC35的通信,由于MSP430F149單片機內(nèi)有UART,因此實現(xiàn)串口通信相當(dāng)容易,只需要設(shè)置適當(dāng)?shù)拇娣牌骶涂梢允勾诠ぷ髌饋怼4诠ぷ魇褂弥袛鄼C制,發(fā)送數(shù)據(jù)和接受數(shù)據(jù)都采用中斷機制。當(dāng)接收到有數(shù)據(jù)到來時,設(shè)置一個標(biāo)志來通知主程序數(shù)據(jù)到來,當(dāng)主程序有數(shù)據(jù)要發(fā)送的時候,設(shè)置一個標(biāo)志進入中斷發(fā)送數(shù)據(jù),串口通訊流程圖如下:等待等待等待等待NN數(shù)據(jù)到來設(shè)置發(fā)送標(biāo)志數(shù)據(jù)到來設(shè)置發(fā)送標(biāo)志YY設(shè)置標(biāo)志發(fā)送數(shù)據(jù)設(shè)置標(biāo)志發(fā)送數(shù)據(jù)圖4-5串口通訊流程圖下面是具體的程序首先完成的是初始化局部,主要是通過設(shè)置適當(dāng)?shù)拇娣牌飨鄳?yīng)的位來使能UART功能。voidInit_UART0(void){U0CTL=0X00; //將存放器的內(nèi)容清零U0CTL+=CHAR; //數(shù)據(jù)位為8bitU0TCTL=0X00; //將存放器的內(nèi)容清零U0TCTL+=SSEL1; //波特率發(fā)生器選擇SMCLKUBR0_0=0X45; //波特率為115200UBR1_0=0X00;UMCTL_0=0X49; //調(diào)整存放器ME0|=UTXE0+URXE0;//使能UART0的TXD和RXDIE0|=URXIE0; //使能UART0的RX中斷IE0|=UTXIE0; //使能UART0的TX中斷P3SEL|=BIT4; //設(shè)置P3.4為UART0的TXDP3SEL|=BIT5; //設(shè)置P3.5為UART0的RXDP3DIR|=BIT4; //P3.4為輸出管腳return;}串口中斷主要是發(fā)送和接受中斷下面是具體的程序://///////////////////////////////////////處理來自串口0的接收中斷interrupt[UART0RX_VECTOR]voidUART0_RX_ISR(void){UART0_RX_BUF[nRX1_Len_temp]=RXBUF0; //接收來自的數(shù)據(jù)nRX1_Len_temp+=1;if(UART0_RX_BUF[nRX0_Len_temp-1]==13){ nRX0_Len=nRX0_Len_temp; nRev_UART0=1; nRX0_Len_temp=0;}}/////////////////////////////////////////處理來自串口0的發(fā)送中斷interrupt[UART0TX_VECTOR]voidUART0_TX_ISR(void){if(nTX0_Len!=0){ nTX0_Flag=0; //表示緩沖區(qū)里的數(shù)據(jù)沒有發(fā)送完 TXBUF0=UART0_TX_BUF[nSend_TX0]; nSend_TX0+=1; if(nSend_TX0>=nTX0_Len) { nSend_TX0=0; nTX0_Len=0; nTX0_Flag=1; }}}4.4主處理程序主處理模塊作用是將各個模塊進行協(xié)調(diào)處理和進行數(shù)據(jù)交互,主處理模塊首先完成初始化工作,然后后進入循環(huán)處理,在循環(huán)過程中主處理獲得采集的模擬數(shù)據(jù),并將得到的數(shù)據(jù)發(fā)送到上位機,同時下位機也接收來自上位機的數(shù)據(jù)。整個程序基于中斷效勞結(jié)構(gòu),為了實現(xiàn)中斷程序與主程序之間的數(shù)據(jù)交互,通過設(shè)置一些全局變量和全局的緩沖區(qū)來實現(xiàn)。通過流程圖可以看出,主處理只負(fù)責(zé)簡單的標(biāo)志判斷和設(shè)置標(biāo)志,然后從指定的緩沖區(qū)讀取數(shù)據(jù),或者將數(shù)據(jù)放到相應(yīng)的緩沖區(qū),其他的由中斷來進行處理,因此主程序主要和中斷程序進行數(shù)據(jù)交換。主處理模塊方框圖如下:發(fā)送數(shù)據(jù)程序初始化發(fā)送數(shù)據(jù)程序初始化TC35數(shù)據(jù)翻開中斷TC35數(shù)據(jù)翻開中斷等待Y等待啟動/停止水泵單片機處理Y啟動/停止水泵單片機處理采集新數(shù)據(jù)N采集新數(shù)據(jù)Y設(shè)置發(fā)送標(biāo)志設(shè)置發(fā)送標(biāo)志圖4-6主處理模塊方框圖具體的程序如后面的附錄結(jié)論本課題在分析了國內(nèi)外壓力傳感器的根底上,在本文中采用的是佛山市順德區(qū)昊勝傳感儀器生產(chǎn)的PTH601型傳感器。該系統(tǒng)實現(xiàn)了數(shù)據(jù)采樣,數(shù)據(jù)存儲,數(shù)據(jù)發(fā)送,數(shù)據(jù)接收等功能。實驗證明,該壓力傳感器的性能令人滿意。論文中采用了先進的數(shù)字處理器一一MSP43O系列單片機作為壓力傳感器系統(tǒng)的控制核心。同時其外圍設(shè)備使得單片機系統(tǒng)的硬件電路設(shè)計變得更為簡單。整個系統(tǒng)在優(yōu)化硬件配置的根底上采用小型化一體化設(shè)計,所有電路芯片如微處理器、存儲芯片、時鐘芯片、通信接口芯片等都采用低價格、小體積、高集成度的器件,從而使電路板尺寸很小的特點。系統(tǒng)充分利用MSP430系列單片機具有低功耗模式這個特點,使得系統(tǒng)能夠在低功耗模式與正常工作模式下定時切換。在此根底上,其他電路芯片都采用低功耗的芯片,使得系統(tǒng)在電池供電的情況下,在野外現(xiàn)場或者遠(yuǎn)離電網(wǎng)的地方,能夠至少使用半年,真正的實現(xiàn)低功耗工作。論文中的系統(tǒng)另外一個特色就是擁有非常友好的人機接口與界面。上位機將采集到的數(shù)據(jù)進行處理經(jīng)過LABVIEW的可視化操作,大大方便了操作。遠(yuǎn)距離傳輸系統(tǒng)具有多種,本文選擇模式是GSM模式,這種模式適用于遠(yuǎn)端現(xiàn)場信號的采集。充分利用GSM短信息系統(tǒng)進行無線通信具有雙向數(shù)據(jù)傳輸功能、性能穩(wěn)定等特點為遠(yuǎn)程數(shù)據(jù)傳送和監(jiān)控設(shè)備的通信提供了一個強大的支持平臺。致謝天下沒有不散的宴席,雖然大四的生活多半時間還是呆在學(xué)校里,但是論文致謝語寫就的那一刻也真正標(biāo)志著我與這所學(xué)校就此別離了,沒有傷感,更多的是遺憾,但是總歸不如意事十有八九,過去的不能挽回,人應(yīng)該大膽向前看,所以這段文字應(yīng)該像它的標(biāo)題一樣充滿感恩和致謝,感謝四年來在我的成長道路上扶持過我,指點過我的人。論文得以順利完成,要感謝的人實在太多了。首先要衷心地感謝我的指導(dǎo)老師魏麗老師,您嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,開闊的思維,循循善誘的指導(dǎo)一直給我很大的幫助。當(dāng)我對論文的思路感到迷茫時,您為我理清思路,指導(dǎo)我往一條比擬清晰的思路上進行修改。在論文的不斷修改中,我也努力做到及時積極地跟魏老師交流,因為我覺得這樣可以使得我的論文更加完善。在這里還要深深的對您說上一句抱歉,因為我的懶散和懈怠,令您費盡苦心并且?guī)捉U撐牡淖罱K完成,也是一波三折。再次對您表示感謝,師恩偉大,無以回報。然后還要感謝所有在大學(xué)期間傳授我知識的老師,每一位老師的悉心教導(dǎo)都是我完成這篇論文的根底。雖然學(xué)生沒有能力和膽量去實踐自己心中的夢想,但是您們對我的寄語會一直在我的腦海里永存,有理想就有希望,有希望就能看到理想實現(xiàn)的那一天。人生是那么的不確定,學(xué)生絕對不會甘于平庸和妥協(xié)。最后要感謝的是我的父母和家人,我永遠(yuǎn)都不會忘記你們的良苦用心和一如既往的支持與鼓勵。四年來,快樂的事情因為有你們的分享而更快樂,失意的日子因為有你們的關(guān)心能忘卻傷痛,堅強前行。無論我成功與否,你們總以鼓勵的言語告訴我我很棒,謝謝你們,我會繼續(xù)努力。主要參考文獻[1]秦龍.MSP430單片機應(yīng)用系統(tǒng)開發(fā)典型實例[M].北京:中國電力出版社,2005[2]胡大可.MSP430系列超低功耗16位單片機原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2000[3]秦龍.MSP430單片機C語言程序設(shè)計實例精講[M].北京:中國電力出版社,2006[4]唐慧強,徐芳.基于GPRS的水情自動測報儀[J].儀器儀表學(xué)報,2023〔1〕:74-76[5]張翼翔.基于單片機的高精度水位監(jiān)控儀的設(shè)計[J].微計算機信息,2023〔24〕:155-157[6]郭志勇,陳小永.基于uPSD3234的智能水位監(jiān)測儀的設(shè)計與實現(xiàn)[J].安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報,2023〔4〕:69-71[7]趙青.一種遠(yuǎn)程水情實時監(jiān)測系統(tǒng)[J].南通職業(yè)大學(xué)學(xué)報,2023〔22〕:79-81[8]余立建.水位遠(yuǎn)程測量與數(shù)據(jù)傳輸技術(shù)[J].測試技術(shù)學(xué)報,2023〔22〕:792-794[9]林聿勝,林華.水電站水位遙測系統(tǒng)設(shè)計與實現(xiàn)[J].電子技術(shù):2023〔1〕:79-83[10]劉英杰.水位監(jiān)測系統(tǒng)設(shè)計[J].信息技術(shù),2023〔5〕:141-241[11]雷建龍,李小樂.基于LM567的實用型液位計的設(shè)計[J].自動化儀表,2007〔10〕:4-6[12]陳法國,陳偉.GSM通信在水位遠(yuǎn)程檢測系統(tǒng)中的應(yīng)用[J].單片機與嵌入式系統(tǒng)應(yīng)用,2006〔1〕:55-57[13]蘆冰,李海峰.基于JB35GSM模塊的水位檢測報警系統(tǒng)[J].儀器儀表用戶,2006〔05〕:55-57[14]孫貴寧.基于單片機S3F9454的水位水溫檢測電路的設(shè)計[J].電子工程師,2005〔2〕:71-91[15]王樹東,馮磊,鄧冰等.基于ADAM5510和GSM的水情遠(yuǎn)程測報系統(tǒng)設(shè)計[J],2007(10):24-26[16]馬潮.嵌入式GSM短信息接口的軟硬件設(shè)計[D].上海:華東師范大學(xué),2004.[17]曹尉清,韓冰.利用GSM短消息實現(xiàn)遠(yuǎn)程控制[J].無線電工程,2002(10):34-37[18]吳玉田、王瑞光、鄭喜鳳、肖傳武.GSM模塊TC35及其應(yīng)用[J].計算機測量與控制,2002(10):557-560[19]劉濤、張春業(yè)、韓旭東、李鵬.基于模塊TC35的單片機短消息收發(fā)系統(tǒng)[J].電子技術(shù),2003:36-38[20]陳朝陽、劉謹(jǐn).GSM移動通信射頻收發(fā)系統(tǒng)的設(shè)計與實現(xiàn).電訊技術(shù)口[J].2003年第4期:81-84[21]李鴻.用單片機控制收發(fā)短信息.電子技術(shù)應(yīng)用,2003(1)附錄主處理程序:#include<MSP430X14X.h>#include"uart.h"#include"TC35.h"#include"adc.h"#include"common.h"#include"process.h"voidsendSms(charpPhone[],intphonelen,charpData[],intnLen,intmode);//定義串口操作變量//串口0的接收標(biāo)志charnRev_UART0; //串口0的發(fā)送緩沖區(qū)charUART0_TX_BUF[200]; //串口0的接收緩沖區(qū)charUART0_RX_BUF[200]; intnTX1_Len;charnRX1_Len;charnRX1_Len_temp;intnTX0_Len;intnRX0_Len;intnRX0_Len_temp;charnTX0_Flag;charnTX1_Flag;intnSend_TX0;intnSend_TX1;intnADC_Count;intnADC_Sa;charnADC_Flag;intADC_BUF[10*8];intADC_BUF_Temp[10*8];intnComm;voidmain(void){intcount;inti;intnLen;charPhoneNumber[18];charUART1_RX_Temp[50];charcsca[14];charpBuf[80];intnPhone;WDTCTL=WDTPW+WDTHOLD;//關(guān)閉看門狗_DINT(); //關(guān)閉中斷nSend_TX1=0;nSend_TX0=0;nTX1_Flag=0;nTX0_Flag=0;nTX0_Len=0;nTX1_Len=0;nRX1_Len=0;nRX0_Len=0;nRev_UART1=0;nRev_UART0=0;nPhone=0;nLen=0;nComm=0;nADC_Count=0;count=0;///////////////////////////////////初始化Init_CLK();Init_UART0();Init_UART1();Init_ADC();//翻開中斷_EINT();//TC35初始化nTX0_Len=tc35_init(UART0_TX_BUF);//設(shè)置中斷標(biāo)志,進入發(fā)送中斷程序IFG1|=UTXIFG0;Delay_ms(100);csca[0]='+';csca[1]='8';csca[2]='6';csca[3]='1';csca[4]='3';csca[5]='8';csca[6]='0';csca[7]='0';csca[8]='2';csca[9]='3';csca[10]='0';csca[11]='5';csca[12]='0';csca[13]='0';nTX0_Len=setCsca(UART0_TX_BUF,csca);//設(shè)置中斷標(biāo)志,進入發(fā)送中斷程序IFG1|=UTXIFG0;Delay_ms(500);nTX0_Len=setCmgf(UART0_TX_BUF,0);//設(shè)置中斷標(biāo)志,進入發(fā)送中斷程序IFG1|=UTXIFG0;Delay_ms(500);//首先從FLASH里面讀出號碼數(shù)據(jù)nPhone=isPhoneSet(PhoneNumber);if(nPhone==1){//號碼沒有配置的情況下//等待配置for(;;){if(nRev_UART1==1){nRev_UART1=0;for(i=0;i<nRX1_Len;i++) { UART1_RX_Temp[i]=UART1_RX_BUF[i];PhoneNumber[i]=UART1_RX_BUF[i]; }nPhone=setPhone(UART1_RX_Temp);//設(shè)置成功if(nPhone==1){nTX1_Len=SetOK(UART1_TX_BUF);//設(shè)置中斷標(biāo)志,進入發(fā)送中斷程序 IFG2|=UTXIFG1; break;}else{nTX1_Len=SetError(UART1_TX_BUF);//設(shè)置中斷標(biāo)志,進入發(fā)送中斷程序 IFG2|=UTXIFG1;}}//if(nPhone==1)}//if(nRev_UART1==1)}//for(;;)//短消息處理循環(huán)count=0;for(;;){//采集數(shù)據(jù)if(nADC_Flag){//去除標(biāo)志nADC_Flag=1;count+=1;if(count>=6500){//取采集得到的數(shù)據(jù)//將采集得到的數(shù)據(jù)轉(zhuǎn)換為8位for(i=0;i<80;i++){pBuf[i]=(char)((ADC_BUF_Temp[i]>>4)&0xff);}count=0;nLen=PhoneNumber[0];for(i=0;i<nLen;i++){//去掉長度信息PhoneNumber[i]=PhoneNumber[i+1];}//發(fā)送短消息sendSms(PhoneNumber,nLen,pBuf,80,1);}//if(count>=65000)}//if(nADC_Flag)}//for(;;)}//////////////////////////////////////////處理來自串口0的接收中斷#if__VER__<200interrupt[UART0RX_VECTOR]voidUART0_RX_ISR(void)#else#pragmavector=UART0RX_VECTOR__interruptvoidUART0_RX_ISR(void)#endif{charchrTemp;//接收來自的數(shù)據(jù)UART0_RX_BUF[nRX0_Len_temp]=RXBUF0; nRX0_Len_temp+=1;chrTemp=UART0_RX_BUF[nRX0_Len_temp-1];if((chrTemp==13)||(chrTemp==10)){//接收到一幀信號nRX0_Len=nRX0_Len_temp;nRev_UART0=1;nRX0_Len_temp=0;}}//////////////////////////////////////////處理來自串口0的發(fā)送中斷#if__VER__<200interrupt[UART0TX_VECTOR]voidUART0_TX_ISR(void)#else#pragmavector=UART0TX_VECTOR__interruptvoidUART0_TX_ISR(void)#endif{if(nTX0_Len!=0){//表示緩沖區(qū)里的數(shù)據(jù)沒有發(fā)送完 nTX0_Flag=0; TXBUF0=UART0_TX_BUF[nSend_TX0]; nSend_TX0+=1; Delay_us(5); if(nSend_TX0>=nTX0_Len) {//數(shù)據(jù)發(fā)送完畢 nSend_TX0=0; nTX0_Len=0; nTX0_Flag=1; }}}voidsendSms(charpPhone[],intphonelen,charpData[],intnLen,intmode){inti;intlen1;intlen2;charbuf1[100];charbuf2[200];intres;//TEXT模式packSms_text(pPhone,phonelen,pData,nLen,&len1,&len2,buf1,buf2);//發(fā)送頭信息for(i=0;i<len1;i++){UART0_TX_BUF[i]=buf1[1];}//設(shè)置發(fā)送數(shù)據(jù)的長度nTX0_Len=len1;//設(shè)置中斷標(biāo)志,進入發(fā)送中斷程序IFG1|=UTXIFG0;//等待>響應(yīng)while(1){//接收到數(shù)據(jù)if(nRev_UART0==1){for(i=0;i<nRX0_Len;i++){buf1[i]=UART0_RX_BUF[i];}len1=nRX0_Len;nRX0_Len=0;nRev_UART0=0;break;}}//判斷是否是>響應(yīng)res=getSendResponse(buf1,len1);if(res==1){//發(fā)送數(shù)據(jù)信息for(i=0;i<len2;i++){UART0_TX_BUF[i]=buf2[1];}//設(shè)置發(fā)送數(shù)據(jù)的長度nTX0_Len=len2;//設(shè)置中斷標(biāo)志,進入發(fā)送中斷程序IFG1|=UTXIFG0;}//等待響應(yīng)//接收到數(shù)據(jù)while(1){if(nRev_UART0==1){for(i=0;i<nRX0_Len;i++){buf1[i]=UART0_RX_BUF[i];}len1=nRX0_Len;nRX0_Len=0;nRev_UART0=0;break;}}isSuccessSend(buf1,len1);}voidInit_TimerA(void){//選擇SMCLK,去除TARTACTL=TASSEL1+TACLR;//時間間隔CCR0=40000; //增記數(shù)模式TACTL|=MC0; }////////////////////////////////////////////////定時器中斷,完成ADC轉(zhuǎn)換#if__VER__<200interrupt[TIMERA0_VECTOR]voidTimerA_ISR(void)#else#pragmavector=TIMERA0_VECTOR__interruptvoidTimerA_ISR(void)#endif{inti;//關(guān)閉轉(zhuǎn)換ADC12CTL0&=~ENC; //讀出轉(zhuǎn)換結(jié)果ADC_BUF[10*0+nADC_Count]=ADC12MEM0; ADC_BUF[10*1+nADC_Count]=ADC12MEM1; ADC_BUF[10*2+nADC_Count]=ADC12MEM2; ADC_BUF[10*3+nADC_Count]=ADC12MEM3; ADC_BUF[10*4+nADC_Count]=ADC12MEM4; ADC_BUF[10*5+nADC_Count]=ADC12MEM5; ADC_BUF[10*6+nADC_Count]=ADC12MEM6; ADC_BUF[10*7+nADC_Count]=ADC12MEM7; nADC_Count+=1;if(nADC_Count>=10){for(i=0;i<10*8;i++){ADC_BUF_Temp[i]=ADC_BUF[i];}nADC_Count=0;nADC_Flag=1;}//開啟轉(zhuǎn)換ADC12CTL0|=ENC+ADC12SC; }英文文獻AnumberoftheSMSmethodofdecoding1,AnumberofSMSdecodingmethodischaracterized,includingthefollowingsteps:receivingsideterminalafterreceiptoftextmessagessenttoterminalnumberextractedinformation,referredtothereceiverterminaltothefirstdecodingstrategynumberofthesenderinformationterminaldecoding;ifdecodingissuccessful,therecipientinthesenderterminaldisplayterminalnumber;Otherwise,theseconddecodingstrategynumberofthesenderterminaltodecodetheinformation,anddecodingintheaboveresultsshowthattherecipientterminal.2,Asdescribedinclaim1method,anditscharacteristicsisdescribedinthefirststrategyfordecodingandreceivingsideterminalcodingstrategynumberthatcorrespondstothenumberofdecodingstrategies.3,Asdescribedinclaim2method,thecharacteristicsisthatthestrategydescribedinthefirstdecoderdecodingstrategyfortheseconddial(DTMF).

4,Asdescribedinclaim3ofthemethodofcharacteristicsisdescribedintheseconddecodingstrategyforthesenderencodingstrategynumberthatcorrespondstothenumberofdecodingstrategies.5,Asdescribedinclaim3ofthemethodofcharacteristicsisdescribedintheseconddecodingstrategyforthebinary-codeddecimaldecodingstrategy(BCD)o

6,Suchasclaims

溫馨提示

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

評論

0/150

提交評論