基于SD卡的MP播放器設(shè)計(jì)_第1頁
基于SD卡的MP播放器設(shè)計(jì)_第2頁
基于SD卡的MP播放器設(shè)計(jì)_第3頁
基于SD卡的MP播放器設(shè)計(jì)_第4頁
基于SD卡的MP播放器設(shè)計(jì)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于GSM短消息的遠(yuǎn)程門禁系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘要:在經(jīng)濟(jì)飛速發(fā)展和生活水平不斷提高的今天,人們對住宅的要求也越來越高。不僅希望擁有舒適和溫馨的住所,而且對安全性、智能化等方面也提出了更高的要求。本文介紹的基于GSM短消息的遠(yuǎn)程門禁系統(tǒng)主要是利用單片機(jī)STC89C52RC的串行接口向TC35i輸入控制命令編碼,以實(shí)現(xiàn)對TC35i的控制,在門禁系統(tǒng)收到錯誤密碼輸入時,TC35i能夠通過GSM網(wǎng)絡(luò)實(shí)現(xiàn)短信息的發(fā)送,達(dá)到遠(yuǎn)程及時報警的功能。關(guān)鍵字:GSM;TC35i;單片機(jī);短消息;遠(yuǎ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 課題背景及意義隨著人們生活水平的提高,人們對安全的要求越來越高,門禁系統(tǒng)的誕生為人們提供了更安全的門鎖要求。傳統(tǒng)的門禁系統(tǒng)一般都只能是被動防御,不能將門禁信息及時的發(fā)送給用戶,不能將安全性提高到最大值。現(xiàn)在人們迫切需要有一種智能型的家庭安全防范門禁系統(tǒng),能可靠的進(jìn)行日常安全防范工作,及時發(fā)現(xiàn)各種險情并盡早通知在外忙碌的戶主,以便將險情消滅在萌芽狀態(tài)?;贕SM短消息的遠(yuǎn)程門禁系統(tǒng)首先可以降低線路架設(shè)帶來的時間、人力、經(jīng)濟(jì)上的耗費(fèi),大大節(jié)約建立門禁系統(tǒng)所需要的費(fèi)用,為本門禁系統(tǒng)的廣泛使

5、用和普及提供了可行性。其次,GSM短消息遠(yuǎn)程門禁系統(tǒng)能夠?qū)崟r檢測報警,遠(yuǎn)程并且及時告知用戶,能夠極大程度的避免用戶的財(cái)產(chǎn)不受到非法的侵害,因此基于GSM的遠(yuǎn)程控制門禁系統(tǒng)是具有很大的研究意義。1.2 基于GSM的研究現(xiàn)狀隨著GSM(Global System for Mobile Communication,全球移動通訊系統(tǒng))網(wǎng)絡(luò)技術(shù)的日益成熟與飛速發(fā)展,它能為人們提供的服務(wù)也遠(yuǎn)遠(yuǎn)超越了個人通信的范圍。由于它具有連接簡單、覆蓋范圍廣、實(shí)現(xiàn)方便和相對低廉的收費(fèi)等優(yōu)點(diǎn),GSM方式成為現(xiàn)代遠(yuǎn)程監(jiān)控、遙測系統(tǒng),野外信息實(shí)時采集系統(tǒng)首選的傳輸方式?;贕SM的短消息業(yè)務(wù)不需建立撥號連接,只需把待發(fā)消息內(nèi)

6、容加上目的地址發(fā)送至短消息中心,再由短消息中心轉(zhuǎn)發(fā)到最終目標(biāo)。由于這些優(yōu)點(diǎn),GSM網(wǎng)絡(luò)得到了廣泛的應(yīng)用,同時也為遠(yuǎn)程監(jiān)控、遙測系統(tǒng)、野外信息實(shí)時采集提供了一種新的技術(shù)手段。采用基于GSM的遠(yuǎn)程控制既可以解決有線通信帶來的布線、維護(hù)等的諸多不便,也能解決無線網(wǎng)絡(luò)通信受限于通信距離的困擾,并且采用GSM網(wǎng)絡(luò)通信還有及時通信的效果,在某些關(guān)鍵重要的時刻能起到及時通告的作用,所以基于上述優(yōu)點(diǎn)GSM遠(yuǎn)程控制門禁系統(tǒng)應(yīng)該會有很好的研究價值和發(fā)展前景。1.3 GSM短消息遠(yuǎn)程門禁系統(tǒng)優(yōu)點(diǎn)基于GSM短消息遠(yuǎn)程門禁系統(tǒng)具有以下優(yōu)點(diǎn):(1) 實(shí)時監(jiān)控:通過GSM短消息的遠(yuǎn)程通訊功能可以對門禁系統(tǒng)的控制系統(tǒng)進(jìn)行實(shí)時

