計算機(jī)控制技術(shù)課程設(shè)計 基于gsm短信模塊的家庭防盜系統(tǒng)設(shè)計

上傳人:e****s 文檔編號:61750781 上傳時間:2022-03-12 格式:DOC 頁數(shù):34 大?。?35.50KB
收藏 版權(quán)申訴 舉報 下載
計算機(jī)控制技術(shù)課程設(shè)計 基于gsm短信模塊的家庭防盜系統(tǒng)設(shè)計_第1頁
第1頁 / 共34頁
計算機(jī)控制技術(shù)課程設(shè)計 基于gsm短信模塊的家庭防盜系統(tǒng)設(shè)計_第2頁
第2頁 / 共34頁
計算機(jī)控制技術(shù)課程設(shè)計 基于gsm短信模塊的家庭防盜系統(tǒng)設(shè)計_第3頁
第3頁 / 共34頁

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《計算機(jī)控制技術(shù)課程設(shè)計 基于gsm短信模塊的家庭防盜系統(tǒng)設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《計算機(jī)控制技術(shù)課程設(shè)計 基于gsm短信模塊的家庭防盜系統(tǒng)設(shè)計(34頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、沈陽航空航天大學(xué) 課 程 設(shè) 計 任 務(wù) 書 課 程 名 稱 計算機(jī)控制技術(shù)課程設(shè)計 院(系) 自動化學(xué)院 專業(yè) 自 動 化 班級 8407202 學(xué)號 200804072055 學(xué)生姓名 呂佳 課程設(shè)計題目 基于GSM短信模塊的家庭防盜系統(tǒng)設(shè)計 課程設(shè)計時間 2011 年 7 月 11 日至 2011 年 7 月 22 日 課程設(shè)計內(nèi)容及要求: 指導(dǎo)教師

2、 年 月 日 負(fù)責(zé)教師 年 月 日 學(xué)生簽字 年 月 日 目 錄 0. 前言 1 1. GSM模塊的基本原理 1 2. 方案設(shè)計 1 3. 硬件電路的工作原理(主要介紹重點電路的原理) 2 3.1******模塊 2 3.1.1 ******電路 2 3.2******模塊 2 4. 軟件編程 2 5. 系統(tǒng)

3、調(diào)試和結(jié)果分析 2 6. 結(jié)論及進(jìn)一步設(shè)想 2 參考文獻(xiàn)(1級標(biāo)題) 3 附錄1 元件清單 4 課設(shè)體會 5 基于GSM短信模塊的家庭防盜系統(tǒng)設(shè)計 呂佳 沈陽航空航天大學(xué)自動化學(xué)院 摘要:GSM短消息模塊以其連接簡單、費用低廉、覆蓋范圍廣、實現(xiàn)方便等有點得到了廣泛的應(yīng)用?;贕SM短消息的家庭防盜系統(tǒng)的解決方案,利用GSM網(wǎng)絡(luò)短消息業(yè)務(wù)實現(xiàn)了防盜系統(tǒng)與手機(jī)之間的通信,利用單片機(jī)的中斷技術(shù),及時的把家里的情況進(jìn)行匯報;同時,通過給防盜系統(tǒng)發(fā)短信,可以進(jìn)行相應(yīng)的遠(yuǎn)程控制。經(jīng)過測試,該系統(tǒng)經(jīng)濟(jì),穩(wěn)定性高,可靠性好等優(yōu)點,具有廣泛的市場推廣價值。 關(guān)鍵

4、詞:GSM模塊;單片機(jī);TC35i;可靠 0. 前言 1 引言 GSM(Global System for Mobil Communications) :全球移動通訊系統(tǒng)俗稱“全球通”,由歐洲開發(fā)的數(shù)字移動 網(wǎng)絡(luò)標(biāo)準(zhǔn),它的開發(fā)目的是讓全球各地共同使用一個移動 網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶使用一部手機(jī)就能行遍全球。GSM 系統(tǒng)有幾項重要特點:網(wǎng)絡(luò)容量大、手機(jī)號碼資源豐富、穩(wěn)定性強(qiáng)不易受干擾、信息靈敏、耗電量低。GSM系統(tǒng)集中了現(xiàn)代信源編碼技術(shù)、信道編碼、交織、均衡技術(shù)、數(shù)字調(diào)制技術(shù)、話音編碼技術(shù)以及慢調(diào)頻技術(shù),同時在系統(tǒng)中引入了大量計算機(jī)控制和管理,因而保證了數(shù)據(jù)傳輸?shù)恼_性、安全性和可靠

