GSM家電控制系統(tǒng)的設(shè)計說明_第1頁
GSM家電控制系統(tǒng)的設(shè)計說明_第2頁
GSM家電控制系統(tǒng)的設(shè)計說明_第3頁
GSM家電控制系統(tǒng)的設(shè)計說明_第4頁
GSM家電控制系統(tǒng)的設(shè)計說明_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 . GSM家電控制系統(tǒng)的設(shè)計(梁偉源)摘要GSM 網(wǎng)絡(luò)技術(shù)的遠程設(shè)備監(jiān)控系統(tǒng)中,數(shù)據(jù)的可靠傳輸是一個關(guān)鍵問題。設(shè)計了利用GSM網(wǎng)絡(luò)進行遠程數(shù)據(jù)傳輸?shù)募夹g(shù)方案,給出了硬件結(jié)構(gòu)和軟件組成。數(shù)據(jù)由以AT89S52單片機為核心的數(shù)據(jù)采集終端采集,通過向GSM模塊發(fā)送指令完成數(shù)據(jù)信息的傳輸。通過軟硬件設(shè)計和調(diào)試實驗,數(shù)據(jù)傳輸可靠,運行狀態(tài)穩(wěn)定,可應(yīng)用于數(shù)量多、覆蓋面廣的設(shè)備遠程實時監(jiān)控系統(tǒng)中,具有廣闊的應(yīng)用前景。GSM模塊,配合AT89S52單片機,還有繼電器,那么就可以用手機法短信來控制家用電器,比如,日光燈,電視,空調(diào)等。熱釋電人體紅外感應(yīng)器,GSM模塊,以與AT89S52單片機,可以實現(xiàn),當(dāng)有小

2、偷闖入家里,可以通過GSM模塊發(fā)短信或打通知我們。關(guān)鍵詞:GSM模塊;AT89S52;單片機;人體紅外感應(yīng)器;DS18B20;字符液晶1602;紅外接收頭1838The Design of GSM Appliance Control System AbstractRemote devicemonitoring systemoftheGSMnetwork technology,the reliable transmissionofdataisa key issue.UsetheGSM networkfor remotedata transmission, giventhehardwareand

3、software components.Thedatacollectedby themicrocontroller AT89S52as the coredata collection terminals,to completethetransmissionofdatatosendAT commandstotheGSM module.Hardware and software designand debuggingexperiments,thedata transmissionisreliable,stablerunning state,can be applied toanumber,cove

4、ra wide range ofequipment,remotereal-timemonitoring systemhas broad applicationprospects.GSM modulewithAT89S52 microcontroller,aswellasrelay,then youcan usethephonemethodSMStocontrolhousehold appliancessuchasfluorescent lights,TV,air-conditioning.Infraredsensor, GSM module, andthemicrocontroller AT8

5、9S52can be achieved,whenthieves broke into thehome, you cansend text messagesthroughGSM moduleor by telephoneto inform us.Keywords:GSM module; AT89S52 is; microcontroller; Infrared sensor; DS18B20; LCD 1602; infrared receiver 1838 目錄1緒論11.1項目背景11.2項目的主要任務(wù)12簡介22.1硬件的總體方案22.2軟件的總體的設(shè)計方案23硬件設(shè)計53.1A

6、T89S52的功能特性描述53.2GSM 模塊83.318B20溫度傳感器93.41838紅外接收頭113.51602字符液晶顯示器123.6熱釋電人體紅外感應(yīng)模塊144軟件設(shè)計164.1GSM的核心程序164.2字符液晶1602讀寫核心程序194.3溫度傳感器18b20函數(shù)225總結(jié)25致26參考文獻27附錄2840 / 431 緒論1.1 項目背景GSM是移動通訊體制中比較完善、應(yīng)用最廣泛的一種成熟系統(tǒng),在我國GSM(global system for mobile communications)蜂窩數(shù)字移動通信系統(tǒng)已經(jīng)遍布全國各地,覆蓋全國98%以上的城市和廣大農(nóng)村地區(qū)1。隨著GSM 技

7、術(shù)的快速發(fā)展,無線通信技術(shù)為數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)的數(shù)據(jù)傳輸提供了先進的通信手段,極擴大了SCADA系統(tǒng)的應(yīng)用圍,可以說,目前只要移動通信網(wǎng)絡(luò)能覆蓋到的地方,就有SCADA系統(tǒng)的用武之地,它可以應(yīng)用于電力系統(tǒng)、市政公用、石油、化工、水利等領(lǐng)域的數(shù)據(jù)采集與監(jiān)視控制以與過程控制等諸多領(lǐng)域,而且利用無線通信網(wǎng)絡(luò)可以對運行設(shè)備進行實時監(jiān)控,節(jié)約成本,解決了分散數(shù)據(jù)集中處理的問題,且具有覆蓋圍廣、功耗低等優(yōu)點。從而使得單片機微控制器通過互聯(lián)網(wǎng)傳送數(shù)據(jù)就變得非常有意義,GSM模塊與單片機的通信就成為實現(xiàn)無線數(shù)據(jù)采集與傳輸?shù)暮诵募夹g(shù)2。本文研究了AT89SC52 單片機與西門子公司的GSM 模塊的通信,給出