7、控制,這樣就可以避免由于時間、地理等因素而造成不能準(zhǔn)確監(jiān)控帶來的諸多后果,提升了監(jiān)控的安全性和有效性。(2) 遠(yuǎn)程操控:由于GSM已經(jīng)建立了全球的通信網(wǎng)絡(luò),利用單片機(jī)收發(fā)GSM的短消息功能就可以實(shí)現(xiàn)遠(yuǎn)距離的控制操作,能夠解決無線網(wǎng)絡(luò)受通信距離限制的弊端,以及解決有線通信帶來的人力、經(jīng)濟(jì)、時間的浪費(fèi)。(3) 系統(tǒng)簡潔:基于GSM短消息的遠(yuǎn)程門禁系統(tǒng)因?yàn)椴捎昧薚C35i集成模塊與單片機(jī)相結(jié)合進(jìn)行控制,這樣就避免了傳統(tǒng)有線遠(yuǎn)程控制中布線,維護(hù)線路的繁瑣工序,使得設(shè)備系統(tǒng)的架設(shè)變得非常的簡潔并且易于維護(hù),同時也降低了運(yùn)行成本。(4) 管理簡單:采用GSM短消息遠(yuǎn)程控制不需要進(jìn)行撥號連接和語音通話操作,

8、只需把待發(fā)消息內(nèi)容加上目的地址發(fā)送至短消息中心,再由短消息中心轉(zhuǎn)發(fā)到最終目標(biāo)就可以實(shí)現(xiàn)遠(yuǎn)程連接,這就簡化了管理過程。1.4 設(shè)計(jì)主要內(nèi)容本文主要研究的是基于GSM網(wǎng)絡(luò)的遠(yuǎn)程門禁系統(tǒng)。由于現(xiàn)今大部分門禁系統(tǒng)只能起到被動防御的作用,并且不能做到及時遠(yuǎn)距離報警,所以基于GSM網(wǎng)絡(luò)的遠(yuǎn)程門禁系統(tǒng)更能適合社會的需求。本設(shè)計(jì)主要采用單片機(jī)STC89C52RC對GSM模塊TC35i進(jìn)行控制,通過與單片機(jī)相連的矩陣鍵盤向單片機(jī)輸入密碼,并在LED1602液晶顯示器上進(jìn)行顯示,密碼以及目的電話號碼存放在AT24C02EEPROM片外存儲器當(dāng)中。若輸入密碼與所設(shè)置的密碼一致,則電子密碼鎖自動打開,允許用戶開啟門;

9、若輸入密碼與所設(shè)置的密碼不一致,則單片機(jī)通過串行口向TC35i發(fā)送控制信息和AT指令,驅(qū)動TC35i向指定號碼發(fā)送報警信息。用戶同時也可以使用PC機(jī)串口工具向單片機(jī)輸入控制指令,用于更改單片機(jī)設(shè)置。此外,通過手機(jī)終端也可以向TC35i發(fā)送短消息,并再通過串行口將信息傳送給單片機(jī),以達(dá)到對單片機(jī)的遠(yuǎn)程控制,系統(tǒng)模塊圖如圖1.單片機(jī)手機(jī)終端TC35i GSM模塊液晶顯示矩陣鍵盤電子鎖AT24C02PC機(jī)終端GSM網(wǎng)絡(luò)圖1 系統(tǒng)模塊圖2 系統(tǒng)原理2.1發(fā)送短消息的GSM07系列協(xié)議簡介短信息服務(wù)(SMS)協(xié)議是在20世紀(jì)80年代提出的,但直到20世紀(jì)90年代才開始市場化運(yùn)行。目前SMS協(xié)議的最新版本