5、性。目前世界上主要的兩大GSM 系統(tǒng)為GSM 900 及GSM1800,由于采用了不同頻率,因此適用的手機(jī)也不盡相同。前者發(fā)展的時間較早,使用的國家較多, 后者發(fā)展的時間較晚,使用的國家也較少。物理特性方面前者頻譜較低,波長較長,穿透力較差,但傳送的距離較遠(yuǎn),而手機(jī)發(fā)射功率較強(qiáng), 耗電量較大,因此待機(jī)時間較短;而后者的頻譜較高,波長較短,穿透力佳,但傳送的距離短其手機(jī)的發(fā)射功率較小,待機(jī)時間則相應(yīng)地較長。 本文介紹了一種基于MCU(微控制單元)控制的智能家庭監(jiān)控系統(tǒng)的硬件電路及軟件設(shè)計。MCU通過UART(Universal Asynchronous Receiver Transmitter

6、, 通用異步收發(fā)器)向TC35i發(fā)送AT指令,利用GSM網(wǎng)絡(luò)模塊的SMS短信業(yè)務(wù),實現(xiàn)家庭安全智能監(jiān)控與報警的自動控制等功能。系統(tǒng)通過有線網(wǎng)絡(luò),利用各種傳感器對可能出現(xiàn)的煤氣泄漏,火災(zāi),家中門窗被打開等意外情況的檢測,將信號傳遞給MCU,經(jīng)過分析,給GSM發(fā)信號,通過GSM網(wǎng)絡(luò),達(dá)到通知主人的目的,使主人即使遠(yuǎn)在千里之外也能對家中發(fā)生的各種情況了如執(zhí)掌;同時主人通過給系統(tǒng)發(fā)送短信命令,控制門、窗、煤氣閥的開關(guān)狀態(tài),實現(xiàn)遠(yuǎn)程控制的目的。該系統(tǒng)使家庭生活更安全,更智能。 1. GSM模塊的基本原理 西門子公司的TC35i模塊是一個支持中文短信息的工業(yè)級GSM模塊,工作在EGSM 900MHz和

7、1800MHz雙頻段,可以傳輸語音和數(shù)據(jù)信號。TC35i的數(shù)據(jù)接口通過AT命令可雙向傳輸指令和數(shù)據(jù),可選波特率為300b/s~115kb/s。它支持Text和PDU格式的SMS。它由供電模塊(ASIC)、閃存、ZIF(零插拔力)連接器、天線接口等6部分組成。TC35i模塊有40個引腳,通過一個ZIF連接器引出。這40個引腳可以劃分為5類,即電源、數(shù)據(jù)輸入/輸出、SIM卡、音頻接口和控制。 圖1 TC35i模塊的結(jié)構(gòu)原理圖 通過向串口發(fā)送AT指令,來實現(xiàn)對TC35i的發(fā)送短信和讀短信等功能的控制,GSM AT 指令接口提供了一種移動臺(MS)與數(shù)據(jù)終端設(shè)備(DTE)之間的通用接口。 在

8、 MS 收到網(wǎng)絡(luò)發(fā)來的短消息時, 能夠通過串口發(fā)送給 DTE, 反過來, DTE可以向 MS 發(fā)送各種命令。更詳細(xì)的資料可以參考GSM07.05 和 GSM07.07 規(guī)范。下表定義的是與 SMS 有關(guān)的常用 AT 指令。 表1 TC35i的AT指令 AT 返回OK則證明系統(tǒng)正常工作 AT+CSCA 短信中心服務(wù)地址 AT+CMGF 優(yōu)先信息格式,AT+CMGF=1執(zhí)行text格式 AT+CMGS 發(fā)送短信息 AT+CMGR 讀取短信息 AT+CMGD 刪除短信息 AT&F 格式化 2. 方案設(shè)計 家庭防盜系統(tǒng)連接電路的基本組成如圖2所示。 圖2

