2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計報告</b></p><p>  課 程 名 稱: 單片機課程設(shè)計 </p><p>  題 目:基于GSM的智能家居系統(tǒng)設(shè)計與實現(xiàn)</p><p>  專 業(yè) 班 級: </p><

2、;p>  學(xué) 生 姓 名: </p><p>  學(xué) 生 學(xué) 號: </p><p>  日 期: 2011年6月 </p><p>  指 導(dǎo) 教 師:

3、 </p><p>  指導(dǎo)教師簽字: </p><p>  年 月 日</p><p><b>  目 錄</b></p><p>  摘 要 ……………………………………………………………………………………… II</p>

4、<p>  Abstract …………………………………………………………………………………... II</p><p>  1 引言…………………….……..………………………………………………………... 1</p><p>  2 系統(tǒng)工作原理及主要功能 ………………………………………..……………..…….1</p><p>  2.1 系統(tǒng)工

5、作原理 …………………………………………..…………………………..…2 </p><p>  3 主要功能模塊…………………………………………………………..………………..3</p><p>  3.1 單片機控制模塊 ………………………………………..…………………………...…4 </p><p>  3.2 GSM模塊 …………………………………………

6、……..…………………………....…5 </p><p>  3.3 傳感器模塊 ……………………………………………..…………………………...…6 </p><p>  3.2 液晶顯示模塊 …………………………………………..…………………………...…7 </p><p>  4 硬件接口電路設(shè)計…………………………………………..…….……………..

7、...… 7</p><p>  4.1 單片機與GSM模塊的連接……………………….………………………………..….…7</p><p>  4.2 電器控制電路……………………………………………..………………………….....7 </p><p>  5系統(tǒng)軟件設(shè)計…..……………………………………………..…………………………......8</p&

8、gt;<p>  5.1 AT模式選擇及AT指令…………………………………..………………………….….8 </p><p>  5.2 系統(tǒng)軟件的設(shè)計………………………………………..………………………….…....8 </p><p>  6結(jié)論…..…………………………….…………………………..………………………….…9</p><p> 

9、 參考文獻 …….………………..………………………………..………………………….….9 </p><p>  附錄1 主要程序代碼 ……...………………………………..………………………….…10 </p><p>  附錄2 TC35模塊電路 ……..………………………………..………………………….…27</p><p><b>  摘 要

10、</b></p><p>  摘要:介紹了一種基于GSM網(wǎng)絡(luò)的智能家居控制系統(tǒng)的工作原理及主要功能。采用 STC單片機為系統(tǒng)控制核心,對家庭中可能出現(xiàn)的意外情況用各種傳感器進行采集,利用GSM模塊的短信收發(fā)功能,實現(xiàn)遠程安防及家電控制。實踐證明本系統(tǒng)性能可靠,成本低,可廣泛應(yīng)用于現(xiàn)代住宅中。</p><p>  關(guān)鍵詞(小4號 黑體 頂格):智能家居;GSM模塊;傳感器;遠程控

11、制</p><p><b>  Abstract</b></p><p>  Abstract:Describes a network based on GSMof Smart Home Control system works and the major functions.Using the STC microcontroller for system contr

12、ol by the core, with the family situation that may arise unexpectedly collected by various sensors,</p><p>  make use of the send and receive SMS function of the GSM module, remote security and appliance con

13、trol. Practice has proved that the systemis reliable, low cost, can be widely used inmodern houses.</p><p>  Keywords:smart home; GSMmodule; sensor; remote control</p><p><b>  1 引言</b&g

14、t;</p><p>  隨著經(jīng)濟的快速增長,快節(jié)奏的生活狀態(tài)使得人們越來越注重生活的質(zhì)量和品位。如何建立一個高效率、低成本的智能家居系統(tǒng)已成為當(dāng)今世界的一個熱點問題。目前,國內(nèi)外各種類型的智能家居產(chǎn)品越來越多,其中大部分是基于電話網(wǎng)的安防控制系統(tǒng)。但在我國,家庭電話用戶正逐步減少,且電話線路易被破壞,故此類產(chǎn)品有一定局限性。隨著電信 GSM 網(wǎng)絡(luò)覆蓋范圍的廣闊化、無縫化、以及手機的日益普及為基于 GSM 網(wǎng)絡(luò)的