10、是GSM07系列協(xié)議,它規(guī)定了短消息傳送的信道分配、編碼規(guī)則、標(biāo)準(zhǔn)AT指令集等內(nèi)容。短消息業(yè)務(wù)與話音傳輸及傳真一樣同為GSM數(shù)字蜂窩移動通信網(wǎng)絡(luò)提供的主要電信業(yè)務(wù),在GSM07協(xié)議中規(guī)定它通過無線控制信道進(jìn)行傳輸,經(jīng)短消息業(yè)務(wù)中心完成存儲和前轉(zhuǎn)功能,每個短消息的信息量限制為140個八位組(7比特編碼,160個字符)。傳送短消息業(yè)務(wù)的控制信道為專用控制信道(DCCH)。DCCH為點(diǎn)對點(diǎn)雙向控制信道,包括獨(dú)立專用控制信道(SDCCH)、快速隨路控制信道(FACCH)和慢速隨路控制信道(SACCH)。短消息業(yè)務(wù)的傳送在獨(dú)立專用控制信道(SOCCH)或慢速隨路控制信道(SACCH)進(jìn)行,具體是在SOC

11、CH還是SACCH上傳,這取決于業(yè)務(wù)信道(TCH)的使用。(1)當(dāng)TCH未分配時,短消息在SDCCH上傳;(2)如果短消息在SDCCH上處理時分配了TCH,短消息傳遞將停止并繼續(xù)在TCH隨路的SACCH上進(jìn)行;(3)如果當(dāng)短消息到達(dá)時,TCH已分配,則短消息在隨路SACCH上傳遞;(4)當(dāng)采用TCH的實(shí)體結(jié)束其處理時,無線資源管理(RR)子層可選擇在SACCH繼續(xù)進(jìn)行短消息傳遞或?qū)⑺D(zhuǎn)至SDCCH。通過以上SMS原理可以看出,SMS作為GSM網(wǎng)絡(luò)的一種主要電信業(yè)務(wù),它的傳遞是可靠的,為基于它的各類新業(yè)務(wù)的開發(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常用于短信息開發(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卡中寫入待發(fā)的短消息AT+CMSS向SIM內(nèi)存卡中發(fā)送短消息AT+CNMI顯示新收到的短消息AT+CPMS選擇短消息內(nèi)存AT+CSCA短消息中心地址AT+CSMP設(shè)置短消息文

13、本模式2.2.2 AT指令操作原理一般來講,每條AT指令都有3種調(diào)用形式,即設(shè)置、讀取和查詢。下面以CMGF為例說明這3種調(diào)用形式:參數(shù)+CMGF=<mode>+CMGF? 返回:+CMGF : <mode>+CMGF=? 返回:+CMGF : (列出所有支持的模式)設(shè)置調(diào)用形式一般為:AT+命令名+參數(shù),如:AT+CMGF=l用來設(shè)置當(dāng)前短消息為Text模式。讀取調(diào)用形式一般為:AT + 命令名?,如: AT + CMGF ? 如果當(dāng)前短消息格式為Text, 返回+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的縮寫,用于初始化TC35i;ATE0V0+CMGF=1+CNMI=2:讀取SIM卡的卡號;ATE0V0SSMSS=1+CNMI=2:選擇短消息優(yōu)先存儲在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ā)短信,所使用的代碼簡單,所以實(shí)現(xiàn)起來十分容易,但最大的缺

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字符。一般來說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é)議識別;DCS-數(shù)據(jù)編碼;VP-有效時間;UDL-用戶數(shù)據(jù)長度;UD-用戶數(shù)據(jù);SCTS-指明短消息到達(dá)業(yè)務(wù)中心的時間。2.3.2 接收/發(fā)送號碼與短信中心號碼編碼規(guī)則若電話號碼位數(shù)是奇數(shù)位,則在號碼末尾加“F”,然后從左到右只需將奇偶位對調(diào)即可。如下例:接收方原始電話號碼經(jīng)PDU編碼后的電話號碼應(yīng)為:5189536050F3。2.3.3 短信內(nèi)容的三種編碼方式(1)7-Bit編碼7-Bit編碼時,針對的是原始短消息的字符個數(shù),而不