9、 家庭防盜系統(tǒng)整體模塊圖 本系統(tǒng)通過對家庭設(shè)施監(jiān)控的設(shè)計,建立了自動報警的系統(tǒng),實現(xiàn)了家庭信息采集自動部署,通過對家庭監(jiān)控網(wǎng)中傳感器網(wǎng)絡(luò)的自組織與實現(xiàn)、智能化數(shù)據(jù)采集與傳輸,提出了基于GSM模塊的防盜系統(tǒng)的解決方案,并通過實驗得出了該系統(tǒng)的可靠性與可行性。 根據(jù)設(shè)計要求,采用的方案如下。 硬件部分實現(xiàn)對家庭系統(tǒng)得監(jiān)控和控制,包括檢測煤氣超標(biāo)的電路,檢測窗戶開關(guān)的電路,火災(zāi)監(jiān)測電路,以及控制煤氣閥,控制窗戶開關(guān)的電路。其中包括傳感器模塊,單片機(jī)控制模塊,以及控制煤氣閥,驅(qū)動相應(yīng)窗戶的電機(jī)模塊。 軟件部分實現(xiàn)對串口的初始化,發(fā)送初始化指令,檢測短信息,檢測報警,發(fā)送短信等功能。主要思想是

10、,對TC35i模塊初始化之后,檢測短信息的內(nèi)容,之后執(zhí)行相應(yīng)的功能,同時利用單片機(jī)中斷技術(shù),檢測傳感器輸入單片機(jī)的信號,從而不占用單片機(jī)整體資源,達(dá)到快速相應(yīng)傳感器輸入單片機(jī)的信號,真正起到時時響應(yīng)信號,快速報警。 3. 硬件電路的工作原理 3.1單片機(jī)控制接口電路 該模塊實現(xiàn)的功能是單片機(jī)獲取傳感器信號,并向串口發(fā)送AT指令,GSM模塊執(zhí)行AT指令,同時控制驅(qū)動電機(jī)電路,實現(xiàn)有聲報警。接口電路如圖3所示。 圖3 單片機(jī)控制接口電路 3.2監(jiān)測煤氣超標(biāo)模塊 本設(shè)計選用電化學(xué)型傳感器,電化學(xué)型氣體傳感器可分為原電

11、池式、可控電位電解式、電量式和離子電極式四種類型。原電池式氣體傳感器通過監(jiān)測電流來監(jiān)測氣體的體積分?jǐn)?shù),電量式氣體傳感器出現(xiàn)得早,通過測量離子極化電流來監(jiān)測氣體的體積分?jǐn)?shù),電化學(xué)式氣體傳感器主要的優(yōu)點是檢測氣體的靈敏度高、選擇性好。 3.3監(jiān)測防盜模塊 對于防盜傳感器,本系統(tǒng)采用主動式紅外對射傳感器,它相對于傳統(tǒng)的被動式熱釋紅外傳感器有以下優(yōu)點: 1、主動式隊射紅外傳感器安裝于門窗及一切需要設(shè)防的位置,采用多光束綜合判斷,當(dāng)有一定體積的障礙物遮擋時,才被觸發(fā),極大的降低了傳感器的誤報; 2、由于其安裝在門窗等位置,使夜間能正?;顒硬皇芟拗疲@給用戶提供了極大的夜間布防的可能。 3

12、.4火災(zāi)監(jiān)測模塊 本系統(tǒng)采用離子式感煙探測器,作為本系統(tǒng)的煙霧敏感元件。離子式感煙探測器的工作原理是:有兩個電離室串聯(lián),構(gòu)成等效于電阻串聯(lián)的偏置電路。其中一個是基本不與外界相通的內(nèi)電離室,另一個是與外界相通的外電離室,(即檢測電離室),兩個電離室中均放入一片放射源镅24l(AM241),不斷地放射出α粒子,使兩室內(nèi)的氣體都被部分電離。當(dāng)有煙霧進(jìn)入外電離室,因煙霧顆粒吸附一部分離子,使外室的離子電流減?。刃в谒碾娮柙龃?,分壓電位增高。當(dāng)煙霧達(dá)到檢測的限定濃度時,則電位增高到能觸發(fā)開關(guān)電路(高電位觸發(fā)型)而報警。 3.5相應(yīng)控制模塊 控制窗戶與電磁閥的相應(yīng)模塊,與相應(yīng)的

