基于單片機(jī)的遠(yuǎn)程控制器_第1頁
基于單片機(jī)的遠(yuǎn)程控制器_第2頁
基于單片機(jī)的遠(yuǎn)程控制器_第3頁
基于單片機(jī)的遠(yuǎn)程控制器_第4頁
基于單片機(jī)的遠(yuǎn)程控制器_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 通信系統(tǒng)綜合設(shè)計(jì) 第 32頁中國礦業(yè)大學(xué)通信系統(tǒng)綜合設(shè)計(jì)姓 名: 學(xué) 號: 專 業(yè): 題 目: 基于單片機(jī)的遠(yuǎn)程控制器 專 題: 單片機(jī)及GSM模塊設(shè)計(jì) 指導(dǎo)教師: 設(shè)計(jì)地點(diǎn):電工電子實(shí)驗(yàn)室 時(shí) 間: 2012.11.30 2012 年 11 月 通信系統(tǒng)綜合設(shè)計(jì)訓(xùn)練任務(wù)書學(xué)生姓名 專業(yè)年級 學(xué)號 設(shè)計(jì)日期: 2012年 11月 12日 至 2012年 11月28 日設(shè)計(jì)題目:基于單片機(jī)的遠(yuǎn)程控制器設(shè)計(jì)專題題目:單片機(jī)及GSM模塊設(shè)計(jì)設(shè)計(jì)主要內(nèi)容和要求:1. 主要內(nèi)容: 使用單片機(jī)和GSM模塊實(shí)現(xiàn)學(xué)習(xí)板與手機(jī)之間的短信溝通 2. 單片機(jī)實(shí)現(xiàn)的功能 發(fā)送以及接受AT指令,并依據(jù)AT指令的內(nèi)容完

2、成相應(yīng)控制。3. GSM實(shí)現(xiàn)的功能 接受單片機(jī)的AT指令并產(chǎn)生相應(yīng)動(dòng)作,或者根據(jù)GSM網(wǎng)絡(luò)的動(dòng)作向單片機(jī)發(fā)送指令 4. 功能擴(kuò)展要求 可以通過手機(jī)短信遠(yuǎn)程控制單片機(jī)實(shí)現(xiàn)不同的控制功能。在此基礎(chǔ)上載加上語音識(shí)別模塊。指導(dǎo)教師簽字:摘要:GSM(Global System for Mobile communication)系統(tǒng)是目前基于時(shí)分多址技術(shù)的移動(dòng)通信體制中,比較成熟完善,且應(yīng)用最廣泛的一種系統(tǒng)。目前已建成的覆蓋全國的GSM數(shù)字蜂窩移動(dòng)通信網(wǎng),是我國公眾移動(dòng)通信網(wǎng)的主要方式?;贕SM的短信信息服務(wù),是一種在移動(dòng)網(wǎng)絡(luò)上傳送簡短信息的無線應(yīng)用,是一種信息在移動(dòng)網(wǎng)絡(luò)上存儲(chǔ)和轉(zhuǎn)寄的過程。由于公眾G

3、SM網(wǎng)絡(luò)在全球范圍內(nèi)實(shí)現(xiàn)了聯(lián)網(wǎng)和漫游,建議上述系統(tǒng)不需再組建專用通信網(wǎng)絡(luò),所以具有實(shí)時(shí)傳輸數(shù)據(jù)功能的短信應(yīng)用將得到迅速普及。筆者開發(fā)設(shè)計(jì)的基于GSM網(wǎng)絡(luò)的溫度數(shù)據(jù)采集與無線傳輸系統(tǒng)正是借助該網(wǎng)絡(luò)平臺(tái),利用短信息業(yè)務(wù)實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)雙向傳遞。AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,AT89S51

4、在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。GSM系統(tǒng)是目前基于時(shí)分多址技術(shù)的移動(dòng)通訊體制中比較成熟、完善、應(yīng)用最廣泛的系統(tǒng)之一。目前已建成蓋全國的GSM數(shù)字蜂窩移動(dòng)通信網(wǎng),是我國公眾移動(dòng)通信網(wǎng)的主要方式,其主要提供話音、短信息、數(shù)據(jù)等多種業(yè)務(wù)J?;贕SM短消息功能可以做成傳輸各種檢測、監(jiān)控?cái)?shù)據(jù)信號和控制命令的數(shù)據(jù)通信系統(tǒng),能廣泛用于遠(yuǎn)程監(jiān)控、定位導(dǎo)航、個(gè)人通信終端等,同時(shí)隨著科技的飛速發(fā)展和人民生活水平的不斷提高,手機(jī)的普及率越來越高,價(jià)格也越來越便宜,而且手機(jī)工作的無線網(wǎng)絡(luò)覆蓋范圍廣,在信息傳遞方面性能穩(wěn)定、可靠,所以把手機(jī)作為信息傳遞的載體,與單片機(jī)控制的GSM模塊結(jié)合起來構(gòu)成應(yīng)用系統(tǒng)有著