17、是字節(jié)數(shù)。7-Bit編碼用于發(fā)送普通的ASCII字符,它將一串7-Bit的字符(最高位為0)編碼成8-bit的數(shù)據(jù),每8個字符可“壓縮”成7個,在使用7-Bit編碼時發(fā)送的短消息的最大字符數(shù)為160。(2)UCS2編碼UCS2編碼是用兩個字節(jié)編碼,UCS2編碼是字節(jié)數(shù),用于發(fā)送Unicode字符。按照 ISO/IECl0646的相關(guān)規(guī)定,UCS2編碼以1-2個字節(jié)為一個字符,將每個字符轉(zhuǎn)變?yōu)?6位的Unicode寬字符。用單片機(jī)控制手機(jī)模塊收發(fā)短消息時,如果沒有系統(tǒng)的支持,可用通過查表法解決。在Windows系統(tǒng)中可應(yīng)用API函數(shù)實(shí)現(xiàn)編碼和解碼。使用UCS2編碼發(fā)送短消息時,最多可發(fā)送70個字

18、符。(3)8Bit編碼8-Bit編碼,就是字節(jié)數(shù)。8-Bit編碼其實(shí)不存在具體的算法,主要是用于發(fā)送數(shù)據(jù)消息,比如圖片和鈴聲等。使用8-Bit編碼時發(fā)送短消息時,最多可發(fā)送140個字符。2.3.4 PDU編碼實(shí)例采用UCS2編碼方式,短信中心號碼為:+8613800835500,短消息接收方號碼為短信發(fā)送方號碼短信內(nèi)容為:非法入侵門禁系統(tǒng)!表2 短信發(fā)送PDU字符對照表字符串分段含義08地址信息長度91SMSC地址格式(TON/NPI)68區(qū)號31 08 80 53 05 F0短信中心地址1100發(fā)送短信的編碼方式0B目的地址長度81目的地址

19、類型51 89 53 60 50 F3接受方地址0008發(fā)送中文字符方式A0固定信息12短信內(nèi)容長度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矩陣鍵盤,AT24C02EEPROM片外存儲器以及一些輔助器件。3.1 STC89C52RC介紹本設(shè)計(jì)使用的STC89C52RC,是具有40引腳的PQFP小型封裝的8位單片機(jī),具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(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 口線,看門狗定時器,三個16 位定時器/計(jì)數(shù)器,一個全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52RC可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。STC89C52RC內(nèi)部結(jié)構(gòu)如下圖2,外部封裝引腳如圖3。RXD定時器/計(jì)數(shù)器中斷系統(tǒng)CPUT0T2INT0INT1并行I/O接口串行I/O接口存儲器P0P3T1TXD圖2 STC89C52RC內(nèi)部結(jié)構(gòu)圖圖3 STC89C52RC外部引腳圖STC89C5

22、2RC單片機(jī)的并行接口都可以用來與外設(shè)之間進(jìn)行普通的并行數(shù)據(jù)或指令的傳送,但是P1口和P3口的部分?jǐn)?shù)據(jù)位往往還有第二功能,在本次設(shè)計(jì)中就用到了P3.0(RXD),P3.1(TXD)位的第二功能,并通過P3.0,P3.1完成了單片機(jī)與GSM模塊TC35i,單片機(jī)與PC機(jī)之間的信息傳遞。STC89C52RC各引腳對應(yīng)的第二功能如下圖所示:表3 STC89C52RC引腳對應(yīng)第二功能引腳第二功能信號名稱P3.0RXD串行數(shù)據(jù)接收P3.1TXD串行數(shù)據(jù)發(fā)送P3.2INT0外部中斷0請求P3.3INT1外部中斷1請求P3.4T0定時/計(jì)數(shù)器0外部輸入P3.5T1定時/計(jì)數(shù)器1外部輸入P1.0T2定時/計(jì)數(shù)

