畢業(yè)設(shè)計(jì):基于GSM模塊的智能家居系統(tǒng)_第1頁(yè)
畢業(yè)設(shè)計(jì):基于GSM模塊的智能家居系統(tǒng)_第2頁(yè)
畢業(yè)設(shè)計(jì):基于GSM模塊的智能家居系統(tǒng)_第3頁(yè)
畢業(yè)設(shè)計(jì):基于GSM模塊的智能家居系統(tǒng)_第4頁(yè)
畢業(yè)設(shè)計(jì):基于GSM模塊的智能家居系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于GSM模塊的智能家居系統(tǒng)設(shè)計(jì)作 者 丁明明指導(dǎo)教師 白政民摘要GSM(全球移動(dòng)通訊系統(tǒng))在如今這個(gè)信息大爆炸的時(shí)代中扮演著重要的角色,現(xiàn)如今已經(jīng)成為一種應(yīng)用最廣泛、技術(shù)成熟、相對(duì)完善的移動(dòng)通訊系統(tǒng)。我國(guó)目前幾乎已經(jīng)被三大公司各自建造的GSM移動(dòng)通信網(wǎng)覆蓋全國(guó)的范圍。用戶可以利用手機(jī)通過GSM網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程控制的作用。智能家居是一種新生產(chǎn)業(yè),目前我國(guó)智能家居市場(chǎng)正在逐漸成形和擴(kuò)大。本論文設(shè)計(jì)的智能家居系統(tǒng)比較簡(jiǎn)單,選用一款最常見的單片機(jī)STC89C52來控制,利用一款常見的GSM無線通信模塊(西門子TC35)構(gòu)建控制通信網(wǎng)絡(luò),通過收發(fā)短信的形式控制繼電器的狀態(tài),間接地控制相應(yīng)家電的狀態(tài)。簡(jiǎn)而言

2、之,就是用戶可以在異地收發(fā)短信控制家用電器狀態(tài)。本設(shè)計(jì)的獨(dú)特之一在于用市場(chǎng)上常見的單片機(jī)控制GSM模塊收發(fā)短信,再間接的控制繼電器組成的家電控制電路;獨(dú)特之二在于解決了GSM模塊和單片機(jī)如何正確通信連接的問題。關(guān)鍵詞 智能家居;STC89C52;TC35;繼電器1. 設(shè)計(jì)方案和工作原理1.1 設(shè)計(jì)要求(1)GSM模塊能聯(lián)網(wǎng)通信且能和PC機(jī)之間成功連接:本設(shè)計(jì)要求TC35模塊插上SIM卡(2G版)能成功連接G網(wǎng)絡(luò),能通過USBRS-232串口線與PC機(jī)之間進(jìn)行連接,并能使用AT指令進(jìn)行一些基本操作如:接打電話、收發(fā)短信、讀取短信、按條件列舉短信、刪除短信、設(shè)置短信服務(wù)中心號(hào)碼、設(shè)置短信模式等。(

3、2)GSM模塊與單片機(jī)可以成功連接且能通過短信控制繼電器動(dòng)作:?jiǎn)纹瑱C(jī)STC89C52和TC35模塊能通過串口線成功連接,二者可以成功的互相傳輸數(shù)據(jù)。單片機(jī)可以識(shí)別GSM模塊所接收的信息,進(jìn)而控制相應(yīng)的繼電器的閉合和釋放,從而達(dá)到控制家用電器的功能。1.2 設(shè)計(jì)方案STC89C52 單片機(jī)GSM模塊(TC35) 控制模塊(可用繼電器控制家電)通信RS-232串口技術(shù)標(biāo)準(zhǔn)通信圖1-1 總體設(shè)計(jì)框圖智能家居系統(tǒng)一般可以實(shí)現(xiàn)兩種功能:家電控制功能和家庭安防功能。本設(shè)計(jì)只涉及到家電控制方面,總體電路結(jié)構(gòu)比較簡(jiǎn)單。設(shè)計(jì)時(shí)選用一款最常見的單片機(jī)STC89C52來控制,利用一款常見的無線通信模塊西門子TC35

4、構(gòu)建控制通信網(wǎng)絡(luò),通過收發(fā)短信的形式控制繼電器的狀態(tài),間接地控制相應(yīng)家電的狀態(tài)。簡(jiǎn)而言之,就是用戶可以在異地收發(fā)短信控制家用電器狀態(tài)。GSM模塊能將短信息內(nèi)容傳送給單片機(jī),單片機(jī)通過將短信內(nèi)容與內(nèi)部ROM存儲(chǔ)的程序相對(duì)比,判斷決定不同編號(hào)的繼電器是閉合還是釋放。本設(shè)計(jì)選用西門子公司旗下的一款模塊TC35模塊作為GSM通信模塊。TC35模塊可以通過自帶的RS-232通信串口和單片機(jī)聯(lián)絡(luò)通信,RS-232是一種串口技術(shù)標(biāo)準(zhǔn),相關(guān)的電路主要采用MAX232作為電平轉(zhuǎn)換芯片,MAX232芯片能將單片機(jī)的TTL電平和TC35的CMOS電平轉(zhuǎn)換到相同的RS-232電平,以便于TC35和單片機(jī)之間的通信。T

5、C35模塊和單片機(jī)之間硬件通信連接時(shí),單片機(jī)的TXD(P3.1)引腳和RXD (P3.0)引腳傳輸數(shù)據(jù)時(shí)分別對(duì)應(yīng)著TC35模塊的RXD0和TXD0引腳。但是由于二者的通信電平不同,單片機(jī)的輸入、輸出為TTL電平,TC35的輸入、輸出為CMOS電平,二者電平不能通信。因此單片機(jī)和TC35之間需要兩組MAX232芯片組成的RS-232串口來將TTL和CMOS電平都轉(zhuǎn)換成RS-232通信電平,再用雙公頭串口線把兩個(gè)端口相連接,就可以實(shí)現(xiàn)TC35MAX232MAX232MCU這樣的串口通信線路。如圖1-2為單片機(jī)和TC35模塊通信連接框圖。STC89C52MAX232TC35模塊MAX232RXD0T