8、了硬件電路設(shè)計和軟件設(shè)計思想,詳細介紹了各模塊的實現(xiàn)過程。隨著人民生活水平的提高和安全防意識的增強, 人們開始關(guān)心自己的生活和工作環(huán)境, 不但要求周邊環(huán)境的舒適化和人性化, 對居住工作環(huán)境的安全化和智能化也提出了更高的要求, 安防系統(tǒng)已經(jīng)成為生活中必不可少組成部分。傳統(tǒng)的安防系統(tǒng)主要依靠網(wǎng)播報警訊信息, 但網(wǎng)易被破壞, 且不適用于偏遠地區(qū)等架設(shè)通信線路困難或不經(jīng)濟的地方。網(wǎng)絡(luò)是基于時分多址技術(shù)和頻分多址技術(shù)的通信網(wǎng)絡(luò)體系, 是我國覆蓋面最廣, 功能最強, 用戶最多的數(shù)字蜂窩移動通信網(wǎng)。通過中國移動公司建成的無縫覆蓋全國的網(wǎng), 運用短信技術(shù)傳送警訊信息, 具有安全可靠, 安裝方便等優(yōu)點3。1.2

9、 項目的主要任務(wù)這次項目的主要容包括以下幾點。首先利用GSM模塊,通過手機發(fā)送短信,從而可以控制日光燈,其次利用GSM模塊以與熱釋電紅外人感應(yīng)器,通過單片機的處理可以實現(xiàn)有人闖入室可以通過短信的方式來通知我們。除了這兩個主要任務(wù)后,還有一些次要的任務(wù),怎樣可以把18b20溫度傳感器通過單片機的處理顯示在字符液晶1602。最后就是怎樣整合程序?qū)崿F(xiàn)所有的功能。這次的設(shè)計任務(wù)較大,而且比較沉重,特別是對于GSM的短信的收發(fā)來說,這是一個瓶頸。2 簡介2.1 硬件的總體方案由于這個設(shè)計用到的模塊不多,就2個模塊,所以整個電路的硬件設(shè)計比較模塊化,簡單化,所以這個設(shè)計突出的是軟件的設(shè)計,硬件是其次.下面

10、是整個設(shè)計中用到的模塊。圖2-1 硬件總體的連接方案圖2-1中 AT 89S52充當(dāng)處理器,而GSM模塊用于收發(fā)短信,通過單片機處理,就可以控制家電.而熱釋電紅外人體感應(yīng)器,就只有3個引腳,其中只有一個為數(shù)據(jù)引腳,當(dāng)模塊感應(yīng)到有人體接近時,就會拉低電平,然后通過單片機的處理,讓GSM模塊發(fā)送指定的短信給指定的手機。2.2 軟件的總體的設(shè)計方案軟件部分一共分了4種情況來編寫程序,而每一種情況基本上都是相對的獨立,和另外的3項沒有影響,所以,當(dāng)自己要實現(xiàn)什么功能的時候,只需要將系統(tǒng)調(diào)試到那種情況下就可以了。而這里運用了2個按鍵實現(xiàn)了4種情況。圖2-2軟件總體設(shè)計方案圖2-2中的軟件設(shè)計方案,可以分

11、為4部分,首先第一部分為紅外的接受,單片機做出處理,從而控制家電,第二部分則是,短信的接受,當(dāng)GSM模塊接受到短信,單片機處理GSM接受到的指令,然后對此做出控制,第三部分則是,當(dāng)熱釋電人體紅外感應(yīng)器感受到人體時,它會自動的拉低電平,然而通過AT89S52單片機做出處理,最后就可以通過GSM模塊發(fā)送短信了.第四部分是,通過溫度傳感器18B20獲取溫度信息,然后通過單片機的處理,最終在字符液晶1602上顯示。四個部分都是相互獨立的應(yīng)用,每個應(yīng)用都是相互獨立的,當(dāng)選擇了自己需要的部分,則該部分的程序就可以循環(huán)的進行。3 硬件設(shè)計硬件上由于模塊比較多,所以電路也模塊多,但不復(fù)雜,都是一些的基本的連接