15、智能家居系統(tǒng)提供了巨大的應(yīng)用空間[1]。</p><p>  本文所介紹的基于 GSM網(wǎng)絡(luò)的智能家居系統(tǒng)采用 GSM 模塊進行短信息收發(fā),以單片機為控制核心,進行信息反饋和遠程控制,實現(xiàn)了遠程報警、遠程遙控等功能。</p><p>  2 系統(tǒng)工作原理及主要功能</p><p>  2.1 系統(tǒng)工作原理</p><p>  圖 1 為智能家居

16、系統(tǒng)的工作原理圖[2]。系統(tǒng)在正常工作時處于低功耗監(jiān)控狀態(tài),一旦發(fā)生警情即各類傳感器檢測到異常信號(如盜竊、火警、煤氣等)時,單片機通過從不同引腳接收到的信號同預(yù)先存儲在ROM中的信息進行對比,判斷出異常情況的類型,然后將報警信號由串口傳送給GSM模塊,最后將報警短信發(fā)送給用戶,幾秒鐘后,用戶的手機上就可以接收到報警短信,提醒用戶采取措施。另外用戶可通過發(fā)送短信,由GSM模塊接收,經(jīng)單片機解碼后,驅(qū)動系統(tǒng)中的電器控制電路去控制相應(yīng)的家電

17、,從而實現(xiàn)遠程控制電器工作的目的[3]。</p><p><b>  系統(tǒng)的主要功能:</b></p><p>  (1)自動報警功能:當(dāng)用戶住宅出現(xiàn)異常情況時,系統(tǒng)會自動發(fā)送報警短信給預(yù)先設(shè)定手機號碼的用戶,直至用戶回復(fù)為止。</p><p>  (2)家電控制功能:接收用戶發(fā)送來的控制命令,實現(xiàn)短信的譯碼功能,并由單片機根據(jù)相應(yīng)的譯碼來實現(xiàn)

18、不同家電工作及停止功能。</p><p>  圖1 系統(tǒng)設(shè)計原理圖</p><p><b>  3主要功能模塊</b></p><p>  3.1單片機控制模塊</p><p>  系統(tǒng)的控制器選用 STC89C52RD+單片機,8位STC89C52RD+單片機是STC公司生產(chǎn)的一款51單片機,具有運行穩(wěn)定、價格便宜等特

19、點。其支持的最高時鐘為40MHz,內(nèi)部包括8 kB的Flash程序存儲器ROM 、256B的數(shù)據(jù)存儲器RAM,具有 ISP 在線編程功能,大大減少了開發(fā)復(fù)雜度,同時可節(jié)省購買編程器的額外投入。圖2為單片機控制模塊電路圖。</p><p>  圖2 單片機控制模塊</p><p><b>  3.2 GSM模塊</b></p><p>  本系統(tǒng)

20、設(shè)計使用的GSM模塊是 Siemens 公司的TC35I。TC35I是Siemens公司推出的新一代無線通訊模塊,可以快速安全地實現(xiàn)數(shù)據(jù)、語音的傳輸、短信息服務(wù)(SMS)和傳真等功能,可以工作在GSM 900 kHz和1 800 kHz兩個頻段,RS232數(shù)據(jù)口符合ETSI 標(biāo)準(zhǔn)GSM0707和GSM0705。通過獨特的40引腳的ZIF連接器,實現(xiàn)電源連接、指令、數(shù)據(jù)、語音信號及控制信號的雙向傳輸;通過ZIF連接器及50Ω天線連接器,可

21、分別連接SIM卡支架和天線。該模塊向用戶提供標(biāo)準(zhǔn)的AT命令接口,為數(shù)據(jù)、語音、短消息和傳真提供快速、可靠、安全的傳輸,方便用戶的應(yīng)用開發(fā)及設(shè)計。TC35I模塊主要由 GSM基帶處理器、GSM射頻模塊、供電模塊(ASIC)、閃存、ZIF連接器、天線接口六個部分組成[4]。TC35I 構(gòu)成框圖如圖 3 所示。</p><p>  圖3 TC35I 構(gòu)成框圖</p><p><b>