6、XD0RXDTXD圖1-2 單片機(jī)和TC35模塊通信框圖本設(shè)計(jì)的單片機(jī)采用了一款最常用、且便宜的單片機(jī)STC89C52作為控制中心,該單片機(jī)的P0口作為輸出控制端連接著執(zhí)行機(jī)構(gòu)。執(zhí)行機(jī)構(gòu)選用原理簡(jiǎn)單、且易操作的繼電器來控制家電的狀態(tài)。當(dāng)用戶用手機(jī)向通信模塊發(fā)送短信息后,通信模塊會(huì)將信息內(nèi)容傳輸個(gè)控制中心,控制中心通過對(duì)收到的短信數(shù)據(jù)判斷,將相應(yīng)的執(zhí)行命令傳輸給執(zhí)行機(jī)構(gòu)繼電器,繼電器閉合會(huì)間接控制家電打開,繼電器釋放會(huì)間接控制家電關(guān)閉。2. 硬件設(shè)計(jì)2.1 單片機(jī)2.1.1 STC89C52本設(shè)計(jì)選用一款STC公司生產(chǎn)的目前社會(huì)上最常用的STC89C52單片機(jī)作為控制芯片。該單片機(jī)自帶8K只讀存

7、儲(chǔ)器,運(yùn)行時(shí)功耗低、性能高。該器件采用Atmel高密度非易失存儲(chǔ)器制造技術(shù),兼容Intel8031指令集。該芯片使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使其具備了一些新的功能。STC89C52是傳統(tǒng)51單片機(jī)的升級(jí)版8。MCU在沒有執(zhí)行操作的狀態(tài)時(shí),允許內(nèi)部寄存器、定時(shí)器和計(jì)數(shù)器、串口和中斷繼續(xù)工作。STC89C52自帶掉電保護(hù)功能,斷電后內(nèi)部寄存器內(nèi)容能夠被保存下來,振蕩器被凍結(jié),單片機(jī)停止工作,等到有中斷或硬件復(fù)位時(shí)再正常工作。最高運(yùn)作頻率35MHz,6T/12T可選。圖2-1為STC89C52引腳圖,表2-1為STC89C52主要特性8。表2-1 STC89C52主要特性可編程UAR

8、T串行通道8K可反復(fù)擦寫Flash ROM2個(gè)外部中斷源軟件設(shè)置睡眠和喚醒功能3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHz2個(gè)串行中斷兼容MCS51指令系統(tǒng)32個(gè)雙向I/O口2個(gè)讀寫中斷口線共6個(gè)中斷源3級(jí)加密位低功耗空閑和掉電模式256x8bit內(nèi)部RAM圖2-1 STC89C52引腳圖2.1.2 單片機(jī)外圍電路設(shè)計(jì)本設(shè)計(jì)選用STC89C52被廣泛使用,可靠性高而且價(jià)格便宜。該單片機(jī)自帶看門狗功能,能夠在單片機(jī)系統(tǒng)運(yùn)行過程中因故障而超出設(shè)置時(shí)間的時(shí)候復(fù)位電路讓系統(tǒng)恢復(fù)正常。該類型單片機(jī)內(nèi)存比較大,一般都能存儲(chǔ)下平常編寫的程序。圖2-2是給STC89C52單片機(jī)設(shè)計(jì)的外圍電路,包括復(fù)

9、位電路、晶振電路和P0輸出口的上拉電阻(排阻)。其中JP0JP3分別為P0P1的擴(kuò)展插針,P0作為輸出控制端口,為了穩(wěn)定電平輸出,增大端口的驅(qū)動(dòng)能力,需要增加上拉電阻。J1為上拉電阻(排阻)插座。圖2-2 STC89C52及周圍電路2.1.3 單片機(jī)與TC35模塊連接方式單片機(jī)和GSM模塊聯(lián)絡(luò)通訊時(shí),一定注意不能直接把單片機(jī)RXD(P3.0)、TXD(P3.1)引腳直接和TC35的TXD0和RXD0相連接,這樣是不能實(shí)現(xiàn)二者通信的。因?yàn)閱纹瑱C(jī)的電平為TTL類型,TC35的電平為CMOS類型,二者的高電平和低電平都不一樣,實(shí)現(xiàn)不了數(shù)據(jù)的傳輸。正確的連接方法是:?jiǎn)纹瑱C(jī)的TXD(P3.1)和RXD

10、(P3.0)引腳通過RS-232串口端后經(jīng)過雙公頭串口線連接到TC35模塊的RS-232串口端(TC35模塊自帶RS-232串口端),再對(duì)應(yīng)的連接到TC35的RXD0和TXD0引腳。兩者之間需要兩組MAX232芯片組成的RS-232串口端作為通信端10。圖2-3為單片機(jī)側(cè)的RS-232串口電路。圖2-3 單片機(jī)側(cè)RS-232串口電路2.2 繼電器2.2.1 繼電器功能和原理繼電器的種類和功能有很多,涉及到強(qiáng)電和弱電電路的保護(hù)控制等。其工作原理可以綜合認(rèn)為是:由某種輸入信號(hào)(如電流、電壓等)的變化,改變繼電器的狀態(tài),間接控制電路,從而起到自動(dòng)控制電路狀態(tài)的作用7。繼電器一般由控制系統(tǒng)和被控制系統(tǒng)

