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

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

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

16 積分

下載資源

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

資源描述:

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

1、沈陽航空航天大學(xué) 課 程 設(shè) 計 任 務(wù) 書 課 程 名 稱 計算機控制技術(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、 年 月 日 負責教師 年 月 日 學(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é)論及進一步設(shè)想 2 參考文獻(1級標題) 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)與手機之間的通信,利用單片機的中斷技術(shù),及時的把家里的情況進行匯報;同時,通過給防盜系統(tǒng)發(fā)短信,可以進行相應(yīng)的遠程控制。經(jīng)過測試,該系統(tǒng)經(jīng)濟,穩(wěn)定性高,可靠性好等優(yōu)點,具有廣泛的市場推廣價值。 關(guān)鍵

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

5、性。目前世界上主要的兩大GSM 系統(tǒng)為GSM 900 及GSM1800,由于采用了不同頻率,因此適用的手機也不盡相同。前者發(fā)展的時間較早,使用的國家較多, 后者發(fā)展的時間較晚,使用的國家也較少。物理特性方面前者頻譜較低,波長較長,穿透力較差,但傳送的距離較遠,而手機發(fā)射功率較強, 耗電量較大,因此待機時間較短;而后者的頻譜較高,波長較短,穿透力佳,但傳送的距離短其手機的發(fā)射功率較小,待機時間則相應(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ò),達到通知主人的目的,使主人即使遠在千里之外也能對家中發(fā)生的各種情況了如執(zhí)掌;同時主人通過給系統(tǒng)發(fā)送短信命令,控制門、窗、煤氣閥的開關(guān)狀態(tài),實現(xià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ā)送各種命令。更詳細的資料可以參考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)控和控制,包括檢測煤氣超標的電路,檢測窗戶開關(guān)的電路,火災(zāi)監(jiān)測電路,以及控制煤氣閥,控制窗戶開關(guān)的電路。其中包括傳感器模塊,單片機控制模塊,以及控制煤氣閥,驅(qū)動相應(yīng)窗戶的電機模塊。 軟件部分實現(xiàn)對串口的初始化,發(fā)送初始化指令,檢測短信息,檢測報警,發(fā)送短信等功能。主要思想是

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

11、池式、可控電位電解式、電量式和離子電極式四種類型。原電池式氣體傳感器通過監(jiān)測電流來監(jiān)測氣體的體積分數(shù),電量式氣體傳感器出現(xiàn)得早,通過測量離子極化電流來監(jiān)測氣體的體積分數(shù),電化學(xué)式氣體傳感器主要的優(yōu)點是檢測氣體的靈敏度高、選擇性好。 3.3監(jiān)測防盜模塊 對于防盜傳感器,本系統(tǒng)采用主動式紅外對射傳感器,它相對于傳統(tǒng)的被動式熱釋紅外傳感器有以下優(yōu)點: 1、主動式隊射紅外傳感器安裝于門窗及一切需要設(shè)防的位置,采用多光束綜合判斷,當有一定體積的障礙物遮擋時,才被觸發(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)的氣體都被部分電離。當有煙霧進入外電離室,因煙霧顆粒吸附一部分離子,使外室的離子電流減?。刃в谒碾娮柙龃?,分壓電位增高。當煙霧達到檢測的限定濃度時,則電位增高到能觸發(fā)開關(guān)電路(高電位觸發(fā)型)而報警。 3.5相應(yīng)控制模塊 控制窗戶與電磁閥的相應(yīng)模塊,與相應(yīng)的

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

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

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

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

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

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

19、程圖如圖8。 圖8 檢測短信流程圖 4.6 讀短信程序 當檢測到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程序 每當發(fā)送指令函數(shù)執(zhí)行之后,GSM模塊若成功執(zhí)行,則返回OK,本程序進行OK的檢測,若長時間檢測不到OK,則應(yīng)該跳出程序,進行格式化,然后重新檢測。該子程序的思想就是設(shè)定一個check變量,初始為0,當查詢收到OK,則立即跳出,將check置