22、  3.3 傳感器模塊</b></p><p>  本系統(tǒng)傳感器模塊由一組功能不同的傳感器構(gòu)成,用于各種異常情況監(jiān)測。</p><p>  防盜竊使用紅外線反射型傳感器,將紅外線反射型傳感器安裝在通道的位置或門窗的兩側(cè),當(dāng)有人進入時紅外線反射型傳感器就會檢測出來,檢測信號通過轉(zhuǎn)換電路轉(zhuǎn)換成低電平,然后送去給單片機,單片機對應(yīng)引腳檢測到送來低電平后就會啟動防盜報警系統(tǒng)工作。<

23、;/p><p>  防火使用離子式煙霧傳感(SS-668),通過監(jiān)測煙霧的濃度來實現(xiàn)火災(zāi)防范。煙霧報警器內(nèi)部采用離子式煙霧傳感,當(dāng)一定量煙霧進入煙霧傳感器的反應(yīng)腔,引起電路電平變化。離子式煙霧傳感器是一種技術(shù)先進,工作穩(wěn)定可靠的傳感器,為火災(zāi)預(yù)防和早期發(fā)現(xiàn)提供幫助。</p><p>  燃?xì)鈧鞲衅魇褂媒饘傺趸锇雽?dǎo)體傳感器(或稱MOS)。MOS也可以用來檢測毒性水平。它由一個金屬氧化物半導(dǎo)體的

24、傳感器件(如氧化物SnO2)構(gòu)成。在新鮮空氣條件下,它的電導(dǎo)較小,而一旦接觸還原性氣體或者易燃易爆氣體,電導(dǎo)會增加引發(fā)檢測電路電平跳變從而啟動報警系統(tǒng)工作。</p><p>  注:由于時間所限,本系統(tǒng)中,除紅外報警電路外,煙霧傳感器報警電路和煤氣傳感器報警電路均采用按鍵模擬的方法實現(xiàn)。紅外報警電路如圖4。</p><p><b>  圖4 紅外報警電路</b><

25、;/p><p>  3.4 1602液晶顯示模塊</p><p>  1602液晶顯示模塊主要用于顯示當(dāng)前系統(tǒng)的工作狀態(tài)。模塊電路圖如圖5。</p><p>  圖5 1602液晶顯示模塊</p><p>  4 硬件接口電路設(shè)計</p><p>  本系統(tǒng)硬件接口電路主要由單片機與GSM模塊的接口電路和電器控制電路構(gòu)成。

26、</p><p>  4.1 單片機與GSM模塊的硬件連接</p><p>  單片機與TC35I的連接圖如圖6所示,TC35I的數(shù)據(jù)接口采用串行異步收發(fā),符合ITU-TRS-232接口電路標(biāo)準(zhǔn),工作在CMOS電平(2.65V)。數(shù)據(jù)接口配置為8位數(shù)據(jù)位、1位停止位、無校驗位,可以在300—115*103bps的波特率下運行。由于數(shù)據(jù)通信電路中TC35I數(shù)據(jù)接口工作在CMOS電平,而STC

27、單片機工作在TTL電平,工作電壓范圍一般比TC35I寬,故應(yīng)在單片機和TC35I之間加電平轉(zhuǎn)換電路。本設(shè)計使用TI公司的MAX232芯片為核心,實現(xiàn)電平轉(zhuǎn)換及串口通信功能。</p><p>  圖6 單片機與TC35I的連接圖</p><p>  4.2 電器控制電路</p><p>  圖7為系統(tǒng)的電器控制電路,它是通過單片機由弱電控制繼電器的開/關(guān),從而實現(xiàn)控制