5、強(qiáng)大的生命力和廣闊的應(yīng)用空間J。通過設(shè)計(jì)基于GSM模塊的用手機(jī)控制的自動(dòng)水閘,對用單片機(jī)控制GSM模塊和手機(jī)通信、收發(fā)短信息進(jìn)行探討。關(guān)鍵字:單片機(jī);短信息;PDU;GSM目 錄 1 AT89S51單片機(jī)簡介6 1.1 AT89S51主要功能6 1.2 AT89S51引腳功能62 SIM300介紹142.1 SIM300特性142.2 SIM300引腳功能142.3.1 借助串口調(diào)試助手V2.2 軟件152.3.2 指令A(yù)T+CPIN? AT+CSQ AT+COPS?153 短信的發(fā)送/讀取的實(shí)現(xiàn)173.1 英文的發(fā)送/讀取173.2 中文的讀取/發(fā)送173.2.1 中文短信的發(fā)送 173.2

6、.2 中文短信的讀取174 程序代碼185小結(jié)236 參考文獻(xiàn)241 AT89S51單片機(jī)簡介AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,AT89S51在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。1.1 AT89S51主要功能1、 為一般控制應(yīng)用的 8 位單芯片2、 晶片內(nèi)部具時(shí)鐘振蕩器(傳統(tǒng)最高工

7、作頻率可至 12MHz)3、 內(nèi)部程式存儲(chǔ)器(ROM)為 4KB4、 內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)為 128B5、 外部程序存儲(chǔ)器可擴(kuò)充至 64KB6、 外部數(shù)據(jù)存儲(chǔ)器可擴(kuò)充至 64KB7、 32 條雙向輸入輸出線,且每條均可以單獨(dú)做 I/O 的控制8、 5 個(gè)中斷向量源,6個(gè)中斷源9、 2 組獨(dú)立的 16 位定時(shí)器10、1 個(gè)全多工串行通信端口11、8751 及 8752 單芯片具有數(shù)據(jù)保密的功能,與MCS-51兼容12、單芯片提供位邏輯運(yùn)算指令13、5個(gè)中斷優(yōu)先級、2層中斷嵌套中斷; 14、全雙工串行通信口; 15、看門狗(WDT)電路; 16、全靜態(tài)工作:0Hz-33MHz; 17、三級程序

8、存儲(chǔ)器保密鎖定; 18、可編程串行通道; 19、低功耗的閑置和掉電模式。 1.2 AT89S51引腳功能VCC:AT89S51 電源正端輸入,接+5V。VSS:電源地端。XTAL1:單芯片系統(tǒng)時(shí)鐘的反相放大器輸入端。XTAL2:系統(tǒng)時(shí)鐘的反相放大器輸出端,一般在設(shè)計(jì)上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就可以動(dòng)作了,此外可以在兩引腳與地之間加入一 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。RESET:AT89S51的重置引腳,高電平動(dòng)作,當(dāng)要對晶片重置時(shí),只要對此引腳電平提升至高電平并保持兩個(gè)機(jī)器周期以上的時(shí)間,AT89S51便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作

9、,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處開始讀入程序代碼而執(zhí)行程序。EA/Vpp:"EA"為英文"External Access"的縮寫,表示存取外部程序代碼之意,低電平動(dòng)作,也就是說當(dāng)此引腳接低電平后,系統(tǒng)會(huì)取用外部的程序代碼(存于外部EPROM中)來執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電平,因?yàn)槠鋬?nèi)部無程序存儲(chǔ)器空間。如果是使用 8751 內(nèi)部程序空間時(shí),此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時(shí),可以利用此引腳來輸入21V的燒錄高壓(Vpp)。ALE/PROG:ALE是英文&

10、quot;Address Latch Enable"的縮寫,表示地址鎖存器啟用信號。AT89S51可以利用這支引腳來觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0A7)鎖進(jìn)鎖存器中,因?yàn)锳T89S51是以多工的方式送出地址及數(shù)據(jù)。平時(shí)在程序執(zhí)行時(shí)ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來驅(qū)動(dòng)其他周邊晶片的時(shí)基輸入。此外在燒錄8751程序代碼時(shí),此引腳會(huì)被當(dāng)成程序規(guī)劃的特殊功能來使用。PSEN:此為"Program Store Enable"的縮寫,其意為程序儲(chǔ)存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(shí)(EA=0),會(huì)送