12、,本設(shè)計重點并非硬件上面的設(shè)計,應(yīng)為硬件上的設(shè)計比較簡單,而且很多都已經(jīng)模塊化了,如GSM模塊,熱釋電紅外人體感應(yīng)器等。其他的就是一些小零件如DS18B20溫度傳感器,紅外接受頭1838,字符液晶顯示器1602,還有幾個PNP三級管充當(dāng)開關(guān)作用。硬件最重要的莫過于AT89S52單片機吧,他的最小電路是硬件電路的核心部分,假如這部分不能運作,那么整個硬件電路也就無法運作了。所有的硬件模塊都會給出模塊的引腳圖,以與模塊的引腳接入圖。這樣做的目的是為了更好,更直觀的了解這個設(shè)計。3.1 AT89S52的功能特性描述AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flas

13、h 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片晶振與時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CP

14、U停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。下面是它的一些優(yōu)勢與MCS-51單片機產(chǎn)品兼容、8K字節(jié)在系統(tǒng)可編程Flash存儲器、1000次擦寫周期、全靜態(tài)操作:0Hz33Hz、三級加密程序存儲器、32個可編程I/O口線、三個16位定時器/計數(shù)器、八個中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器、雙數(shù)據(jù)指針、掉電標(biāo)識符。圖3-1AT89S52引腳示意圖如圖3-1所示,單片機一共為40個引腳,最明顯的是有4組每組8個引腳的引腳。圖3-2AT89S

15、52最小系統(tǒng)示意圖圖3-2是51系列單片機的最小系統(tǒng),只需要在18以與19引腳上接一個12M晶振,然后在晶振后面各接一個30pf電容與地連接,從而形成單片機的振蕩電路。3.2 GSM 模塊TC35的控制簡介TC35是西門子公司推出的無線通信GSM模塊。自帶RS232通訊接口,可以方便地與PC機、單片機連機通訊??梢钥焖?、安全、可靠地實現(xiàn)系統(tǒng)方案中的數(shù)據(jù)、語音傳輸、短消息服務(wù)(Short Message Service)和 。TC35模塊的工作電壓為3.35.5V,可以工作在900MHz和1800MHz兩個頻段,所在頻段功耗分別為2w(900M)和1w(1800M)。模塊有AT命令集接口,支持文

16、本和PDU模式的短消息、第三組的二類 、以與2.4k,4.8k,9.6k的非透明模式。此外,該模塊還具有簿功能、多方通話,漫游檢測功能,常用工作模式有省電模式、IDLE、TALK等模式。通過獨特的40引腳的ZIF連接器,實現(xiàn)電源連接、指令、數(shù)據(jù)、語音信號、與控制信號的雙向傳輸。通過ZIF連接器與50天線連接器,可分別連接SIM卡支架和天線。TC35模塊主要由GSM基帶處理器、GSM射頻模塊、供電模塊(ASIC)、閃存、ZIF連接器、天線接口六部分組成。作為TC35的核心,基帶處理器主要處理GSM終端的語音、數(shù)據(jù)信號,并涵蓋了蜂窩射頻設(shè)備中的所有的模擬和數(shù)字功能。在不需要額外硬件電路的前提下,可

17、支持FR、HR和EFR語音信道編碼。圖3-3GSM模塊示意圖圖3-3為GSM模塊的示意圖,從圖中看得出來,模塊除了電源正和地外,就只有兩個傳輸?shù)囊_了分別是TXD,以與RXD。這就是和單片機實現(xiàn)串口通信的兩個端口。特性說明:信息傳送容:語音和數(shù)據(jù);電源:單電源 3.3V 5.5V;頻段:雙頻GSM900MHz 和 DCS1800 MHz(Phase 2+);發(fā)射功率:2W (GSM900MHz Class 4) 1W (DCS1800MHz Class 1);SIM 卡連接方式:外接;天線:由天線連接器連接外部天線;溫度圍、工作溫度:-20°C to +55°C、儲存溫度:

18、-30°C to +85°C;工作電流損耗、通話模式: 300mA (典型值.)、空閑模式: 3.5mA (最大值);省電模式: 100A (最大值);語音解碼標(biāo)準(zhǔn);三種速率: 半速 (ETS 06.20) 、全速(ETS 06.10) 、增強型全速 (ETS 06.50/06.60/06.80);短信息:MT, MO,CB和PDU模式;外型尺寸:54.5 x 36 x 6.7mm;音頻接口:模擬信號(麥克風(fēng),耳麥,免提手柄);通訊接口:RS232(指令和數(shù)據(jù)的雙向傳送);SIM卡操作電壓:3V/1.8V;薄功能:存儲于SIM卡中;模塊復(fù)位:采用AT指令或掉電復(fù)位;串口通訊