11、兩部分組成,控制系統(tǒng)又稱輸入回路,被控制系統(tǒng)又稱輸出回路。輸入回路一般為小電流電路,輸出回路一般為大電流電路,用小電流控制大電流的方法可以隔離大電流電路被控時(shí)的危險(xiǎn)性,即安全又可控。圖2-4為常見的不同類型的繼電器。圖2-4 常見繼電器繼電器的控制回路有“常開”和“常閉”兩種觸點(diǎn)7?!俺i_”觸點(diǎn)指的是當(dāng)輸入回路沒有輸入量時(shí)輸出回路是開路狀態(tài),“常閉”觸點(diǎn)指的是當(dāng)輸入回路沒有輸入量時(shí)輸出回路是接通狀態(tài)。最早出現(xiàn)的繼電器是電磁式繼電器,該繼電器應(yīng)用最為廣泛。該類型繼電器主要由鐵芯、線圈、銜鐵、主觸點(diǎn)、輔助觸點(diǎn)和釋放彈簧組成。當(dāng)輸入回路線圈加上一定電流后,線圈會(huì)根據(jù)電磁效應(yīng)產(chǎn)生電磁場(chǎng),銜鐵在電磁場(chǎng)中

12、會(huì)受到磁力的作用而動(dòng)作,間接地帶動(dòng)“常開”觸點(diǎn)閉合、“常閉”觸點(diǎn)釋放。當(dāng)該電流消失或小于最小動(dòng)作值后,銜鐵就會(huì)在彈簧的作用力下返回原始狀態(tài)。使動(dòng)觸點(diǎn)與靜觸點(diǎn)分離。2.2.2 繼電器的選擇繼電器種類和功能多樣,如果沒有選擇正確合適的繼電器可能會(huì)導(dǎo)致被控系統(tǒng)不能被控制甚至導(dǎo)致整個(gè)電路的癱瘓。一般在選擇繼電器時(shí)可以簡(jiǎn)單地考慮以下幾點(diǎn)要素:(1) 輸入回路的電壓和最大電流;(2) 輸出回路的電壓和最大電流;(3) 輸出回路有幾組被控制端;(4) 輸出回路控制端需要“常開”還是“常閉”。本設(shè)計(jì)選用了一款松樂公司生產(chǎn)的繼電器。該繼電器信號(hào)輸入端為5V直流電壓,輸出控制端最高控制量為10A-250V AC或

13、10A-30V DC。單片機(jī)IO口輸出的為TTL電平,輸出電壓近似為5V,但輸出電流只有420mA,這種低電流是無法帶動(dòng)繼電器正常工作的,為解決此問題,本設(shè)計(jì)選用PNP三極管放大電路來放大IO口的輸出電流,達(dá)到成功驅(qū)動(dòng)繼電器的目的。該放大驅(qū)動(dòng)電路如圖2-5所示。驅(qū)動(dòng)電路的J2輸入端通過杜邦線連接單片機(jī)的P0口。發(fā)光二極管D2和電阻R5組成的線路起到顯示接通電源的作用。當(dāng)IO口輸出高電平時(shí),電流Ib通過PNP三極管8550放大后達(dá)到動(dòng)作值使繼電器動(dòng)作。當(dāng)J2輸入端輸入量由高電平變成低電平時(shí),由于自感現(xiàn)象繼電器線圈會(huì)產(chǎn)生比較大的自感電壓,該電壓方向和電源電壓VCC相同,這兩種電壓同向加在三極管e、

14、c兩級(jí)上,高于之前狀態(tài)下的電壓,這很可能會(huì)導(dǎo)致e極被擊穿而損壞電路。為解決這個(gè)問題,可以在繼電器輸入端兩邊反向并聯(lián)一個(gè)穩(wěn)壓二極管來吸收和釋放自感電壓。圖2-5 繼電器驅(qū)動(dòng)電路實(shí)際電路制作中,為簡(jiǎn)化實(shí)物焊接過程,筆者選用成型的繼電器模塊。圖2-6為制作實(shí)物時(shí)選用的5V直流繼電器模塊。該模塊將繼電器元件和驅(qū)動(dòng)電路設(shè)計(jì)到一個(gè)很小的電路板上供二次開發(fā)使用。繼電器元件為松樂公司生產(chǎn)的一款繼電器(輸入量:5V直流電壓,最高輸出:10A-250V AC或10A-30V DC),驅(qū)動(dòng)電路符合圖2-5所示。該模塊輸入端有三個(gè)可接線插頭,分別是電源端(VCC)、接地端(GND)、信號(hào)輸入端(IN)。輸出端有三個(gè)可

15、接線端口,分別是“常開”觸點(diǎn)、公共端和“常閉”觸點(diǎn)。當(dāng)繼電器閉合后,“常開”觸點(diǎn)閉合、“常閉”觸點(diǎn)釋放;當(dāng)繼電器釋放后所有觸點(diǎn)都返回初始狀態(tài)。圖2-6 5V直流繼電器模塊2.3 TC35模塊2.3.1 TC35模塊介紹TC35模塊是西門子公司生產(chǎn)的一種無線通信GSM模塊,可以通過G網(wǎng)實(shí)現(xiàn)數(shù)據(jù)傳輸、語音傳輸、短消息服務(wù)和傳真等功能。TC35模塊主要由TC35和其外圍電路組成。TC35是整個(gè)TC35模塊的核心。外圍電路涉及到電源電路、開關(guān)電路、數(shù)據(jù)輸入/輸出電路、音頻電路、SIM卡電路、RS-232串口、指示燈電路。TC35和其外圍電路是通過40針ZIF連接器相連接的。圖2-7為TC35結(jié)構(gòu)框圖。