11、出此信號以便取得程序代碼,通常這支腳是接到EPROM的OE腳。AT89S51可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器可以合并在一起而共用64K的定址范圍。PORT0(P0.0P0.7):端口0是一個(gè)8位寬的開路汲極(Open Drain)雙向輸出入端口,共有8個(gè)位,P0.0表示位0,P0.1表示位1,依此類推。其他三個(gè)I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)做I/O用時(shí)可以推動(dòng)8個(gè)LS的TTL負(fù)載。如果當(dāng)EA引腳為低電平時(shí)(即取用外部程序代碼或數(shù)據(jù)存儲(chǔ)器),P0就以多工方式提供地址總線(A0A7)及數(shù)據(jù)總

12、線(D0D7)。設(shè)計(jì)者必須外加一鎖存器將端口0送出的地址栓鎖住成為A0A7,再配合端口2所送出的A8A15合成一完整的16位地址總線,而定址到64K的外部存儲(chǔ)器空間。PORT2(P2.0P2.7):端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個(gè)引腳可以推動(dòng)4個(gè)LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時(shí),此端口便能當(dāng)成輸入端口來使用。P2除了當(dāng)做一般I/O端口使用外,若是在AT89S51擴(kuò)充外接程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),也提供地址總線的高字節(jié)A8A15,這個(gè)時(shí)候P2便不能當(dāng)做I/O來使用了。PORT1(P1.0P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)

13、LS TTL負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當(dāng)做定時(shí)器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)腳位。PORT3(P3.0P3.7):端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)TTL負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ?。其引腳分配如下:P3.0:RXD,串行通信輸入。P3.1:TXD,串行通信輸出。P3.2:INT0,外部中斷0輸入。P3.3:INT1,外部中斷1輸入。P3.4

14、:T0,計(jì)時(shí)計(jì)數(shù)器0輸入。P3.5:T1,計(jì)時(shí)計(jì)數(shù)器1輸入。P3.6:WR:外部數(shù)據(jù)存儲(chǔ)器的寫入信號。P3.7:RD,外部數(shù)據(jù)存儲(chǔ)器的讀取信號。RST:復(fù)位輸入端,高電平有效。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 2 SIM300介紹SIM300是一款三頻段GSM/GPRS模塊,可在全球范圍內(nèi)的EGSM 900MHz、DCS 1800MHz、PCS 1900MHz三種頻率下工作,能夠提供GPRS多信道類型多達(dá)10個(gè),并且支持CS-1、CS-2、CS-3和CS-4四種GPRS編碼方案。SIM300結(jié)構(gòu)小巧,外形尺寸僅40mm*33mm*2.85mm,幾乎可滿足所有對產(chǎn)品尺

15、寸有要求的工業(yè)應(yīng)用,比如智能電話,掌上電腦和其他移動(dòng)設(shè)備。模塊與移動(dòng)應(yīng)用設(shè)備通過一個(gè)60引腳的板板連接器相連,它提供了模塊與開發(fā)板的所有硬件接口,除了RF天線接口。SIM300內(nèi)部功能模塊有:1.鍵盤和SPI 類型的LCD接口,方便用戶開發(fā)自己的應(yīng)用設(shè)備。2.具有調(diào)試和數(shù)據(jù)輸出兩個(gè)串口,幫助開發(fā)人員更容易開發(fā)產(chǎn)品。3.雙音頻通道,包含兩個(gè)麥克風(fēng)輸入和兩個(gè)話筒輸出,由AT指令配置其工作模式。SIM300有兩種RF天線接口:一種是天線連接器、一種是天線焊點(diǎn)。天線連接器型號為MURATA MM9329-2700,或者用戶也可以通過天線焊點(diǎn)自己焊接天線。SIM300具有低功耗設(shè)計(jì),睡眠模式下的電流消耗

16、僅為2.5mA。SIM300內(nèi)部集成了TCP/IP協(xié)議棧,并且擴(kuò)展了TCP/IP AT指令,使用戶利用該模塊開發(fā)數(shù)據(jù)傳輸設(shè)備變得非常簡單方便。2.1 SIM300特性特性說明工作電壓單電壓供電,3.44.5V低功耗模式休眠模式下,工作電流典型值為2.5mA工作頻段SIM300具有三個(gè)頻段:EGSM900、DCS1800、PCS1900。頻段頻率可由AT指令設(shè)置,默認(rèn)頻段是EGSM900和DCS1800。與GSM Phase 2/2+兼容。GSM類型小型移動(dòng)基站(MS)發(fā)射功耗在頻率EGSM900 CLASS 4下為2W在頻率DCS1800和PCS1900 CLASS 1下為1WGPRS連接GP