19、波特率: 300bps.115kbps;自動波特率圍:4.8kbps.115kbps;軟件下載功能 (improved service and maintenance) :通過RS232或SIM接口;實時時鐘:可實現(xiàn)(時鐘頻率32.768KHz)定時器功能:可用AT命令編程 。由于手機的數(shù)據(jù)傳輸屬于無線傳輸,主要的運營設(shè)備與網(wǎng)絡(luò)支持已由移動、聯(lián)通等大的運營商建設(shè)的很完善,手機信號覆蓋圍廣,在信息傳遞性能方面穩(wěn)定、可靠。因此本設(shè)計采用手機中的GSM模塊為信息傳遞的載體,與單片機結(jié)合起來構(gòu)成遠距離無線防盜監(jiān)控系統(tǒng),可以實現(xiàn)遠程數(shù)據(jù)傳送、遠程監(jiān)控的功能9。3.3 18B20溫度傳感器圖3-4DS18

20、b20引腳示意圖從圖3-4中發(fā)現(xiàn)DS18b20為3個引腳的器件,其中第二個引腳就是最為關(guān)鍵的傳輸引腳。獨特的單線接口僅需一個端口引腳進行通訊。下面是溫度傳感器的一些參數(shù)以與特點。簡單的多點分布應(yīng)用;無需外部器件;可通過數(shù)據(jù)線供電;零待機功耗測溫圍-55+125,以0.5遞增;華氏器件-67+2570F,以0.90F遞增;溫度以9位數(shù)字量讀出溫度數(shù)字量轉(zhuǎn)換時間200ms(典型值);用戶可定義的非易失性溫度報警;設(shè)置報警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報警條件)的器件應(yīng)用包括溫度控制、工業(yè)系統(tǒng)、消費品、溫度計或任何熱感測系統(tǒng)。DS1820數(shù)字溫度計以9位數(shù)字量的形式反映器件的溫度值。DS1

21、820通過一個單線接口發(fā)送或接收信息,因此在中央微處理器和DS1820之間僅需一條連接線(加上地線)。用于讀寫和溫度轉(zhuǎn)換的電源可以從數(shù)據(jù)線本身獲得,無需外部電源。因為每個 DS1820 都有一個獨特的片序列號,所以多只DS1820可以同時連在一根單線總線上,這樣就可以把溫度傳感器放在許多不同的地方。這一特性在HVAC環(huán)境控制、探測建筑物、儀器或機器的溫度以與過程監(jiān)測和控制等方面非常有用。圖3-5DS18b20接入電路示意圖從圖3-5中可以發(fā)現(xiàn)DS18b20溫度傳感器第2個引腳和第3個引腳接個4.7k的電阻就可以直接進行傳輸。如此方便的連接方式,就可以實現(xiàn)溫度數(shù)據(jù)的采集,不過關(guān)于18B20溫度傳

22、感器,最為關(guān)鍵的還是時序的編寫,因為單總線的器件時許的要求嚴格,程序的編寫就會有較大的難度。3.4 1838紅外接收頭、圖3-6 DS18b20引腳示意圖1紅外信號收發(fā)系統(tǒng)的典型電路如圖3-6所示,紅外接收電路通常被廠家集成在一個元件中,成為一體化紅外接收頭。 2部電路包括紅外監(jiān)測二極管,放大器,限副器,帶通濾波器,積分電路,比較器等。紅外監(jiān)測二極管監(jiān)測到紅外信號。3然后把信號送到放大器和限幅器,限幅器把脈沖幅度控制在一定的水平,而不論紅外發(fā)射器和接收器的距離遠近。4信號進入帶通濾波器,帶通濾波器可以通過30khz到60khz的負載波,通過解調(diào)電路和積分電路進入比較器,比較器輸出。5高低電平,

23、還原出發(fā)射端的信號波形。注意輸出的高低電平和發(fā)射端是反相的,這樣的目的是為了提高接收的靈敏度。紅外接收頭的種類很多,引腳定義也不一樣,一般都有三個引腳,包括供電腳,接地和信號輸出腳。根據(jù)發(fā)射端調(diào)制載波的不同應(yīng)選用相應(yīng)解調(diào)頻率的接收頭。紅外接收頭部放大器的增益很大,很容易引起干擾,因此在接收頭的供電腳上須加上濾波電容,一般在22uf以上。有的廠家建議在供電腳和電源之間接入330歐電阻,進一步降低電源干擾。 圖3-71838紅外接收頭接入示意圖1838紅外接收頭接入圖3-7看出,這個器件只需要一個104的電容以與一個100歐的電阻即可完成紅外接受的工作。當(dāng)這紅外接受頭接收到啟始碼的時候就開始工作,

24、直到接受到結(jié)束碼時,結(jié)束工作。3.5 1602字符液晶顯示器圖3-8 1602字符液晶顯示屏引腳示意圖圖3-8 1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線。VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣。1602液晶模塊部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。因為