16、電源SIM數(shù)據(jù)IN/OUTRS-232音頻GSM基帶處理器GSM射頻模塊供電模塊Flash天線ZIF 40針連接器圖2-7 TC35結(jié)構(gòu)框圖TC35主要由GSM基帶處理器、GSM射頻模塊(Radio)、供電模塊(ASIC)、閃存(Flash)、ZIF連接器、天線(Antenna Connector)六部分組成2。GSM 基帶處理器相當(dāng)于TC35甚至整個(gè)TC35模塊的大腦,它由C116CPU和DSP處理器內(nèi)核組成,控制著模塊中各種信號(hào)的傳輸、轉(zhuǎn)換、放大等處理過程;GSM 射頻模塊是一個(gè)由外差式接收器、上變頻調(diào)制環(huán)路發(fā)生送器、射頻鎖相環(huán)路和集成中頻合成器四個(gè)功能模塊組成的單片收發(fā)器,能夠?qū)崿F(xiàn)對(duì)射頻

17、信號(hào)接收和發(fā)送等處理;GSM 模塊電源(ASIC)利用線性電壓調(diào)節(jié)器將外部電源電壓轉(zhuǎn)換成支持GSM 基帶處理器和GSM 射頻部分工作的合適電壓;Flash用于存儲(chǔ)一些信息9。圖2-8為TC35去除金屬封裝后的內(nèi)部電路結(jié)構(gòu)。圖2-8 TC35內(nèi)部電路結(jié)構(gòu)TC35模塊的工作電壓為3.3 5.5V,其工作電流變化較大,待機(jī)狀態(tài)時(shí)電流小于3.5mA,正常工作(接打電話、收發(fā)短信等)時(shí)電流最大能達(dá)到1.8A。該模塊可以工作在EGSM900和GSM1800兩個(gè)頻段。EGSM900頻段的上行頻率為880890 MHz ,下行頻率為925935 MHz。GSM1800頻段的上行頻率為17101785 MHz

18、,下行頻率為18051880 MHz。工作在EGSM900和GSM1800頻段的功率消耗分別為2W和1W。圖2-9為本設(shè)計(jì)選用的TC35模塊。該模塊電源接口輸入為5V直流電源,背面有SIM卡槽,插上SIM卡并接通電源后左上角電源指示燈常亮,按下啟動(dòng)按鈕,信號(hào)燈開始閃爍。信號(hào)指示燈600ms亮/600ms滅,表明未連接到網(wǎng)絡(luò)或者正在搜尋網(wǎng)絡(luò)中,一段時(shí)間后,如果信號(hào)指示燈75ms亮/3s 滅,表示網(wǎng)絡(luò)注冊(cè)成功(控制通道和用戶交換信息完成),這時(shí)就可以用USBRS-232串口線連接TC35模塊和PC機(jī)進(jìn)行AT指令調(diào)試。如果需要進(jìn)行TC35和單片機(jī)的聯(lián)機(jī)調(diào)試,除了TC35模塊自帶的RS-23