13、電機(jī)驅(qū)動電路控制電機(jī)的轉(zhuǎn)動,實現(xiàn)傳動功能。由于各個窗戶不一樣,在這里,這部分就不詳細(xì)介紹了,本系統(tǒng)只在P0口給出相應(yīng)的控制信號。 4. 軟件編程 本系統(tǒng)的設(shè)計思想是通過單片機(jī)獲取家庭里設(shè)置的傳感器輸出的信號,之后發(fā)送不同的AT指令,使GSM模塊向目標(biāo)手機(jī)發(fā)送不同的短信內(nèi)容,實現(xiàn)報警的目的;同時,GSM模塊將短信息的內(nèi)容通過串口傳遞給單片機(jī),單片機(jī)經(jīng)過分析之后給出相應(yīng)的驅(qū)動控制信號,實現(xiàn)遠(yuǎn)程控制的目的。 4.1主程序設(shè)計 系統(tǒng)開機(jī)之后,需要先對單片機(jī)的波特率、中斷端口進(jìn)行初始化設(shè)置。TC35i的數(shù)據(jù)接口采用串行異步收發(fā),數(shù)據(jù)接口的配置為8位數(shù)據(jù)、1位停止位、無校驗位、默認(rèn)波特率為9

14、600b/s。MCU設(shè)置完畢后,再對TC35i進(jìn)行初試化,確定串口通信正常后,再進(jìn)入檢測端口的偵聽以及等待控制信息的接收。主程序流程圖如圖4所示。 圖4 主程序流程圖 其中function是當(dāng)檢測接收到短信的時候,由讀短信函數(shù)將function賦成相應(yīng)的值,來執(zhí)行相應(yīng)的功能。如表2所示。 表2 function值對應(yīng)功能表 function值 對應(yīng)功能 0 沒有收到短信 1 收到關(guān)窗戶短信 2 收到關(guān)煤氣短信 其他 收到非控制短信息 locale是當(dāng)中斷發(fā)生時檢測相應(yīng)的傳感器信號,其功能如表3所示。 表3 locale值對應(yīng)功能表

15、locale值 對應(yīng)功能 0 沒有異常 1 窗戶開 2 煤氣泄漏 3 發(fā)生火災(zāi) 其他 中斷誤觸發(fā) max表示接收到的字符的個數(shù),當(dāng)收到的字符數(shù)超過30個的時候,表明收到短信,否則為其他指令,不予處理。 4.2 TC35i的初始化程序 系統(tǒng)上電后,單片機(jī)需要通過串行通信口對TC35i發(fā)送格式化命令、AT握手指令,如果TC35i能夠回復(fù)字符串OK,說明TC35i的GSM模塊以及串行通信接口都能夠正常運行。然后再向TC35i發(fā)送設(shè)置text指令,設(shè)置短信模式為TEXT模式,最后設(shè)置SIM卡的中心號碼,為后來執(zhí)行發(fā)短信的功能做好準(zhǔn)備。 當(dāng)發(fā)送指令之后,都

16、要檢測是否返回OK,如果長時間不返回OK,則表示系統(tǒng)沒有正常運行,需要重新初始化,即跳轉(zhuǎn)到start位置,start位置為程序開始位置。其程序流程圖如圖5所示。 圖5 初始化流程圖 4.3遠(yuǎn)程控制程序 當(dāng)TC35i接收到短信后,觸發(fā)MCU的串口中斷,然后由MCU讀取短信內(nèi)容,并對其進(jìn)行分析處理。如果發(fā)現(xiàn)短信中包含合法的有效信息,將會對function賦值,將短信刪除。如果單片機(jī)分析短信內(nèi)容時,沒有發(fā)現(xiàn)有效的控制指令,該條短信將會被直接刪除當(dāng)function大于0時,表示接

17、收并提取了短信內(nèi)容,其相應(yīng)的功能如表2介紹,本程序就是判斷function的值,并執(zhí)行相應(yīng)的功能函數(shù),之后將function清零,以確保執(zhí)行一次,其流程圖如圖6所示。 圖6 遠(yuǎn)程控制流程圖 4.4檢測報警程序 當(dāng)單片機(jī)、TC35i初始化設(shè)置和執(zhí)行遠(yuǎn)程控制程序完畢以后,系統(tǒng)進(jìn)入檢測報警狀態(tài)。當(dāng)偵測端口接收到各監(jiān)控裝置發(fā)送來的信號后,觸發(fā)單片機(jī)的外部中斷,然后進(jìn)行對信號的分析處理,再向TC35i發(fā)送AT指令,控制其向目的手機(jī)發(fā)送預(yù)先設(shè)定好的報警短信息。檢測報警程序通過檢測locale的值

