




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于GSM短消息的遠(yuǎn)程門(mén)禁系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘要:在經(jīng)濟(jì)飛速發(fā)展和生活水平不斷提高的今天,人們對(duì)住宅的要求也越來(lái)越高。不僅希望擁有舒適和溫馨的住所,而且對(duì)安全性、智能化等方面也提出了更高的要求。本文介紹的基于GSM短消息的遠(yuǎn)程門(mén)禁系統(tǒng)主要是利用單片機(jī)STC89C52RC的串行接口向TC35i輸入控制命令編碼,以實(shí)現(xiàn)對(duì)TC35i的控制,在門(mén)禁系統(tǒng)收到錯(cuò)誤密碼輸入時(shí),TC35i能夠通過(guò)GSM網(wǎng)絡(luò)實(shí)現(xiàn)短信息的發(fā)送,達(dá)到遠(yuǎn)程及時(shí)報(bào)警的功能。關(guān)鍵字:GSM;TC35i;單片機(jī);短消息;遠(yuǎn)程門(mén)禁The Design and Implementation of Remote Access System Base
2、d on GSM Short MessageAbstract: Rapid economic development and rising living standards of today, people demand more and more residential. Not only want to have comfortable and warm shelter, but also for security, intelligence, it is also put forward higher requirements. This article describes the GS
3、M SMS-based remote access system is mainly a serial interface using SCM STC89C52RC TC35i input control command to the code, in order to achieve control of TC35i, the wrong password in the access control system receives input, TC35i GSM networks through Short message sent to a remote time alarm funct
4、ion.Key words: GSM;TC35i; MCU;SMS; Remote Access1 緒論1.1 課題背景及意義隨著人們生活水平的提高,人們對(duì)安全的要求越來(lái)越高,門(mén)禁系統(tǒng)的誕生為人們提供了更安全的門(mén)鎖要求。傳統(tǒng)的門(mén)禁系統(tǒng)一般都只能是被動(dòng)防御,不能將門(mén)禁信息及時(shí)的發(fā)送給用戶,不能將安全性提高到最大值?,F(xiàn)在人們迫切需要有一種智能型的家庭安全防范門(mén)禁系統(tǒng),能可靠的進(jìn)行日常安全防范工作,及時(shí)發(fā)現(xiàn)各種險(xiǎn)情并盡早通知在外忙碌的戶主,以便將險(xiǎn)情消滅在萌芽狀態(tài)?;贕SM短消息的遠(yuǎn)程門(mén)禁系統(tǒng)首先可以降低線路架設(shè)帶來(lái)的時(shí)間、人力、經(jīng)濟(jì)上的耗費(fèi),大大節(jié)約建立門(mén)禁系統(tǒng)所需要的費(fèi)用,為本門(mén)禁系統(tǒng)的廣泛使
5、用和普及提供了可行性。其次,GSM短消息遠(yuǎn)程門(mén)禁系統(tǒng)能夠?qū)崟r(shí)檢測(cè)報(bào)警,遠(yuǎn)程并且及時(shí)告知用戶,能夠極大程度的避免用戶的財(cái)產(chǎn)不受到非法的侵害,因此基于GSM的遠(yuǎn)程控制門(mén)禁系統(tǒng)是具有很大的研究意義。1.2 基于GSM的研究現(xiàn)狀隨著GSM(Global System for Mobile Communication,全球移動(dòng)通訊系統(tǒng))網(wǎng)絡(luò)技術(shù)的日益成熟與飛速發(fā)展,它能為人們提供的服務(wù)也遠(yuǎn)遠(yuǎn)超越了個(gè)人通信的范圍。由于它具有連接簡(jiǎn)單、覆蓋范圍廣、實(shí)現(xiàn)方便和相對(duì)低廉的收費(fèi)等優(yōu)點(diǎn),GSM方式成為現(xiàn)代遠(yuǎn)程監(jiān)控、遙測(cè)系統(tǒng),野外信息實(shí)時(shí)采集系統(tǒng)首選的傳輸方式。基于GSM的短消息業(yè)務(wù)不需建立撥號(hào)連接,只需把待發(fā)消息內(nèi)
6、容加上目的地址發(fā)送至短消息中心,再由短消息中心轉(zhuǎn)發(fā)到最終目標(biāo)。由于這些優(yōu)點(diǎn),GSM網(wǎng)絡(luò)得到了廣泛的應(yīng)用,同時(shí)也為遠(yuǎn)程監(jiān)控、遙測(cè)系統(tǒng)、野外信息實(shí)時(shí)采集提供了一種新的技術(shù)手段。采用基于GSM的遠(yuǎn)程控制既可以解決有線通信帶來(lái)的布線、維護(hù)等的諸多不便,也能解決無(wú)線網(wǎng)絡(luò)通信受限于通信距離的困擾,并且采用GSM網(wǎng)絡(luò)通信還有及時(shí)通信的效果,在某些關(guān)鍵重要的時(shí)刻能起到及時(shí)通告的作用,所以基于上述優(yōu)點(diǎn)GSM遠(yuǎn)程控制門(mén)禁系統(tǒng)應(yīng)該會(huì)有很好的研究?jī)r(jià)值和發(fā)展前景。1.3 GSM短消息遠(yuǎn)程門(mén)禁系統(tǒng)優(yōu)點(diǎn)基于GSM短消息遠(yuǎn)程門(mén)禁系統(tǒng)具有以下優(yōu)點(diǎn):(1) 實(shí)時(shí)監(jiān)控:通過(guò)GSM短消息的遠(yuǎn)程通訊功能可以對(duì)門(mén)禁系統(tǒng)的控制系統(tǒng)進(jìn)行實(shí)時(shí)
7、控制,這樣就可以避免由于時(shí)間、地理等因素而造成不能準(zhǔn)確監(jiān)控帶來(lái)的諸多后果,提升了監(jiān)控的安全性和有效性。(2) 遠(yuǎn)程操控:由于GSM已經(jīng)建立了全球的通信網(wǎng)絡(luò),利用單片機(jī)收發(fā)GSM的短消息功能就可以實(shí)現(xiàn)遠(yuǎn)距離的控制操作,能夠解決無(wú)線網(wǎng)絡(luò)受通信距離限制的弊端,以及解決有線通信帶來(lái)的人力、經(jīng)濟(jì)、時(shí)間的浪費(fèi)。(3) 系統(tǒng)簡(jiǎn)潔:基于GSM短消息的遠(yuǎn)程門(mén)禁系統(tǒng)因?yàn)椴捎昧薚C35i集成模塊與單片機(jī)相結(jié)合進(jìn)行控制,這樣就避免了傳統(tǒng)有線遠(yuǎn)程控制中布線,維護(hù)線路的繁瑣工序,使得設(shè)備系統(tǒng)的架設(shè)變得非常的簡(jiǎn)潔并且易于維護(hù),同時(shí)也降低了運(yùn)行成本。(4) 管理簡(jiǎn)單:采用GSM短消息遠(yuǎn)程控制不需要進(jìn)行撥號(hào)連接和語(yǔ)音通話操作,
8、只需把待發(fā)消息內(nèi)容加上目的地址發(fā)送至短消息中心,再由短消息中心轉(zhuǎn)發(fā)到最終目標(biāo)就可以實(shí)現(xiàn)遠(yuǎn)程連接,這就簡(jiǎn)化了管理過(guò)程。1.4 設(shè)計(jì)主要內(nèi)容本文主要研究的是基于GSM網(wǎng)絡(luò)的遠(yuǎn)程門(mén)禁系統(tǒng)。由于現(xiàn)今大部分門(mén)禁系統(tǒng)只能起到被動(dòng)防御的作用,并且不能做到及時(shí)遠(yuǎn)距離報(bào)警,所以基于GSM網(wǎng)絡(luò)的遠(yuǎn)程門(mén)禁系統(tǒng)更能適合社會(huì)的需求。本設(shè)計(jì)主要采用單片機(jī)STC89C52RC對(duì)GSM模塊TC35i進(jìn)行控制,通過(guò)與單片機(jī)相連的矩陣鍵盤(pán)向單片機(jī)輸入密碼,并在LED1602液晶顯示器上進(jìn)行顯示,密碼以及目的電話號(hào)碼存放在AT24C02EEPROM片外存儲(chǔ)器當(dāng)中。若輸入密碼與所設(shè)置的密碼一致,則電子密碼鎖自動(dòng)打開(kāi),允許用戶開(kāi)啟門(mén);
9、若輸入密碼與所設(shè)置的密碼不一致,則單片機(jī)通過(guò)串行口向TC35i發(fā)送控制信息和AT指令,驅(qū)動(dòng)TC35i向指定號(hào)碼發(fā)送報(bào)警信息。用戶同時(shí)也可以使用PC機(jī)串口工具向單片機(jī)輸入控制指令,用于更改單片機(jī)設(shè)置。此外,通過(guò)手機(jī)終端也可以向TC35i發(fā)送短消息,并再通過(guò)串行口將信息傳送給單片機(jī),以達(dá)到對(duì)單片機(jī)的遠(yuǎn)程控制,系統(tǒng)模塊圖如圖1.單片機(jī)手機(jī)終端TC35i GSM模塊液晶顯示矩陣鍵盤(pán)電子鎖AT24C02PC機(jī)終端GSM網(wǎng)絡(luò)圖1 系統(tǒng)模塊圖2 系統(tǒng)原理2.1發(fā)送短消息的GSM07系列協(xié)議簡(jiǎn)介短信息服務(wù)(SMS)協(xié)議是在20世紀(jì)80年代提出的,但直到20世紀(jì)90年代才開(kāi)始市場(chǎng)化運(yùn)行。目前SMS協(xié)議的最新版本
10、是GSM07系列協(xié)議,它規(guī)定了短消息傳送的信道分配、編碼規(guī)則、標(biāo)準(zhǔn)AT指令集等內(nèi)容。短消息業(yè)務(wù)與話音傳輸及傳真一樣同為GSM數(shù)字蜂窩移動(dòng)通信網(wǎng)絡(luò)提供的主要電信業(yè)務(wù),在GSM07協(xié)議中規(guī)定它通過(guò)無(wú)線控制信道進(jìn)行傳輸,經(jīng)短消息業(yè)務(wù)中心完成存儲(chǔ)和前轉(zhuǎn)功能,每個(gè)短消息的信息量限制為140個(gè)八位組(7比特編碼,160個(gè)字符)。傳送短消息業(yè)務(wù)的控制信道為專用控制信道(DCCH)。DCCH為點(diǎn)對(duì)點(diǎn)雙向控制信道,包括獨(dú)立專用控制信道(SDCCH)、快速隨路控制信道(FACCH)和慢速隨路控制信道(SACCH)。短消息業(yè)務(wù)的傳送在獨(dú)立專用控制信道(SOCCH)或慢速隨路控制信道(SACCH)進(jìn)行,具體是在SOC
11、CH還是SACCH上傳,這取決于業(yè)務(wù)信道(TCH)的使用。(1)當(dāng)TCH未分配時(shí),短消息在SDCCH上傳;(2)如果短消息在SDCCH上處理時(shí)分配了TCH,短消息傳遞將停止并繼續(xù)在TCH隨路的SACCH上進(jìn)行;(3)如果當(dāng)短消息到達(dá)時(shí),TCH已分配,則短消息在隨路SACCH上傳遞;(4)當(dāng)采用TCH的實(shí)體結(jié)束其處理時(shí),無(wú)線資源管理(RR)子層可選擇在SACCH繼續(xù)進(jìn)行短消息傳遞或?qū)⑺D(zhuǎn)至SDCCH。通過(guò)以上SMS原理可以看出,SMS作為GSM網(wǎng)絡(luò)的一種主要電信業(yè)務(wù),它的傳遞是可靠的,為基于它的各類新業(yè)務(wù)的開(kāi)發(fā)打下了堅(jiān)實(shí)的基礎(chǔ)。2.2 AT指令A(yù)T指令一般應(yīng)用于終端設(shè)備與PC應(yīng)用之間的連接與通信
12、。每條AT命令行中只能包含一條AT指令。在本設(shè)計(jì)中,AT指令是被TC35i執(zhí)行的。2.2.1常用于短信息開(kāi)發(fā)的AT指令集本設(shè)計(jì)中所使用到的AT指令集如表1:表1 AT指令集表AT指令功能AT+CMGC發(fā)出一條短消息命令A(yù)T+CMGD刪除SIM卡內(nèi)存中的短消息AT+CMGF選擇短消息信息格式:0-PDU;1-文本AT+CMGL列出SIM卡中的短消息信息格式AT+CMGR讀取短消息AT+CMGS發(fā)送短消息AT+CMGW向SIM卡中寫(xiě)入待發(fā)的短消息AT+CMSS向SIM內(nèi)存卡中發(fā)送短消息AT+CNMI顯示新收到的短消息AT+CPMS選擇短消息內(nèi)存AT+CSCA短消息中心地址AT+CSMP設(shè)置短消息文
13、本模式2.2.2 AT指令操作原理一般來(lái)講,每條AT指令都有3種調(diào)用形式,即設(shè)置、讀取和查詢。下面以CMGF為例說(shuō)明這3種調(diào)用形式:參數(shù)+CMGF=<mode>+CMGF? 返回:+CMGF : <mode>+CMGF=? 返回:+CMGF : (列出所有支持的模式)設(shè)置調(diào)用形式一般為:AT+命令名+參數(shù),如:AT+CMGF=l用來(lái)設(shè)置當(dāng)前短消息為T(mén)ext模式。讀取調(diào)用形式一般為:AT + 命令名?,如: AT + CMGF ? 如果當(dāng)前短消息格式為T(mén)ext, 返回+CMGF 1,如果是PDU模式,則返回+CMGF 0 。查詢調(diào)用形式一般為:AT+命令名= ?,如:AT
14、+CMGF = ?返回+CMGF(0,1),表示當(dāng)前模塊以及網(wǎng)絡(luò)支持PDU和Text兩種模式。2.2.3 設(shè)計(jì)使用的非標(biāo)準(zhǔn)AT指令A(yù)TE0V0:ATE0和ATV0的縮寫(xiě),用于初始化TC35i;ATE0V0+CMGF=1+CNMI=2:讀取SIM卡的卡號(hào);ATE0V0SSMSS=1+CNMI=2:選擇短消息優(yōu)先存儲(chǔ)在SIM卡;2.3短信息PDU(Protocol Data Unit,協(xié)議數(shù)據(jù)單元)編碼2.3.1 PDU編碼格式PDU數(shù)據(jù)模式是發(fā)送或接收手機(jī)短消息的一種方法。發(fā)送短消息常用Text和PDU協(xié)議數(shù)據(jù)單元模式。使用Text模式收發(fā)短信,所使用的代碼簡(jiǎn)單,所以實(shí)現(xiàn)起來(lái)十分容易,但最大的缺
15、點(diǎn)是不能收發(fā)中文信息內(nèi)容;PDU模式不僅支持中文信息內(nèi)容,也能發(fā)送英文短信內(nèi)容。所以,大多選擇用PDU協(xié)議數(shù)據(jù)單元模式發(fā)送短消息。7-Bit、8-Bit和UCS2編碼是PDU模式收發(fā)短信所使用的3種編碼。7-Bit編碼多用于發(fā)送普通的ASCII字符;8-Bit編碼多用于發(fā)送數(shù)據(jù)內(nèi)容的消息;UCS2編碼多用于發(fā)送Unicode字符。一般來(lái)說(shuō)PDU編碼由A B C D E F G H I J K L M十三項(xiàng)組成。選擇發(fā)送短消息,PDU的格式為:SMSCPDU類型MRDAPIDDCSVPUDLUD(0140octed)選擇接收短消息,PDU的格式為:SMSCPDU類型OAPIDDCSSCTSUDL
16、UD(0140octed)格式中各控制塊含義如下:SMSC-短消息業(yè)務(wù)中心地址;MR-指明是發(fā)出信息;DA/OA-源/目的地址;PID-協(xié)議識(shí)別;DCS-數(shù)據(jù)編碼;VP-有效時(shí)間;UDL-用戶數(shù)據(jù)長(zhǎng)度;UD-用戶數(shù)據(jù);SCTS-指明短消息到達(dá)業(yè)務(wù)中心的時(shí)間。2.3.2 接收/發(fā)送號(hào)碼與短信中心號(hào)碼編碼規(guī)則若電話號(hào)碼位數(shù)是奇數(shù)位,則在號(hào)碼末尾加“F”,然后從左到右只需將奇偶位對(duì)調(diào)即可。如下例:接收方原始電話號(hào)碼經(jīng)PDU編碼后的電話號(hào)碼應(yīng)為:5189536050F3。2.3.3 短信內(nèi)容的三種編碼方式(1)7-Bit編碼7-Bit編碼時(shí),針對(duì)的是原始短消息的字符個(gè)數(shù),而不
17、是字節(jié)數(shù)。7-Bit編碼用于發(fā)送普通的ASCII字符,它將一串7-Bit的字符(最高位為0)編碼成8-bit的數(shù)據(jù),每8個(gè)字符可“壓縮”成7個(gè),在使用7-Bit編碼時(shí)發(fā)送的短消息的最大字符數(shù)為160。(2)UCS2編碼UCS2編碼是用兩個(gè)字節(jié)編碼,UCS2編碼是字節(jié)數(shù),用于發(fā)送Unicode字符。按照 ISO/IECl0646的相關(guān)規(guī)定,UCS2編碼以1-2個(gè)字節(jié)為一個(gè)字符,將每個(gè)字符轉(zhuǎn)變?yōu)?6位的Unicode寬字符。用單片機(jī)控制手機(jī)模塊收發(fā)短消息時(shí),如果沒(méi)有系統(tǒng)的支持,可用通過(guò)查表法解決。在Windows系統(tǒng)中可應(yīng)用API函數(shù)實(shí)現(xiàn)編碼和解碼。使用UCS2編碼發(fā)送短消息時(shí),最多可發(fā)送70個(gè)字
18、符。(3)8Bit編碼8-Bit編碼,就是字節(jié)數(shù)。8-Bit編碼其實(shí)不存在具體的算法,主要是用于發(fā)送數(shù)據(jù)消息,比如圖片和鈴聲等。使用8-Bit編碼時(shí)發(fā)送短消息時(shí),最多可發(fā)送140個(gè)字符。2.3.4 PDU編碼實(shí)例采用UCS2編碼方式,短信中心號(hào)碼為:+8613800835500,短消息接收方號(hào)碼為短信發(fā)送方號(hào)碼短信內(nèi)容為:非法入侵門(mén)禁系統(tǒng)!表2 短信發(fā)送PDU字符對(duì)照表字符串分段含義08地址信息長(zhǎng)度91SMSC地址格式(TON/NPI)68區(qū)號(hào)31 08 80 53 05 F0短信中心地址1100發(fā)送短信的編碼方式0B目的地址長(zhǎng)度81目的地址
19、類型51 89 53 60 50 F3接受方地址0008發(fā)送中文字符方式A0固定信息12短信內(nèi)容長(zhǎng)度975E 6CD5 5165 4FB5 95E8 7981 7CFB 7EDF FF01短信內(nèi)容最終采用Unicode中文編碼方式的PDU編碼為:0891683108805305F011000B815189536050F30008A712975E6CD551654FB595E879817CFB7EDFFF01在單片機(jī)控制TC35i發(fā)送短消息中,應(yīng)該在上述PDU編碼后面再加上發(fā)送結(jié)束標(biāo)志(十六進(jìn)制為0x1A),表示短信碼結(jié)束。3 系統(tǒng)硬件設(shè)計(jì)本此設(shè)計(jì)中所用的到的硬件主要有單片機(jī)STC89C52RC
20、,GSM模塊TC35i,LED1602液晶顯示器,4×4矩陣鍵盤(pán),AT24C02EEPROM片外存儲(chǔ)器以及一些輔助器件。3.1 STC89C52RC介紹本設(shè)計(jì)使用的STC89C52RC,是具有40引腳的PQFP小型封裝的8位單片機(jī),具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52RC為眾多嵌入式控制應(yīng)用系統(tǒng)提供高效靈活的解決方案。STC89C52RC具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/
21、O 口線,看門(mén)狗定時(shí)器,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,STC89C52RC可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。STC89C52RC內(nèi)部結(jié)構(gòu)如下圖2,外部封裝引腳如圖3。RXD定時(shí)器/計(jì)數(shù)器中斷系統(tǒng)CPUT0T2INT0INT1并行I/O接口串行I/O接口存儲(chǔ)器P0P3T1TXD圖2 STC89C52RC內(nèi)部結(jié)構(gòu)圖圖3 STC89C52RC外部引腳圖STC89C5
22、2RC單片機(jī)的并行接口都可以用來(lái)與外設(shè)之間進(jìn)行普通的并行數(shù)據(jù)或指令的傳送,但是P1口和P3口的部分?jǐn)?shù)據(jù)位往往還有第二功能,在本次設(shè)計(jì)中就用到了P3.0(RXD),P3.1(TXD)位的第二功能,并通過(guò)P3.0,P3.1完成了單片機(jī)與GSM模塊TC35i,單片機(jī)與PC機(jī)之間的信息傳遞。STC89C52RC各引腳對(duì)應(yīng)的第二功能如下圖所示:表3 STC89C52RC引腳對(duì)應(yīng)第二功能引腳第二功能信號(hào)名稱P3.0RXD串行數(shù)據(jù)接收P3.1TXD串行數(shù)據(jù)發(fā)送P3.2INT0外部中斷0請(qǐng)求P3.3INT1外部中斷1請(qǐng)求P3.4T0定時(shí)/計(jì)數(shù)器0外部輸入P3.5T1定時(shí)/計(jì)數(shù)器1外部輸入P1.0T2定時(shí)/計(jì)數(shù)
23、器2外部輸入3.2 單片機(jī)與GSM模塊TC35i通信電路在本設(shè)計(jì)中,單片機(jī)與TC35i模塊,單片機(jī)與PC終端之間的通信都是通過(guò)串口通信來(lái)完成的。單片機(jī)向TC35i發(fā)送的AT命令通過(guò)字符數(shù)組發(fā)送到SBUF中,然后再通過(guò)串口逐位發(fā)送到TC35i接收SBUF中。在使用串口通信的時(shí)候,本設(shè)計(jì)采用了中斷處理的方法來(lái)進(jìn)行信息傳遞,在中斷處理函數(shù)中完成數(shù)據(jù)的傳輸。在進(jìn)行串口傳遞和中斷處理時(shí),需要對(duì)單片機(jī)內(nèi)部的串行口控制寄存器SCON,中斷允許寄存器IE,中斷優(yōu)先級(jí)寄存器IP分別進(jìn)行相應(yīng)的初始化設(shè)置,以控制串行口正常工作。單片機(jī)STC89C52RC串行口硬件結(jié)構(gòu)圖如圖4。A波特率發(fā)生器移位寄存器移位寄存器移位
24、寄存器移位寄存器+發(fā)送緩沖器SBUF(99H)接收緩沖器SBUF(99H)串行口中斷請(qǐng)求TXDRXD圖4 STC89C52RC串口結(jié)構(gòu)圖本設(shè)計(jì)所對(duì)應(yīng)的串口中斷服務(wù)處理程序與定時(shí)器中斷服務(wù)程序過(guò)程如圖5:t中斷源串口中斷程序主程序串口中斷定時(shí)器中斷定時(shí)器中斷程序圖5 中斷服務(wù)程序處理3.3 GSM模塊TC35i介紹GSM模塊作為一種主要的GSM網(wǎng)絡(luò)接入設(shè)備,已得到越來(lái)越多系統(tǒng)制造商和系統(tǒng)開(kāi)發(fā)商的重視,基于它的各種應(yīng)用也蓬勃發(fā)展起來(lái)。GSM模塊是繼GSM手機(jī)后,又一種非常重要的GSM移動(dòng)通信系統(tǒng)的終端設(shè)備。它是傳統(tǒng)調(diào)制解調(diào)器與GSM無(wú)線移動(dòng)通信系統(tǒng)相結(jié)合的一種數(shù)據(jù)終端設(shè)備,因此也叫無(wú)線調(diào)制解調(diào)器。
25、它的出現(xiàn)給GSM的發(fā)展注入了新的活力,改變了傳統(tǒng)的以話音為主的通信手段,打開(kāi)了GSM網(wǎng)絡(luò)數(shù)據(jù)通信及其應(yīng)用的大門(mén)。所以在應(yīng)用上,凡是使用調(diào)制解調(diào)器的地方多數(shù)都可以用GSM模塊代替。由于調(diào)制解調(diào)器必須通過(guò)PSTN或者其他專用通訊網(wǎng)進(jìn)行通信,因而受地域以及線路等因素的影響,在應(yīng)用上有很大的局限性。而GSM模塊則無(wú)此限制,所以基于這種模塊,以GSM網(wǎng)絡(luò)作為無(wú)線傳輸網(wǎng)絡(luò),可以開(kāi)發(fā)出多種前景樂(lè)觀的應(yīng)用,如GPS/GSM(SMS)移動(dòng)車(chē)輛監(jiān)控定位系統(tǒng)、移動(dòng)POS機(jī)、移動(dòng)收費(fèi)系統(tǒng)、移動(dòng)性數(shù)據(jù)和Internet接入等。TC35i模塊內(nèi)部結(jié)構(gòu)如圖6所示,從功能上看主要由4部分組成:GSM基帶處理器、GSM射頻部分
26、、電源A-SIC(Application Specific Integrated circuit)、Flash。天線插FlashGSM射頻部分電源ASICGSM基帶處理器40芯的ZIF連接器SIEMENS GSM模塊 TC35i天線圖6 GSM模塊TC35i系統(tǒng)結(jié)構(gòu)圖3.4 矩陣鍵盤(pán)與液晶顯示設(shè)計(jì)本設(shè)計(jì)采用4×4的矩陣鍵盤(pán)作為密碼輸入工具,使用LED1602字符液晶顯示器作為顯示工具。用單片機(jī)的P0口的高四位與矩陣鍵盤(pán)的行連接,P0口低四位與矩陣鍵盤(pán)的列連接,在行端口上給以高電平,列端口上給以低電平,當(dāng)有按鍵被按下時(shí),與某行連接的列的端口也會(huì)是低電平,那么通過(guò)交叉判斷就可以確定一個(gè)鍵
27、被按下,并通過(guò)公式:數(shù)值=(行數(shù)-1)×4+列數(shù)-1,就可以得出被按下的鍵對(duì)應(yīng)的數(shù)值。在設(shè)計(jì)過(guò)程中,應(yīng)該注意對(duì)按鍵抖動(dòng)處理,本設(shè)計(jì)采用的是程序延遲消抖的方法。在設(shè)計(jì)中也可以采用定時(shí)器中斷消抖的方法。當(dāng)確定了被按下的數(shù)值以后,通過(guò)P2口將對(duì)應(yīng)的數(shù)值發(fā)送給LED1602字符液晶顯示器進(jìn)行相應(yīng)的顯示,就能夠?qū)崿F(xiàn)鍵盤(pán)輸入液晶顯示密碼的效果。本設(shè)計(jì)中所使用到的LED1602字符液晶顯示器只能顯示簡(jiǎn)單字符,LED1602字符液晶顯示器的三個(gè)控制端口分別由P10,P11,P12控制,其中P10用作指令/數(shù)據(jù)控制位,用來(lái)控制向LED1602輸入的指令或者數(shù)據(jù);P11口用作讀寫(xiě)控制位,用來(lái)控制向LED
28、1602讀或者寫(xiě)數(shù)據(jù)/指令;P12口用作使能控制位,用來(lái)控制LED1602正常工作。此外,LED1602輸入/輸出的指令/數(shù)據(jù)是通過(guò)P2口來(lái)完成的。當(dāng)需要顯示相應(yīng)字符時(shí),應(yīng)該先用P10,P11,P12三個(gè)端口初始化液晶顯示器,LED1602的硬件結(jié)構(gòu)圖如圖7:圖7 LED1602液晶顯示器硬件電路圖單片機(jī)控制LED1602液晶顯示器的工作流程圖如圖8:矩陣鍵盤(pán)掃描函數(shù)初始化LED1602是否有鍵按下?有寫(xiě)LED1602函數(shù)沒(méi)有控制顯示格式并存儲(chǔ)按鍵數(shù)值圖8 液晶顯示工作流程圖3.5 系統(tǒng)硬件設(shè)計(jì)本設(shè)計(jì)通過(guò)單片機(jī)對(duì)所需發(fā)送和接受的短信息內(nèi)容進(jìn)行編碼和解碼,編碼后的代碼和所要解碼的代碼都是通過(guò)單片
29、機(jī)的串行口TXD,RXD與TC35i模塊的串行口RXD、TXD進(jìn)行數(shù)據(jù)傳輸。用于控制TC35i模塊的AT指令和響應(yīng)信息也是以同樣的方式在單片機(jī)和TC35i模塊之間傳輸。此外,單片機(jī)的串行口還需分時(shí)復(fù)用,以便能夠接受PC機(jī)發(fā)送給單片機(jī)的命令。具體硬件連接如圖9:GNDIGTSTC89C52RCRXDTXDRXDTXDTC35iRXDTXDVCCVCC液晶顯示器PC機(jī)終端蜂鳴器電子鎖4×4鍵盤(pán)AT24C02EEPROM圖9 系統(tǒng)硬件連接圖4 系統(tǒng)軟件開(kāi)發(fā)環(huán)境4.1軟件開(kāi)發(fā)環(huán)境介紹本遠(yuǎn)程門(mén)禁系統(tǒng)嵌入式軟件部分所運(yùn)用的開(kāi)發(fā)集成環(huán)境是KEIL uVision3,Version 8.05,該集成
30、環(huán)境是KEIL公司專門(mén)為嵌入式軟件開(kāi)發(fā)而研發(fā)的,目前主要運(yùn)用于ARM系列、51系列單片機(jī)的軟件開(kāi)發(fā)。KEIL uVision3 將項(xiàng)目源代碼管理器,帶自動(dòng)提示的編輯程序管理器,高度仿真程序調(diào)試器等集成到一個(gè)功能強(qiáng)大的環(huán)境中,能夠準(zhǔn)確迅速的編譯C源代碼和匯編源程序,連接和重定位目標(biāo)文件和庫(kù)文件,創(chuàng)建HEX文件調(diào)試目標(biāo)程序。KEIL uVision3開(kāi)發(fā)工具編譯C源代碼和匯編源程序,連接和重定位目標(biāo)文件和庫(kù)文件主要使用的是以下特定程序:C51美國(guó)標(biāo)準(zhǔn)優(yōu)化C交叉編譯器從C源代碼產(chǎn)生可重定位的目標(biāo)文件。A51宏匯編器從匯編源代碼產(chǎn)生可重定位的目標(biāo)文件。BL51連接/重定位器組合由C51和A51產(chǎn)生的可
31、重定位的目標(biāo)文件并生產(chǎn)成絕對(duì)目標(biāo)文件。LIB51庫(kù)管理器組合目標(biāo)文件并生成可以被連接器使用的庫(kù)文件。OH51目標(biāo)文件到HEX格式的轉(zhuǎn)換器,用于創(chuàng)建HEX格式的文件。4.2 Keil開(kāi)發(fā)流程用Keil Software工具開(kāi)發(fā)項(xiàng)目流程和其它軟件開(kāi)發(fā)項(xiàng)目的流程極其相似,有如以下幾點(diǎn):(1)創(chuàng)建一個(gè)項(xiàng)目從器件庫(kù)中選擇目標(biāo)器件配置工具設(shè)置。(2)用C語(yǔ)言或匯編語(yǔ)言創(chuàng)建源程序。(3)用項(xiàng)目管理器生成應(yīng)用文件。(4)修改源程序中的錯(cuò)誤。(5)測(cè)試連接應(yīng)用文件。4.3 Keil運(yùn)行界面Keil開(kāi)發(fā)環(huán)境與傳統(tǒng)的C語(yǔ)言開(kāi)發(fā)環(huán)境相比具有界面友好,操作簡(jiǎn)單,調(diào)試方便,功能強(qiáng)大等優(yōu)點(diǎn),其具體開(kāi)發(fā)環(huán)境如圖10:圖10
32、程序編輯界面圖程序調(diào)試中,可以軟件仿真定時(shí)器,并行口,中斷,串口等硬件設(shè)備,具體調(diào)式過(guò)程如圖11:圖11 程序調(diào)試界面圖5系統(tǒng)程序設(shè)計(jì)5.1 單片機(jī)控制TC35i模塊程序單片機(jī)控制TC35i的程序主要采用的是C51程序語(yǔ)言,在Keil uVison環(huán)境下進(jìn)行程序設(shè)計(jì)。該部分程序主要分成三大模塊:主程序,頭文件程序,函數(shù)實(shí)現(xiàn)程序。程序首先實(shí)現(xiàn)對(duì)單片機(jī)和TC35i硬件設(shè)備的初始化,當(dāng)正確輸入密碼以后,程序會(huì)驅(qū)動(dòng)P3.5輸出一高電平去啟動(dòng)電子密碼鎖和蜂鳴器短叫。如果在半個(gè)小時(shí)內(nèi)連續(xù)錯(cuò)誤輸入三次密碼,系統(tǒng)就會(huì)調(diào)用短消息發(fā)送程序,采用串口中斷的形式向TC35i輸入AT指令和PDU編碼,然后TC35i自動(dòng)
33、向目的地址發(fā)送短消息。用戶若想要修改密碼或者目的電話號(hào)碼,則可以根據(jù)本系統(tǒng)設(shè)計(jì)的命令控制字格式編寫(xiě)新的密碼或者目的電話號(hào)碼,再通過(guò)串口程序向TC35i輸入,同時(shí),單片機(jī)會(huì)將輸入的內(nèi)容原樣發(fā)送會(huì)串口發(fā)送程序界面以供用戶確認(rèn)。各函數(shù)之間的調(diào)用與函數(shù)功能實(shí)現(xiàn)如圖12。判斷密碼錯(cuò)誤次數(shù)判斷函數(shù)鍵盤(pán)接收密碼函數(shù)單片機(jī)輸出控制信號(hào)開(kāi)啟電子鎖密碼正確密碼錯(cuò)誤錯(cuò)誤次數(shù)不大于3次通過(guò)串口向TC35i發(fā)送編碼TC35i讀取編碼發(fā)送報(bào)警信息手機(jī)終端編碼處理函數(shù)錯(cuò)誤次數(shù)超過(guò)3次單片機(jī)及TC35i初始化函數(shù)AT24C02讀密碼及電話號(hào)碼函數(shù)報(bào)警函數(shù)圖12 單片機(jī)控制TC35i程序結(jié)構(gòu)圖5.2 短消息發(fā)送程序流程圖單片機(jī)
34、控制TC35i完成遠(yuǎn)程通訊主要使用的是基于GSM網(wǎng)絡(luò)的AT指令和PDU編碼規(guī)則,本設(shè)計(jì)中AT指令的代碼主要由單片機(jī)串口終端程序發(fā)送,PDU編碼由windows軟件生產(chǎn),再由windows串口軟件發(fā)送給單片機(jī),短消息發(fā)送的程序流程圖如如13:PDU編碼程序PC終端串口程序單片機(jī)端編碼組織程序AT指令發(fā)送程序單片機(jī)串口程序TC35i硬件發(fā)送接收手機(jī)終端單片機(jī)設(shè)置更改程序圖13 短信息發(fā)送流程函數(shù)圖5.3 PC機(jī)終端修改密碼及目的地址程序?yàn)榱吮WC目的電話號(hào)碼以及密碼能夠在系統(tǒng)重新啟動(dòng)中能被保存,本系統(tǒng)在設(shè)計(jì)時(shí)就將目的電話號(hào)碼以及密碼保存在片外AT24C02-EEPROM中,這樣就能夠保證在系統(tǒng)重新啟
35、動(dòng),斷電等突發(fā)情況下,能夠完好保存密碼和目的電話號(hào)碼,同時(shí)這也是通過(guò)PC機(jī)串口修改密碼和目的電話號(hào)碼的基礎(chǔ)。為了區(qū)分通過(guò)PC串口到底修改那類系統(tǒng)值,本系統(tǒng)在設(shè)計(jì)時(shí)規(guī)定了兩個(gè)字符控制字a和b,a為修改密碼的字符控制字,b為修改目的電話號(hào)碼的字符控制字。在通過(guò)串口修改密碼時(shí)應(yīng)該在密碼之前加上a;若是修改目的電話號(hào)碼時(shí)應(yīng)該在電話號(hào)碼之前加b。如新密碼命令:a123456;新目的地址命令:具體程序?qū)崿F(xiàn)流程如圖14:PC機(jī)串口程序單片機(jī)串口接收程序字符控制字判別程序修改目的電話號(hào)碼程序控制字a單片機(jī)向PC機(jī)回顯輸入情況修改密碼程序控制字bAT24C02寫(xiě)數(shù)據(jù)函數(shù)并保存修改圖14
36、 密碼及目的電話號(hào)碼修改流程圖5.4主要函數(shù)模塊5.4.1 單片機(jī)初始化模塊該段程序主要完成對(duì)單片機(jī)串口工作方式的選擇(本設(shè)計(jì)選用工作方式1),設(shè)置定時(shí)器1作為串口通信傳輸?shù)牟ㄌ芈拾l(fā)生器,以及對(duì)應(yīng)各個(gè)中斷的設(shè)置。/* 單片機(jī)的初始化程序 */void Sys_Init(void)TH0 = 0xB8;TL0 = 0x00; /20ms的時(shí)鐘基準(zhǔn)TI=0;/表示串行口現(xiàn)在可以進(jìn)行發(fā)送 RI=0;/表示串行口現(xiàn)在可以進(jìn)行接受 SCON=0x50; /選用方式1 0101 0000 選擇串行口工作方式1,8位UART,/波特率=T1溢出率/n,REN=1,表示允許接受 TMOD=0x20;/0010
37、 0000 TMOD = (TMOD & 0xf0) | 1;/MODE選用定時(shí)器1 TH1=0xfd; /波特率為9600TL1=0xfd;PCON=0x00; /倍頻0x80IE = 0xb0; / EA XX ET2 ES ET0 EX0 ET1 EX1 1100 0000TR1=1; /enable TIMER1 啟動(dòng)定時(shí)器1 ES=1;/允許串口中斷 TR0=1;/啟動(dòng)定時(shí)器0 ET0=1;/允許定時(shí)器0中斷 ET1=0;/不允許定時(shí)器1中斷 EA=1;timer_1S_cnt=0;receive_count=0;send_count=0xff;/表示禁止發(fā)送,可以接收5.4
38、.2 AT指令發(fā)送模塊該函數(shù)模塊主要根據(jù)輸入對(duì)應(yīng)的命令的宏定義選擇對(duì)應(yīng)的AT指令字符串,再將相應(yīng)的字符串復(fù)制到uart_buff 通信緩沖函數(shù)中。然后通過(guò)置TI = 1,調(diào)用串口中斷函數(shù)Int_Uart(),在中斷函數(shù)中循環(huán)的對(duì)AT指令發(fā)送到TC35i中,并在Int_Uart()函數(shù)中接收TC35i的響應(yīng)信息。部分主要代碼如下:/* * AT指令發(fā)送程序 * */uchar Send_AT_Command( uchar type) AT_Command_Type=type;send_count=0;switch(type)case RESET_TC35:/復(fù)位TC35strcpy(uart_b
39、uff,"AT+CFUN=1,1");break;case CHECK_PIN:/檢查當(dāng)前是否要輸入PIN碼strcpy(uart_buff,"AT+CPIN?");break; case TC35_INIT:/TC35初始化命令strcpy(uart_buff,"ATE0V0");break;case SMSS_ID:strcpy(uart_buff,"ATE0V0SSMSS=1+CNMI=2,1");break;case SMS_CMGF:/SMS 接收方式,strcpy(uart_buff,"ATE
40、0V0+CMGF=0");break;case SMS_CMGS:/寫(xiě)一個(gè)短信strcpy(uart_buff,"AT+CMGS=");strcat(uart_buff,para_temp);break;5.4.3 串行中斷模塊當(dāng)RI = 1或者TI = 1的時(shí)候,單片機(jī)根據(jù)自身中斷機(jī)制自動(dòng)轉(zhuǎn)向中斷程序Int_Uart()。在中斷程序Int_Uart()內(nèi),當(dāng)數(shù)據(jù)自動(dòng)從單片機(jī)TXD端發(fā)送出去后會(huì)置位TI,在中斷程序中設(shè)置TI = 0,以滿足下一次中斷的條件,循環(huán)的發(fā)送uart_buff 中的字符。由于發(fā)送中斷和接收中斷由同一個(gè)中斷函數(shù)響應(yīng),所以中斷函數(shù)Int_Ua
41、rt()還能夠接收對(duì)應(yīng)AT指令的響應(yīng)信息。串行發(fā)送中斷程序如下:void Int_Uart(void) interrupt 4 using 3 /串口的中斷程序if(TI)TI=0;if(send_count>=MAX_TM-5) send_count=0; /send_count =0xff if(uart_buffsend_count=0) /應(yīng)該檢測(cè)命令結(jié)束代碼,檢測(cè)到時(shí)/結(jié)束通信at_send_bit=1;send_count=0xff;for(F=0;F<20;F+)uart_buffF=0;/清除接收緩沖區(qū)receive_count=0;return;else if(u
42、art_buffsend_count<=0xB0) /0xff 0x0d=165temp = uart_buffsend_count+;SBUF = temp;P2 = 1;P0 = temp;if(uart_buffsend_count=0) /應(yīng)該檢測(cè)命令結(jié)束代碼,檢測(cè)到時(shí)結(jié)束通信at_send_bit=1;send_count=0xff;for(F=0;F<20;F+)uart_buffF=0;/清除接收緩沖區(qū)receive_count=0; P2 = 5;P0 = temp2+; return;receive_count=0;6測(cè)試6.1測(cè)試準(zhǔn)備(1)將SIM卡裝入TC35
43、i模塊中,并將TC35i的RXD端,TXD端,IGT端分別與單片機(jī)的TXD、RXD和P1.3相連接。(2)將單片機(jī)與液晶顯示器,矩陣鍵盤(pán)等外設(shè)相連接。(3)先給TC35i上電并等待2分鐘左右,以便SIM卡成功登入到GSM網(wǎng)絡(luò),然后再給單片機(jī)上電。6.2測(cè)試階段及結(jié)果(1)利用矩陣鍵盤(pán)輸入密碼:111111,此密碼與系統(tǒng)預(yù)設(shè)密碼一致,為一個(gè)正確密碼,效果如圖15:圖15 測(cè)試結(jié)果1圖測(cè)試結(jié)果為:蜂鳴器鳴叫3s后停止,連接電子鎖的并口引腳輸出低電平。(2)利用矩陣鍵盤(pán)輸入密碼:123456,此密碼與系統(tǒng)預(yù)設(shè)密碼不一致,為一個(gè)錯(cuò)誤密碼,效果如圖16:圖16 測(cè)試結(jié)果2圖測(cè)試結(jié)果為:蜂鳴器長(zhǎng)叫不停,等
44、待35分鐘后,報(bào)警信息成功發(fā)送到指定手機(jī)終端。(3)利用PC機(jī)串口軟件更改系統(tǒng)預(yù)設(shè)密碼時(shí),首先應(yīng)該根據(jù)原始密碼進(jìn)入到系統(tǒng)中,然后再打開(kāi)串口軟件,在輸入新密碼的前面應(yīng)該加上密碼修改控制字a,然后輸入新密碼:123456,效果如圖17:圖17 串口軟件更改密碼圖測(cè)試結(jié)果:通過(guò)串口更改系統(tǒng)密碼后,系統(tǒng)原始密碼被新密碼所代替,想重新進(jìn)入到系統(tǒng)時(shí),只有輸入新密碼才能夠成功進(jìn)入,原始密碼將會(huì)被當(dāng)作錯(cuò)誤密碼處理。(4)利用PC機(jī)串口軟件更改系統(tǒng)預(yù)設(shè)目的電話號(hào)碼時(shí),首先應(yīng)該根據(jù)原始密碼進(jìn)入到系統(tǒng)中,然后再打開(kāi)串口軟件,在輸入新電話號(hào)碼的前面應(yīng)該加上電話號(hào)碼修改控制字b,然后輸入新的目的電話號(hào)碼效果如圖18:圖18 串口軟件更改目的電話號(hào)碼圖測(cè)試結(jié)果:通過(guò)串口更改系統(tǒng)目的電話號(hào)碼后,系統(tǒng)原始目的電話號(hào)碼被新電話號(hào)碼所代替,重新進(jìn)入到系統(tǒng)時(shí),如果遇到非法入侵門(mén)禁的情況,系統(tǒng)會(huì)將信息發(fā)送到新的目的電話號(hào)碼上。7 結(jié)論本設(shè)計(jì)充分的利用了GS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新疆師范大學(xué)《實(shí)驗(yàn)室安全與法規(guī)》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶市主城區(qū)七校聯(lián)考2025年高三教學(xué)質(zhì)量檢測(cè)試題試卷(二)物理試題含解析
- 公共交通運(yùn)營(yíng)服務(wù)收費(fèi)標(biāo)準(zhǔn)制度
- 第18課 清朝的邊疆治理 教案2024-2025學(xué)年七年級(jí)歷史下冊(cè)新課標(biāo)
- 內(nèi)圓形吊頂施工方案
- 護(hù)坡植草施工方案
- 路基修復(fù)夜間施工方案
- 工程資料與施工方案
- 汽車(chē)隔音施工方案范本
- 2025年搞笑考試面試試題及答案
- 2024年GINA哮喘防治指南修訂解讀課件
- 木地板合同范本
- 2024中交二航局分包合同范本
- 2024年社區(qū)工作者考試必背1000題題庫(kù)必背(必刷)
- 教育改革與發(fā)展
- 《形體訓(xùn)練》課件-勾繃腳訓(xùn)練
- 醫(yī)療器械(耗材)項(xiàng)目投標(biāo)服務(wù)實(shí)施投標(biāo)方案(技術(shù)方案)
- 監(jiān)控系統(tǒng)維護(hù)保養(yǎng)方案
- 2023年國(guó)家廣播電視總局無(wú)線電臺(tái)管理局考試真題及答案
- 房屋修繕工程技術(shù)規(guī)程 DG-TJ08-207-2008
- 家庭教育的發(fā)展與變革
評(píng)論
0/150
提交評(píng)論