基于單片機(jī)與GSM模塊無(wú)線溫度傳輸系統(tǒng)_圖文_第1頁(yè)
基于單片機(jī)與GSM模塊無(wú)線溫度傳輸系統(tǒng)_圖文_第2頁(yè)
基于單片機(jī)與GSM模塊無(wú)線溫度傳輸系統(tǒng)_圖文_第3頁(yè)
基于單片機(jī)與GSM模塊無(wú)線溫度傳輸系統(tǒng)_圖文_第4頁(yè)
基于單片機(jī)與GSM模塊無(wú)線溫度傳輸系統(tǒng)_圖文_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、華南農(nóng)業(yè)大學(xué)珠江學(xué)院畢業(yè)論文(設(shè)計(jì))基于單片機(jī)與GSM模塊無(wú)線測(cè)溫傳輸系統(tǒng)軟件設(shè)計(jì)孫立治 指導(dǎo)教師: 劉愛(ài)民 系: 信息工程系 年級(jí)專(zhuān)業(yè):電子信息工程0801班 提交日期: 答辯日期: 答辯委員會(huì)主席(簽名): 評(píng)閱人(簽名): 年 月 日摘 要本論文設(shè)計(jì)了一種通過(guò)GSM短消息的收發(fā)實(shí)現(xiàn)對(duì)系統(tǒng)設(shè)備進(jìn)行遙控,基于單片機(jī)控制,利用支持短消息業(yè)務(wù)的GSM引擎模塊發(fā)送溫度報(bào)警信息,還利用現(xiàn)有的900M或1800M的GSM網(wǎng)絡(luò),而監(jiān)控終端也不再僅局限于PC機(jī),也可以是移動(dòng)通訊平臺(tái)或其他移動(dòng)終端。對(duì)系統(tǒng)環(huán)境狀況監(jiān)測(cè)和數(shù)據(jù)傳輸?shù)腉SM短消息遙控監(jiān)測(cè)系統(tǒng)。該系統(tǒng)克服了普通電話遙控的人機(jī)界面不友好,且控制功能少

2、等缺點(diǎn),實(shí)現(xiàn)了數(shù)據(jù)采集(溫度等、實(shí)時(shí)監(jiān)測(cè)、短信報(bào)警的功能。系統(tǒng)的控制過(guò)程如下:用溫度傳感器采集外界溫度值,通過(guò)A/D轉(zhuǎn)換將此模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)傳入單片機(jī)中,對(duì)單片機(jī)進(jìn)行編程。本系統(tǒng)采用了西門(mén)子公司提供的TC35短信模塊進(jìn)行短信的編輯和發(fā)送,它的串口通訊遵循RS232標(biāo)準(zhǔn),所以要與單片機(jī)連接還要通過(guò)串口的電平轉(zhuǎn)換電路,這也是系統(tǒng)設(shè)計(jì)的一部分;短信模塊發(fā)送短信是由AT指令控制的,其發(fā)送的短信格式有兩種:文本格式和PDU格式, 本論文選擇采用文本格式,這樣AT指令的短消息編程也成為了系統(tǒng)設(shè)計(jì)一部分。前面說(shuō)提到的AT指令,即Attention AT命令集是從Terminal Equipment或D