25、1602識別的是ASCII碼,試驗可以用ASCII碼直接賦值,在單片機編程中還可以用字符型常量或變量賦值,如'A。以下是1602的16進制ASCII碼表: 表3-1 16進制ASCII碼表讀的時候,先讀上面那列,再讀左邊那行,如:感嘆號!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進制)。圖3-91602字符液晶顯示屏接入示意圖圖3-9 1602字符液晶16引腳為背光負極,用PNP來充當(dāng)開關(guān)。而引腳7到14(P0.0到P0.7)是液晶的數(shù)據(jù)位,而引腳1為電源地,而引腳2為電源正。引腳4為數(shù)據(jù)/命令選擇,引腳5為讀寫選擇,引腳6則為信號使能位。3.6 熱釋電人

26、體紅外感應(yīng)模塊圖3-10熱釋電人體紅外感應(yīng)模塊示意圖這個熱釋電人體紅外感應(yīng)模塊也就只有3個引腳如圖3-10,其中的第二個引腳為信號的輸出引腳用于輸出數(shù)據(jù)。熱釋電紅外傳感器是一種能檢測人或動物發(fā)射的紅外線而輸出電信號的傳感器。早在1983年,有人提出過利用熱釋電效應(yīng)探測紅外輻射,但并未受到重視,直到六十年代,隨著激光、紅外技術(shù)的迅速發(fā)展,才又推動了對熱釋電效應(yīng)的研究和對熱釋電晶體的應(yīng)用12。熱釋電晶體已廣泛用于紅外光譜儀、紅外遙感以與熱輻射探測器,它可以作為紅外激光的一種較理想的探測器。它目標(biāo)正在被廣泛的應(yīng)用到各種自動化控制裝置中。除了在我們熟知的樓道自動開關(guān)、防盜報警上得到應(yīng)用外,在更多的領(lǐng)域

27、應(yīng)用前景看好。比如:在房間無人時會自動停機的空調(diào)機、飲水機。電視機能判斷無人觀看或觀眾已經(jīng)睡覺后自動關(guān)機的機構(gòu)。開啟監(jiān)視器或自動門鈴上的應(yīng)用。結(jié)合攝影機或數(shù)碼照相機自動記錄動物或人的活動等.您可以根據(jù)自己的奇思妙想,結(jié)合其它電路開發(fā)出更加優(yōu)秀的新產(chǎn)品或自動化控制裝置。模塊的接入示意圖如下:圖3-11熱釋電人體紅外感應(yīng)模塊接入示意圖這個熱釋電紅外人體感應(yīng)器如圖3-11,接入的方法比較簡單,首先是充當(dāng)電源的兩個引腳分別是電源正和地,還有另外的一個引腳只是負責(zé)輸出,當(dāng)有人接近時,引腳2會自動地拉低.當(dāng)單片機識別到后,做出處理即可。4 軟件設(shè)計軟件設(shè)計對于整個設(shè)計來說,是非常重要的,特別是GSM的收發(fā)

28、程序,這是本設(shè)計的核心部分,因為整個設(shè)計最關(guān)鍵的模塊是GSM模塊,而GSM模塊的應(yīng)用需要我們掌握GSM的AT指令,所以軟件的設(shè)計比較耗費時間,光AT的指令就不下30條,但常用的指令也不多,但難度大。單片機還有他的指令所以,要靈活運用好這些指令才是完成本次設(shè)計的王道。下面我就盡挑重點來講解如何用GSM來收發(fā)短信,以與如何用字符液晶1602 來顯示字符,而且還會通過DS18B20溫度傳感器來實測溫度,然后顯示在18b20上面。4.1 GSM的核心程序 圖4-1發(fā)送短信函數(shù)流程圖(左) 圖4-2讀取短信函數(shù)流程圖(右)GSM短信接收程序如下:void CMGF() /Send an

29、0;SMS command(發(fā)出一條短消息命令)發(fā)送短信函數(shù) unsigned char i=0;unsigned char code mode="AT+CMGF=0" /AT+CMGF指令用于選擇短信息格式GSM指令while(modei!='0') SBUF=modei; while(TI=0);/TI是指單片機SFR中SCON(Serial Control Register)串行口控制寄 /存器的一位 /而且是被硬件置位的。當(dāng)單片機發(fā)送完一幀數(shù)據(jù)后,該數(shù)據(jù)位由硬件置1. TI=0; i+; SBUF=0X0D;/代表回車鍵ASCII碼 whi

30、le(TI=0); TI=0;/清零SCON的TI位 SBUF=0X0A;/代表換行鍵ASCII碼 while(TI=0); TI=0;void CMGR() /Read SMS message(讀短消息)讀取短信函數(shù) unsigned char i=0; unsigned char code mode2="AT+CMGR=1"/采用文本格式發(fā)送, /如用PDU格式,則AT+CMGF=0 while(mode2i!='0') SBUF=mode2i;while(TI=0); /TI是指單片機SFR中SCON(Serial Control Register)串