17、RS多時(shí)隙10級GPRS移動(dòng)電臺(tái)B級工作溫度正常工作溫度:-22+55極限工作溫度:-25-20,+55+70存儲(chǔ)溫度:-40+80GPRS數(shù)據(jù)傳輸GPRS下行數(shù)據(jù)傳輸最大85.6kbpsGPRS上行數(shù)據(jù)傳輸最大42.8kbps編碼方案:CS-1,CS-2,CS-3,CS-4SIM300支持PAP(密碼驗(yàn)證)協(xié)議,此協(xié)議通常用于PPP連接SIM300集成了TCP/IP協(xié)議電路交換數(shù)據(jù)(CSD)支持分組廣播控制信道(PBCCH)電路交換數(shù)據(jù)傳輸速率:2.4,4.8,9.6,14.4kbps,非透明傳輸支持非結(jié)構(gòu)化補(bǔ)充數(shù)據(jù)業(yè)務(wù)(USSD)短消息支持點(diǎn)到點(diǎn)短消息移動(dòng)發(fā)送和接受、文本、PDU模式短消息

18、存儲(chǔ)于SIM卡中支持CSD和GPRS模式的短消息發(fā)送,用戶可以根據(jù)自己的需要來選擇傳輸模式傳真Group 3 Class 1SIM接口支持1.8V和3V兩種類型的SIM卡外接天線通過50的天線連接器或天線連接板連接音頻特性語音編碼模式半速率(ETS 06.02)全速率(ETS 06.10)增強(qiáng)型全速率(ETS06.50/06.60/06.80)回波抑制雙串行通信接口串口1的借口具有7根數(shù)據(jù)、狀態(tài)線串口1可以被用作CSD傳真、GPRS服務(wù)和發(fā)送控制模塊AT命令串口1可以使用多路復(fù)用功能,但是此時(shí)不能和串口2同時(shí)使用可支持的自動(dòng)波特率為:1200bps115200bps串口2的接口只有/TXD和/

19、RXD兩根數(shù)據(jù)線,沒有狀態(tài)和控制線串口2只能用來傳輸AT命令電話簿管理支持的電話簿類型:SM、FD、LD、RC、ON、MCSIM應(yīng)用工具箱支持SAT class 3、GSM 11.14 Release 98實(shí)時(shí)時(shí)鐘內(nèi)部具有實(shí)時(shí)時(shí)鐘,并有后備電池接口定時(shí)功能可以通過AT命令編程物理特征尺寸:40±0.15×33±0.15×3.3±0.3mm(包括連接器) 40±0.15×33±0.15×2.85±0.3mm(不包括連接器)重量:8g固件升級內(nèi)部固件通過串口升級2.2 SIM300引腳功能電源引腳名

20、稱I/O說明直流特性VBAT板板連接器有八個(gè)電池引腳以連接供電電壓。SIM300的工作電壓VBAT=3.4V4.5V,單電壓供電。供電電壓必須能在典型值上升到2A的傳輸脈沖中提供足夠的電流。此八個(gè)引腳一般為電壓引腳。Vmax=4.5VVmin=3.4VVnorm=4.0VVRTCI/O當(dāng)電源不給系統(tǒng)供電時(shí)給實(shí)時(shí)時(shí)鐘的電流輸入。當(dāng)主電源供電且備用電源為低電平狀態(tài)時(shí)給備用電源的電流輸出。Vmax=2.0VVmin=1.2VVnorm=1.8VInorm=20uAVDD_EXTO給外部電路供電3.0V。用戶通過測試此引腳,可以判斷系統(tǒng)的運(yùn)行和關(guān)閉,為低電平時(shí),系統(tǒng)關(guān)閉,相反,系統(tǒng)運(yùn)行。Vmax=3.

21、15VVmin=2.85VVnorm=3.0VInorm=60mAGND數(shù)字接地電源開關(guān)引腳名稱I/O說明直流特性PWRKEYI系統(tǒng)啟動(dòng)按鍵的電壓輸入。用戶啟動(dòng)和關(guān)閉系統(tǒng)時(shí)PWRKEY為低電平。由于系統(tǒng)響應(yīng)軟件需要一定的反應(yīng)時(shí)間,用戶啟動(dòng)或關(guān)閉系統(tǒng)時(shí)需要按住按鍵幾秒。VILmax=0.3*VBATVIHmin=0.7*VBATVImax=VBAT音頻接口引腳名稱I/O說明直流特性MIC1PMIC1NI正負(fù)音頻輸入音頻直流特性見章節(jié)3.9.4MIC2PMIC2NI附加正負(fù)音頻輸入SPK1PSPK1NO正負(fù)音頻輸出SPK2PSPK2NO附加正負(fù)音頻輸出BuzzerO蜂鳴器輸出AGND模擬接地一般用