18、,確定要執(zhí)行的功能,locale的功能如表2介紹,當(dāng)目標(biāo)手機(jī)沒有接收到短線,即發(fā)送短信結(jié)束時沒有返回OK,則跳轉(zhuǎn)到start位置,因為沒改變locale,所以會繼續(xù)執(zhí)行發(fā)送相應(yīng)短信功能,知道返回OK為止。其流程如圖7所示。 圖7 檢測報警流程圖 4.5 檢測短信程序 檢測收到短信內(nèi)容的時候,要進(jìn)行判斷,如果收到的字符數(shù)小于30個,則說明不是接收到短信的內(nèi)容,應(yīng)繼續(xù)發(fā)送讀短信指令;當(dāng)收到的字符數(shù)大于30個時,說明讀取了短信的內(nèi)容,執(zhí)行讀短信函數(shù)去提取短信息,從而給function賦予相應(yīng)的值。其流

19、程圖如圖8。 圖8 檢測短信流程圖 4.6 讀短信程序 當(dāng)檢測到max大于30的時候,則讀取短信,因為要控制的方面比較少,所以,我們只要檢測第一個字母即可,若第一個字母為w,則表示發(fā)送的命令為window,即關(guān)窗指令,令function為1;若第一個字母為g,則表示發(fā)送的命令為gas,即關(guān)煤氣閥指令,令function為2;若除了上述以外的情況,則令function為3,表示收到的為非控制短信息。之后將收到的短信刪除。其流程圖為圖9所示。

20、 圖8 讀短信流程圖 4.7 發(fā)送指令程序 發(fā)送指令是指發(fā)送相應(yīng)指令的數(shù)組,之后延遲一小會,然后執(zhí)行check_OK函數(shù)。其功能近似,流程圖可以總結(jié)為圖9所示的內(nèi)容。 圖9 讀短信流程圖 4.8 檢查OK程序 每當(dāng)發(fā)送指令函數(shù)執(zhí)行之后,GSM模塊若成功執(zhí)行,則返回OK,本程序進(jìn)行OK的檢測,若長時間檢測不到OK,則應(yīng)該跳出程序,進(jìn)行格式化,然后重新檢測。該子程序的思想就是設(shè)定一個check變量,初始為0,當(dāng)查詢收到OK,則立即跳出,將check置

21、為1,否則就查詢65536次,若仍未收到,就跳轉(zhuǎn)到start處,進(jìn)行初始化。其程序流程如圖10所示。 圖10 檢查OK流程圖 4.9 外部中斷處理程序 當(dāng)發(fā)生外部中斷時,要處理是哪個傳感器出觸發(fā)的中斷,因此當(dāng)進(jìn)入中斷函數(shù)的時候,應(yīng)進(jìn)行判斷相應(yīng)接傳感器引腳的高低電平,之后將locale置為相應(yīng)的值,以實現(xiàn)表3所述的功能。其流程如圖11。 圖11 外部中斷處理

22、程圖 5. 系統(tǒng)調(diào)試和結(jié)果分析 調(diào)試=測試+代碼完善,也就是說調(diào)試的主要手段是先通過測試發(fā)現(xiàn)問題并對其進(jìn)行定位,從而以之為依據(jù)對代碼進(jìn)行完善。從時間上分調(diào)試方法分為開發(fā)期調(diào)試和運行期調(diào)試。開發(fā)期調(diào)試是指在開發(fā)期間為每個功能模塊甚至小到每個接口搭建運行環(huán)境以對它們進(jìn)行功能性測試,并通過測試完善代碼,達(dá)到調(diào)試的目的。開發(fā)期調(diào)試保證當(dāng)前工作的有效性,確保之前所寫的代碼正確可用,從而能無所顧慮地迅速投入下一步工作。 運行期測試基本上就指集成測試,可以是整個系統(tǒng)的集成測試,也可以是多個模塊組合測試,比如單獨測試服務(wù)器端系統(tǒng)或者手機(jī)端系統(tǒng)。這樣的測試主要是功能性測試,用于檢測系統(tǒng)是否實現(xiàn)了預(yù)期的功能

23、,并從測試中發(fā)現(xiàn)重大Bug。測試的時候除了觀察程序運行情況外,往往還需要通過收集測試數(shù)據(jù)一一驗證預(yù)期的目標(biāo)是否達(dá)到。對短消息安全系統(tǒng)服務(wù)器端來說,需要在運行期測試的主要功能模塊有短消息引擎和安全服務(wù)模塊。在測試短消息引擎時,需要測試主要接口是否能正常工作,是否能正確收發(fā)短消息,是否能正確組織和解析短消息。首先經(jīng)過串口調(diào)試助手,向GSM模塊發(fā)指令,檢測返回的內(nèi)容,根據(jù)返回的內(nèi)容編寫單片機(jī)程序,實現(xiàn)收發(fā)短信的功能。 6. 結(jié)論及進(jìn)一步設(shè)想 本文所做的主要工作是:圍繞“單片機(jī)控制GSM模塊收發(fā)短信”這一熱點課題,闡述了基于GSM短消息的家庭防盜系統(tǒng)的設(shè)計方案、開發(fā)方法和開發(fā)過程,介紹了主要的器件