31、行口控制寄存器的一位 /而且是被硬件置位的。當(dāng)單片機發(fā)送完一幀數(shù)據(jù)后,該數(shù)據(jù)位由硬件置1. TI=0; i+; SBUF=0X0D;/回車鍵的ASCII碼 while(TI=0); TI=0; SBUF=0X0A;/換行的ASCII碼 while(TI=0); TI=0;圖4-3新收到信息短信函數(shù)流程圖(左) 圖4-4刪除短信函數(shù)流程圖(右)void CNMI() /New SMS message indications(顯示新收到的短消息)函數(shù) unsigned char i=0; unsigned char code mode1="AT+CNMI=2

32、,1" while(mode1i!='0') SBUF=mode1i; while(TI=0); TI=0; i+; SBUF=0X0D; while(TI=0); TI=0; SBUF=0X0A; while(TI=0); TI=0;void CMGD()Delete SMS message(刪除SIM卡存的短消息)函數(shù) unsigned char i=0; unsigned char code mode3="AT+CMGD=1" while(mode3i!='0') SBUF=mode3i; while(TI

33、=0); TI=0; i+; SBUF=0X0D; while(TI=0); TI=0; SBUF=0X0A; while(TI=0); TI=0;4.2 字符液晶1602讀寫核心程序字符液晶1602的讀時序圖和讀時序圖如圖4-5以與圖4-6。圖4-5字符液晶1602的讀時序圖圖4-6字符液晶1602寫時序圖 當(dāng)我們要寫指令字,設(shè)置LCD1602的工作方式時:需要把RS置為低電平,RW置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口D0D7,最后E引腳一個高脈沖將數(shù)據(jù)寫入。 當(dāng)我們要寫入數(shù)據(jù)字,在1602上實現(xiàn)顯示時:需要把RS置為高電平,RW置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口D0D7,最后E引腳一個高脈沖將數(shù)

34、據(jù)寫入。發(fā)現(xiàn)了么,寫指令和寫數(shù)據(jù),差別僅僅在于RS的電平不一樣而已。下面給出了字符液晶的寫數(shù)據(jù)函數(shù)以與寫命令函數(shù)。void write_data(unsigned char date)/液晶寫數(shù)據(jù)函數(shù)write_data lcdrs=1;/寫數(shù)據(jù) 而lcdrs=P10 lcdrw=0; /lcdrw=P11P2=date; delay(5);/初始化 lcden=1; /lcden=P12 delay(5); lcden=0; /lcden=P12void write_(unsigned char ) lcdrs=0; /寫指令 而lcdrs=P10 lcdrw=0; /lcdrw=P11 P

35、2=; delay(5); /初始化 lcden=1; /lcden=P12 delay(5); lcden=0; /lcden=P12 圖4-7 液晶寫命令函數(shù)(左) 圖4-8 液晶寫數(shù)據(jù)函數(shù)(右)從上面圖4-7以與圖4-8可以看出液晶寫命令函數(shù)和液晶寫數(shù)據(jù)函數(shù)在程序的結(jié)構(gòu)上并沒有太大的區(qū)別,區(qū)別只在于液晶寫命令函數(shù)的lcdrs=0,lcdrw=0; 液晶寫數(shù)據(jù)函數(shù)lcdrs=1;lcdrw=0還有的就是賦值給P2端口的值不同。下面的是液晶初始化程序。void init2() lcden=0; write_(0x38); /必須的初始化 write_(0x0f);/功能指令 write_(0

36、x06);/輸入模式 write_(0x01);/清屏下面是字符液晶1602的指令表表4-1 字符液晶1602的指令表指令RSRWD7D6D5D4D3D2D1D01清屏00000000012光標(biāo)返回000000001*3輸入模式00000001I/DS4顯示控制0000001DCB5光標(biāo)/字符移位000001S/CR/L*6功能00001DLNF*7置字符發(fā)生器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志和地址01BF計數(shù)器地址10寫數(shù)據(jù)到指令7.8所設(shè)地址10要寫的數(shù)據(jù)11從指令7.8所設(shè)的地址讀數(shù)據(jù)11讀出的數(shù)據(jù)由表4-1中可以看出0x01指令為清屏指

37、令,0x06為輸入模式。4.3 溫度傳感器18b20函數(shù)以下是18B20的讀寫時序圖,從讀寫時序圖即可了解讀以與寫的時序。從而根據(jù)時序編寫出符合的讀、寫程序。主機要生成一個寫時間隙,必須把數(shù)據(jù)線拉到低電平然后釋放,在寫時間隙開始后的15s允許數(shù)據(jù)線拉到高電平。主機要生成一個寫 0 時間隙,必須把數(shù)據(jù)線拉到低電平并保持60s。讀時間隙,當(dāng)從 DS1820 讀取數(shù)據(jù)時,主機生成讀時間隙。當(dāng)主機把數(shù)據(jù)線從高高平拉到低電平時,寫時間隙開始。數(shù)據(jù)線必須保持至少1s;從DS1820 輸出的數(shù)據(jù)在讀時間隙的下降沿出現(xiàn)后15s 有效。圖4-9讀寫時序圖因此,主機在讀時間隙開始后必須停止把I/O 腳驅(qū)動為低電平