28、強電的接通/斷開,P_JDQ3、P_JDQ4處可接不同的電器,控制系統(tǒng)可以根據(jù) GSM模塊收到的不同短信息控制命令,由單片機做相應(yīng)的譯碼,然后再由單片機控制不同家電工作或停止運行。</p><p><b>  圖7 電器控制電路</b></p><p><b>  5 系統(tǒng)軟件設(shè)計</b></p><p>  5.1 AT

29、模式選擇及AT指令</p><p>  對TC35I的操作均采用AT指令,它包含了GSM語音和短信息的控制。根據(jù)AT指令的GSM07.05標(biāo)準(zhǔn),發(fā)送和接收中文或中/英文混合的短信息必須采用PDU模式,Text 模式只支持傳送英文及數(shù)字信息。PDU模式的編解碼過程復(fù)雜,本系統(tǒng)使用Text模式就可以滿足系統(tǒng)功能需求,故選擇Text模式作為系統(tǒng)的通訊模式。</p><p>  模塊的通訊全部采用

30、AT+XXXX完成。發(fā)送短消息的基本命令如下:</p><p>  (1)設(shè)置短消息發(fā)送格式(0-PDU,1-文本)</p><p>  AT+CMGF=1;</p><p>  (2)發(fā)送短消息(短消息內(nèi)容為 test )</p><p>  AT+CMGS="13753485896"(目的地址)</p>

31、<p>  >test^z ^z 表示 ctrl+z;</p><p>  (3)列出所有的短消息 AT+CMGL= “ALL”;</p><p>  4)讀取短信息內(nèi)容(Once more),假設(shè)INDEX 6,AT+CMGR=6。</p><p>  5.2 系統(tǒng)軟件的設(shè)計</p><p>  系統(tǒng)的軟件設(shè)計采用C語言編寫

32、,系統(tǒng)安防主程序及中斷程序流程圖如圖5所示。系統(tǒng)首先對單片機的串口、中斷和TC35I短信模塊初始化,STC單片機不斷監(jiān)測有沒有新短信來,當(dāng)檢測到有新短信來時,則置相應(yīng)的指示燈亮并讀取短信,根據(jù)短信中的指令打開相應(yīng)的繼電器。同時,當(dāng)外部報警電路有信號時,進入系統(tǒng)外部中斷,通過中斷處理子程序完成對相應(yīng)防盜、防火、防煤氣泄漏等事件的短信息發(fā)送。利用STC單片機通過UART串口向GSM模塊發(fā)送一系列AT指令,就能實現(xiàn)基于GSM的短信息的收發(fā)、查

33、尋和管理。</p><p>  圖5 系統(tǒng)安防主程序及中斷程序流程圖</p><p><b>  5 結(jié)論</b></p><p>  本設(shè)計方案借助于GSM網(wǎng)絡(luò)通信技術(shù)和單片機的控制功能,實現(xiàn)了安防監(jiān)控和遠程控制。GSM模塊與控制電路集成在同一線路板上,這樣既節(jié)約了成本,又提高了整個系統(tǒng)通信的穩(wěn)定性,不僅可用于居民住宅,還可以用于倉庫、廠房與

34、花卉大棚等地方的安防監(jiān)控與電路遠程控制等,并具有實現(xiàn)簡單、成本低、適用范圍廣、安全可靠等優(yōu)點,具有廣泛的應(yīng)用前景。</p><p><b>  參考文獻</b></p><p>  [1] 楊利平﹒基于網(wǎng)絡(luò)技術(shù)的遠程智能家居系統(tǒng)[J]﹒儀器儀表學(xué)報,2009 ,25 (4):309-311.</p><p>  [2] 劉松,趙忠,孫學(xué)磊.基于

35、GSM 的遠程家庭智能監(jiān)控系統(tǒng)設(shè)計[J].電子測量技術(shù),2009,32(1):89-91.</p><p>  [3 ] 張俊. SMS 短消息傳輸?shù)倪h端控制技術(shù)及其實現(xiàn)[J ] .儀器儀表學(xué)報,2003 ,24 (4) :610-611.</p><p>  附1 主要程序代碼</p><p>  1、MAIN.C 主程序代碼如下:</p>&l