23、器2外部輸入3.2 單片機(jī)與GSM模塊TC35i通信電路在本設(shè)計(jì)中,單片機(jī)與TC35i模塊,單片機(jī)與PC終端之間的通信都是通過串口通信來完成的。單片機(jī)向TC35i發(fā)送的AT命令通過字符數(shù)組發(fā)送到SBUF中,然后再通過串口逐位發(fā)送到TC35i接收SBUF中。在使用串口通信的時候,本設(shè)計(jì)采用了中斷處理的方法來進(jìn)行信息傳遞,在中斷處理函數(shù)中完成數(shù)據(jù)的傳輸。在進(jìn)行串口傳遞和中斷處理時,需要對單片機(jī)內(nèi)部的串行口控制寄存器SCON,中斷允許寄存器IE,中斷優(yōu)先級寄存器IP分別進(jìn)行相應(yīng)的初始化設(shè)置,以控制串行口正常工作。單片機(jī)STC89C52RC串行口硬件結(jié)構(gòu)圖如圖4。A波特率發(fā)生器移位寄存器移位寄存器移位

24、寄存器移位寄存器+發(fā)送緩沖器SBUF(99H)接收緩沖器SBUF(99H)串行口中斷請求TXDRXD圖4 STC89C52RC串口結(jié)構(gòu)圖本設(shè)計(jì)所對應(yīng)的串口中斷服務(wù)處理程序與定時器中斷服務(wù)程序過程如圖5:t中斷源串口中斷程序主程序串口中斷定時器中斷定時器中斷程序圖5 中斷服務(wù)程序處理3.3 GSM模塊TC35i介紹GSM模塊作為一種主要的GSM網(wǎng)絡(luò)接入設(shè)備,已得到越來越多系統(tǒng)制造商和系統(tǒng)開發(fā)商的重視,基于它的各種應(yīng)用也蓬勃發(fā)展起來。GSM模塊是繼GSM手機(jī)后,又一種非常重要的GSM移動通信系統(tǒng)的終端設(shè)備。它是傳統(tǒng)調(diào)制解調(diào)器與GSM無線移動通信系統(tǒng)相結(jié)合的一種數(shù)據(jù)終端設(shè)備,因此也叫無線調(diào)制解調(diào)器。

25、它的出現(xiàn)給GSM的發(fā)展注入了新的活力,改變了傳統(tǒng)的以話音為主的通信手段,打開了GSM網(wǎng)絡(luò)數(shù)據(jù)通信及其應(yīng)用的大門。所以在應(yīng)用上,凡是使用調(diào)制解調(diào)器的地方多數(shù)都可以用GSM模塊代替。由于調(diào)制解調(diào)器必須通過PSTN或者其他專用通訊網(wǎng)進(jìn)行通信,因而受地域以及線路等因素的影響,在應(yīng)用上有很大的局限性。而GSM模塊則無此限制,所以基于這種模塊,以GSM網(wǎng)絡(luò)作為無線傳輸網(wǎng)絡(luò),可以開發(fā)出多種前景樂觀的應(yīng)用,如GPS/GSM(SMS)移動車輛監(jiān)控定位系統(tǒng)、移動POS機(jī)、移動收費(fèi)系統(tǒ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 矩陣鍵盤與液晶顯示設(shè)計(jì)本設(shè)計(jì)采用4×4的矩陣鍵盤作為密碼輸入工具,使用LED1602字符液晶顯示器作為顯示工具。用單片機(jī)的P0口的高四位與矩陣鍵盤的行連接,P0口低四位與矩陣鍵盤的列連接,在行端口上給以高電平,列端口上給以低電平,當(dāng)有按鍵被按下時,與某行連接的列的端口也會是低電平,那么通過交叉判斷就可以確定一個鍵

27、被按下,并通過公式:數(shù)值=(行數(shù)-1)×4+列數(shù)-1,就可以得出被按下的鍵對應(yīng)的數(shù)值。在設(shè)計(jì)過程中,應(yīng)該注意對按鍵抖動處理,本設(shè)計(jì)采用的是程序延遲消抖的方法。在設(shè)計(jì)中也可以采用定時器中斷消抖的方法。當(dāng)確定了被按下的數(shù)值以后,通過P2口將對應(yīng)的數(shù)值發(fā)送給LED1602字符液晶顯示器進(jìn)行相應(yīng)的顯示,就能夠?qū)崿F(xiàn)鍵盤輸入液晶顯示密碼的效果。本設(shè)計(jì)中所使用到的LED1602字符液晶顯示器只能顯示簡單字符,LED1602字符液晶顯示器的三個控制端口分別由P10,P11,P12控制,其中P10用作指令/數(shù)據(jù)控制位,用來控制向LED1602輸入的指令或者數(shù)據(jù);P11口用作讀寫控制位,用來控制向LED