24、GSM模塊TC35i的功能特點,討論了本設(shè)計的關(guān)鍵技術(shù),簡單介紹了GSM模塊的工作原理、短信息業(yè)務(wù)等,包括用AT指令控制TC35i模塊、實現(xiàn)text功能的應(yīng)用。 基于GSM模塊的家庭防盜系統(tǒng)結(jié)構(gòu)簡單、價格低廉、通用性、實用性強(qiáng)、能夠直接或者在稍作改造后用于諸如工廠、煤礦等需要遠(yuǎn)程自動控制的場合。具有一定的社會和經(jīng)濟(jì)意義。 系統(tǒng)在實際調(diào)試中還有點問題存在,因此要繼續(xù)進(jìn)行程序結(jié)構(gòu)優(yōu)化,使系統(tǒng)運行可靠。本設(shè)計只是家庭防盜報警中的一小部分,目前很多公司都在致力于智能家庭防盜的研究,智能家庭防盜的發(fā)展趨勢如下: (1)安全防范:智能安防可以實時監(jiān)控著非法闖入、火災(zāi)、煤氣泄露、緊急呼救的發(fā)生。一旦出

25、現(xiàn)警情,系統(tǒng)會自動向中心發(fā)出報警信息,同時啟動相關(guān)電器進(jìn)入應(yīng)急聯(lián)動狀態(tài),從而實現(xiàn)主動防范。 (2)消費電子產(chǎn)品的智能控制:例如可以自動控制加熱時間、加熱溫度的微波爐,可以自動調(diào)節(jié)溫度、濕度的智能空調(diào),可以根據(jù)指令自動搜索電視節(jié)目并攝錄的電視機(jī)/錄像機(jī)等等。 (3)交互式智能控制:可以通過語音識別技術(shù)實現(xiàn)智能家電的聲控功能;通過各種主動式傳感器(如溫度、聲音、動作等)實現(xiàn)智能信息家電的主動性動作響應(yīng)。用戶還可以自己定義不同場景智能信息家電的響應(yīng)。例如你可以在 里告訴智能家居控制器:“晚上5點把后門的燈打開,并把空調(diào)設(shè)定到25度。”隨著智能控制技術(shù)的發(fā)展,我國將全面普及智能家庭網(wǎng)絡(luò)系統(tǒng)和產(chǎn)

26、品,開始走進(jìn)普通居民的家居中,智能家庭防盜將不再遙不可及。 參考文獻(xiàn) [1] 劉復(fù)華. 單片機(jī)及其應(yīng)用系統(tǒng). 北京:清華大學(xué)出版社,1992 [2] 王書偉,張茜萍. 基于AT89S52與TC35i實現(xiàn)的短信息處理系統(tǒng). 網(wǎng)絡(luò)與通信,2007,第三期 [3] 李廣弟. 單片機(jī)基礎(chǔ) [M ].北京:航空航天大學(xué)出版社 ,2001: 56 - 80 [4] 張光喜. Siemens TC35i短信收發(fā)模塊的設(shè)計. 一線技術(shù),2010 [5] 梅燁,杜清珍. TC35i在遠(yuǎn)程壓力監(jiān)控系統(tǒng)中的應(yīng)用. 《自動化儀表》第 27卷第 12期  2006年 12月 [6] 仵博,劉興,東吳敏.

27、基于GSM的通用遠(yuǎn)程報警控制器的研制. 計算機(jī)工程與應(yīng)用,2007, 43( 8) [7] 張珊,劉立柱.基于 W77E58 單片機(jī)的通用GSM無線 終端實現(xiàn)[J].微計算機(jī)信息,2005,3:87- 88 [8] 曾武玲. 基于短消息網(wǎng)關(guān)的短消息增值應(yīng)用[J]. 微電子技術(shù), 2002 (3): 14218. [9] 潘斌,郭紅霞. 短信收發(fā)模塊 TC35i 的外圍電路設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用, 2004 (7) : 20224. 附錄1 源程序 #include #def