36、t;p>  #include<reg52.h></p><p>  #include<intrins.h></p><p>  #include"DataType.h"</p><p>  #include"TC35.h"</p><p>  #include"P

37、ublic.h"</p><p>  #include"Lcd1602.h" //頭文件不區(qū)分大小寫</p><p>  #include"eeprom.h"</p><p>  void main(void)</p><p><b>  {</b></p>

38、<p>  uchar num;</p><p>  init_1602(); //1602初始化 并 顯示相關(guān)文字</p><p>  write1602_com(0x80);</p><p>  for(num=0;num<14;num++)</p><p><b>  {<

39、;/b></p><p>  write1602_date(Table1602A[num]);</p><p>  Delay_ms(5);</p><p><b>  }</b></p><p>  write1602_com(0x80+0x40);</p><p>  for(num=0

40、;num<14;num++)</p><p><b>  {</b></p><p>  write1602_date(Table1602B[num]);</p><p>  Delay_ms(5);</p><p><b>  }</b></p><p>  Dela

41、y_ms(2);</p><p>  LED1=0; //注冊指示燈 開</p><p>  Start_GSM();//開啟TC35</p><p>  Delay_ms(46000);//延時大約20秒 ,等待模塊聯(lián)網(wǎng)/</p><p>  UART_init();//串口初始

42、化/</p><p>  GSM_INIT();//對tc35模塊進行初始化</p><p>  //Write_Password();</p><p>  Read_Password();</p><p>  LED1=1; //注冊指示燈 開</p><p><

43、;b>  while(1)</b></p><p><b>  {</b></p><p>  receive_ready(); //此函數(shù)的功能是判斷是否有新短信來,如果來的話就置位 receiveready 為1</p><p>  if(receiveready==1)</p><p&g

44、t;<b>  { </b></p><p><b>  LED2=0;</b></p><p>  read_message(); //發(fā)送讀取短信指令</p><p>  receiveready=0;</p><p>  sendready=1; //</p>

45、<p><b>  LED2=1;</b></p><p><b>  }</b></p><p>  Delay_ms(300);</p><p>  message_read(); //判斷短信,準(zhǔn)備是否回復(fù)短信給目標(biāo)號碼</p><p>  if(send==1)&l

46、t;/p><p><b>  { </b></p><p>  Delay_ms(2000);</p><p>  readcommend(); //讀取短信內(nèi)容,做出相應(yīng)操作:開關(guān)繼電器等</p><p>  sendmessage(); //發(fā)送回復(fù)短信指令 其中 包含提取對方手機號操作</p>

47、<p>  Delay_ms(1000);</p><p>  delete_message(); //刪除讀短信指令</p><p><b>  flag=0;</b></p><p>  for(Rx=0;Rx<RxIn;Rx++) //每一次操作完成后對接收數(shù)組清零//</p><p&

48、gt;<b>  {</b></p><p>  SystemBuf[Rx]=0x00; </p><p><b>  }</b></p><p><b>  Rx=0; </b></p><p><b>  send=0;</b></p>

49、;<p><b>  }</b></p><p>  if(BaoJing==1)</p><p><b>  {</b></p><p>  sendBaoJing();</p><p>  BaoJing=0;</p><p>  Delay_ms(6000

50、);</p><p><b>  LED4=1;</b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  }</b></p><p>  /**************

51、****************************************************************************************************/</p><p>  ////////////////////////////////////////////////////////////////////////////////////////////////

52、//////////////////</p><p>  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p><p>  ///////////////////函數(shù)void receive(void

53、) interrupt 4 using 1;實現(xiàn)功能:通過串口接收數(shù)據(jù)///////////////////////////////</p><p>  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p><

54、p>  /******************************************************************************************************************/</p><p>  void receive(void) interrupt 4 </p><p><b>  {</b>

55、</p><p><b>  if(RI)</b></p><p><b>  {</b></p><p>  if(Rx<RxIn)</p><p><b>  {</b></p><p>  SystemBuf[Rx]=SBUF;</p&

56、gt;<p><b>  Rx++;</b></p><p><b>  }</b></p><p><b>  RI=0;</b></p><p><b>  }</b></p><p><b>  } </b><