28、1602讀或者寫數(shù)據(jù)/指令;P12口用作使能控制位,用來控制LED1602正常工作。此外,LED1602輸入/輸出的指令/數(shù)據(jù)是通過P2口來完成的。當(dāng)需要顯示相應(yīng)字符時,應(yīng)該先用P10,P11,P12三個端口初始化液晶顯示器,LED1602的硬件結(jié)構(gòu)圖如圖7:圖7 LED1602液晶顯示器硬件電路圖單片機(jī)控制LED1602液晶顯示器的工作流程圖如圖8:矩陣鍵盤掃描函數(shù)初始化LED1602是否有鍵按下?有寫LED1602函數(shù)沒有控制顯示格式并存儲按鍵數(shù)值圖8 液晶顯示工作流程圖3.5 系統(tǒng)硬件設(shè)計(jì)本設(shè)計(jì)通過單片機(jī)對所需發(fā)送和接受的短信息內(nèi)容進(jìn)行編碼和解碼,編碼后的代碼和所要解碼的代碼都是通過單片

29、機(jī)的串行口TXD,RXD與TC35i模塊的串行口RXD、TXD進(jìn)行數(shù)據(jù)傳輸。用于控制TC35i模塊的AT指令和響應(yīng)信息也是以同樣的方式在單片機(jī)和TC35i模塊之間傳輸。此外,單片機(jī)的串行口還需分時復(fù)用,以便能夠接受PC機(jī)發(fā)送給單片機(jī)的命令。具體硬件連接如圖9:GNDIGTSTC89C52RCRXDTXDRXDTXDTC35iRXDTXDVCCVCC液晶顯示器PC機(jī)終端蜂鳴器電子鎖4×4鍵盤AT24C02EEPROM圖9 系統(tǒng)硬件連接圖4 系統(tǒng)軟件開發(fā)環(huán)境4.1軟件開發(fā)環(huán)境介紹本遠(yuǎn)程門禁系統(tǒng)嵌入式軟件部分所運(yùn)用的開發(fā)集成環(huán)境是KEIL uVision3,Version 8.05,該集成

30、環(huán)境是KEIL公司專門為嵌入式軟件開發(fā)而研發(fā)的,目前主要運(yùn)用于ARM系列、51系列單片機(jī)的軟件開發(fā)。KEIL uVision3 將項(xiàng)目源代碼管理器,帶自動提示的編輯程序管理器,高度仿真程序調(diào)試器等集成到一個功能強(qiáng)大的環(huán)境中,能夠準(zhǔn)確迅速的編譯C源代碼和匯編源程序,連接和重定位目標(biāo)文件和庫文件,創(chuàng)建HEX文件調(diào)試目標(biāo)程序。KEIL uVision3開發(fā)工具編譯C源代碼和匯編源程序,連接和重定位目標(biāo)文件和庫文件主要使用的是以下特定程序:C51美國標(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)成絕對目標(biāo)文件。LIB51庫管理器組合目標(biāo)文件并生成可以被連接器使用的庫文件。OH51目標(biāo)文件到HEX格式的轉(zhuǎn)換器,用于創(chuàng)建HEX格式的文件。4.2 Keil開發(fā)流程用Keil Software工具開發(fā)項(xiàng)目流程和其它軟件開發(fā)項(xiàng)目的流程極其相似,有如以下幾點(diǎn):(1)創(chuàng)建一個項(xiàng)目從器件庫中選擇目標(biāo)器件配置工具設(shè)置。(2)用C語言或匯編語言創(chuàng)建源程序。(3)用項(xiàng)目管理器生成應(yīng)用文件。(4)修改源程序中的錯誤。(5)測試連接應(yīng)用文件。4.3 Keil運(yùn)行界面Keil開發(fā)環(huán)境與傳統(tǒng)的C語言開發(fā)環(huán)境相比具有界面友好,操作簡單,調(diào)試方便,功能強(qiáng)大等優(yōu)點(diǎn),其具體開發(fā)環(huán)境如圖10:圖10