22、途輸入輸出引腳名稱I/O說明直流特性KBC0KBC4O一般用途輸出引腳(GPO)可由AT指令配置其輸出電壓的高低。所有GPO未由AT指令配置時(shí)初始化默認(rèn)低電平。VILmin=0VVILmax=0.3*VDD_EXTVIHmin=0.7*VDD_EXTVIHmax=VDD_EXT+0.3VOLmin=GNDVOLmax=0.2VVOHmin=VDD_EXT-0.2VOHmax=VDD_EXTKBR0KBR4ISPI_DATAI/OSPI_CLKOSPI_CSOSPI_D/COSPI_RSTONetwork LEDOGPIO8I/O一般輸入輸出端口串口1接口引腳名稱I/O說明直流特性DTRIDat

23、a Terminal Ready數(shù)據(jù)終端就緒VILmin=0VVILmax=0.3*VDD_EXTVIHmin=0.7*VDD_EXTVIHmax=VDD_EXT+0.3VOLmin=GNDVOLmax=0.2VVOHmin=VDD_EXT-0.2VOHmax=VDD_EXTRXDIReceive Data 接收數(shù)據(jù)TXDOTransmit Data 發(fā)送數(shù)據(jù)RTSIRequest to Send 請求發(fā)送CTSOClear to Send 清除發(fā)送RIORing Indicator 響鈴偵測DCDOData Carrier detection 數(shù)據(jù)載體檢測串口2接口DBGTXO用于調(diào)試和通信

24、的串口DBGRXISIM卡接口引腳名稱I/O說明直流特性SIM_VDDOSIM卡的電源引腳1.8V / 2.8V 可由軟件選擇SIM_I/OI/OSIM卡數(shù)據(jù)輸出VILmin=0VVILmax=0.3*SIM_VDDVILmin=0.7*SIM_VDDVIHmax=SIM_VDD+0.3VOLmin=GNDVOLmax=0.2VVOHmin=SIM_VDD-0.2VOHmax=SIM_VDDSIM_CLKOSIM卡時(shí)鐘SIM_PRESENCEISIM卡檢測SIM_RSTOSIM卡復(fù)位音頻模數(shù)轉(zhuǎn)換引腳名稱I/O說明直流特性ADC0I一般用途模數(shù)轉(zhuǎn)換輸入電壓值范圍:02.4V2.3  G

25、SM模塊串口測試  2.3.1 借助串口調(diào)試助手V2.2 軟件 1、 正常方式發(fā)送(ASCII碼方式)在發(fā)送框中輸入ATI后,再按ENTER 鍵,最后點(diǎn)擊手動(dòng)發(fā)送選項(xiàng)框。測試結(jié)果如下圖2-1 所示。 圖2-12 、16 進(jìn)制方式 ATI的16進(jìn)制是4154490D,選擇十六進(jìn)制發(fā)送復(fù)選框,輸完后點(diǎn)手動(dòng)發(fā)送)。測試結(jié)果如圖22所示。  圖2-2如果測試返回成功了,就可以繼續(xù)下面的指令測試。 2.3.2 指令A(yù)T+CPIN? AT+CSQ AT+COPS? 1、 AT+CPIN? 用于查詢 SIM 卡的狀態(tài),主要是 PIN 碼。輸入指令:AT+CPIN? 返回: +CPIN:R

26、EADY 表明狀態(tài)正常,返回的是其它值可能是沒放 SIM 卡 現(xiàn)在選擇用 16 進(jìn)制顯示(選擇十六進(jìn)制顯示后,再手動(dòng)發(fā)送一次),結(jié)果如下:41 54 2B 43 50 49 4E 3F 0D 0D 0A 2B 43 50 49 4E 3A 20 52 45 41 44 A T + C P I N ? + C P I N : R E A D Y 59 0D 0A 0D 0A 4F 4B 0D 0A ; O K (在數(shù)值下面是對應(yīng)的英文字符,0D 0A 是回車換行,每次模塊都返回) 2、 AT+CSQ 用于查詢信號,如果沒有信號,要查看天線是否連接。輸入指令:AT+CSQ 返回: +CSQ:26,