38、15s,以讀取I/O 腳狀態(tài)。在讀時間隙的結(jié)尾,I/O 引腳將被外部上拉電阻拉到高電平。所有讀時間隙必須最少60s,包括兩個讀周期間至少1s 的恢復(fù)時間。以下是18b20的初始化的程序。void init()/初始化ds1820 DQ = 1; /DQ復(fù)位 delay(8); /稍做延時 DQ = 0; /單片機將DQ拉低 delay(90); /精確延時 大于 480us DQ = 1; /拉高總線 delay(8);delay(100); DQ = 1; Read(void)/讀一個字節(jié)unsigned char i = 0;unsigned char dat = 0;for (i = 8

39、; i > 0; i-) DQ = 0; / 給脈沖信號 dat >>= 1; DQ = 1; / 給脈沖信號 if(DQ) dat |= 0x80; delay(4); return (dat);Write(unsigned char dat)/寫一個字節(jié) unsigned char i = 0; for (i = 8; i > 0; i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat>>=1; 5 總結(jié)通過這次的畢業(yè)設(shè)計的完成,我自己覺得對通信方面的一些協(xié)議又大致的了解了,最重要的是能夠很好的培養(yǎng)了自

40、己的動手能力,以與自己解決困難的能力,這次畢業(yè)設(shè)計最為困難的是在GSM模塊的收發(fā)程序的編程上,當(dāng)自己對GSM模塊的一些協(xié)議一概不通,到自己可以編寫程序的時候,那種成就感是非常微妙的,因此,我自己對程序的編寫很熱充.通過歷時一個多月的軟硬件的組合以與編寫,對自己的耐力也需要很高的要求.而指導(dǎo)老師的指導(dǎo)以與幫助也是非常的重要.自己重來沒有遇到過這么有難度的編程,以前的編程基本上都有一些例程,或參考的資料也非常多,但這次的畢設(shè),從編程的困難程度,以與參考資料的稀少來說都是對自己都是一次挑戰(zhàn)。這個畢業(yè)設(shè)計解決了如下的一些問題。利用GSM模塊,通過手機發(fā)送短信,從而可以控制日光燈,還有一點就是通過GSM

41、模塊,以與熱釋電人體紅外感應(yīng)器,實現(xiàn),當(dāng)有人闖入家里,感應(yīng)器感應(yīng)到了,單片機處理,然后GSM模塊發(fā)送短信到自己手機上。致首先,通過這個畢業(yè)設(shè)計,發(fā)現(xiàn)自己對通信行業(yè)有了大致的了解,無論在硬件實現(xiàn)以與軟件編程方面都有了較大的提升,雖然在實現(xiàn)GSM的收發(fā)短信這一項,花費的時間是比較多,因為在編程方面有很大的困難,但最終還是可以克服。最后,在這個設(shè)計上,指導(dǎo)老師熱心對我進行了指導(dǎo),特別是羅小蓉以與文毅老師的熱心指導(dǎo),在這個設(shè)計中起到了很重要的作用。值此大學(xué)畢業(yè)之前,謹向我的指導(dǎo)老師致以最誠摯的。參考文獻1 牛丹,買和木提,周澄,翁多杰單片機控制GSM模塊實現(xiàn)短信收發(fā)的技術(shù)與應(yīng)用J儀器儀表與分析監(jiān)測20

42、08年第4期2 段榮霞,少輝單片機與GSM模塊通信技術(shù)的研究應(yīng)用天地J2012年1月第31卷第1期3 柏業(yè)超,波,興敢基于GSM模塊TC35的智能門控安防系統(tǒng)設(shè)計J電子測量技術(shù),第31卷第1期2008年1月4 王騏,何嘉斌單片機控制GSM模塊實現(xiàn)短信收發(fā)的軟件設(shè)計J. 單片機與嵌入式系統(tǒng)應(yīng)用,2005 (1) : 632665 忠明,付江GSM模塊的AT 命令集算法研究J科技2008.04. 總第185 期6 全利單片機原理與接口技術(shù)M:高等教育,20097 覃景繁,歐陽景正 一種新的變步長自適應(yīng)濾波算法J. 數(shù)據(jù)采集與處理, 1997, 12 ( 3 ) :1712194.8 葉丹霞, 王家

43、禮GSM 模塊TC35 與在遠程監(jiān)控系統(tǒng)中的應(yīng)用J,現(xiàn)代電子技術(shù)2005 年第5 期總第196 期9 小勇G S M 模塊和單片機設(shè)計的防盜監(jiān)控系統(tǒng)科技資訊J2009 NO.1210 賀大松.汽車縱向防撞報警系統(tǒng)開發(fā)D.電子科技大學(xué),2008. 11 承曉.基于STC12C54XX的自學(xué)習(xí)遙控系統(tǒng)實現(xiàn)J.科技廣場,2010年.12 清生.熱釋電紅外線傳感器J.電氣時代,2004年.13 馬士寶,國玉,向陽,高玉軍,王微微基于GSM 模塊的無線報警系統(tǒng)設(shè)計J第32卷第1期2009年3月14 葉鋒基于GSM 模塊的消防監(jiān)控系統(tǒng)短信平臺的設(shè)計江漢大學(xué)學(xué)報(自然科學(xué)版) J第35卷第4期2007年12

44、月15 寧,印,欣慰,汪貝,偉基于GSM模塊的遠程溫濕度監(jiān)控系統(tǒng)世界科技研究與發(fā)展J2008年12月第30卷第6期16 杰,吳學(xué)英用單片機控制G S M 模塊的一種方法J,電子世界2004年11期17 苗雨基于GSM 模塊實現(xiàn)短信發(fā)送計算機工程應(yīng)用技術(shù)18 主鏈, 宋躍, 何志輝, 王卓浩無線模塊與GSM實現(xiàn)的智能遠程家居控制系統(tǒng)計算機測量與控制J. 2011年9月19日19 Dikin D A,Stankovich S,ZimneyE J,et alPreparation and characterization of graphene oxidepaper J.Nature 2007.20

45、 Chetana N Keltcher,Kevin J,Mc Grath,et al. The AMD opteron processor for multiprocessorserversJ .IEEE Micro, 2003, (3-4) :66-76.附錄設(shè)計的全部程序#include<reg52.h>#include<string.h>#define n 64char resbufn;unsigned char p=0,i,k;char code SM="SM"char code ok="0031" ;unsigned c

46、har *m,*s;unsigned char flag=1,flag2=1,flag3=1,flag4=1,flag5=1,flag6=1;sbit jidian=P15;sbit led4=P04;sbit led0=P00;sbit led1=P01;sbit led2=P02;sbit led3=P03;sbit thief=P05;sbit in1=P16;sbit in2=P17;sbit anjian1=P37;sbit anjian2=P36;/*led初始化*/sbit lcden=P12;sbit lcdrs=P10;sbit lcdrw=P11;/ sbit kai=P2

47、6 ;sbit DQ =P13; unsigned char num;unsigned char code table="Temperature" ;unsigned char data disdata4;unsigned char tab= 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;/*紅外初始*/#define c(x) (x*110592/120000) sbit Ir_Pin=P14;unsigned char deposit4; /緩沖區(qū) unsigned char ir_data4; /用于保存解碼結(jié)果/

48、*GSM初始*/void init3()TMOD=0x20;/設(shè)置定時器1為工作方式2TH1=0xfd;TL1=0xfd;TR1=1;REN=1;SM0=0;SM1=1;EA=1;ES=1;/*延時*/void delay2(unsigned int z)unsigned int x,y;for(x=110;x>0;x-)for(y=z;y>0;y-);void delay1(unsigned int z) unsigned int x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);void delay(unsigned int num)/延