21、為1,否則就查詢65536次,若仍未收到,就跳轉(zhuǎn)到start處,進行初始化。其程序流程如圖10所示。 圖10 檢查OK流程圖 4.9 外部中斷處理程序 當發(fā)生外部中斷時,要處理是哪個傳感器出觸發(fā)的中斷,因此當進入中斷函數(shù)的時候,應(yīng)進行判斷相應(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ù)對代碼進行完善。從時間上分調(diào)試方法分為開發(fā)期調(diào)試和運行期調(diào)試。開發(fā)期調(diào)試是指在開發(fā)期間為每個功能模塊甚至小到每個接口搭建運行環(huán)境以對它們進行功能性測試,并通過測試完善代碼,達到調(diào)試的目的。開發(fā)期調(diào)試保證當前工作的有效性,確保之前所寫的代碼正確可用,從而能無所顧慮地迅速投入下一步工作。 運行期測試基本上就指集成測試,可以是整個系統(tǒng)的集成測試,也可以是多個模塊組合測試,比如單獨測試服務(wù)器端系統(tǒng)或者手機端系統(tǒng)。這樣的測試主要是功能性測試,用于檢測系統(tǒng)是否實現(xiàn)了預(yù)期的功能

23、,并從測試中發(fā)現(xiàn)重大Bug。測試的時候除了觀察程序運行情況外,往往還需要通過收集測試數(shù)據(jù)一一驗證預(yù)期的目標是否達到。對短消息安全系統(tǒng)服務(wù)器端來說,需要在運行期測試的主要功能模塊有短消息引擎和安全服務(wù)模塊。在測試短消息引擎時,需要測試主要接口是否能正常工作,是否能正確收發(fā)短消息,是否能正確組織和解析短消息。首先經(jīng)過串口調(diào)試助手,向GSM模塊發(fā)指令,檢測返回的內(nèi)容,根據(jù)返回的內(nèi)容編寫單片機程序,實現(xiàn)收發(fā)短信的功能。 6. 結(jié)論及進一步設(shè)想 本文所做的主要工作是:圍繞“單片機控制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)簡單、價格低廉、通用性、實用性強、能夠直接或者在稍作改造后用于諸如工廠、煤礦等需要遠程自動控制的場合。具有一定的社會和經(jīng)濟意義。 系統(tǒng)在實際調(diào)試中還有點問題存在,因此要繼續(xù)進行程序結(jié)構(gòu)優(yōu)化,使系統(tǒng)運行可靠。本設(shè)計只是家庭防盜報警中的一小部分,目前很多公司都在致力于智能家庭防盜的研究,智能家庭防盜的發(fā)展趨勢如下: (1)安全防范:智能安防可以實時監(jiān)控著非法闖入、火災(zāi)、煤氣泄露、緊急呼救的發(fā)生。一旦出

25、現(xiàn)警情,系統(tǒng)會自動向中心發(fā)出報警信息,同時啟動相關(guān)電器進入應(yīng)急聯(lián)動狀態(tài),從而實現(xiàn)主動防范。 (2)消費電子產(chǎn)品的智能控制:例如可以自動控制加熱時間、加熱溫度的微波爐,可以自動調(diào)節(jié)溫度、濕度的智能空調(diào),可以根據(jù)指令自動搜索電視節(jié)目并攝錄的電視機/錄像機等等。 (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、品,開始走進普通居民的家居中,智能家庭防盜將不再遙不可及。 參考文獻 [1] 劉復(fù)華. 單片機及其應(yīng)用系統(tǒng). 北京:清華大學(xué)出版社,1992 [2] 王書偉,張茜萍. 基于AT89S52與TC35i實現(xiàn)的短信息處理系統(tǒng). 網(wǎng)絡(luò)與通信,2007,第三期 [3] 李廣弟. 單片機基礎(chǔ) [M ].北京:航空航天大學(xué)出版社 ,2001: 56 - 80 [4] 張光喜. Siemens TC35i短信收發(fā)模塊的設(shè)計. 一線技術(shù),2010 [5] 梅燁,杜清珍. TC35i在遠程壓力監(jiān)控系統(tǒng)中的應(yīng)用. 《自動化儀表》第 27卷第 12期  2006年 12月 [6] 仵博,劉興,東吳敏.

27、基于GSM的通用遠程報警控制器的研制. 計算機工程與應(yīng)用,2007, 43( 8) [7] 張珊,劉立柱.基于 W77E58 單片機的通用GSM無線 終端實現(xiàn)[J].微計算機信息,2005,3:87- 88 [8] 曾武玲. 基于短消息網(wǎng)關(guān)的短消息增值應(yīng)用[J]. 微電子技術(shù), 2002 (3): 14218. [9] 潘斌,郭紅霞. 短信收發(fā)模塊 TC35i 的外圍電路設(shè)計[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"; //目標手機號 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; //遠程控制--1:關(guān)窗,2:關(guān)煤氣 unsigned char locale; //當?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模塊的機會,也讓我學(xué)到了單片機的很多在課堂上學(xué)不到的東西,尤其是有關(guān)單片機串口通信方面的知識。經(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)系實際的方面,還要加強鍛煉和學(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(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)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!