57、;/p><p>  /******************************************************************************************************</p><p>  ////////////////////////////////////void int0(void) interrupt 0 :實現(xiàn)功能: 實現(xiàn)緊

58、急短信報警</p><p>  ********************************************************************************************************/</p><p>  void int0(void) interrupt 0 </p><p><b>  

59、{</b></p><p>  BaoJing=1;</p><p><b>  LED4=0;</b></p><p><b>  }</b></p><p>  /************************************************************

60、**************************</p><p>  ////////////////////////////</p><p>  ***************************************************************************************/</p><p><b>  

61、TC35.C </b></p><p>  #include<reg52.h></p><p>  #include<intrins.h></p><p>  #include"datatype.h"</p><p>  #include"public.h"</

62、p><p>  #include"tc35.h"</p><p>  #include"eeprom.h"</p><p>  uchar code AT[]="AT";//握手信號</p><p>  uchar code ATE[]="ATE";

63、//關(guān)回顯</p><p>  uchar code AT_CNMI[]="AT+CNMI=2,1";//設(shè)置這組參數(shù)來了新信息直接顯示到串口,不作存儲</p><p>  uchar code AT_CSCA[]="AT+CSCA=\"+8613800516500\"";//設(shè)置服務(wù)中心號碼 徐州移

64、動 +8613800516500 徐州聯(lián)通 +8613010350500 </p><p>  uchar code AT_CMGF[]="AT+CMGF=1";//設(shè)置短信的格式為text格式</p><p>  uchar code AT_CMGR[]="AT+CMGR=";//讀取短信指令</p><p

65、>  uchar code AT_CMGS[]="AT+CMGS=";//發(fā)送短信指令</p><p>  uchar code AT_CMGD[]="AT+CMGD=";//刪除短信指令</p><p>  uchar code successfully[]="Operate Successfully!"

66、;;//發(fā)送操作成功信息到目標(biāo)號碼</p><p>  uchar code fail[]="Operate failed,try again!";//發(fā)送操作失敗信息到目標(biāo)號碼</p><p>  uchar code danger[]="Danger!!!"; //發(fā)送警報信息 提示有人闖入、煤氣泄漏、失

67、火的信息</p><p>  uchar code MyTel[]="+8615152810108"; //我的手機號碼</p><p>  uchar AT_delete[12];</p><p>  uchar AT_Read[12];//用來存儲發(fā)送讀取短信指令 </p><

68、p>  uchar AT_SendNumber[25]; //用來存儲發(fā)送短信號碼指令</p><p>  uchar numberbuf[3]; //用來保存短信條數(shù) </p><p>  uchar idata SystemBuf[RxIn]; //儲存出口接收數(shù)據(jù) </p><p>  uchar Comm

69、andBuf[8];//用來儲存指令 </p><p>  uchar Rx=0;</p><p>  // uchar idata state[17]; //用來存儲IO口狀態(tài) </p><p>  //uint temp;//記錄狀態(tài) </p><p>  //uchar temp

70、1;//用于記錄P0口狀態(tài)</p><p>  //uchar temp2; //用于記錄P2口狀態(tài) </p><p>  //bit check=0;//查詢標(biāo)志位 </p><p>  bit receiveready=0; //接收短信標(biāo)志位</p><p>

71、;  bit sendready=0; //發(fā)送短信準(zhǔn)備標(biāo)志位</p><p>  bit send=0; //發(fā)送短信標(biāo)志位</p><p>  bit flag=0; //指令標(biāo)志位</p><p>  bit BaoJing=0; //報警標(biāo)志位!<

72、;/p><p>  /******************************************************************************************************************/</p><p>  /////////////////////////////////////////////////////////////

73、/////////////////////////////////////////////////////</p><p>  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p><p>  //////

74、////////////////函數(shù)void UART_init;實現(xiàn)功能:對串口進行初始化////////////////////////////////////////////////</p><p>  ///////////////////////////////////////////////////////////////////////////////////////////////////////