27、0 / 表明信號強(qiáng)度是 10 選擇用 16 進(jìn)制顯示,結(jié)果如下:41 54 2B 43 53 51 0D 0D 0A 2B 43 53 51 A T + C S Q + C S Q 3A 20 32 36 2C 30 0D 0A 0D 0A 4F 4B 0D 0A : 2 6 , 0 O K (在數(shù)值下面是對應(yīng)的英文字符,0D 0A 是回車換行,每次模塊都返回) 3、 AT+COPS? 用于查詢 SIM 卡移動(dòng)提供商,只有連上網(wǎng)絡(luò)后才有,其它狀態(tài)時(shí)都為空。輸入指令:AT+COPS? 返回: +COPS: 0,0,"CHINA MOBILE" / 提供使用商為:中國移動(dòng) 選擇

28、用 16 進(jìn)制顯示,結(jié)果如下:41 54 2B 43 4F 50 53 3F 0D 0D 0A 2B 43 A T + C O P S ? + C 4F 50 53 3A 20 30 2C 30 2C 22 43 48 49 4E 41 20 4D 4F 42 49 4C 45 O P S : 0 , 0 , " C H I N A M O B I L E 22 0D 0A 0D 0A 4F 4B 0D 0A " (在數(shù)值下面是對應(yīng)的英文字符,0D 0A 是回車換行,每次模塊都返回) 以上狀態(tài)正常就可以進(jìn)行短信、語音測試了。3 短信的發(fā)送/讀取的實(shí)現(xiàn)3.1 英文的發(fā)送/讀取

29、讀一條英文短信一定要保證開發(fā)板測試成功,即保證模塊正常讀取SIM 卡后,連接上網(wǎng)絡(luò)。 1、設(shè)置短信提示功能輸入指令:AT+CNMI=2,1再按ENTER鍵后點(diǎn)“手動(dòng)發(fā)送”:指令功能:短信提示,狀態(tài)有OK  回復(fù)。再輸入:AT+CMGF=1,按ENTER鍵,“手動(dòng)發(fā)送”;功能是:英文方式發(fā)送,狀態(tài)有 OK回復(fù)。然后向 SIM卡發(fā)送一條英文短信,收到+CMTI: ”SM”,1,表示有短信到達(dá),存在 SIM卡的第一個(gè)位置。( 本文中由于測試時(shí)已經(jīng)向SIM發(fā)過四條短信,所以顯示+CMTI: "SM",5)   2、讀取短信輸入 AT

30、+CMGR=5  再按 ENTER  鍵,選擇“手動(dòng)發(fā)送”,其功能是:讀取指定“5”里的內(nèi)容,回復(fù)短信報(bào)文。  其 中 “REC UNREAD ”短信沒有讀過,+8613632389015 為 發(fā) 信方號碼,10/06/07,15:02:08+32 為日期,內(nèi)容是:abc 如果再讀一次就會(huì)稍微不同于上面顯示,REC READ 表示已讀。 2、 英文短信的發(fā)送 1、向發(fā)送英文短信:abc 先輸入 AT+CMGF=1 再按 ENTER 后選擇“手動(dòng)發(fā)送”,功能:英文方式發(fā)送,回復(fù) OK。再輸入 AT+CMGS= 按

31、ENTER 鍵后點(diǎn)“手動(dòng)發(fā)送”,功能:向輸入的號碼發(fā)送短信,回復(fù)>,收到>后才可輸入內(nèi)容 abc,再點(diǎn)“手動(dòng)發(fā)送”。 最后的關(guān)鍵步驟是短信內(nèi)容的結(jié)束:點(diǎn)“十六進(jìn)制發(fā)送”,然后在指令區(qū)輸入 1A(1 是數(shù)字,不是字母 l),點(diǎn)擊手動(dòng)發(fā)送之后等待返回,收到:+CMGS:11 表示發(fā)送成功。3.2 中文的讀取/發(fā)送3.2.1 中文短信的發(fā)送 下面的內(nèi)容是:向手發(fā)送中文短信:“ 星??萍肌?變換號碼 中文短信要比英文復(fù)雜點(diǎn),先把號碼進(jìn)行16 進(jìn)制編碼, 編碼的方法如下: 首先, 對方手機(jī)號碼8613632389015 ,進(jìn)行轉(zhuǎn)換(兩位一反):313632