49、時函數(shù) while( -num );/*紅外函數(shù)*/unsigned int Ir_Get_Low()TL1=0;TH1=0;TR1=1;while(!Ir_Pin && (TH1&0x80)=0); TR1=0; return TH1*256+TL1;void do_something() if(deposit0=0x0c)&&(deposit1=0x00) if(flag3=1) flag3=0; jidian=0; else jidian=1; flag3=1; if(deposit0=0x08)&&(deposit1=0x01)

50、if(flag6=1) flag6=0; in1=0; in2=1; else flag6=1; in1=0; in2=0; /=unsigned int Ir_Get_High()TL1=0;TH1=0;TR1=1;while(Ir_Pin && (TH1&0x80)=0);TR1=0;return TH1*256+TL1;/*短息接收的函數(shù)*/void CMGF() unsigned char i=0; unsigned char code mode="AT+CMGF=0"while(modei!='0') SBUF=modei;

51、 while(TI=0); TI=0; i+; SBUF=0X0D; while(TI=0); TI=0; SBUF=0X0A; while(TI=0); TI=0;void CMGR() unsigned char i=0; unsigned char code mode2="AT+CMGR=1" while(mode2i!='0') SBUF=mode2i; while(TI=0); TI=0; i+; SBUF=0X0D; while(TI=0); TI=0; SBUF=0X0A; while(TI=0); TI=0;void CNMI() unsigned char i=0; unsigned char code mode1="AT+CNMI=2,1" while(mode1i!='0') SBUF=mode1i; while(TI=0); TI=0; i+; SBUF=0X0D; while(TI=0); TI=0; SBUF=0X0A; while(TI=0); TI=0;void CMGD() unsigned char i=0; unsigned

溫馨提示

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

最新文檔

評論

0/150

提交評論