3、TE(Data Terminal Equipment 向TA(Terminal Adapter或DCE(Data Circuit Terminating Equipment發(fā)送的通過(guò)TE發(fā)送AT命令來(lái)控制MS的功能與GSM網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行交互復(fù)。關(guān)鍵字:?jiǎn)纹瑱C(jī);TC35i模塊;短消息;AT指令;溫度檢測(cè)AbstractThis dissertation designed a GSM short message sending and receiving remote control system equipment, control, based on single chip GSM engine

4、 module sends temperature alarm information to support short message service, to monitor the terminal is no longer confined to the PC, but alsocan be a mobile communications platform, or other mobile terminal.The control process of the system are as follows: outside temperature, temperature sensor a

5、cquisition A/D converter to convert this analog signal to digital signal into the microcontroller, the microcontroller to be programmed. Microcontroller to obtain the temperature through the serial port and Siemens TC35 SMS module serial communications and data transfer, the temperature obtained by

6、TC35 SMS module temperature mode of information sent to the target mobile communication platforms or other mobile devices.TC35 SMS module control, editing, and sending of text messages, it sends the message format in two ways: the text format and PDU format, this dissertation used text format. TC35

7、SMS module is controlled by using AT command. Such a short news programming of the AT command also become a part of the design. AT command, the Attention AT command set is from the Terminal Equipment or DTE (Data Terminal Equipment to the TA (Terminal Adapter or DCE (Data Circuit Terminating Equipme

8、nt sent by the TE to send AT commands to control the MS functions and GSM network services interaction complex.Keywords: microcontroller; TC35i module; short message; AT Instruction; Temperature detection設(shè)計(jì)說(shuō)明本次設(shè)計(jì)的基于單片機(jī)與TC35i的 GSM模塊無(wú)線測(cè)溫報(bào)警系統(tǒng)主要有兩大功能,分別為溫度檢測(cè)、短信報(bào)警?;陬}目的基本要求,本系統(tǒng)對(duì)溫度檢測(cè)、短信報(bào)警這兩大功能進(jìn)行重點(diǎn)設(shè)計(jì)。本系統(tǒng)設(shè)計(jì)

9、采用以單片機(jī)STC89C52和西門(mén)子TC35i短信模塊為核心,結(jié)合DS18B20等必要的外圍電路實(shí)現(xiàn)遠(yuǎn)程無(wú)線報(bào)警功能。當(dāng)系統(tǒng)上電啟動(dòng)后,單片機(jī)利用DS18B20檢測(cè)溫度。采用單片機(jī)的定時(shí)器計(jì)時(shí)的方式來(lái)計(jì)算時(shí)間,每隔一段時(shí)間,系統(tǒng)就會(huì)向事先設(shè)置好的移動(dòng)終端發(fā)送溫度。當(dāng)溫度高過(guò)一定的值或者低于一定的值的時(shí)候,就算系統(tǒng)計(jì)時(shí)的時(shí)間還沒(méi)到,系統(tǒng)也會(huì)向移動(dòng)終端發(fā)送信息。為了方便隨時(shí)可以接受信息,本設(shè)計(jì)還設(shè)計(jì)了按鍵功能,當(dāng)按下按鍵的時(shí)候系統(tǒng)也會(huì)向移動(dòng)終端發(fā)送信息。設(shè)計(jì)標(biāo)準(zhǔn)如下:(1 通過(guò)單片機(jī)和DS18B20檢測(cè)溫度。(2 設(shè)定報(bào)警范圍,當(dāng)溫度不在這個(gè)范圍的時(shí)候就自動(dòng)發(fā)送當(dāng)前溫度到移動(dòng)終端。(3 按鍵功能,

10、沒(méi)按下一次按鍵,系統(tǒng)就向移動(dòng)終端發(fā)送當(dāng)前溫度。關(guān)鍵字:STC89C52單片機(jī);DS18B20;TC35i目 錄1 引言 11.1 項(xiàng)目背景與意義 11.2 項(xiàng)目目標(biāo) 12 系統(tǒng)的整體架構(gòu)分析 32.1 系統(tǒng)的主要模塊 32.2 DS18B20原理及引腳介紹 3 3 42.3 STC89C52單片機(jī) 7 7 8 92.4 TC35i模塊介紹 103 軟件設(shè)計(jì) 133.1 TMOD配置 133.2 串口通訊原理 13 13 89C52單片機(jī)的串行接口結(jié)構(gòu) 14 14 163.3 單片機(jī)中斷系統(tǒng)介紹 18 18 183.4 AT指令 18 193.5 溫度采集 203.6 GSM模塊發(fā)送信息 213

11、.7 程序編譯文檔的創(chuàng)建 224 結(jié)論 23參考文獻(xiàn) 24致謝 25附錄 26附錄A 系統(tǒng)原理圖 26附錄B 源程序 27附錄C 檢測(cè)單片機(jī)串口發(fā)送數(shù)據(jù)程序 341 引 言1.1 項(xiàng)目背景與意義隨著短消息服務(wù)(SMS和通用分組無(wú)線服務(wù)(GPRS等數(shù)據(jù)業(yè)務(wù)的發(fā)展,GSM無(wú)線網(wǎng)絡(luò)應(yīng)用于機(jī)電產(chǎn)品和工業(yè)控制領(lǐng)域的趨勢(shì)不斷擴(kuò)大,各種以GSM網(wǎng)為傳輸平臺(tái)的數(shù)據(jù)采集及遠(yuǎn)程監(jiān)控系統(tǒng)方案和產(chǎn)品也不斷出現(xiàn)。例如,在現(xiàn)代家庭的環(huán)境安全監(jiān)測(cè)和家用電器的控制上,利用GSM網(wǎng)絡(luò)既可實(shí)現(xiàn)對(duì)盜情、燃?xì)庑孤┘盎鹁鹊谋O(jiān)測(cè),并以短消息方式向主人發(fā)出警報(bào);又可發(fā)送短消息對(duì)家用電器例如空調(diào)、電視、音響、微波爐等進(jìn)行遙控 。GSM網(wǎng)絡(luò)

12、信號(hào)覆蓋面積廣、網(wǎng)絡(luò)接入靈活、無(wú)需布線,打破了距離的限制,從而可以實(shí)現(xiàn)全國(guó)乃至全球漫游監(jiān)控 。短消息(SMS利用信令信道傳輸,直接把要發(fā)的信息加上目的地址發(fā)送到短消息服務(wù)中心,由服務(wù)中心再發(fā)給終端。短消息容量有限(每條短信內(nèi)容最多140個(gè)字節(jié)),適于傳輸小流量的數(shù)據(jù);由于建立時(shí)間較長(zhǎng),傳送過(guò)程要受短消息服務(wù)中心服務(wù)器繁忙程度的影響,因而適于非連續(xù)性和實(shí)時(shí)性要求不太高的傳輸場(chǎng)合。短消息傳輸具有實(shí)現(xiàn)簡(jiǎn)單,通信成本低的優(yōu)點(diǎn)。本論文在溫室溫度監(jiān)控遠(yuǎn)程報(bào)警和遠(yuǎn)程開(kāi)啟的應(yīng)用背景下,結(jié)合其傳輸數(shù)據(jù)少和非連續(xù)性工作的應(yīng)用特征,研制了利用51系列單片機(jī)控制GSM模塊TC35i以短消息(SMS的方式進(jìn)行遠(yuǎn)程報(bào)警和

13、開(kāi)啟的裝置。裝置中單片機(jī)以中斷方式檢測(cè)傳感器的振動(dòng)信號(hào),通過(guò)串口與GSM模塊通信以控制其啟動(dòng)和短信的收發(fā)、解析等。本裝置結(jié)構(gòu)簡(jiǎn)單、傳輸可靠,稍做改進(jìn)即可應(yīng)用于多種需遠(yuǎn)程交互的場(chǎng)合。1.2 項(xiàng)目目標(biāo)基于STC89C52、TC35i溫度遠(yuǎn)程報(bào)警系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、可靠性高、成本低等特點(diǎn),可廣泛應(yīng)用于大棚溫室、糧倉(cāng)及物資倉(cāng)庫(kù)溫度檢測(cè)等。本論文首先給出了基于STC89C52、TC35i溫度遠(yuǎn)程報(bào)警系統(tǒng)的整體架構(gòu),分析了整個(gè)項(xiàng)目的硬件基礎(chǔ)和軟件基礎(chǔ)。然后詳細(xì)介紹STC89C52單片機(jī)和TC35i的應(yīng)用開(kāi)發(fā)基礎(chǔ)的主要特征。在溫度檢測(cè)部分,STC89C52單片機(jī)通過(guò)DS18B20溫度傳感器讀取溫度,然后通過(guò)單

14、片機(jī)串口和TC35i串口之間相互通信,把讀取的溫度傳輸?shù)絋C35i模塊,最后通過(guò)TC35i模塊發(fā)信息到目標(biāo)手機(jī)號(hào)碼。2 系統(tǒng)的整體架構(gòu)分析2.1 系統(tǒng)的主要模塊系統(tǒng)主要由STC89C52單片機(jī)、DS18B20溫度傳感器和TC35i模塊構(gòu)成,其系統(tǒng)結(jié)構(gòu)如圖1所示。圖1 系統(tǒng)整體框圖系統(tǒng)的控制過(guò)程如下:用溫度傳感器采集外界溫度值,通過(guò)A/D轉(zhuǎn)換將此模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)傳入單片機(jī)中,對(duì)單片機(jī)進(jìn)行編程。本系統(tǒng)采用了西門(mén)子公司提供的TC35短信模塊進(jìn)行短信的編輯和發(fā)送,它的串口通訊遵循RS232標(biāo)準(zhǔn),所以要與單片機(jī)連接還要通過(guò)串口的電平轉(zhuǎn)換電路,這也是系統(tǒng)設(shè)計(jì)的一部分;短信模塊發(fā)送短信是由AT指令控制

15、的,其發(fā)送的短信格式有兩種:文本格式和PDU格式。2.2 DS18B20原理及引腳介紹DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。(1 適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線供電。(2 獨(dú)特的單線接口方式,DS1820在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS1820的雙向通訊。(3 DS1820支持多點(diǎn)組網(wǎng)功能,多個(gè)DS1820可以并聯(lián)在三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫。(4 DS1820在使用中不需要任何

16、外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。(5 溫度范圍55125,在-10+85時(shí)精度為±0.5。(6 可編程的分辨率為912位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)溫。(7 在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。(8 測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線總線”串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。(9 負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。(1 DS1820的地址序列碼。DS18

17、20的地址序列碼光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是DS1820的地址序列碼。64位光刻ROM的排列是:開(kāi)始8位(28H是產(chǎn)品類(lèi)型標(biāo)號(hào),接著的48位是該DS1820自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1。光刻ROM的作用是使每一個(gè)DS1820都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS1820的目的。 (2 DS1820溫度值格式表。DS1820中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/LSB形式表達(dá),其中S為符號(hào)位。如表1所示。表1 DS1820溫度值格式表

18、LS ByteBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0232221202-12-22-32-4MS ByteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSS262524這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在DS1820的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。 (3 高速暫存存儲(chǔ)器。 高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如表5所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,

19、經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過(guò)單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后。對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。其中第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。其寄存器內(nèi)容如表2所示。表2 DS1820暫存寄存器分布寄存器內(nèi)容字節(jié)地址溫度值低位 (LS Byte)0溫度值高位 (MS Byte)1高溫限值(TH)2低溫限值(TL)3配置寄存器4保 留5保 留6保 留7CRC校驗(yàn)值8根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS1820完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫(xiě)之前都

20、要對(duì)DS1820進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS1820進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,當(dāng)DS1820收到信號(hào)后等待1660微秒后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。ROM指令如表3所示,RAM指令如表4所示。表3 ROM指令表指 令約定代碼功 能讀ROM33H讀DS1820溫度傳感器ROM中的編碼(即64位地址) 符合ROM 55H發(fā)出此命令之后,接著發(fā)出64 位ROM編碼,訪問(wèn)單總線上與該編碼相對(duì)應(yīng)的 DS1820 使之作出響應(yīng),為下一步對(duì)該DS1820 的讀寫(xiě)作準(zhǔn)備搜索ROM 0F

21、0H用于確定掛接在同一總線上 DS1820 的個(gè)數(shù)和識(shí)別 64 位ROM 地址。為操作各器件作好準(zhǔn)備 跳過(guò)ROM 0CCH忽略 64 位 ROM 地址,直接向 DS1820 發(fā)溫度變換命令,適用于單片工作告警搜索命令0ECH執(zhí)行后只有溫度超過(guò)設(shè)定值上限或下限的片子才做出響應(yīng) 表4 RAM指令表指 令約定代碼功 能溫度變換44H啟動(dòng)DS1820進(jìn)行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時(shí)最長(zhǎng)為750ms(9位為93.75ms),結(jié)果存入內(nèi)部9字節(jié)RAM中讀暫存器 0BEH 讀內(nèi)部RAM中9字節(jié)的內(nèi)容 寫(xiě)暫存器 4EH 發(fā)出向內(nèi)部RAM的3、4字節(jié)寫(xiě)上下限溫度數(shù)據(jù)命令,緊跟該命令之后是傳送兩字的數(shù)據(jù)復(fù)制暫存器 48

22、H 將RAM中第3 、4字節(jié)的內(nèi)容復(fù)制到EEPROM中重調(diào) EEPROM 0B8H 將EEPROM中內(nèi)容恢復(fù)到RAM中的第3、4字節(jié)讀供電方式 0B4H 讀DS1820的供電模式。寄生供電時(shí)DS1820發(fā)送“0”,外接電源供電 DS1820發(fā)送“1”(6 DS1820使用中注意事項(xiàng)。 DS1820雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)題:較小的硬件開(kāi)銷(xiāo)需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì)DS1820進(jìn)行讀寫(xiě)編程時(shí),必須嚴(yán)格的保證讀寫(xiě)時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在DS1820測(cè)溫程序設(shè)計(jì)

23、中,向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號(hào),一旦某個(gè)DS1820接觸不好或斷線,當(dāng)程序讀該DS1820時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS1820硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。(7 DS18B20引腳圖。TO92封裝的DS18B20的引腳排列如圖2所示,其引腳功能描述見(jiàn)下:GND:接地。DQ:數(shù)據(jù)輸入/輸出引腳。VDD:接+5V電源。圖2 DS18B20引腳圖2.3 STC89C52單片機(jī)STC89C52是一種帶8K字節(jié)閃爍可編程可檫除只讀存儲(chǔ)器的低電壓,高性能COMOS8的微處理器,俗稱單片機(jī)。該器件采用ATMEL搞密度非易失存儲(chǔ)器制造

24、技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。STC89C52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳RXD和TXD分別是此放大器的輸入端和輸出端。時(shí)鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部方式的時(shí)鐘電路如圖3所示。在RXD和TXD引腳上外接定時(shí)元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時(shí)元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。晶體振蕩頻率可以在1.212MHz之間選擇,電容值在530pF之間選擇,電容值的大小可對(duì)頻率起微調(diào)的作用。圖3 內(nèi)部方式時(shí)鐘電路 復(fù)位是單片機(jī)的初始化操作。其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開(kāi)始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初

25、始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,也需按復(fù)位鍵重新啟動(dòng)。除PC之外,復(fù)位操作還對(duì)其他一些寄存器有影響,它們的復(fù)位狀態(tài)如表5所示。表5 寄存器的復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00HRST引腳是復(fù)位信號(hào)的輸入端。復(fù)位信號(hào)是高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期(即二個(gè)機(jī)器周期以上。若使用頗率為6MHz的晶振

26、,則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過(guò)4us才能完成復(fù)位操作。復(fù)位操作有上電自動(dòng)復(fù)位相按鍵手動(dòng)復(fù)位兩種方式:上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的,只要電源Vcc的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位,即接通電源就成了系統(tǒng)的復(fù)位初始化。按鍵手動(dòng)復(fù)位是通過(guò)使復(fù)位端經(jīng)電阻與Vcc電源接通而實(shí)現(xiàn)的,復(fù)位電路圖如圖4所示。 圖4 單片機(jī)復(fù)位電路圖(1 主電源引腳。VCC(Pin40:電源輸入,接5V電源。GND(Pin20:接地線。(2 外接晶振引腳。XTAL1(Pin19:片內(nèi)振蕩電路的輸入端。XTAL2(Pin20:片內(nèi)振蕩電路的輸出端。(3 控制引腳。RST/VPP(Pin9:復(fù)位引腳,引

27、腳上出現(xiàn)2個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。ALE/PROG(Pin30:地址鎖存允許信號(hào)。PSEN(Pin29:外部存儲(chǔ)器讀選通信號(hào)。EA/VPP(Pin31:程序存儲(chǔ)器的內(nèi)外部選通,接低電平從外部程序存儲(chǔ)器讀指令,如果接高電平則從內(nèi)部程序存儲(chǔ)器讀指令。(4 可編程輸入/輸出引腳。STC89C52單片機(jī)有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個(gè)口有8位(8根引腳),共32根。PO口(Pin39Pin32):8位雙向I/O口線,名稱為P0.0P0.7;P1口(Pin1Pin8):8位準(zhǔn)雙向I/O口線,名稱為P1.0P1.7;P2口(Pin21Pin28):8位準(zhǔn)雙向I/O

28、口線,名稱為P2.0P2.7; P3口(Pin10Pin17):8位準(zhǔn)雙向I/O口線,名稱為P3.0P3.7。STC89C52主要功能如表6所示。表6 STC89C52主要功能主要功能特性兼容MCS51指令系統(tǒng)8K可反復(fù)擦寫(xiě)Flash ROM32個(gè)雙向I/O口256x8bit內(nèi)部RAM3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHz2個(gè)串行中斷可編程UART串行通道2個(gè)外部中斷源共6個(gè)中斷源2個(gè)讀寫(xiě)中斷口線3級(jí)加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能2.4 TC35i模塊介紹本文系統(tǒng)通信模塊采用TC35i,TC35i是SIEMENS公司推出的GSM專(zhuān)用調(diào)制解調(diào)器,它可在GSM網(wǎng)中

29、完成語(yǔ)音、數(shù)據(jù)、短消息以及傳真的傳送,TC35i具有標(biāo)準(zhǔn)的工業(yè)接口和完整的SIM卡閱讀器,因此使用非常簡(jiǎn)單,它提供的命令接口符合GSM0705和GSM0707規(guī)范,并提供RS232數(shù)據(jù)口,模塊和單片機(jī)接口通過(guò)40針數(shù)據(jù)電纜相連接,由于TC35i模塊的數(shù)據(jù)接口是CMOS電平,因此單片機(jī)對(duì)TC35i 模塊控制和通信信號(hào)不用進(jìn)行電平轉(zhuǎn)換,通過(guò)R232 將TC35i模塊和PC機(jī)連接起來(lái)即可。TC35i模塊輸入輸出的TTL正電平邏輯不是+ 5V,而是+ 2.9V,因此,必須對(duì)該輸入電平進(jìn)行邏輯轉(zhuǎn)換,系統(tǒng)通過(guò)在集電極開(kāi)路緩沖器7407的輸出加上拉電阻完成電路邏輯的轉(zhuǎn)換。系統(tǒng)加電后,為使TC35i進(jìn)入工作狀

30、態(tài),必須給IGT(絕緣柵晶體管加一延時(shí)大于100ms的低脈沖電平,下降持續(xù)時(shí)間不可超過(guò)1ms。啟動(dòng)后, IGT應(yīng)保持高電平(3.3 V 。驅(qū)動(dòng)IGT時(shí)TC35i供電電壓不能低于3.3V,否則TC35i不能激活。ZIF連接座的CCIN引腳用來(lái)檢測(cè)SIM卡是否插好,如果連接正確,則CC IN引腳輸出高電平,否則為低電平,可以在系統(tǒng)中,將引腳與參考地間連接紅色指示燈,提示用戶SIM卡是否插好。TC35i模塊有40個(gè)引腳,通過(guò)一個(gè)ZIF(Zero Insertion Force,零阻力插座連接器引出。這40個(gè)引腳可以劃分為5類(lèi),即電源、數(shù)據(jù)輸入/輸出、SIM卡、音頻接口和控制。TC35i的第15引腳是

31、正電源輸入腳通常推薦值4.2V,第610引腳是電源接地。11、12為充電引腳,可以外接鋰電池,13為對(duì)外輸出電壓(共外電路使用,14為ACCU-TEMP接負(fù)溫度系數(shù)的熱敏電阻,用于鋰電池充電保護(hù)控制。15腳是啟動(dòng)腳IGT,系統(tǒng)加電后為使TC35i進(jìn)入工作狀態(tài),必須給IGT加一個(gè)大于100ms的低脈沖,電平下降持續(xù)時(shí)間不可超過(guò)1ms。1623為數(shù)據(jù)輸入/輸出,分別為DSR0、RING0、RXD0、TXD0、CTS0、RTS0、DTR0 和DCD0。TC35i模塊的數(shù)據(jù)輸入/輸出接口實(shí)際上是一個(gè)串行異步收發(fā)器,符合ITU-T RS232接口標(biāo)準(zhǔn)。它有固定的參數(shù):8位數(shù)據(jù)位和1位停止位,無(wú)校驗(yàn)位,波

32、特率在300bps115kbps之間可選,默認(rèn)9600。硬件握手信號(hào)用RTS0/CTS0,軟件流量控制用XON/XOFF,CMOS電平,支持標(biāo)準(zhǔn)的AT命令集。其中18腳RxD0、19腳TXD0為T(mén)TL的串口通訊腳,需要和單片機(jī)或者PC通訊。TC35i使用外接式SIM卡,2429為SIM卡引腳,SIM卡同TC35i是這樣連接的:SIM上的CCRST、CCIO、CCCL、CCVCC和CCGND通過(guò)SIM卡閱讀器與TC35i的同名端直接相連,ZIF連接座的CCIN引腳用來(lái)檢測(cè)SIM卡是否插好,如果連接正確,則CCIN引腳輸出高電平,否則為低電平。TC35i的第32腳SYNC引腳有兩種工作模式,一種是

33、指示發(fā)射狀態(tài)時(shí)的功率增長(zhǎng)情況,另一種是指示TC35i的工作狀態(tài),可用AT命令A(yù)T+SYNC進(jìn)行切換,本模塊使用的是后一種。當(dāng)LED熄滅時(shí),表明TC35i處于關(guān)閉或睡眠狀態(tài);當(dāng)LED為600 ms亮/600ms熄時(shí),表明SIM卡沒(méi)有插入或TC35i正在進(jìn)行網(wǎng)絡(luò)登錄;當(dāng)LED為75 ms亮/3s熄時(shí),表明TC35i已登錄進(jìn)網(wǎng)絡(luò),處于待機(jī)狀態(tài)。30、31、32腳為控制腳,其中30為RTC backup,31為Power down,32 為SYNC。3538為語(yǔ)音接口,35、36接揚(yáng)聲器放音。37、38可以直接接駐極體話筒來(lái)采集聲音(37是話筒正端,39是話筒負(fù)端如下圖5所示。圖5 TC35i引腳圖3

34、 軟件設(shè)計(jì)3.1 TMOD配置C51中有兩個(gè)計(jì)數(shù)/定時(shí)器T1 和T0;每個(gè)計(jì)數(shù)器都有兩個(gè)八位寄存器,即是十六位的寄存器。TH1、TL1分別是計(jì)數(shù)器T1的高八位和低八位存儲(chǔ)區(qū),TH0、TL0分別是計(jì)數(shù)器0的高八位和低八位存儲(chǔ)區(qū)。在單片機(jī)中有兩個(gè)特殊功能寄存器與定時(shí)/計(jì)數(shù)有關(guān),這就是TMOD和TCON。TMOD和TCON是寄存器的名稱,在寫(xiě)程序時(shí)就可以直接用這個(gè)名稱來(lái)指定。TMOD 寄存器的內(nèi)容如表6所示。表6 寄存器TMODGATEC/TM1M0GATEC/TM1M0從表6中可以看出,TMOD被分成兩部份,每部份4位。分別用于控制T1,T0,(前四位控制T1,后四位控制T0)TR0、TR1分別是

35、控制T0和T1工作狀態(tài)的位。定時(shí)/計(jì)數(shù)器一共有四種工作方式,就是用M1M0來(lái)控制的,2位正好是四種組合(00方式1,01方式1,10方式2,11方式3)。C/T:定時(shí)/計(jì)數(shù)器即可作定時(shí)用也可用計(jì)數(shù)用,到底作什用,根據(jù)需要自行決定,也說(shuō)是決定權(quán)在編程者。如果C/T為0就是用作定時(shí)器,如果C/T為1就是用作計(jì)數(shù)器。3.2 串口通訊原理單片機(jī)與外界進(jìn)行信息交換稱之為通訊。89C52單片機(jī)的通訊方式有兩種,并行通訊:數(shù)據(jù)的各位同時(shí)發(fā)送或接收。本文檔不涉及并行通訊,只講串行通訊。串行通訊:數(shù)據(jù)一位一位順序發(fā)送或接收。串行通訊有同步通訊和異步通信兩種方式:異步通訊:它用一個(gè)起始位表示字符的開(kāi)始,用停止位表

36、示字符的結(jié)束。 在一幀格式中,先是一個(gè)起始位0,然后是8個(gè)數(shù)據(jù)位,規(guī)定低位在前,高位在后,接下來(lái)是奇偶校驗(yàn)位(可以省略),最后是停止位1。用這種格式表示字符,則字符可以一個(gè)接一個(gè)地傳送。在異步通訊中,CPU與外設(shè)之間必須有兩項(xiàng)規(guī)定,即字符格式和波特率。字符格式的規(guī)定是雙方能夠在對(duì)同一種0和1的串理解成同一種意義。原則上字符格式可以由通訊的雙方自由制定,但從通用、方便的角度出發(fā),一般還是使用一些標(biāo)準(zhǔn)為好,如采用ASCII標(biāo)準(zhǔn)。波特率即數(shù)據(jù)傳送的速率,其定義是每秒鐘傳送的二進(jìn)制數(shù)的位數(shù)。例如,數(shù)據(jù)傳送的速率是120字符/s,而每個(gè)字符如上述規(guī)定包含10數(shù)位,則傳送波特率為1200波特。單片機(jī)的串行

37、接口結(jié)構(gòu)89C52單片機(jī)通過(guò)引腳RXD(P3.0,串行數(shù)據(jù)接收端)和引腳TXD(P3.1,串行數(shù)據(jù)發(fā)送端)與外界通訊,如圖6所示。SBUF是串行口緩沖寄存器,包括發(fā)送寄存器和接收寄存器。它們有相同名字和地址空間,但不會(huì)出現(xiàn)沖突,因?yàn)樗鼈儍蓚€(gè)一個(gè)只能被CPU讀出數(shù)據(jù),一個(gè)只能被CPU寫(xiě)入數(shù)據(jù)。所以,語(yǔ)句SBUF=SBUF;是有意義的。它并不是將本身的值賦給了本身,而是將一個(gè)寄存器的值賦給了另一個(gè)寄存器,并且單片機(jī)不會(huì)搞錯(cuò)哪個(gè)是發(fā)送的,哪個(gè)是接受的。圖6 單片機(jī)串口電路圖串行口的控制與狀態(tài)寄存器串行口控制寄存器SCON它用于定義串行口的工作方式及實(shí)施接收和發(fā)送控制。其各位定義如表7所示。表7 串口

38、控制寄存器SCON示意表SM0SM1SM2RENTB8RB8TIRISM0.SM1:工作方式控制位(其中fosc為晶振頻率)如表8所示。表8 SM0.SM1工作方式SM0SM1工作方式說(shuō) 明波特率000同步移位寄存器Fosc/1201110位異歩收發(fā)由定時(shí)器控制10211位異步收發(fā)Fosc/32或Fosc/6411311位異步收發(fā)由定時(shí)器控制SM2:多機(jī)通訊控制位。本次設(shè)計(jì)不使用,編程時(shí)置0即可。REN:接收允許控制位。由軟件置位以允許接收,又由軟件清0來(lái)禁止接收。TB8: 是要發(fā)送數(shù)據(jù)的第9位。在方式2或方式3中,要發(fā)送的第9位數(shù)據(jù),根據(jù)需要由軟件置1或清0。例如,可約定作為奇偶校驗(yàn)位,或在

39、多機(jī)通訊中作為區(qū)別地址幀或數(shù)據(jù)幀的標(biāo)志位。RB8:接收到的數(shù)據(jù)的第9位。在方式0中不使用RB8。在方式1中,若(SM2)=0,RB8為接收到的停止位。在方式2或方式3中,RB8為接收到的第9位數(shù)據(jù)。TI: 發(fā)送中斷標(biāo)志。在方式0中,第8位發(fā)送結(jié)束時(shí),由硬件置位。在其它方式的發(fā)送停止位前,由硬件置位。TI置位既表示一幀信息發(fā)送結(jié)束,同時(shí)也是申請(qǐng)中斷,可根據(jù)需要,用軟件查詢的方法獲得數(shù)據(jù)已發(fā)送完畢的信息,或用中斷的方式來(lái)發(fā)送下一個(gè)數(shù)據(jù)。TI必須用軟件清0。RI: 接收中斷標(biāo)志位。在方式0,當(dāng)接收完第8位數(shù)據(jù)后,由硬件置位。在其它方式中,在接收到停止位的中間時(shí)刻由硬件置位(例外情況見(jiàn)于SM2的說(shuō)明)

40、。RI置位表示一幀數(shù)據(jù)接收完畢,可用查詢的方法獲知或者用中斷的方法獲知。RI必須用軟件清0。電源控制寄存器PCON,此寄存器只有第一位SMOD和本文檔有關(guān)。SMOD:串行口波特率加倍位:1方式1,3波特率定時(shí)器1溢出率/16;方式2波特率為Fosc/32。0方式1,3波特率定時(shí)器1溢出率/32;方式2波特率為Fosc/64。8051單片機(jī)的全雙工串行口可編程為4種工作方式,現(xiàn)分述如下。方式0為移位寄存器輸入/輸出方式。本文檔不用,故不敘述。方式1為波特率可變的10位異步通訊接口方式。發(fā)送或接收一幀信息,包括1個(gè)起始位0,8個(gè)數(shù)據(jù)位和1個(gè)停止位1。輸出: 當(dāng)CPU執(zhí)行一條指令將數(shù)據(jù)寫(xiě)入發(fā)送緩沖S

41、BUF時(shí),就啟動(dòng)發(fā)送。串行數(shù)據(jù)從TXD引腳輸出,發(fā)送完一幀數(shù)據(jù)后,就由硬件置位TI。輸入: 在(REN)=1時(shí),串行口采樣RXD引腳,當(dāng)采樣到1至0的跳變時(shí),確認(rèn)是開(kāi)始位0,就開(kāi)始接收一幀數(shù)據(jù)。只有當(dāng)(RI)=0且停止位為1或者(SM2)=0時(shí),停止位才進(jìn)入RB8,8位數(shù)據(jù)才能進(jìn)入接收寄存器,并由硬件置位中斷標(biāo)志RI;否則信息丟失。所以在方式1接收時(shí),應(yīng)先用軟件清零RI和SM2標(biāo)志。方式2為固定波特率的11位異步通訊接口方式。它比方式1增加了一位可程控為1或0的第9位數(shù)據(jù)。輸出: 發(fā)送的串行數(shù)據(jù)由TXD端輸出一幀信息為11位,附加的第9位來(lái)自SCON寄存器的TB8位,用軟件置位或復(fù)位。它可作為

42、多機(jī)通訊中地址/數(shù)據(jù)信息的標(biāo)志位,也可以作為數(shù)據(jù)的奇偶校驗(yàn)位。當(dāng)CPU執(zhí)行一條數(shù)據(jù)寫(xiě)入SUBF的指令時(shí),就啟動(dòng)發(fā)送器發(fā)送。發(fā)送一幀信息后,置位中斷標(biāo)志TI。 輸入: 在(REN)=1時(shí),串行口采樣RXD引腳,當(dāng)采樣到1至0的跳變時(shí),確認(rèn)是開(kāi)始位0,就開(kāi)始接收一幀數(shù)據(jù)。在接收到附加的第9位數(shù)據(jù)后,當(dāng)(RI)=0或者(SM2)=0時(shí),第9位數(shù)據(jù)才進(jìn)入RB8,8位數(shù)據(jù)才能進(jìn)入接收寄存器,并由硬件置位中斷標(biāo)志RI;否則信息丟失。且不置位RI。再過(guò)一位時(shí)間后,不管上述條件時(shí)否滿足,接收電路即行復(fù)位,并重新檢測(cè)RXD上從1到0的跳變。方式3為波特率可變的11位異步通訊接口方式。除波特率外,其余與方式2相同

43、。如前所述,在串行通訊中,收發(fā)雙方的數(shù)據(jù)傳送率(波特率)要有一定的約定。在89C52串行口的四種工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可變的,由定時(shí)器T1的溢出率控制。以下討論中,F(xiàn)OSC是晶振的頻率。方式0的波特率固定為晶振頻率的1/12。方式2的波特率由PCON中的選擇位SMOD來(lái)決定,可由下式表示:波特率=2的SMOD次方除以64再乘一個(gè)fosc,也就是當(dāng)SMOD=1時(shí),波特率為1/32fosc,當(dāng)SMOD=0時(shí),波特率為1/64fosc。方式1和方式3的波特率(2SMOD*(定時(shí)器1的溢出率/32 ,其中T1溢出率= T1計(jì)數(shù)率/產(chǎn)生溢出所需的周期數(shù)。式中T1計(jì)

44、數(shù)率的含義是:一秒鐘計(jì)數(shù)的次數(shù)。它取決于它工作在定時(shí)器狀態(tài)還是計(jì)數(shù)器狀態(tài)。當(dāng)工作于定時(shí)器狀態(tài)時(shí),T1計(jì)數(shù)率為fosc/12(即一個(gè)機(jī)器周期);當(dāng)工作于計(jì)數(shù)器狀態(tài)時(shí),T1計(jì)數(shù)率為外部輸入頻率,此頻率應(yīng)小于fosc/24。產(chǎn)生溢出所需周期與定時(shí)器T1的工作方式、T1的預(yù)置值有關(guān)。定時(shí)器T1工作于方式0:溢出所需周期數(shù)=8192-x (X為預(yù)置數(shù))定時(shí)器T1工作于方式1:溢出所需周期數(shù)=65536-x定時(shí)器T1工作于方式2:溢出所需周期數(shù)=256-x因?yàn)榉绞?為自動(dòng)重裝入初值的8位定時(shí)器/計(jì)數(shù)器模式,所以用它來(lái)做波特率發(fā)生器最恰當(dāng)。單片機(jī)串口是否正常發(fā)送數(shù)據(jù)關(guān)系是本次設(shè)計(jì)的關(guān)鍵一環(huán),關(guān)系到本設(shè)計(jì)是否

45、能夠順利地完成,所以編寫(xiě)了一個(gè)程序通過(guò)串口調(diào)試助手來(lái)驗(yàn)證單片機(jī)所發(fā)送的數(shù)據(jù)是否正常,串口助手如圖7所示。圖7 串口調(diào)試助手從圖7串口調(diào)試助手中可以看見(jiàn),左上角第一個(gè)設(shè)置是串口的選擇。波特率的設(shè)置必須和已經(jīng)寫(xiě)到單片機(jī)里的程序設(shè)置的波特率一致!校驗(yàn)位也要和單片機(jī)程序一至,數(shù)據(jù)位是八位,停止位是一位。一切設(shè)置好后,在助手的下面的文本區(qū)填入要發(fā)送的數(shù)據(jù),點(diǎn)擊發(fā)送后如果上面的大文本框內(nèi)能夠正確的顯示出來(lái)的話,實(shí)驗(yàn)就成功了。3.3 單片機(jī)中斷系統(tǒng)介紹(1 外部中斷請(qǐng)求源。外中斷0和1,經(jīng)由外部引腳引入的,在單片機(jī)上有兩個(gè)引腳,名稱為INT0、INT1,也就是P3.2、P3.3這兩個(gè)引腳。在內(nèi)部的TCON中

46、有四位是與外中斷有關(guān)的。IT0:INT0觸發(fā)方式控制位,可由軟件進(jìn)和置位和復(fù)位,IT0=0,INT0為低電平觸發(fā)方式,IT0=1,INT0為負(fù)跳變觸發(fā)方式。這兩種方式的差異可暫不考慮。IE0:INT0中斷請(qǐng)求標(biāo)志位。當(dāng)有外部的中斷請(qǐng)求時(shí),這位就會(huì)置1(這由硬件來(lái)完成),在CPU響應(yīng)中斷后,由硬件將IE0清0。IT1、IE1的用途和IT0、IE0相同。(2 內(nèi)部中斷請(qǐng)求源。TF0:定時(shí)器T0的溢出中斷標(biāo)記,當(dāng)T0計(jì)數(shù)產(chǎn)生溢出時(shí),由硬件置位TF0。當(dāng)CPU響應(yīng)中斷后,再由軟件將TF0清0。TF1:與TF0類(lèi)似。TI、RI:串行口發(fā)送、接收中斷。在MCS51中斷系統(tǒng)中,中斷的允許或禁止是由片內(nèi)可進(jìn)行

47、位尋址的8位中斷允許寄存器IE來(lái)控制的。其寄存器內(nèi)容如表9所示。表9 中斷寄存器EAESET1EX1ET0EX03.4 AT指令A(yù)T即Attention,AT指令集是從終端設(shè)備(Terminal Equipment,TE或數(shù)據(jù)終端設(shè)備(Data Terminal Equipment,DTE向終端適配器(Terminal Adapter, TA或數(shù)據(jù)電路終端設(shè)備(Data Circuit Terminal Equipment,DCE發(fā)送的。通過(guò)TA,TE發(fā)送AT指令來(lái)控制移動(dòng)臺(tái)(Mobile Station,MS的功能,與GSM 網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行交互。用戶可以通過(guò)AT指令進(jìn)行呼叫、短信、電話本、數(shù)據(jù)

48、業(yè)務(wù)、傳真等方面的控制。90年代初,AT指令僅被用于Modem操作。沒(méi)有控制移動(dòng)電話文本消息的先例,只開(kāi)發(fā)了一種叫SMS BlockMode的協(xié)議,通過(guò)終端設(shè)備(TE或電腦來(lái)完全控制SMS,幾年后,主要的移動(dòng)電話生產(chǎn)廠商諾基亞、愛(ài)立信、摩托羅拉和HP共同為GSM研制了一整套AT指令,其中就包括對(duì)SMS的控制。AT指令在此基礎(chǔ)上演化并被加入GSM0705標(biāo)準(zhǔn)以及現(xiàn)在的GSM0707標(biāo)準(zhǔn),完全標(biāo)準(zhǔn)化和比較健全的標(biāo)準(zhǔn)。如:對(duì)SMS的控制共有3種實(shí)現(xiàn)途徑:最初的BlockMode;基于AT指令的TextMode;基于AT指令的PDUMode。到現(xiàn)在PDUMode已經(jīng)取代BlockMode,后者逐漸淡出

49、。GSM模塊與計(jì)算機(jī)之間的通信協(xié)議是一些AT指令集,AT指令是以AT作首,字符結(jié)束的字符串,AT指令的響應(yīng)數(shù)據(jù)包在中。每個(gè)指令執(zhí)行成功與否都有相應(yīng)的返回。其他的一些非預(yù)期的信息(如有人撥號(hào)進(jìn)來(lái)、線路無(wú)信號(hào)等,模塊將有對(duì)應(yīng)的一些信息提示,接收端可做相應(yīng)的處理。所有的AT命令都以“AT”,根據(jù)命令形式可以將AT命令分表10所示。表10 AT命令類(lèi) 別形 式含 義 測(cè)試命令A(yù)T+C*=?執(zhí)行該命令將返回該命令所支持的參數(shù)及參數(shù)范圍讀命令A(yù)T+C*?執(zhí)行該命令將返回該命令當(dāng)前的參數(shù)值寫(xiě)命令A(yù)T+C*=<.>執(zhí)行該命令將設(shè)置該命令的參數(shù)值(1 通信過(guò)程中,單片機(jī)與TC35i必須完成握手后,才

50、進(jìn)行數(shù)據(jù)交換,否則通信失敗。(2 單片機(jī)每發(fā)送一條指令,需加回車(chē)符作為指令的結(jié)束符,否則TC35i不識(shí)別。(3 TC35i接受一條完整的AT指令后,TC35i并不立即執(zhí)行這條指令,而是首先把剛才接到的AT指令全部反發(fā)送出來(lái)(含0DH),其次發(fā)送一個(gè)回車(chē)符和換行符,然后執(zhí)行該條指令。常用的AT指令集主要有:AT:測(cè)試連接是否正確。ATE0:關(guān)閉回顯,程序初始化AT部分首先關(guān)閉回顯。ATE1:打開(kāi)回顯,使用超級(jí)終端測(cè)試命令時(shí)打開(kāi)。AT+CGMI:得到廠商信息。AT+CGMR:得到版本號(hào)。AT+CGSN:得到序列號(hào)(IMEI。AT+CIMI:得到手機(jī)IMSI號(hào)碼。AT+CSCS:獲取、設(shè)置當(dāng)前字符集

51、,可設(shè)置為GSM或UCS2。AT+CBC:獲取電量。AT+CCLK:獲取設(shè)置手機(jī)時(shí)鐘。AT+CNUM:機(jī)身號(hào)碼,分為線路一和線路二。AT+CSQ:當(dāng)前信號(hào)。AT+COPS:網(wǎng)絡(luò)營(yíng)運(yùn)商。AT+CSCA:短信中心號(hào)碼。AT+CPMS:選擇短信儲(chǔ)存地點(diǎn),可選擇ME(SIM卡)和MT(機(jī)身)。AT+CMGL:列出指定狀態(tài)的短信息的PDU代碼。AT+CMGR:列出指定序號(hào)的短信息PDU代碼。AT+CMGS:發(fā)送短信。AT+CMGD:刪除指定的短信。AT+CMGF:短信格式。分為T(mén)ext模式和PDU模式。AT+CNMI:設(shè)置新短消息通知電腦端。AT+CSCA:短信中心。AT+IPR:顯示串口波特率。AT+

52、IPR=19200:更改串口波特率為19200。AT&W:保存設(shè)置本次設(shè)計(jì)主要用到的AT指令有AT+CMGS即發(fā)送短信指令、AT+CSCA即設(shè)置短信服務(wù)中心地址和AT+CMGF 選擇短信格式指令。3.5 溫度采集溫度采集部分主要是采用DS18B20溫度傳感器通過(guò)連接到單片機(jī)的P37口來(lái)讀取溫度,其主要的流程圖如圖8所示。圖8 檢測(cè)溫度流程圖3.6 GSM模塊發(fā)送信息在單片機(jī)檢測(cè)到溫度的時(shí)候,通過(guò)一定的條件將檢測(cè)的溫度發(fā)送到目標(biāo)手機(jī)中,其中單片機(jī)與GSM模塊是通過(guò)串口來(lái)進(jìn)行通信的,本次設(shè)計(jì)主要用的是max232串口通信。其流程如圖9所示。圖9 發(fā)送信息流程圖3.7 程序編譯文檔的創(chuàng)建本系

53、統(tǒng)軟件設(shè)計(jì)語(yǔ)言采用C語(yǔ)言,因此在本系統(tǒng)的語(yǔ)言設(shè)計(jì)中,采用了KEIL C51匯編編程工具來(lái)進(jìn)行程序的開(kāi)發(fā),調(diào)試和軟件仿真。美國(guó)Keil Software公司開(kāi)發(fā)的Keil C51是MCS-51單片機(jī)系統(tǒng)的軟件編譯開(kāi)發(fā)軟件,它是一款能夠兼容C語(yǔ)言和匯編語(yǔ)言的開(kāi)發(fā)平臺(tái)。通俗易學(xué),為編寫(xiě)程序提供了良好的便利。Keil C51軟件基于Windows平臺(tái),提供豐富的編程語(yǔ)言選擇和強(qiáng)大的集成開(kāi)發(fā)調(diào)試環(huán)境。且使用Keil C51進(jìn)行軟件開(kāi)發(fā)時(shí),生成語(yǔ)句快,代碼緊湊,簡(jiǎn)單易懂。在實(shí)際中,可方便的應(yīng)用于大型軟件系統(tǒng)的開(kāi)發(fā)中,是電子信息、計(jì)算機(jī)軟件開(kāi)發(fā)人員進(jìn)行軟件開(kāi)發(fā)時(shí)很好的工具。(1 在D盤(pán)創(chuàng)建一個(gè)文件夾,命名為

54、“message” 。(2 打開(kāi)KEIL C51,點(diǎn)擊PROJECT-NEW PROJECT,創(chuàng)建一個(gè)新的工程,在彈出的對(duì)話框中,保存選擇“message”文件夾,文件名命名為“message”。(3 點(diǎn)擊保存,在彈出的的“ select device for targettarget1”對(duì)話框的DATA BASE中選擇“Atmel”“AT89C52”,點(diǎn)確定。(4 點(diǎn)擊“new file”創(chuàng)建一個(gè)新文件,在文件空白處編寫(xiě)程序。(5 點(diǎn)擊“保存” ,在彈出的“save as”對(duì)話框里文件名寫(xiě)“message.C”。(6 點(diǎn)擊“保存” ,在左邊的“project workspace”欄里,右擊“

55、source group 1”,在彈出的對(duì)話框里選擇“add files to groupsource group 1”,在文件類(lèi)型中選“All files”,文件名選擇“message.C”,然后點(diǎn)“add”。(7 點(diǎn)擊PROJECT-BUILD TARGET,完成控制工程文件的建立。(8 軟件調(diào)試。KEIL在成功編譯/匯編、連接后,再選擇菜單Debug-Start/Stop Debug Session(或按Ctrl+F5鍵)進(jìn)入程序調(diào)試狀態(tài)。以上是對(duì)KEIL軟件使用和調(diào)試方面進(jìn)行了詳細(xì)的闡述,通過(guò)以上論述,本系統(tǒng)的軟件設(shè)計(jì)部分介紹完畢。4 結(jié) 論為期三個(gè)多月的畢業(yè)設(shè)計(jì)即將結(jié)束了,在這三個(gè)月

56、里在同學(xué)和老師的幫助下完成了基于單片機(jī)與GSM模塊無(wú)線測(cè)溫傳輸系統(tǒng) 。畢業(yè)設(shè)計(jì)作為綜合性的設(shè)計(jì),它不同于以前教學(xué)中的實(shí)驗(yàn)、課程設(shè)計(jì)等實(shí)踐環(huán)節(jié)。以前的所做的一些設(shè)計(jì)主要是根據(jù)相關(guān)的課本及老師所給資料去完成的,有一定的參照性,所以相對(duì)而言比較簡(jiǎn)單,不能完全達(dá)到鍛煉自己動(dòng)手能力的目的。而畢業(yè)設(shè)計(jì)則是對(duì)大學(xué)四年所學(xué)知識(shí)的一個(gè)綜合的訓(xùn)練及考核,是對(duì)所學(xué)知識(shí)的應(yīng)用能力和大學(xué)所學(xué)理論知識(shí)對(duì)實(shí)踐技能相結(jié)合的全面的檢驗(yàn)。并對(duì)如何根據(jù)要做的課題對(duì)現(xiàn)有的資料進(jìn)行理解和運(yùn)用的能力的考核。真正做到了理論聯(lián)系實(shí)際,把以前所學(xué)的知識(shí)綜合貫通進(jìn)行實(shí)踐,并在實(shí)踐中不斷學(xué)習(xí)和完善。從剛確定畢業(yè)設(shè)計(jì)課題以來(lái),首先是查找一些相關(guān)的書(shū)籍及資料,然后分析設(shè)計(jì),并根據(jù)實(shí)際情況擬定設(shè)計(jì)方案,從而達(dá)到優(yōu)化方案。在研

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論