32、9810F5 ,號碼的最后一位為單數(shù)則高位加補(bǔ)F。 短信內(nèi)容編碼  短信內(nèi)容“星海科技”,通過Chinese_Unicode.exe 進(jìn)行16 進(jìn)制編碼后:“ 661F 6D77 79D1 6280” 。 如果你要發(fā)送的也有中文英文,那么也要將他們?nèi)糠湃脒M(jìn)行轉(zhuǎn)換 PDU格式編碼 PDU 格式編碼:手機(jī)號碼(11 位)+ 國際接入碼86(2 位)=13 位,16 進(jìn)制表示0D,接入碼中國地區(qū)用91 表示,短信在服務(wù)器存放時(shí)間,A0。 那么總的一起要發(fā)送的 PDU 內(nèi)容說明如下(下面的文字對應(yīng) pdu 的解析): 001100 0D 91 68 3136329810

33、F5 0008 A0 661F 6D77 79D1 6280 前序 目的號碼長度國際目的手機(jī)號碼( 兩位一反) | 8bit 方式允許時(shí)間短信長度短信內(nèi)容 (Unicode) 發(fā)送中文短信步驟: 001100 :前序是一定要的,一般不更改 0D9168 :13位號碼0D,91國際接入碼,68中國的電話區(qū)號86。 3136329810F5:剛才進(jìn)過變換的號碼 0008:發(fā)送方式8bit A0:發(fā)送保存時(shí)間 661F 6D77 79D1 6280:要發(fā)送的內(nèi)容 發(fā)送 1.先輸入 AT+CMGF=0 再按ENTER 鍵后,點(diǎn)“ 手動(dòng)發(fā)送” ,狀態(tài)恢復(fù): OK 2. 計(jì)算PDU 總長度,總長

34、度 = 你要發(fā)送的中文字?jǐn)?shù)*4/2 + 15。 比如我們這次發(fā)送4個(gè)字,那么總長度=4*4/2+15=23. 要發(fā)送的中文字?jǐn)?shù)*4(中文對應(yīng)的ascii碼個(gè)數(shù)) 3. 再輸入 AT+CMGS=23 再按ENTER鍵后,點(diǎn)“ 手動(dòng)發(fā)送” ;收到> 后才可輸入 內(nèi)容 0011000D91683136329810F50008A008661F6D7779D16280再點(diǎn)“手動(dòng)發(fā)送”。 此次輸入是不需要加回車的,請注意,因?yàn)橐粫?huì)要加入0x1a結(jié)束符號了4. 結(jié)束短信內(nèi)容:點(diǎn)“十六進(jìn)制發(fā)送”,在指令區(qū)輸入1A 后,點(diǎn)“手動(dòng)發(fā)送”, 等待發(fā)送成功,收到如圖所示:+CMGS:19 表示發(fā)送成功。 

35、60; 注:1. at+cscs="GSM" 采用GSM 方式 2. at+cmgf=0 設(shè)置PDU 模式,發(fā)送中文短信需要這個(gè) 3. at+cmgs=< 長度> 發(fā)送PDU 短信 3.2.2 中文短信的讀取首先要保證開發(fā)板測試成功,即保證模塊正常讀取SIM 卡后,連接上網(wǎng)絡(luò)。 1 設(shè)置短信提示功能輸入指令:AT+CNMI=2,1 再按 ENTER 鍵后點(diǎn)“手動(dòng)發(fā)送”;指令功能:短信提示,狀態(tài)有 OK 回復(fù)。再輸入:AT+CMGF=0, 按 ENTER 鍵,“手動(dòng)發(fā)送”;狀態(tài)有 OK 回復(fù)。然后向SIM 卡發(fā)送一條中文短信,收到+CMTI: ”SM”,11 ,表

36、示有短信到達(dá),存在 SIM 卡的第 11 個(gè)位置。 2. 讀取短信輸入 AT+CMGR=11 再按 ENTER 鍵,選擇“手動(dòng)發(fā)送”,其功能是:讀取指定“11” 里的內(nèi)容。+CMGR:0,28 其中 0 表示短信沒有被讀過,如果是 1 表示已讀;28 是長度; 91683108200005F0 為短信中心號碼:+8613800200500 0D 為短信號碼長度91683136329810F5 對方號碼 +8613632389015 01607221122323 日期 10/06/27, 12:21:32+32 08 為短 信內(nèi)容長度 661F6D7779D16280 中文短信內(nèi)容如果再讀一次就

37、會(huì)有區(qū)別。 此時(shí)讀到的是中文信息 Unicode 碼,要進(jìn)過轉(zhuǎn)換才可以看出他的內(nèi)容 。4 程序代碼#include <REGX52.H>#define uchar unsigned char#define uint unsigned intuchar num,temp,i,j,js,js1;uchar volatile GsmRcvAt50 = 0;uchar volatile GsmRcv50 = 0;uchar volatile GsmRcvCnt = 0;uchar volatile GsmAtFlag = 0;uchar volatile duanxinFlag = 0;s