28、ine ENTER 0x0d sbit window = P2^6; sbit gas = P2^7; sbit beep = P2^3; sbit fire = P2^5; unsigned char code AT_AT[]="AT"; unsigned char code AT_TEXT[]="AT+CMGF=1"; //設(shè)置為text模式發(fā)送 unsigned char code AT_CENTER_NUM[]="AT+CSCA=+8613010240500"; //中心號碼 unsigned char code AT_TARGET_PHONE[]="

29、AT+CMGS=18809843037"; //目標(biāo)手機(jī)號 unsigned char code AT_READ_MESSAGE[]="AT+CMGR=1"; //讀取第一條短信命令 unsigned char code AT_DELETE_MESSAGE[]="AT+CMGD=1"; //刪除短信命令 unsigned char code AT_RESET[]="AT&F"; //格式化命令 unsigned char code AT_HOST_WINDOW[]="window"; unsigned char code AT_HOST_GAS[]="gas";

30、unsigned char code AT_MESSAGE_WINDOW[]="windows open"; unsigned char code AT_MESSAGE_GAS[]="gas leakage"; unsigned char code AT_MESSAGE_FIRE[]="fire"; unsigned char RS_TC[87]; //接收數(shù)組 unsigned char max=0; unsigned char i_recieve=0; /接收字節(jié)的個數(shù) unsigned char datatemp; bit flag =

31、2; bit check = 0; unsigned char p1=0; unsigned char function; //遠(yuǎn)程控制--1:關(guān)窗,2:關(guān)煤氣 unsigned char locale; //當(dāng)?shù)貭顟B(tài) unsigned int number; //延遲計數(shù) void delay(unsigned char x) { unsigned char i; for(; x > 0; x--) for(i = 110; i > 0; i--) ; } //////////發(fā)送一個字節(jié)/

32、///////////// void send(unsigned char x) { ES = 0; SBUF = x; while(!TI) ; TI = 0; ES = 1; } //////////檢測返回OK///////////////// void check_OK(void) { unsigned char i; check = 0; while(--number) { if((RS_TC[max-3] == 'O') && (RS_TC[max-2] == 'K')) { check = 1;

33、 i_recieve = 0; number = 1; max = 0; } //delay(1); for(i = 0; i < 15; i++) { ; } } } //////////初始化測試///////////////// void test_TC(void) { unsigned char i; for(i = 0; i< 2; i++) { send(AT_AT[i]); } send(ENTER); check_OK(); } //////////設(shè)置t

34、ext模式/////////////// void set_text() { unsigned char i; for(i = 0; i <9; i++) { send(AT_TEXT[i]); } send(ENTER); check_OK(); } //////設(shè)置中心號碼/////////////////// void set_center_number() { unsigned char i; for(i = 0; i< 22; i++) { send(AT_CENTER_NUM[i]); } send(ENTER

35、); check_OK(); } //////////發(fā)送短信/////////////////// void send_message_window(unsigned char n) { unsigned char i; for(i = 0; i< 19; i++) { send(AT_TARGET_PHONE[i]); } send(ENTER); delay(255); for(i = 0; i< n; i++) { send(AT_MESSAGE_WINDOW[i]); } delay(255); send(0x1

36、A); send(ENTER); check_OK(); } void send_message_gas(unsigned char n) { unsigned char i; for(i = 0; i< 19; i++) { send(AT_TARGET_PHONE[i]); } send(ENTER); delay(255); for(i = 0; i< n; i++) { send(AT_MESSAGE_GAS[i]); } delay(255); send(0x1A); send(ENTER); chec

37、k_OK(); } void send_message_fire(unsigned char n) { unsigned char i; for(i = 0; i< 19; i++) { send(AT_TARGET_PHONE[i]); } send(ENTER); delay(255); for(i = 0; i< n; i++) { send(AT_MESSAGE_FIRE[i]); } delay(255); send(0x1A); send(ENTER); check_OK(); } /////////

38、//刪除短信////////////////// void delete_message() { unsigned char i; for(i = 0; i< 9; i++) { send(AT_DELETE_MESSAGE[i]); } max = 0; i_recieve = 0; send(ENTER); send(ENTER); send(0x0a); check_OK(); } //////////發(fā)送讀短信命令///////////// void order_read_message() { unsigned char