19、2串口端外,還需要另外設(shè)計(jì)一個(gè)單片機(jī)的RS-232串口端,二者之間用一根雙公頭串口線連接。圖2-9 TC35模塊2.3.2 AT指令A(yù)T(Attention)指令應(yīng)用于GSM模塊與單片機(jī)應(yīng)用之間的連接和通信。AT指令是以AT開始以字符結(jié)束的字符串,AT指令的響應(yīng)數(shù)據(jù)包含在該字符串中。每個(gè)指令執(zhí)行成功與否都會(huì)有對(duì)應(yīng)的返回值。在TC35模塊和PC機(jī)連接調(diào)試時(shí)就用到AT指令控制TC35模塊接打電話、收發(fā)短信、存儲(chǔ)和刪除短信、設(shè)置波特率等操作。還可以通過單片機(jī)編寫含有AT指令的程序來控制TC35模塊進(jìn)行同樣的操作?;境R姷腁T指令:AT 測(cè)試連接是否正確AT+CMGF 設(shè)置短信息收發(fā)模式(兩種常用模

20、式:Text模式和PDU模式)AT+CSCA 設(shè)置短信服務(wù)中心號(hào)碼(不同的地區(qū)短信服務(wù)中心號(hào)碼不同)AT+CNMI 新短信息提示AT+IPR? 顯示串口波特率AT+IPR=9600 更改串口波特率為9600AT+CMGR 讀取短信息(從指定的存儲(chǔ)地址讀?。〢T+CMGS 發(fā)送短信息AT+CMGL 列舉短信息2.3.3 短信收發(fā)模式TC35模塊短消息收發(fā)控制模式一共有三種,可以通過AT指令A(yù)T+CMGF進(jìn)行修改和設(shè)置,這三種模式為:Block模式、Text模式、PDU模式(Protocol Data Unit:協(xié)議數(shù)據(jù)單元)。最初的Block模式已經(jīng)被PDU模式取代,Block模式已逐漸淡去。現(xiàn)

21、如今常用的是Text模式和PDU模式。Text模式下收發(fā)短信內(nèi)容直接為ASCII字符,包括英文、數(shù)字或者英文格式下的標(biāo)點(diǎn)符號(hào)。PDU模式不僅可以收發(fā)與Text模式相同的短信息內(nèi)容,還可以收發(fā)中文和含有中文格式下的標(biāo)點(diǎn)符號(hào)是的短信,但是該模式需采用unicode編碼方式對(duì)收發(fā)的短信息進(jìn)行編碼。二者相比而言,PDU模式收發(fā)的短信息內(nèi)容更加全面和豐富但過程相對(duì)復(fù)雜,Text模式收發(fā)短信息內(nèi)容簡(jiǎn)單且過程無需編碼。出于本設(shè)計(jì)操作簡(jiǎn)單考慮,本設(shè)計(jì)只使用Text 模式以便于通過單片機(jī)和GSM 模塊之間的短信收發(fā)。2.3.4 TC35連PC機(jī)調(diào)試TC35模塊可以通過PC機(jī)進(jìn)行調(diào)試,測(cè)試TC35模塊能不能正常使

22、用。TC35模塊自帶RS-232接口,PC機(jī)與GSM聯(lián)絡(luò)通訊時(shí),只需要通過USBRS-232串口線連接PC機(jī)和TC35模塊,該串口線能將USB的差分信號(hào)轉(zhuǎn)換成RS-232信號(hào)便于通訊連接。連接成功后,只需要利用PC機(jī)上的串口調(diào)試助手軟件就可以進(jìn)行TC35調(diào)試。串口調(diào)試軟件如圖2-10所示。圖2-10 串口調(diào)試助手TC35模塊和PC機(jī)連接調(diào)試時(shí)需要用到AT指令。具體運(yùn)用指令調(diào)試時(shí)可以進(jìn)行如下調(diào)試:控制TC35模塊接收短信、列舉短信息、存儲(chǔ)和刪除短信、設(shè)置波特率、設(shè)置短信服務(wù)中心號(hào)碼、發(fā)送短信息等操作。TC35連機(jī)調(diào)試主要步驟:1、 啟動(dòng)串口調(diào)試軟件打開串口調(diào)試助手主界面后需要進(jìn)行一些必要設(shè)置:端

23、口位置根據(jù)串口和PC機(jī)實(shí)際連接的COM口選擇、波特率:9600、無校驗(yàn)位:None(無)、數(shù)據(jù)位:8、停止位:1。如果GSM模塊聯(lián)網(wǎng)成功且COM口選擇正確,點(diǎn)擊“打開串口”按鈕后指示燈會(huì)亮起,表明串口調(diào)試助手和TC35模塊連接成功。2、發(fā)送“AT”在發(fā)送區(qū)編寫大寫AT,加回車后點(diǎn)“手動(dòng)發(fā)送”,此時(shí)該軟件的接收區(qū)會(huì)顯示“AT OK”表明連接正確。3、改變波特率“AT+IPR=XXXX”TC35的波特率可以通過AT指令修改,波特率過高時(shí)傳輸容易出錯(cuò),過低時(shí)傳輸速度太慢,所以把TC35模塊的波特率設(shè)置為9600最為合適。設(shè)置方法:AT+IPR=9600回車4、 設(shè)置短信模式“AT+CMGF=XX”T

24、C35模塊有兩種常用的短消息收發(fā)控制模式:Text模式和PDU模式。本設(shè)計(jì)只使用Text模式收發(fā)短信。設(shè)置Text模式方法:AT+CMGF=1回車5、短信讀取方法“AT+CMGR=XX”SIM卡中可以存儲(chǔ)一定量的短信息,其容量跟SIM卡有關(guān)。指令中“XX”指代SIM卡中要讀取短信的序號(hào),該序號(hào)可以為1最大存儲(chǔ)容量間的任意數(shù)。在使用該指令前需設(shè)定短信收發(fā)模式。Text模式下短信讀取命令舉例:AT+CMGR=1回車(讀取第一條短信)如果有短信息時(shí)TC35模塊的響應(yīng)如下:+CMGL: "REC UNREAD","+8615346205520","14

25、/04/27,09:20:51+32"xuchangxueyuan10DIANQI6BANOK短信息分析:“xuchangxueyuan10DIANQI6BAN”就是短信息內(nèi)容。"REC UNREAD":表明短信未讀?。?quot;REC READ":表明短信已讀過)。"+8615346205520":該短信息的。"14/04/27,09:20:51+32":短信息收到的時(shí)間。如果沒有短信息時(shí)TC35模塊的響應(yīng)如下:AT+CMGR=7+CMGR: 0,06、 列舉短信息方式 “AT+CMG

26、L=<stat>”該命令可以按<stat>要求的方式列舉SIM卡中存儲(chǔ)的短信息。 例如以下指令操作:選擇為Text短信收發(fā)模式后,在AT指令區(qū)中輸入:AT+CMGL="REC UNREAD"如果之前有未讀的新短信息發(fā)送給TC35模塊時(shí),TC35模塊會(huì)給出如下響應(yīng):+CMGL: 6,"REC UNREAD","+8615346205520","14/04/27,10:25:11+32"ddfjkkgfhkOK<stat> 的取值:表2-2 <stat> 的取值Text

27、模式下<stat>取值說 明 "REC UNREAD"接收未讀 "REC READ"接收已讀 "STO UNSENT"存儲(chǔ)未發(fā)送 "STO SENT"存儲(chǔ)已發(fā)送 "ALL"所有消息 7、 設(shè)置短信服務(wù)中心號(hào)碼短信服務(wù)中心號(hào)碼是一種短信息服務(wù)器,可以理解為短信收發(fā)過程的中轉(zhuǎn)站。當(dāng)手機(jī)用戶暫時(shí)無法聯(lián)系上時(shí),如果用戶開通了短信服務(wù),短信服務(wù)中心就會(huì)將那些無法收到的短信中存儲(chǔ)下來,等到用戶手機(jī)開機(jī)或重新連上服務(wù)器后,短信服務(wù)中心號(hào)碼這個(gè)第三方就會(huì)將這些信息發(fā)到用戶手機(jī)上,起到短信息中轉(zhuǎn)站的作

28、用。操作指令為:AT+CSCA="+8613800374500"許昌市移動(dòng)的短信服務(wù)中心號(hào)碼是“+8613800374500”。8、短信發(fā)送方法 “ AT+CMGS="XXXXXX"”注意:在測(cè)試該指令前,必須先將控制模式改成Text模式,其次必須要設(shè)置好短信服務(wù)中心號(hào)碼,短信服務(wù)中心號(hào)碼因地區(qū)不同而不同,可聯(lián)系客服咨人工咨詢或上網(wǎng)查詢。否者無法正確發(fā)送短信息。具體指令操作步驟如下:(1)AT+CMGF=1回車 (選擇Text模式)點(diǎn)手動(dòng)發(fā)送(2)AT+CSCA="+8613800374500"回車 (設(shè)置短信服務(wù)中心號(hào)碼)點(diǎn)手動(dòng)發(fā)送