32、程序編輯界面圖程序調(diào)試中,可以軟件仿真定時器,并行口,中斷,串口等硬件設(shè)備,具體調(diào)式過程如圖11:圖11 程序調(diào)試界面圖5系統(tǒng)程序設(shè)計(jì)5.1 單片機(jī)控制TC35i模塊程序單片機(jī)控制TC35i的程序主要采用的是C51程序語言,在Keil uVison環(huán)境下進(jìn)行程序設(shè)計(jì)。該部分程序主要分成三大模塊:主程序,頭文件程序,函數(shù)實(shí)現(xiàn)程序。程序首先實(shí)現(xiàn)對單片機(jī)和TC35i硬件設(shè)備的初始化,當(dāng)正確輸入密碼以后,程序會驅(qū)動P3.5輸出一高電平去啟動電子密碼鎖和蜂鳴器短叫。如果在半個小時內(nèi)連續(xù)錯誤輸入三次密碼,系統(tǒng)就會調(diào)用短消息發(fā)送程序,采用串口中斷的形式向TC35i輸入AT指令和PDU編碼,然后TC35i自動

33、向目的地址發(fā)送短消息。用戶若想要修改密碼或者目的電話號碼,則可以根據(jù)本系統(tǒng)設(shè)計(jì)的命令控制字格式編寫新的密碼或者目的電話號碼,再通過串口程序向TC35i輸入,同時,單片機(jī)會將輸入的內(nèi)容原樣發(fā)送會串口發(fā)送程序界面以供用戶確認(rèn)。各函數(shù)之間的調(diào)用與函數(shù)功能實(shí)現(xiàn)如圖12。判斷密碼錯誤次數(shù)判斷函數(shù)鍵盤接收密碼函數(shù)單片機(jī)輸出控制信號開啟電子鎖密碼正確密碼錯誤錯誤次數(shù)不大于3次通過串口向TC35i發(fā)送編碼TC35i讀取編碼發(fā)送報警信息手機(jī)終端編碼處理函數(shù)錯誤次數(shù)超過3次單片機(jī)及TC35i初始化函數(shù)AT24C02讀密碼及電話號碼函數(shù)報警函數(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目的電話號碼以及密碼能夠在系統(tǒng)重新啟動中能被保存,本系統(tǒng)在設(shè)計(jì)時就將目的電話號碼以及密碼保存在片外AT24C02-EEPROM中,這樣就能夠保證在系統(tǒng)重新啟

35、動,斷電等突發(fā)情況下,能夠完好保存密碼和目的電話號碼,同時這也是通過PC機(jī)串口修改密碼和目的電話號碼的基礎(chǔ)。為了區(qū)分通過PC串口到底修改那類系統(tǒng)值,本系統(tǒng)在設(shè)計(jì)時規(guī)定了兩個字符控制字a和b,a為修改密碼的字符控制字,b為修改目的電話號碼的字符控制字。在通過串口修改密碼時應(yīng)該在密碼之前加上a;若是修改目的電話號碼時應(yīng)該在電話號碼之前加b。如新密碼命令:a123456;新目的地址命令:具體程序?qū)崿F(xiàn)流程如圖14:PC機(jī)串口程序單片機(jī)串口接收程序字符控制字判別程序修改目的電話號碼程序控制字a單片機(jī)向PC機(jī)回顯輸入情況修改密碼程序控制字bAT24C02寫數(shù)據(jù)函數(shù)并保存修改圖14