38、bit LED5=P10;sbit LED6=P11;sbit LED7=P12;sbit LED8=P13;sbit LED9=P14; code char S_Tab8= 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f, ; code uchar zxm16= 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e, ; code uchar zwm8= 0xfe, 0xfd, 0xfb, 0xf7, 0xef,

39、 0xdf, 0xbf, 0x7f, ;void SerialInit()TMOD=0x20;TH1=0xF4;TL1=0xF4;TR1=1;SM0=0;SM1=1;REN=1;EA = 1; ES = 1;void SerialSendChars(char *str)while(*str!='0')SBUF=*str;while(!TI);TI=0;str+; void delay_ms(uint n) uchar a,b; uint c; for(c=n;c>0;c-) for(b=142;b>0;b-) for(a=2;a>0;a-); uchar ke

40、y_scan(void) num=20; P3=0xfb; temp=P3; temp &=0xfb; while(0xfb!=temp) delay_ms(5); temp=P3;while(0xfb!=temp) temp=P3; switch(temp) case 0xeb:num=11;break; case 0xdb:num=10;break; case 0xbb:num=9;break; case 0x7b:num=8;break; P3=0xf7; temp=P3; temp &=0xf7; while(0xf7!=temp) delay_ms(5);temp=P

41、3;while(0xf7!=temp) temp=P3; switch(temp) case 0xe7:num=15;break; case 0xd7:num=14;break; case 0xb7:num=13;break; case 0x77:num=12;break; return num;void delay_50ms(int t)int j; for(;t>0;t-) for(j=6245;j>0;j-) ; void main()char flag;SerialInit(); SerialSendChars("atir");delay_50ms(20

42、);SerialSendChars("atir");delay_50ms(20);SerialSendChars("atir");delay_50ms(20);GsmAtFlag = 0;LED5=0;LED6=0;LED7=0;LED8=0;while(1)SerialSendChars("AT+CMGD=1r");delay_50ms(20);while(GsmAtFlag = 0);if(GsmRcvAt0 = 'O' && GsmRcvAt1 = 'K' )break;Seria

43、lSendChars("AT+CNMI=2,1r");delay_50ms(20);SerialSendChars("AT+CMGF=1r");LED5=1;LED6=1;LED7=1;LED8=1;while(1) js=key_scan(); if(js!=20) js1=js; P0=zxmjs1%16; P2=zwm0; switch(js1) case 0x08: SerialSendChars("ATr");break; case 0x09: SerialSendChars("ATHr&

44、quot;);break; if(GsmAtFlag = 1)GsmAtFlag = 0;duanxinFlag=1;if(GsmRcvAt0 = 'R' && GsmRcvAt1 = 'I' && GsmRcvAt2 = 'N' && GsmRcvAt3 = 'G') flag=0x10; else if(GsmRcvAt0 = 'N' && GsmRcvAt1 = 'O' && GsmRcvAt2 = ' &

45、#39; && GsmRcvAt3 = 'C' && GsmRcvAt4 = 'A') flag=0x20; else if(GsmRcvAt0 = '+' && GsmRcvAt1 = 'C' && GsmRcvAt2 = 'M' && GsmRcvAt3 = 'T' && GsmRcvAt4 = 'I')LED6=0;SerialSendChars("AT+CMGR=1r&q

46、uot;);else if(GsmRcvAt0 = 'O' && GsmRcvAt1 = 'K')LED6=1;else if(GsmRcvAt0 = '+' && GsmRcvAt1 = 'C' && GsmRcvAt2 = 'M' && GsmRcvAt3 = 'G' && GsmRcvAt4 = 'R')LED7=0;GsmAtFlag = 0;while(GsmAtFlag = 0);if(Gsm

47、RcvAt0 = '1') flag=0x01;else if(GsmRcvAt0 = '2')flag=0x02; else if(GsmRcvAt0 = '3') flag=0x04;else if(GsmRcvAt0 = '4') LED9=0;flag=0x08;SerialSendChars("AT+CMGD=1r");LED7=1;/Uart1Send(GsmRcvAt0);i = 0;while(GsmRcvAti != 0) GsmRcvAti = 0;i+; if(duanxinFlag = 1) if(flag=0x01) P1=0xff; for(i=0;i<16;i+) for(j=0;j<8;j+) P0=zxmi; P2=zwmj; delay_50ms(1); if(flag=0x02) P2=0xff; for(i=0;i<8;i+) P1=S_Tabi; delay_50

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論