29、(3)AT+CMGS="quot;回車 (短信接收用戶號(hào)碼為點(diǎn)手動(dòng)發(fā)送(4) 輸入短信內(nèi)容,內(nèi)容為英文、數(shù)字或英文格式下的標(biāo)點(diǎn)符號(hào)點(diǎn)手動(dòng)發(fā)送(5)選中串口調(diào)試助手面板左下角的“十六進(jìn)制發(fā)送”選項(xiàng)(在其他情況下不需要選中該選項(xiàng)),然后輸入1A(“1A”是16進(jìn)制數(shù)ASCII值,1A轉(zhuǎn)換成10進(jìn)制后是26,該值對(duì)應(yīng)的代碼是“”符號(hào),該符號(hào)表示短信輸入結(jié)束)。點(diǎn)手動(dòng)發(fā)送(6) 如果返回值為:CMGS: XXX(某個(gè)整數(shù)) OK表明短信已經(jīng)成功發(fā)送。3. 軟件設(shè)計(jì)3.1 編譯程序流程本設(shè)計(jì)控制方面采用STC89C52單片機(jī),使用現(xiàn)如今比較通用

30、且簡(jiǎn)單方便的C語言編寫程序。當(dāng)系統(tǒng)開始運(yùn)行時(shí),串口和TC35都需要先初始化才能正常使用,其次開始判斷有沒有短信發(fā)送給TC35模塊,如果有收到短信息,單片機(jī)會(huì)根據(jù)信息判斷選擇后決定繼電器的動(dòng)作,如果沒有收到短信息,則單片機(jī)一直進(jìn)入循環(huán)等待狀態(tài)。本設(shè)計(jì)在編寫主程序時(shí)遵循的流程圖如圖3-1所示。繼電器1開關(guān)繼電器2開關(guān)繼電器3開關(guān)否是開始始串口初始化TC35初始化判斷是否有短信判斷指令圖3-1 主程序流程圖3.2 單片機(jī)控制TC35模塊本設(shè)計(jì)的最大難點(diǎn)就在于如何用單片機(jī)控制TC35模塊。TC35模塊和單片機(jī)硬件連接方法為:將單片機(jī)的TXD(P3.1)和RXD (P3.0)引腳通的RS-232串口端,

31、經(jīng)過雙公頭串口線連接到TC35模塊上的RS-232串口端,再相對(duì)應(yīng)的分別連接到TC35芯片的RXD0和TXD0引腳上。TC35模塊和單片機(jī)通信的軟件設(shè)計(jì)方面就如同利用串口助手調(diào)試TC35模塊一樣,單片機(jī)也是通過AT指令控制TC35模塊收發(fā)短信的。這里就需要在編譯主程序中加入一些AT指令,單片機(jī)通過硬件上的連接把這些AT指令發(fā)送給TC35模塊,達(dá)到控制模塊收發(fā)短信的目的。與此同時(shí),TC35模塊可以將收到的短信發(fā)送給單片機(jī),通過程序判斷再進(jìn)一步的決定執(zhí)行部分中繼電器的狀態(tài)。以上這些工作都涉及到利用RS-232串口傳輸數(shù)據(jù),編程時(shí)就需要編寫有關(guān)串口通信的相關(guān)程序。3.2.1 串行口初始化串行口通信的

32、編程需要涉及到對(duì)SCON寄存器的設(shè)置1。該寄存器是單片機(jī)寄存器中一個(gè)可位尋址的專用寄存器,該專用寄存器用于串行數(shù)據(jù)通信的控制。其單元地址為98H,位地址為98H9FH。8位SCON的各個(gè)位的內(nèi)容和地址如下表3-1所示。表3-1 SCON寄存器內(nèi)容及位地址位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 位符號(hào) SM0 SM1SM2REN TB8RB8TI RI SM0、SM1兩者不同的組合方式?jīng)Q定不同的串行口工作方式,如表3-2所示:表3-2 SM0和SM1不同組合及對(duì)應(yīng)工作方式 SM0SM1 工作方式00方式001方式110方式211方式3REN允許接收位。REN0表示

33、禁止接收數(shù)據(jù);REN1表示允許接收數(shù)據(jù)。SM2允許在工作方式2、3時(shí)多機(jī)通信控制位。TB8發(fā)送數(shù)據(jù)位8。RB8接收數(shù)據(jù)位8。TI串行發(fā)送中斷請(qǐng)求標(biāo)志位。數(shù)據(jù)發(fā)送過程中,當(dāng)最后一位數(shù)據(jù)被發(fā)送完成后,T1由硬件置位。軟件查詢時(shí)TI可作為狀態(tài)位使用1。RI串行接收中斷請(qǐng)求標(biāo)志位。數(shù)據(jù)接收過程中,當(dāng)采樣到最后一位數(shù)據(jù)位有效時(shí),R1由硬件置位。軟件查詢時(shí)RI可作為狀態(tài)位使用1。本設(shè)計(jì)程序在對(duì)串口方式編程時(shí)設(shè)計(jì)到改變波特率的情況,工作方式0不能更改波特率,只能是晶振頻率的十二分之一,所以不選擇方式0。本設(shè)計(jì)在編寫串口程序時(shí)選用工作方式1。在此工作方式下,波特率是可以自行修改的,可以通過計(jì)算T1的溢出率來設(shè)