36、 密碼及目的電話號碼修改流程圖5.4主要函數(shù)模塊5.4.1 單片機(jī)初始化模塊該段程序主要完成對單片機(jī)串口工作方式的選擇(本設(shè)計(jì)選用工作方式1),設(shè)置定時器1作為串口通信傳輸?shù)牟ㄌ芈拾l(fā)生器,以及對應(yīng)各個中斷的設(shè)置。/* 單片機(jī)的初始化程序 */void Sys_Init(void)TH0 = 0xB8;TL0 = 0x00; /20ms的時鐘基準(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選用定時器1 TH1=0xfd; /波特率為9600TL1=0xfd;PCON=0x00; /倍頻0x80IE = 0xb0; / EA XX ET2 ES ET0 EX0 ET1 EX1 1100 0000TR1=1; /enable TIMER1 啟動定時器1 ES=1;/允許串口中斷 TR0=1;/啟動定時器0 ET0=1;/允許定時器0中斷 ET1=0;/不允許定時器1中斷 EA=1;timer_1S_cnt=0;receive_count=0;send_count=0xff;/表示禁止發(fā)送,可以接收5.4

38、.2 AT指令發(fā)送模塊該函數(shù)模塊主要根據(jù)輸入對應(yīng)的命令的宏定義選擇對應(yīng)的AT指令字符串,再將相應(yīng)的字符串復(fù)制到uart_buff 通信緩沖函數(shù)中。然后通過置TI = 1,調(diào)用串口中斷函數(shù)Int_Uart(),在中斷函數(shù)中循環(huán)的對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:/寫一個短信strcpy(uart_buff,"AT+CMGS=");strcat(uart_buff,para_temp);break;5.4.3 串行中斷模塊當(dāng)RI = 1或者TI = 1的時候,單片機(jī)根據(jù)自身中斷機(jī)制自動轉(zhuǎn)向中斷程序Int_Uart()。在中斷程序Int_Uart()內(nèi),當(dāng)數(shù)據(jù)自動從單片機(jī)TXD端發(fā)送出去后會置位TI,在中斷程序中設(shè)置TI = 0,以滿足下一次中斷的條件,循環(huán)的發(fā)送uart_buff 中的字符。由于發(fā)送中斷和接收中斷由同一個中斷函數(shù)響應(yīng),所以中斷函數(shù)Int_Ua

41、rt()還能夠接收對應(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)該檢測命令結(jié)束代碼,檢測到時/結(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)該檢測命令結(jié)束代碼,檢測到時結(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測試6.1測試準(zhǔn)備(1)將SIM卡裝入TC35

43、i模塊中,并將TC35i的RXD端,TXD端,IGT端分別與單片機(jī)的TXD、RXD和P1.3相連接。(2)將單片機(jī)與液晶顯示器,矩陣鍵盤等外設(shè)相連接。(3)先給TC35i上電并等待2分鐘左右,以便SIM卡成功登入到GSM網(wǎng)絡(luò),然后再給單片機(jī)上電。6.2測試階段及結(jié)果(1)利用矩陣鍵盤輸入密碼:111111,此密碼與系統(tǒng)預(yù)設(shè)密碼一致,為一個正確密碼,效果如圖15:圖15 測試結(jié)果1圖測試結(jié)果為:蜂鳴器鳴叫3s后停止,連接電子鎖的并口引腳輸出低電平。(2)利用矩陣鍵盤輸入密碼:123456,此密碼與系統(tǒng)預(yù)設(shè)密碼不一致,為一個錯誤密碼,效果如圖16:圖16 測試結(jié)果2圖測試結(jié)果為:蜂鳴器長叫不停,等

44、待35分鐘后,報警信息成功發(fā)送到指定手機(jī)終端。(3)利用PC機(jī)串口軟件更改系統(tǒng)預(yù)設(shè)密碼時,首先應(yīng)該根據(jù)原始密碼進(jìn)入到系統(tǒng)中,然后再打開串口軟件,在輸入新密碼的前面應(yīng)該加上密碼修改控制字a,然后輸入新密碼:123456,效果如圖17:圖17 串口軟件更改密碼圖測試結(jié)果:通過串口更改系統(tǒng)密碼后,系統(tǒng)原始密碼被新密碼所代替,想重新進(jìn)入到系統(tǒng)時,只有輸入新密碼才能夠成功進(jìn)入,原始密碼將會被當(dāng)作錯誤密碼處理。(4)利用PC機(jī)串口軟件更改系統(tǒng)預(yù)設(shè)目的電話號碼時,首先應(yīng)該根據(jù)原始密碼進(jìn)入到系統(tǒng)中,然后再打開串口軟件,在輸入新電話號碼的前面應(yīng)該加上電話號碼修改控制字b,然后輸入新的目的電話號碼效果如圖18:圖18 串口軟件更改目的電話號碼圖測試結(jié)果:通過串口更改系統(tǒng)目的電話號碼后,系統(tǒng)原始目的電話號碼被新電話號碼所代替,重新進(jìn)入到系統(tǒng)時,如果遇到非法入侵門禁的情況,系統(tǒng)會將信息發(fā)送到新的目的電話號碼上。7 結(jié)論本設(shè)計(jì)充分的利用了GS

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論