39、i; for(i = 0; i< 9; i++) { send(AT_READ_MESSAGE[i]); } send(ENTER); send(ENTER); send(0x0A); i_recieve = 0; max = 0; } //////////讀短信/////////////////////// void read_message() { switch(RS_TC[74]) { case 'w': function = 1; break; case 'g': function =

40、2; break; default : function = 3; break; } delete_message(); } ///////////格式化////////////////////// void reset() { unsigned char i; flag = 1; for(i = 0; i< 4; i++) { send(AT_RESET[i]); } send(ENTER); check_OK(); } //////////初始化串口///////////////// voi

41、d init_uart(void) { SCON = 0x50; TMOD = 0x20; TH1 = 0Xfd; TL1 = 0xfd; TR1 = 1; IT0 = 1; //外部中斷0 下降沿有效 EA = 1; ES = 1; EX0 = 1; } void main(void) { start: init_uart(); reset(); while(1) { if(flag) { test_TC(); delay(100); P1 = 0x00; if

42、(!check) { goto start; } set_text(); P1 = 0x01; delay(100); if(!check) { goto start; } set_center_number(); P1 = 0x02; delay(100); if(!check) { goto start; } flag = 0; } if(function) //max > 30 表示接收到的內(nèi)容是短信的內(nèi)

43、容 { P1 = 0x05; switch(function) { case 1: //-------控制窗戶-------------------- P1 = 0x50; beep = 0; P0 = 0xd0; //1101 0000 function = 0; break; case 2: //--------控制煤氣閥-------------------- P1 = 0x55; beep = 0; P0 = 0x

44、e0; //0111 0000 function = 0; break; default: P0 = 0xf0; function = 0; break; } } else if(locale) { P1 = 0x06; switch(locale) { case 1: //--------窗戶開---------------------- send_message_window(6);

45、 if(!check) { goto start; } locale = 0; break; case 2: //--------煤氣泄漏-------------------- send_message_gas(3); if(!check) { goto start; } locale = 0; break; case 3: //--------發(fā)生火災(zāi)-------------

46、-------- send_message_fire(4); if(!check) { goto start; } locale = 0; break; default : break; } } else if(max <= 30) { order_read_message(); P1 = 0x03; number = 0 ; while(--number) { ;;;;;;;; }

47、 } else if(max > 40) { P1 = 0x04; read_message(); if(!check) { goto start; } } } } void int0(void) interrupt 0 { if(!window) { locale = 1; } else if(!gas) { locale = 2; } else if(!fire) { locale = 3; } beep = 0; } void uar

48、t(void) interrupt 4 { if(RI) { RI = 0; ES = 0; datatemp = SBUF; RS_TC[i_recieve] = datatemp; if(i_recieve > max) max = i_recieve; i_recieve ++; ES = 1; } } 課設(shè)體會 首先我要感謝喬志華老師給了我這次學(xué)習(xí)GSM模塊的機(jī)會,也讓我學(xué)到了單片機(jī)的很多在課堂上學(xué)不到的東西,尤其是有關(guān)單片機(jī)串口通信方面的知識。經(jīng)過這次課程設(shè)計,讓我

49、體會到了實際動手的重要性,在遇到問題的時候,多看論文,多看程序,學(xué)習(xí)人家的思想以及解決問題的方法。也學(xué)會了怎樣去閱讀程序,怎樣去規(guī)范自己的程序,同時還有創(chuàng)新和編程技巧。 在課程設(shè)計期間,喬老師耐心的給我指導(dǎo)有關(guān)編程方面的知識,同時耐心回答了我提出的古怪的問題。我們還一起討論了怎么去站在系統(tǒng)的角度去考慮問題,怎么樣先去從整體提出解決方案,然后再各個擊破,真正做到了用軟件工程的思想去解決問題。采用自頂向下的思想去解決問題,不僅想問題的思路會發(fā)生變化,會考慮單獨從技術(shù)觸發(fā)所不能考慮的問題,而且運用軟件工程的思想,考慮的問題更全面,效率更高。 雖然我這次課程設(shè)計沒有應(yīng)用軟件工程從整體考慮問題,但是通過這次課程設(shè)計,使我充分的了解到軟件工程思想的重要性。同時也感到,雖然有了軟件工程的思想,但是如果不加以實際的運用,很難將自己的理論基礎(chǔ)轉(zhuǎn)化為實際有力的解決問題的能力,在理論聯(lián)系實際的方面,還要加強(qiáng)鍛煉和學(xué)習(xí)。 2011年7月 21日完

展開閱讀全文
溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