34、置波特率。串口初始化程序如下5:void UART_init (void) TMOD=0x20; /選擇定時(shí)器1 PCON=0x00;/波特率不加倍 SCON=0x50;/串行工作方式1允許串行接收 TH1=0xFD;/實(shí)驗(yàn)板上晶振位11.0592MHZ,選擇波特率為9600 TL1=0xFD;/在相應(yīng)計(jì)數(shù)器上賦值 EA=1;/總中斷開啟 ES=1;/串行中斷開啟 TR1=1;/開啟定時(shí)器1 3.2.2 串行口中斷程序本設(shè)計(jì)程序用到單片機(jī)的C語言中斷函數(shù)interrupt 4。void receive(void) interrupt 4 using 1 if(RI) if(Rx<RxIn

35、) SystemBufRx=SBUF; Rx+; RI=0; 3.2.3 串行口數(shù)據(jù)接收程序本設(shè)計(jì)程序要求:手機(jī)用戶可以通過發(fā)送open18分別控制八路繼電器閉合,例如:發(fā)送open1給TC35模塊時(shí)閉合繼電器1,發(fā)送open2時(shí)閉合繼電器2,發(fā)送open5時(shí)閉合繼電器5;手機(jī)用戶可以通過發(fā)送shut18分別控制八路繼電器釋放,例如:發(fā)送shut1給TC35模塊時(shí)釋放繼電器1,發(fā)送shut2時(shí)釋放繼電器2,發(fā)送shut5時(shí)釋放繼電器5;手機(jī)用戶發(fā)送openO閉合所有繼電器,發(fā)送shutS釋放所有繼電器(如果正常打開,系統(tǒng)會(huì)通過TC35模塊發(fā)送“Operate Successfully!”給操作

36、用戶手機(jī),如果不成功則發(fā)送“Operate Failed,try again!”)。編寫的串行口數(shù)據(jù)接收程序如下:void readcommend(void) uchar i; for(i=0;i<5;i+)/將短信內(nèi)容中的指令部分截取出來放到 CommandBufi=SystemBuf64+i; if(CommandBuf0='o')&&(CommandBuf1='p')&&(CommandBuf2='e')&&(CommandBuf3='n')/判斷指令是否為開繼電器指令

37、switch(CommandBuf4) case 0x31: realy0=1;/繼電器 1開啟 break; case 0x32: realy1=1;/繼電器 2開啟 break; case 0x33: realy2=1; /繼電器 3開啟 break; case 0x34: realy3=1;/繼電器 4開啟 break; case 0x35: realy4=1;/繼電器 5開啟 break; case 0x36: realy5=1;/繼電器 6開啟 break; case 0x37: realy6=1;/繼電器 7開啟 break; case 0x38: realy7=1;/繼電器 8開

38、啟 break; case 0x4f: P0=0xff;P2=0xff; break; case 0x3f: temp1=P0; temp2=P2; temp=temp2; temp<<=8; temp=temp|temp1; check=1;break; default:flag=1;/其他指令定義為錯(cuò)誤操作 break; /置位錯(cuò)誤操作位為1 else if(CommandBuf0='s')&&(CommandBuf1='h')&&(CommandBuf2='u')&&(Comman

39、dBuf3='t')/判斷指令是否為關(guān)閉電器指令 switch(CommandBuf4) case 0x31: realy0=0; /關(guān)閉繼電器1 break; case 0x32: realy1=0; /關(guān)閉繼電器2 break; case 0x33: realy2=0; /關(guān)閉繼電器3 break; case 0x34: realy3=0;/關(guān)閉繼電器4 break; case 0x35: realy4=0;/關(guān)閉繼電器5 break; case 0x36: realy5=0;/關(guān)閉繼電器6 break; case 0x37: realy6=0; /關(guān)閉繼電器7 break

40、; case 0x38: realy7=0; /關(guān)閉繼電器8 break; case 0x53:P0=0;P2=0; break; default:flag=1;/其他指令定義為錯(cuò)誤操作 break; /置位錯(cuò)誤操作位為1 else flag=1;/若發(fā)送指令既不是open也不是shut就定義為錯(cuò)誤操作3.2.4 短信發(fā)送程序在編譯短信發(fā)送程序時(shí),需要考慮延時(shí)的問題,延時(shí)時(shí)間如果太長(zhǎng)或者太短,所發(fā)送的短信息就會(huì)亂碼。編寫的程序如下:void sendmessage(void) uchar i;for(i=0;i<8;i+) AT_SendNumberi=AT_CMGSi; for(i=8

41、;i<24;i+) AT_SendNumberi=SystemBuf14+i; /將對(duì)方號(hào)碼提取用來回復(fù)給對(duì)方sendstring(AT_SendNumber);Delay_ms(400);if(flag=0) if(check=1)sendstring(state);/如果查詢位置1時(shí),發(fā)送狀態(tài)信息 sendstring(successfully);check=0;Elsesendstring(fail);Delay_ms(30);sendchar(0X1A);4. 仿真調(diào)試和實(shí)物制作4.1 仿真調(diào)試為測(cè)試本論文設(shè)計(jì)出來的家電控制系統(tǒng)能否正常運(yùn)行,且避免硬件測(cè)試中的多種干擾因素,這里利

42、用單片機(jī)仿真元件Protues進(jìn)行仿真和調(diào)試。本設(shè)計(jì)Protues仿真調(diào)試時(shí)必須注意一點(diǎn)問題:連接單片機(jī)和TC35模塊的串口如何實(shí)現(xiàn)?由于Protues內(nèi)置元件庫(kù)有限,無法繪制TC35模塊的電路圖,也就無法實(shí)現(xiàn)單片機(jī)和TC35模塊之間的通信仿真。為解決此問題,本設(shè)計(jì)在繪制單片機(jī)主電路圖時(shí)選用元件庫(kù)中的COMPIM作為仿真串口(COMPIM內(nèi)部集成TTL-RS232電平轉(zhuǎn)換),同時(shí)調(diào)用虛擬儀表模式中的VIRTUAL TERMINAL(串口監(jiān)視儀器)來監(jiān)視單片機(jī)和TC35間的通訊指令。仿真串口電路如下圖4-1所示。圖4-1仿真串口電路圖 在繪制好單片機(jī)主控電路圖后,就可以進(jìn)行本設(shè)計(jì)的整體仿真。仿真