75、////////////</p><p>  /******************************************************************************************************************/</p><p>  void UART_init (void)</p><p><

76、b>  {</b></p><p>  TMOD=0x20; //選擇定時器1</p><p>  PCON=0x00;///波特率不加倍</p><p>  SCON=0x50;//串行工作方式1允許串行接收</p><p>  TH1=0xFD;//實驗板上晶振位11.0592MHZ,選擇波特率為9600&l

77、t;/p><p>  TL1=0xFD;//在相應(yīng)計數(shù)器上賦值</p><p>  EA=1;//總中斷開啟</p><p>  EX0=1; //外部中斷0允許位</p><p>  IT0=0; //跳變沿觸發(fā)方式,從高-->低的負(fù)跳變有效</p><p>  ES=1;//串行中斷

78、開啟</p><p>  TR1=1;//開啟定時器1</p><p><b>  }</b></p><p>  /***************************************************************************************************************

79、***/</p><p>  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p><p>  ////////////////////////////////////////////////////////

80、///////////////////////////////////////////////////////////</p><p>  //////////////////////函數(shù)void sendchar(uchar ch);實現(xiàn)功能:發(fā)送一字節(jié)數(shù)據(jù)////////////////////////////////////////////////</p><p>  ///////

81、////////////////////////////////////////////////////////////////////////////////////////////////////////////</p><p>  /****************************************************************************************

82、**************************/</p><p>  void sendchar(uchar ch)</p><p><b>  {</b></p><p><b>  SBUF=ch;</b></p><p>  while(TI==0);</p><p&

83、gt;<b>  TI=0;</b></p><p><b>  }</b></p><p>  /******************************************************************************************************************/</p>

84、;<p>  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p><p>  /////////////////////////////////////////////////////////////////////

85、//////////////////////////////////////////////</p><p>  //////////////////////函數(shù)void sendstring(uchar *p);實現(xiàn)功能:通過串口發(fā)送字符串/////////////////////////////////////</p><p>  ///////////////////////////

86、////////////////////////////////////////////////////////////////////////////////////////</p><p>  /************************************************************************************************************

87、******/</p><p>  void sendstring(uchar *p)</p><p><b>  {</b></p><p><b>  while(*p)</b></p><p><b>  {</b></p><p>  sendc

88、har(*p);</p><p><b>  p++;</b></p><p><b>  }</b></p><p>  sendchar(0x0D);//? 回車</p><p>  sendchar(0x0A);//? 換行</p><p><b>  }&l

89、t;/b></p><p>  /******************************************************************************************************************/</p><p>  //////////////////////////////////////////////////

90、////////////////////////////////////////////////////////////////</p><p>  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p><p&

91、gt;  //////////////////////函數(shù)void Start_GSM(void);實現(xiàn)功能:對TC35進行啟動,開啟TC35///////////////////////////////////</p><p>  //功能詳述:單片機上的IGT管腳是跟TC35的IGT管腳相連;需要啟動TC35,必須在 15腳(/IGT)加時長至少為100ms的低電平信號,</p><p&g

92、t;  ///且該信號下降沿時間小于1ms。啟動后,15 腳的信號應(yīng)保持高電平.</p><p>  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p><p>  ///////////////////

93、////////////////////////////////////////////////////////////////////////////////////////////////</p><p>  /****************************************************************************************************

94、**************/</p><p>  void Start_GSM(void)</p><p><b>  {</b></p><p><b>  IGT=0;</b></p><p>  Delay_ms(1000);</p><p><b>  I

95、GT=1;</b></p><p>  Delay_ms(1000);</p><p><b>  }</b></p><p>  /****************************************************************************************************

96、**************/</p><p>  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p><p>  /////////////////////////////////////////////

97、/////////////////////////////////////////////////////////////////////////</p><p>  ///////////////////函數(shù)void GSM_INIT(void);實現(xiàn)功能:初始化TC35模塊///////////////////////////////</p><p>  ///////////////

98、////////////////////////////////////////////////////////////////////////////////////////////////////</p><p>  /************************************************************************************************

99、******************/</p><p>  void GSM_INIT(void)</p><p><b>  { </b></p><p><b>  LOOP:</b></p><p>  Delay_ms(1000);</p><p>  sendstr

100、ing(AT);</p><p>  Delay_ms(1000);</p><p>  sendstring(ATE);</p><p>  Delay_ms(1000);</p><p>  sendstring(AT_CNMI);</p><p>  Delay_ms(1000);</p><

101、p>  sendstring(AT_CSCA); </p><p>  Delay_ms(1000);</p><p>  for(Rx=0;Rx<RxIn;Rx++)</p><p><b>  {</b></p><p>  SystemBuf[Rx]=0x00; </p><p&

102、gt;<b>  }</b></p><p><b>  Rx=0; </b></p><p>  sendstring(AT_CMGF);</p><p>  Delay_ms(1000);</p><p>  if((SystemBuf[2]=='O')&&(Sy

103、stemBuf[3]=='K')) //判斷是否模塊初始化成功,成功的話模塊會回復(fù)"OK"給單片機</p><p>  { // beep=1; //如果單片機沒有收到OK,就繼續(xù)發(fā)送初始化指令/ </p><p>  for(Rx=0;Rx<RxIn;Rx++)<

104、/p><p><b>  {</b></p><p>  SystemBuf[Rx]=0x00; </p><p><b>  }</b></p><p><b>  Rx=0; </b></p><p><b>  }</b>&l

105、t;/p><p><b>  else</b></p><p>  { //beep=0; </p><p>  for(Rx=0;Rx<RxIn;Rx++)</p><p><b>  {</b></p><p>  SystemBuf[Rx]=

106、0x00; </p><p><b>  }</b></p><p><b>  Rx=0; </b></p><p>  goto LOOP; </p><p><b>  }</b></p><p><b>  }&