43、前需要將PC機(jī)通過USB-RS232串口TC35模塊連接,COMPIM元件需要設(shè)置正確對(duì)應(yīng)的COM口和波特率。COMPIM元件的具體設(shè)置如下圖4-2所示,根據(jù)實(shí)際連接情況COM口選擇為COM6,由于該處下拉菜單只提供COM14選項(xiàng),該操作需要手動(dòng)輸入。圖4-2 COMPIM元件的設(shè)置設(shè)置 COMPIM元件參數(shù)及連接好TC35模塊后,用戶就可以通過手機(jī)發(fā)送短信給TC35模塊,模塊通過串口連接PC機(jī)中正在運(yùn)行的仿真圖,這樣就可以實(shí)現(xiàn)“實(shí)”到“虛”的仿真了。在仿真的過程中,可以通過VIRTUAL TERMINAL(串口監(jiān)視儀器)的窗口查看單片機(jī)發(fā)送給TC35的控制指令和響應(yīng)。仿真過程如下圖4-3所示

44、;仿真過程中手機(jī)用戶發(fā)送的短信指令內(nèi)容和單片機(jī)控制TC35模塊回復(fù)的短信內(nèi)容如圖4-4所示;仿真過程中VIRTUAL TERMINAL顯示用戶手機(jī)發(fā)送的短信指令和響應(yīng)如圖4-5所示。圖4-3 單片機(jī)主控總電路仿真過程圖4-4 手機(jī)用戶發(fā)送和接收的短信內(nèi)容圖4-5 VIRTUAL TERMINAL顯示的仿真指令操作和響應(yīng)4.2 實(shí)物制作實(shí)物主要由四部分組成:STC89C52單片機(jī)最小系統(tǒng)、TC35模塊、繼電器模塊、小電器模塊(代表家用電器)。因?yàn)槟K比較多,實(shí)物制作時(shí)除了單片機(jī)最小系統(tǒng)和小電器模塊需要焊接,其他部分用杜邦線連接以便于硬件調(diào)試。實(shí)物的制作需要注意一下幾點(diǎn):(1) 單片機(jī)與TC35模

45、塊連接經(jīng)過兩個(gè)MAX232芯片起到TTL、CMOS電平到RS-232電平轉(zhuǎn)換通信的作用。(2) 單片機(jī)、TC35模塊以及兩個(gè)MAX232芯片的RXD(0)和TXD(0)要對(duì)應(yīng)好,否則會(huì)由于電平?jīng)_突而導(dǎo)致MAX232芯片燒壞。(3) 本設(shè)計(jì)程序中設(shè)計(jì)的是低電平觸發(fā)繼電器動(dòng)作,而購(gòu)買的繼電器模塊是高電平直流5V觸發(fā),這就需要串接非門轉(zhuǎn)換一下電平。(4) 單片機(jī)從40針座上取下和安裝時(shí)要小心不要把管腳折斷。(5) 實(shí)物制作沒有用到雙公頭串口線,而是直接把兩個(gè)MAX232對(duì)應(yīng)的通信段轉(zhuǎn)接插針并用杜邦線連接,方便單片機(jī)和TC35模塊通信調(diào)試。(6) 整體實(shí)物的電源電壓為5V,通過TC35模塊自帶電源(2

46、20V交流5V直流電源器提供)轉(zhuǎn)接給整體電路供電。(7) 制作的總體實(shí)物如圖4-8所示,總體實(shí)物電路焊接如4-9所示,單片機(jī)即外圍電路焊接如圖4-6和圖4-7所示。圖4-6 單片機(jī)即外圍電路焊接(正面) 圖4-7 單片機(jī)即外圍電路焊接(反面)圖4-8 整體實(shí)物圖圖4-9整體實(shí)物電路焊接參 考 文 獻(xiàn)1 李廣弟,朱月秀,冷祖祁等.單片機(jī)基礎(chǔ)(第三版)M.北京:北京航空航天大學(xué)出版社,2007.2 韓斌杰,新顏,建斌等.GSM原理及其網(wǎng)絡(luò)優(yōu)化M.北京:機(jī)械工業(yè)出版社,2010:2.3 張威.GAM網(wǎng)絡(luò)優(yōu)化原理與工程M.北京:人民郵電出版社,2010.1:20-24.4 孫育才.MCS-51系列單片機(jī)微型計(jì)算機(jī)及其應(yīng)用M.南京:東南大學(xué)出版社,2004.5 譚浩強(qiáng).C程序設(shè)計(jì)M.北京:清華大學(xué)出版社,2005.6 鄭凌燕,葛萬成.基于GSM 短信的遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)J.微型電腦應(yīng)用,2006,10(5):36-38.7 胡俊達(dá),周惠芳,郭鵬.工業(yè)控制與PLC應(yīng)用入門M.北京:中國(guó)電力出版社,2014:19-23.8 陳忠平.51單片機(jī)C語言程序設(shè)計(jì)經(jīng)典實(shí)例M.北京:電子工業(yè)出版社,2012.9 鄧彬偉等.基于GSM模塊的智能控制系統(tǒng)J.山西電子技術(shù),2012,2(6):42-49.10 吳玉田,王瑞光,鄭喜鳳,肖傳武.GSM模塊TC35及其應(yīng)用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論