107、lt;/b></p><p>  /******************************************************************************************************************/</p><p>  /////////////////////////////////////////////////

108、/////////////////////////////////////////////////////////////////</p><p>  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>&l

109、t;p>  ///////////////////函數(shù)void receive_ready(void);實現(xiàn)功能:接收短信準(zhǔn)備///////////////////////////////</p><p>  ////////////////////////////////////////////////////////////////////////////////////////////////////

110、///////////////</p><p>  /******************************************************************************************************************/ </p><p>  void receive_ready(void)</p><p&

111、gt;<b>  {</b></p><p><b>  uchar i;</b></p><p>  if((SystemBuf[5]==0x54)&&SystemBuf[6]==0x49) //如果有新短信(TI)來,模塊會通過串口向單片機發(fā)送字符串,</p><p>  {

112、 //此函數(shù)的功能是判斷是否有新短信來,如果來的話就置位準(zhǔn)備接受位標(biāo)志為1</p><p>  receiveready=1; //如果不是新短信的指令,就舍棄,并將接收數(shù)組清零/</p><p><b>  }</b></p><p><b>  else</b></p><p&

113、gt;<b>  { </b></p><p>  for(i=0;i<Rx;i++)</p><p><b>  {</b></p><p>  SystemBuf[i]=0x00; </p><p><b>  }</b></p><p>

114、<b>  Rx=0; </b></p><p><b>  } </b></p><p><b>  }</b></p><p>  /**********************************************************************************

115、********************************/</p><p>  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p><p>  ///////////////////////////

116、///////////////////////////////////////////////////////////////////////////////////////////</p><p>  ///////////////////函數(shù) void message_read(void);實現(xiàn)功能:判斷短信,準(zhǔn)備是否回復(fù)短信給目標(biāo)號碼//////////////////////////</p>

117、<p>  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p><p>  /*********************************************************************

118、*********************************************/ </p><p>  void message_read(void)</p><p><b>  {</b></p><p>  if((sendready==1)&&(SystemBuf[5]==0x47)&&(Sys

119、temBuf[6]==0x52)) //GR</p><p><b>  send=1;</b></p><p><b>  }</b></p><p>  /*********************************************************************************

120、*********************************/</p><p>  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p><p>  //////////////////////////

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論