国产性70yerg老太,色综合在,国产精品亚洲一区二区无码,无码人妻束缚av又粗又大

基本信息

項(xiàng)目名稱:
手機(jī)節(jié)能遠(yuǎn)程控制
簡介:
目前,物聯(lián)網(wǎng)是全球研究的熱門課題,國內(nèi)外都把它的發(fā)展提到了國家級(jí)的戰(zhàn)略高度,稱之繼及計(jì)算機(jī)、互聯(lián)網(wǎng)之后的世界信息產(chǎn)業(yè)的第三次浪潮。 以“物聯(lián)網(wǎng)”為概念、以“節(jié)能”為標(biāo)準(zhǔn)、以“家居智能化”為目的。設(shè)計(jì)了一款手機(jī)節(jié)能遠(yuǎn)程控制樣品。本作品可以實(shí)現(xiàn)對(duì)家電的遠(yuǎn)距離無線控制,還有效的利用了太陽能,實(shí)現(xiàn)了節(jié)能環(huán)保的理念。
詳細(xì)介紹:
手機(jī)遠(yuǎn)程節(jié)能控制使用說明 引言 21世紀(jì)是信息化的世紀(jì),各種電信和互聯(lián)網(wǎng)新技術(shù)推動(dòng)了人類文明的巨大進(jìn)步。隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的飛速發(fā)展,人類的生活水平有著日新月異的變化, “以人為本、舒適、便利、智能化”已成為家居系統(tǒng)的重要設(shè)計(jì)理念,家居智能化控制系統(tǒng)力求創(chuàng)造安全、舒適的生活環(huán)境的設(shè)計(jì)理念。 近年來,隨著科技的快速發(fā)展,智能家電在人們的生活中逐漸崛起,其簡約時(shí)尚,安全可靠,等好處將帶領(lǐng)人們走進(jìn)更智能化的生活。智能家電控制系統(tǒng)不僅具有傳統(tǒng)的居住功能,提供舒適安全、高品位且宜人的家庭生活空間。還將原來的被動(dòng)靜止結(jié)構(gòu)轉(zhuǎn)變?yōu)榫哂心軇?dòng)智慧的工具,提供全方位的信息交換功能,幫助家庭與外部保持信息交換暢通,優(yōu)化人們的生活方式,幫助人們有效安排時(shí)間,增強(qiáng)家居生活的安全性,甚至為各種能源費(fèi)用節(jié)約資金。 短信控制是一種基于無線GTM技術(shù)的 工業(yè)級(jí)的MODEM,是一種內(nèi)嵌GTM無線通信模塊,插入移動(dòng)運(yùn)營商的手機(jī)SIM卡,可以與移動(dòng)運(yùn)營商的短信中心建立無線連接,可以實(shí)現(xiàn)一系列的自由的短信收發(fā)來進(jìn)行不同的家電控制。本系統(tǒng)采用的主控芯片是STC 12C5A60S2單片機(jī),GTM模塊采用GTM900-C短消息模塊,設(shè)計(jì)的過程充分利用了各個(gè)模塊與單片機(jī)的標(biāo)準(zhǔn)接口,根據(jù)單片機(jī)良好的控制性能完成了報(bào)警信號(hào)采集和分析、鍵盤輸入、各模塊控制和通信、數(shù)據(jù)顯示、強(qiáng)電控制信號(hào)處理、與PC機(jī)通信以及對(duì)無線遙控等功能。 遠(yuǎn)程智能控制系統(tǒng)主要分為個(gè)5個(gè)系統(tǒng):單片機(jī)控制、短信遠(yuǎn)程控制、太陽能給蓄電池充電、傳感器控制、無線控制。 一、系統(tǒng)設(shè)計(jì)主要任務(wù) 本文利用STC 12C5A60S2、SIM卡、GTM900-C和各類家居傳感器設(shè)計(jì)制作一款手機(jī)遠(yuǎn)程節(jié)能控制樣品。實(shí)驗(yàn)樣品的設(shè)計(jì)包括:系統(tǒng)硬件的設(shè)計(jì)與調(diào)試和控制軟件的編寫與調(diào)試。 1、硬件部分 智能家居控制系統(tǒng)其硬件部分主要由五大部分構(gòu)成,即手機(jī)交換網(wǎng)程控交換信令部分、控制單元、傳感器數(shù)據(jù)采集系統(tǒng)、GTM模塊GTM900-C與接口和電源部分。SIM卡部分電壓檢測元件組成,它是系統(tǒng)中控制部分關(guān)鍵的元件,它與控制單元組成控制部分功能;傳感器數(shù)據(jù)采集系統(tǒng)、GTM模塊GTM900-C和控制單元完成報(bào)警等信號(hào)的處理和發(fā)送;電源部分則為各個(gè)部分提供工作電源。 2、軟件部分 軟件設(shè)計(jì)部分主要由五大部分構(gòu)成:即數(shù)據(jù)采集與數(shù)據(jù)分析部分、手機(jī)短信控制的識(shí)別與分析部分、GTM模塊GTM900-C接口程序部分、分析控制部分。其中數(shù)據(jù)采集與數(shù)據(jù)分析部分和手機(jī)交換網(wǎng)程控交換信令識(shí)別需要作實(shí)時(shí)處理;GTM模塊GTM900-C接口程序部分和分析控制部分則是根據(jù)采集和手機(jī)短信控制進(jìn)行分時(shí)操作有利于提高系統(tǒng)效率。 二、單片機(jī)控制部分 主單片機(jī)采用的是STC12C5A60S2,該單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(IT)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,單速度快8-12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250/S),針對(duì)電機(jī)控制,強(qiáng)干擾場合。 本系統(tǒng)采用該單片機(jī),因?yàn)樵搯纹瑱C(jī)運(yùn)行速度快,當(dāng)有傳感器發(fā)出信號(hào)時(shí)可以很快的對(duì)該信號(hào)進(jìn)行處理,同時(shí)也能較快的去控制其他外圍電路的工作。 此板為51系列單片機(jī)實(shí)驗(yàn)板:可做LED/LED 1602 液晶、單片機(jī)ISP/IAP 程序下載器、符合7816-3 的邏輯加密卡、溫度濕度讀取,PT2272/2262 無線收發(fā)器、I2C存儲(chǔ)、,單片機(jī)其它功能實(shí)驗(yàn)、GTM/GPRS 模塊的GPRS 上網(wǎng),TCP/UDP 協(xié)議傳輸,無線抄表,遠(yuǎn)程短信控制、工業(yè)控制、線路防盜、家庭防盜、短信收發(fā)器及學(xué)習(xí)短信開發(fā)、群發(fā)器,語音通話等功能,以上功能只要改動(dòng)源代碼就可以實(shí)現(xiàn),突出控制功能:如對(duì)外部信息的捕捉、對(duì)控制對(duì)象實(shí)時(shí)控制和有突出控制功能的指令系統(tǒng)(I/O控制、位操作和轉(zhuǎn)移指令等)。 三.短信遠(yuǎn)程控制 1、GTM900-C的介紹 華為GTM900-C 無線模塊是一款兩頻段GTM/GPRS 無線模塊(內(nèi)嵌TCP/IP協(xié)議:支持多鏈接,提供ACK應(yīng)答,提供大容量緩存)。它支持標(biāo)準(zhǔn)的AT 命令及增強(qiáng)AT 命令,電路型數(shù)據(jù)業(yè)務(wù),集群功能(組呼、廣播和私密呼叫等GTM900-C模塊支持)STK功能(通過增強(qiáng)的AT命令支持STK功能)ROHS環(huán)保(符合ROHS環(huán)保認(rèn)證要求)補(bǔ)充業(yè)務(wù)(來電顯示、呼叫轉(zhuǎn)移、呼叫保持、呼叫等待和三方通話)等功能,是高速數(shù)據(jù)傳輸?shù)雀鞣N應(yīng)用的理想解決方案。 GTM900-C 使用AT 命令集,通過UART接口與STC 12C5A60S2通信,經(jīng)過CPU的處理和分析實(shí)現(xiàn)無線發(fā)送和接收,基帶處理和控制單片機(jī)I/O口的功能。 2、作品使用方法 (1)首先程序里的電話號(hào)碼 13462424976要改成自己 的手機(jī)號(hào)碼然后下載到單片機(jī)里面這時(shí)才可以實(shí)現(xiàn)短信控制功能。(本模塊以設(shè)置好,按如下操作就可以使用) (2)在板上插入一個(gè)SIM卡(任意一手機(jī)卡有號(hào)碼就可以,為方便操作本模塊已經(jīng)裝SIM 卡 號(hào)碼15239136372),然后打開主板電源開關(guān)(并把受控電源插頭通電藍(lán)色指示燈亮),當(dāng)聽到蜂鳴器響一下(主板紅色指示燈亮),說明SIM卡接觸良好,這時(shí)模塊可以工作了,如果蜂鳴器響聲過長說明SIM卡沒插好,需重新放置,如SIM卡接觸良好,等大約30S蜂鳴器又響一下,這時(shí)模塊就如初始化狀態(tài)。 (3)然后用程序里面設(shè)置的手機(jī)號(hào)碼(號(hào)碼可以改動(dòng)。注:本作品為方便操作,附帶有設(shè)置好的手機(jī)卡插入任意手機(jī)就可以使用。)向模塊里的手機(jī)號(hào)發(fā)送START控制模塊上的繼電器使電燈發(fā)光和1START控制無線發(fā)射器件使插座帶電,并回復(fù)短信說設(shè)置成功。(大約30S, 跟手機(jī)信號(hào)有關(guān),信號(hào)好了時(shí)間更短一些,信號(hào)不好時(shí)間稍長一些。)發(fā)送END或者1END關(guān)閉相應(yīng)的功率器件,并回復(fù)短信報(bào)告設(shè)置情況。 (4)紅外釋熱傳感器感應(yīng)到有人時(shí)會(huì)給設(shè)定的手機(jī)號(hào)碼發(fā)信息提示,紅外對(duì)管中間感應(yīng)到物體時(shí)也給設(shè)定的手機(jī)號(hào)碼發(fā)信息提示(在運(yùn)輸途中對(duì)管可能會(huì)錯(cuò)位使其無法工作,操作時(shí)把兩管對(duì)正即可)。 3、短信遠(yuǎn)程控制。 此通信電路主要完成短消息收發(fā)、與微機(jī)通信、軟件流控制等功能。 四、太陽能給蓄電池充電 1、太陽能是一種干凈的可再生的新能源,越來越受到人們的親睞,在人們生活、工作中有廣泛的作用, 其中之一就是將太陽能轉(zhuǎn)換為電能,太陽能電池就是利用太陽能工作的。而太陽能熱電站的工作原理則是利用匯聚的太陽光,把水燒至沸騰變?yōu)樗魵猓缓笥脕戆l(fā)電。 2、太陽能工作原理:太陽能直接照射太陽能電池板,通過光電轉(zhuǎn)換轉(zhuǎn)化為電能對(duì)產(chǎn)品內(nèi)置鋰離子電池充電。然后蓄電池給模塊供電,真正意義上實(shí)現(xiàn)“節(jié)能環(huán)保,讓陽光買單”。 3、太陽能的優(yōu)點(diǎn): 1)普遍:太陽光普照大地,沒有地域的限制無論陸地或海洋,無論高山或島嶼,都處處皆有,可直接開發(fā)和利用,且無須開采和運(yùn)輸。 2)無害:開發(fā)利用太陽能不會(huì)污染環(huán)境,它是最清潔能源之一,在環(huán)境污染越來越嚴(yán)重的今天,這一點(diǎn)是極其寶貴的。 3)巨大:每年到達(dá)地球表面上的太陽輻射能約相當(dāng)于130萬億噸煤,其總量屬現(xiàn)今世界上可以開發(fā)的最大能源。 4)長久:根據(jù)目前太陽產(chǎn)生的核能速率估算,氫的貯量足夠維持上百億年,而地球的壽命也約為幾十億年,從這個(gè)意義上講,可以說太陽的能量是用之不竭的。 4、太陽能電池板的應(yīng)用范圍: 給蓄電池充電,太陽能路燈,太陽能交通指示牌,太陽能發(fā)電系統(tǒng),太陽能通信站,太陽能水泵等等。 五、傳感器的控制 (1)防盜傳感器 1)特點(diǎn) 采用PIR熱釋電傳感器、菲涅爾低功耗、靜態(tài)功耗50uA寬電壓范圍、DC 4.5-20V電路板小體積38*28mm(32*24*mm)可重復(fù)/不可重復(fù)觸發(fā)方式,選擇使用簡單、電源+ -信號(hào)輸出,感應(yīng)距離7米,感應(yīng)角度110°? 2、電氣參數(shù) 工作電壓范圍 直流電壓4.5-20V,靜態(tài)電 50uA,輸出電平高3.3 V /低0V,觸發(fā)方式 L不可重復(fù)觸發(fā)/H重復(fù)觸發(fā),電路板外形 38*28mm(32*24*mm),感應(yīng)角度 110°,感應(yīng)距離 7米 3、應(yīng)用范圍 ■ 安防產(chǎn)品 ■ 人體感應(yīng)玩具 ■人體感應(yīng)燈具 ■ 工業(yè)自動(dòng)化控制等 熱釋電紅外開關(guān)是BISS0001配以熱釋電紅外傳感器和少量外接元器件構(gòu)成的被動(dòng)式紅外開關(guān)。它能自動(dòng)快速開啟各類白熾燈、熒光燈、蜂鳴器、自動(dòng)門、電風(fēng)扇、烘干機(jī)和自動(dòng)洗衣機(jī)等裝置,是一種高技術(shù)產(chǎn)品。特別適用于企業(yè),賓館、商場、庫房及家庭的過道、走廊等敏感區(qū)域,或用于安全區(qū)域的自動(dòng)燈光、照明和報(bào)警系統(tǒng)。 ■功能特點(diǎn)1: 1)???全自動(dòng)感應(yīng):人進(jìn)入其感應(yīng)范圍則輸出高電平, 人離開感應(yīng)范圍則自動(dòng)延時(shí)關(guān)閉高電平,輸出低電平。 2)???光敏控制(可選擇,出廠時(shí)未設(shè)):可設(shè)置光敏控制,白天或光線強(qiáng)時(shí)不感應(yīng)。 ? 3)???溫度補(bǔ)償(可選擇,出廠時(shí)未設(shè)):在夏天當(dāng)環(huán)境溫度升高至30~32℃,探測距離稍變短,溫度補(bǔ)償可作一定的性能補(bǔ)償。 2、??兩種觸發(fā)方式:(可跳線選擇) 1)不可重復(fù)觸發(fā)方式:即感應(yīng)輸出高電平后,延時(shí)時(shí)間段一結(jié)束,輸出將自動(dòng)從高電平變?yōu)榈碗娖剑?2)可重復(fù)觸發(fā)方式:即感應(yīng)輸出高電平后,在延時(shí)時(shí)間段內(nèi),如果有人體在其感應(yīng)范圍活動(dòng),其輸出將一直保持高電平,直到人離開后才延時(shí)將高電平變?yōu)榈碗娖剑ǜ袘?yīng)模塊檢測到人體的每一次活動(dòng)后會(huì)自動(dòng)順延一個(gè)延時(shí)時(shí)間段,并且以最后一次活動(dòng)的時(shí)間為延時(shí)時(shí)間的起始點(diǎn))。 3、具有感應(yīng)封鎖時(shí)間(默認(rèn)設(shè)置:2.5S封鎖時(shí)間):感應(yīng)模塊在每一次感應(yīng)輸出后(高電平變成低電平),可以緊跟著設(shè)置一個(gè)封鎖時(shí)間段,在此時(shí)間段內(nèi)感應(yīng)器不接受任何感應(yīng)信號(hào)。此功能可以實(shí)現(xiàn)“感應(yīng)輸出時(shí)間”和“封鎖時(shí)間”兩者的間隔工作,可應(yīng)用于間隔探測產(chǎn)品;同時(shí)此功能可有效抑制負(fù)載切換過程中產(chǎn)生的各種干擾。(此時(shí)間可設(shè)置在零點(diǎn)幾秒—幾十秒鐘)。 4、工作電壓范圍寬:默認(rèn)工作電壓DC4.5V-20V。 5、微功耗:靜態(tài)電流<50微安,特別適合干電池供電的自動(dòng)控制產(chǎn)品。 6、輸出高電平信號(hào):可方便與各類電路實(shí)現(xiàn)對(duì)接。 ■使用說明2: 1)感應(yīng)模塊通電后有一分鐘左右的初始化時(shí)間,在此期間模塊會(huì)間隔地輸出0-3次,一分鐘后進(jìn)入待機(jī)狀態(tài)。 2)應(yīng)盡量避免燈光等干擾源近距離直射模塊表面的透鏡,以免引進(jìn)干擾信號(hào)產(chǎn)生誤動(dòng)作;使用環(huán)境盡量避免流動(dòng)的風(fēng),風(fēng)也會(huì)對(duì)感應(yīng)器造成干擾。 3)感應(yīng)模塊采用雙元探頭,探頭的窗口為長方形,雙元(A元B元)位于較長方向的兩端,當(dāng)人體從左到右或從右到左走過時(shí),紅外光譜到達(dá)雙元的時(shí)間、距離有差值,差值越大,感應(yīng)越靈敏,當(dāng)人體從正面走向探頭或從上到下或從下到上方向走過時(shí),雙元檢測不到紅外光譜距離的變化,無差值,因此感應(yīng)不靈敏或不工作;所以安裝感應(yīng)器時(shí)應(yīng)使探頭雙元的方向與人體活動(dòng)最多的方向盡量相平行,保證人體經(jīng)過時(shí)先后被探頭雙元所感應(yīng)。為了增加感應(yīng)角度范圍,本模塊采用圓形透鏡,也使得探頭四面都感應(yīng),但左右兩側(cè)仍然比上下兩個(gè)方向感應(yīng)范圍大、靈敏度強(qiáng),安裝時(shí)仍須盡量按以上要求。 注:調(diào)節(jié)距離電位器順時(shí)針旋轉(zhuǎn),感應(yīng)距離增大(約7米),反之,感應(yīng)距離減小(約3米)。 調(diào)節(jié)延時(shí)電位器順時(shí)針旋轉(zhuǎn),感應(yīng)延時(shí)加長(約300S),反之,感應(yīng)延時(shí)減短(約5S)。 4、本模塊防盜傳感器的作用: 防盜報(bào)警的作用:當(dāng)有非法侵入時(shí),模塊將以短信方式通知家人。另外,可以通過程序設(shè)定報(bào)警裝置的等級(jí)和報(bào)警器的靈敏度。 六、紅外對(duì)管 1)紅外對(duì)管控制 原理圖:對(duì)管的原理大約就是一個(gè)紅外(或紅外激光)管,發(fā)射出一道光線,對(duì)面有個(gè)光敏的接收器件檢測這個(gè)光,如果光線被擋住,就可以實(shí)現(xiàn)報(bào)警功能。 2)紅外對(duì)管的性能及參數(shù): 紅外發(fā)射管就是發(fā)射紅外線的二極管.波長有940nm和850nm兩種工作電流一般在50mA。 3)使用功能:若感應(yīng)到有人經(jīng)過,輸出端口輸出一個(gè)高電平給單片機(jī),單片機(jī)發(fā)送短信給主人,以此來實(shí)現(xiàn)防盜。 1、無線發(fā)射模塊介紹 (1)發(fā)射模塊型號(hào):T1000BS1。 (2)發(fā)射模塊說明: ??? 該模塊工藝成熟、性能優(yōu)秀,電磁轉(zhuǎn)換效率高、發(fā)射功率大、功耗低,采用聲表器件(SAW)穩(wěn)頻,6﹒5G超高頻三極管, 編碼芯片品種繁多,滿足各個(gè)方面、層次的應(yīng)用。 適用范圍:1)汽車、摩托車防盜器;2)家庭防盜報(bào)警器;3)各種遙控控制,電燈控制,插座控制,各種家電的控制; 2、技術(shù)指標(biāo): 工作電壓 6-12V 工作電流 5-40mA 振蕩方式 SAW諧振 調(diào)制方式 ASK 工作頻率 ? 315MHz, 433.92MHz, ??? 特殊頻率可定制 頻率偏差 ±150kHz(max) 發(fā)射功率 m W 編碼格式 PT2262 3、性能特征:1)四位并行數(shù)據(jù);2)高穩(wěn)定性,采用SMT進(jìn)口貼片元件,聲表面諧振器穩(wěn)頻(SAW),6﹒5G超高頻三極管; 4、 外形尺寸:36mmX23mmX8 mm。 5、參考應(yīng)用線路。 6、使用說明: 1)本模塊傳輸距離與收發(fā)天線、工作電壓、數(shù)據(jù)速率、占空比等因素有關(guān)。2)使用時(shí)應(yīng)接上天線(長度約為250mm )并盡量拉直懸空使用,天線應(yīng)盡量遠(yuǎn)離大的金屬體。3)應(yīng)盡量避免電磁干擾和金屬屏蔽。 7、接收模塊型號(hào):R03BS (1)技術(shù)指標(biāo) 1)工作電壓:5VDC 2)工作電流:<5mA 3)接收頻率:315MHz 4)接收方式:超再生 5)接收靈敏度:-103dBm 6)解碼芯片:PT2272-M4(L4),有四路并行數(shù)據(jù)輸出,一路解碼有效指示輸出(非鎖),八位三態(tài)地址碼。 7)解碼有效時(shí)輸出TTL高電平 8)輸出方式:有兩種,一種為非鎖(M)方式(即點(diǎn)動(dòng)或脈沖方式),另一種為互鎖(L)方式(即信號(hào)鎖存方式) 9)外形尺寸:49×20×7mm 8、無線接收模塊使用說明 1)使用范圍:各種工業(yè)遙控,遙測,防盜報(bào)警器信號(hào)接收,各種家用電器的遙控等。 2)本模塊接收頻率已固定在315MHz,應(yīng)用時(shí)請(qǐng)勿調(diào)節(jié)模塊中的電感元件。以免影響接收效果。 3)天線用軟導(dǎo)線或其它硬質(zhì)金屬(如拉桿天線),長度為250mm,既不能過長也不能過短,否則會(huì)影響接收距離。若使用軟導(dǎo)線,請(qǐng)拉直懸空使用,并盡量不要靠近金屬物體。 4)應(yīng)盡量避免電磁干擾和金屬屏蔽。 5)電源電壓要求穩(wěn)定且波紋系數(shù)低,需多級(jí)濾波(如增加磁珠﹑電感﹑電容等)。 6)若配合單片機(jī)使用建議MCU時(shí)鐘頻率在4MHZ以下并且晶體盡量遠(yuǎn)離RF接收模塊,否則晶體的高次諧波會(huì)影響通訊距離。 9、參考應(yīng)用電路(四路遙控繼電器開關(guān)) ? 10、無線接收模塊使用說明 ? 1)無線發(fā)射P2262與單片機(jī)相連接通過單片機(jī)的控制I/O端口的高低電平,來控制發(fā)射頭發(fā)射無線電波方式。 2)無線接收P2272模塊接收到發(fā)射信號(hào)是繼電器工作控制家電。 3)1START控制無線發(fā)射器件13端口,無線接收模塊D0口通過相應(yīng)電路使繼電器工作控制插座通電情況,并回復(fù)短信OUT ON OK1(說明設(shè)置成功),發(fā)送1END可以關(guān)閉插座導(dǎo)通,并回復(fù)短信 OUT OFF OK1(說明關(guān)閉成功)。 四.手機(jī)節(jié)能控制作品程序 /==********************************************************** //--軟件功能, 控制器可以是 PT2262無線發(fā)射器 ,接收可以是 PT2272接收板 //這里 PT2252 D0-D3的其中一個(gè)腳 要接到P25腳上才能實(shí)現(xiàn) //程序里的電話號(hào)碼 13462424976要改成自己 的手機(jī)號(hào)碼才能發(fā)到你的手機(jī)上去 //讀短信并回復(fù) 指令為 START END 1START 1END //============================================================ #include <cheshi.h> //#include <lcd.h> uchar data int_case; //中斷標(biāo)志 #define MAX_TM 100 // AT指收發(fā)數(shù)組最大緩沖 #define MAX_T 30 uchar idata uart_buff[MAX_TM]; //通信程序中的緩沖 uchar idata receive_count; //發(fā)送與接收 數(shù)組指針 uchar data para_temp[MAX_T]; //多用臨時(shí)用 uchar data sms_num_tmp; ///讀短信號(hào)碼參數(shù) uchar data sms_tmp; ///短信處理參數(shù)代碼 uchar idata TEL_temp[15]; //存對(duì)方號(hào)碼, //---定時(shí)延時(shí)用----------- uint data timercount; //50MS定時(shí)器, uchar data timer_1S_cnt; uchar data timer_10S_cnt; uchar data timer_S_cnt; //-------------------- bit P25_BIT; bit P25_BIT_ID; bit P24_BIT; bit P24_BIT_ID; bit P22_BIT; bit P22_BIT_ID; /* ********************************************************************************************************* ** 函數(shù)名稱 dmsec() ** 函數(shù)功能 :延時(shí) NS ** 入口參數(shù) : ** 出口參數(shù) : ********************************************************************************************************* */ //---延時(shí)S------------------------------ void dmsec (unsigned int count) { unsigned int i; while (count) { i =115; //單片機(jī)的不同,延時(shí)可以更改 while (i>0) i--; count--; } } //------------------------ //---------------------- /* ********************************************************************************************************* ** 函數(shù)名稱 Int_Timer0() ** 函數(shù)功能 定時(shí)器中斷位,是整個(gè)程序的心跳,如果停止,程序會(huì)死機(jī) ** 全局變量或數(shù)組: ** 入口參數(shù) : ** 出口參數(shù) : ********************************************************************************************************* */ void Int_Timer0(void) interrupt 1 using 3 { TH0 = 0xB8; TL0 = 0x00; //20ms的時(shí)鐘基準(zhǔn) //以下為自動(dòng) 延時(shí)計(jì)時(shí)器, 程序里只要有以下 變量出現(xiàn)都為延時(shí)作用 timercount++; //自動(dòng)累加器 0-255 用于程序里一些延時(shí)處理 timer_1S_cnt++; if(timer_1S_cnt==50) //20×50=1000MS =1S 1S中斷處理  { timer_1S_cnt=0; timer_10S_cnt++; timer_S_cnt++; LED_S0=~LED_S0; //工作指示燈  } if(timer_10S_cnt==60) //60S 1分鐘中斷 { timer_10S_cnt=0; } /* 硬件 必須是 PT2272-M4接收板D0-D3 可以連其中一個(gè)腳便可 流程分析 PT2272 D0-D3輸出腳 在沒有收到信號(hào)時(shí)為低電平, 收到控制信號(hào)后變高電來,延時(shí)1S左右 后 變回低電平 軟件實(shí)現(xiàn) 先 用IO 檢測電平 應(yīng)先是低電平 進(jìn)入等待控制 ,如果先是高電平,不應(yīng)該理會(huì), 因?yàn)闆]有 插入PT2272 時(shí)IO電平就是高電平 */ P2_5=1; if(P2_5!=P25_BIT_ID) //PT2272電平接入 { if (P2_5==1) { P25_BIT=1; } P25_BIT_ID=P2_5; } P2_4=1; if(P2_4!=P24_BIT_ID) //PT2272電平接入 { if (P2_4==1) { P24_BIT=1; } P24_BIT_ID=P2_4; } P2_2=1; if(P2_2!=P22_BIT_ID) //PT2272電平接入 { if (P2_2==1) { P22_BIT=1; } P22_BIT_ID=P2_2; } //--------------------------------------------------------------------------------- } /* ********************************************************************************************************* ** 函數(shù)名稱 Int_Uart() ** 函數(shù)功能 TC35 的命令列表,與中斷服務(wù)程序 ** 全局變量或數(shù)組: receive_count 接收指針 uart_buff ring_bit ring_cnt ** 入口參數(shù) : ** 出口參數(shù) : 1-成功 0-失敗 ********************************************************************************************************* */ void Int_Uart(void) interrupt 4 using 3 //串口的中斷程序 { if(RI) //命令方式 { RI=0; if((receive_count<MAX_TM-1))//沒有發(fā)送時(shí)才能進(jìn)行接收 { //所有的命令返回都是處于 0x0A [Result] 0x0D 之間,其他命令,不會(huì)出現(xiàn)這種情況 uart_buff[receive_count++]=SBUF; } else { return; } //------------------------------------ }//End of if(RI) } /********************************************************************* * C51中字符串函數(shù)的擴(kuò)充 * ** 函數(shù)名稱 : strsearch () ** 函數(shù)功能 : 在指定的數(shù)組里連續(xù)找到相同的內(nèi)容 ** 入口參數(shù) : ptr2=要找的內(nèi)容, ptr1 當(dāng)前數(shù)組 **** 出口參數(shù) : 0-沒有 找到 >1 查找到 *********************************************************************/ uchar strsearch(uchar *ptr2,uchar *ptr1_at)//查字符串*ptr2在*ptr1中的位置 //本函數(shù)是用來檢查字符串*ptr2是否完全包含在*ptr1中 //返回: 0 沒有找到 // 1-255 從第N個(gè)字符開始相同 { //、 uchar max_length; uchar i,j,k; uchar flag; if(ptr2[0]==0) return(0); flag=0; for(i=0,j=0;i<MAX_TM-2;i++) { if(ptr1_at[i]==ptr2[j]) {//第一個(gè)字符相同 k=i; //for(k=i;k<MAX_TM-2;k++,j++) do { if(ptr2[j]==0)//比較正確 return(i+1); //返回值是整數(shù),不含0 if(ptr1_at[k]!=ptr2[j]) break; k++;j++ ; } while(k<MAX_TM-2) ; j=0; } } return(0); } /********************************************************************* * C51中字符串函數(shù)的擴(kuò)充 * ** 函數(shù)名稱 : strsearch1() ** 函數(shù)功能 : 在指定的數(shù)組里連續(xù)找到相同的內(nèi)容 ** 入口參數(shù) : ptr2=要找的內(nèi)容, ptr1 當(dāng)前數(shù)組, id 數(shù)組開始的第一個(gè)位置 **** 出口參數(shù) : 0-沒有 找到 >1 查找到 *********************************************************************/ //------在指定移態(tài)的數(shù)組里連續(xù)找到相同的內(nèi)容--------------------------------------- //i=傳來的指令, *ptr2=要找的內(nèi)容, uchar *ptr1 當(dāng)前數(shù)組 uchar strsearch1(uchar i,uchar *ptr2,uchar *ptr1) { uchar j=0,k; k=i; do{ if(ptr1[k]==ptr2[j]) {j++;k++;} else return(0); if(ptr2[j]==0) return(k); }while(j<=60); return(0xff); } /* ********************************************************************************************************* ** 函數(shù)名稱 CMGD_GSM() ** 函數(shù)功能 刪除短信 uart_buff ** 全局變量或數(shù)組: uart_buff sms_num_tmp ** 入口參數(shù) : AT指令 字符串 *str_at=要復(fù)制的內(nèi)容/轉(zhuǎn)AT指令 id 短信ID 供刪除短信時(shí)用 ** 出口參數(shù) : ********************************************************************************************************* */ //---------------------------------- //刪除短信 uart_buff void CMGD_GSM(char* ptr1_at,uchar id) { uchar ptr1[3] ; ptr1[0]=(id/10)+0x30; ptr1[1]=(id%10)+0x30; ptr1[2]=0; Send_AT_Command(SMS_CMGD,ptr1_at,ptr1); //刪除其它沒有用的短信 Send_AT_Command(SMS_CMGD,ptr1_at,ptr1); } /* ********************************************************************************************************* ** 函數(shù)名稱 CPMS_SM() ** 函數(shù)功能 功能 讀短信報(bào)文 ,有短信就讀短信 ,把有短信的ID找到,并讀出內(nèi)容 ** 全局變量或數(shù)組: receive_count 接收指針 uart_buff sms_num_tmp ** 入口參數(shù) : AT指令 字符串 *str_at=要復(fù)制的內(nèi)容/轉(zhuǎn)AT指令 sms_num_tmp 短信ID 供刪除短信時(shí)用 ** 出口參數(shù) : 1-成功 0-失敗 ********************************************************************************************************* */ uchar CPMS_SM(char* ptr1_at ) //---------------------- { uchar i,j,r,num_tmp1; Send_AT_Command(AT_INIT,ptr1_at,0); Send_AT_Command(AT_E,ptr1_at,0); Send_AT_Command(AT_CPMS,ptr1_at,0); if(i=strsearch("+CPMS:",ptr1_at)) //"SM" +CPMS: 0,20,0,45,0,45 { i=i+5; //+CPMS: 0,20,0,45,0,45 if(strsearch1(i,"\x20\x30,",ptr1_at)) //沒有短信 { return(0); } else if((ptr1_at[i]==' ')&&((ptr1_at[i+1]>'1') //9以下短信處理 &&(ptr1_at[i+1]<='9'))&&(ptr1_at[i+2]==',')) { //+CPMS: 1,20,1,20,1,20 i=i+1; r=ptr1_at[i]-0x30; //有幾個(gè)短個(gè) i++;//, i++; //20 j=0; j=ptr1_at[i]-0x30; j=j*10; //高位 i++; j=j+(ptr1_at[i]-0x30); //低位 i++; if(ptr1_at[i]!=','&&ptr1_at[i+1]==',') //可以存100以上的 { j=j*10;i++; j=j+(ptr1_at[i]-0x30); } //返回是可以存多少短信 //r=j+10; } else if((ptr1_at[i]==' ')&&((ptr1_at[i+1]>'0') //10條短信以上處理 &&(ptr1_at[i+2]>='0'))&&(ptr1_at[i+3]==',')) { i=i+1; r=ptr1_at[i++]-0x30; r=r*10; //移到十位 r=r+ptr1_at[i++]-0x30; i++; //20 j=0; j=ptr1_at[i]-0x30; j=j*10; //高位 i++; j=j+(ptr1_at[i]-0x30); //低位 i++; if(ptr1_at[i]!=','&&ptr1_at[i+1]==',') //可以存100以上的 { j=j*10;i++; j=j+(ptr1_at[i]-0x30); } //返回是可以存多少短信 //r=j+10; } } else //出錯(cuò)處理 { if(ptr1_at[1]==0x0d&&ptr1_at[0]==0x34) { return(0); } } r=j; //---------下面有短信時(shí),進(jìn)行短信查找 從1-100------------------------------------ num_tmp1=1; do{ if(r>=100) //短信存儲(chǔ)號(hào)不能超過100個(gè) r=1; // if(r==1) //如果是一條發(fā)AT+CMGL=ALL或AT+CMGL=4 { Send_AT_Command(SMS_CMGL,ptr1_at,0); if(i=strsearch("+CMGL:\x20",ptr1_at)) //查短信代碼回復(fù)是否對(duì) { i=i+6; if(ptr1_at[i+1]==',') { num_tmp1=ptr1_at[i]-0x30; //當(dāng)前短信存儲(chǔ)號(hào) 10以內(nèi) } else //當(dāng)前短信存儲(chǔ)號(hào) 10以上 { num_tmp1=ptr1_at[i++]-0x30; num_tmp1=num_tmp1*10; num_tmp1=num_tmp1+ptr1_at[i++]-0x30; } sms_num_tmp=num_tmp1; return(1); } } else { i= READ_TEL(ptr1_at,num_tmp1) ; if(i) //有短信跳出 { i=i+7; sms_num_tmp=num_tmp1; return(1); } } r--; num_tmp1++; // }while(r!=0); //--------------------------------------------- return(0); } /* ********************************************************************************************************* ** 函數(shù)名稱 read_sms() ** 函數(shù)功能 進(jìn)行SIM卡的電話本讀 ** 全局變量或數(shù)組: receive_count 接收指針 ** 入口參數(shù) : AT指令 字符串str_code -para_temp str_at- uart_buff *str_at=要復(fù)制的內(nèi)容/轉(zhuǎn)AT指令 str_code 短信內(nèi)容 *ptr_tel 電話號(hào)碼 ** 出口參數(shù) : 1-成功 0-失敗 ********************************************************************************************************* */ //==================================================== uchar read_sms(char* ptr1_at,char* ptr1_code,char* ptr_tel) { uint i; uchar idata j, PDU_TEXT; if(!CPMS_SM(ptr1_at)) { return(0); } // 英文模式 //+CMGR: "REC READ","8613818120592",,"09/06/25,14:16:33+32",145,4,0,0,"8613800210500", //145,3 //END 0 // 2B 43 4D 47 52 3A 20 22 52 45 43 20 52 45 41 44 22 2C 22 38 36 31 33 38 31 38 31 32 30 35 39 32 22 //2C 2C 22 30 39 2F 30 36 2F 32 35 2C 31 34 3A 31 36 3A 33 33 2B 33 32 22 2C 31 34 35 2C 34 2C 30 2C 30 // 2C 22 38 36 31 33 38 30 30 32 31 30 35 30 30 22 2C //31 34 35 2C 33 0D 0A 45 4E 44 0D 0A 30 0D //READ"," if((i=strsearch("READ\",\"",ptr1_at))) { i=i+6; if((uart_buff[i]=='8')&&(uart_buff[i+1]=='6')) { i=i+2; } for(j=0;j<20;j++) { ptr_tel[j]=uart_buff[i++]; if(uart_buff[i]==0x22) break; } ptr_tel[j+1]=0; ptr_tel[j+2]=0x00; } //AT_CMGF1 timercount=0; while(timercount<8) ; //從短信代碼中找到維一代碼與內(nèi)容間的字符 if((i=strsearch("\x0d\x0a",ptr1_at))) { i=i+1;//指針移動(dòng)兩位,指向內(nèi)容的第一個(gè)字符 //----內(nèi)容復(fù)制-將內(nèi)容放到para_temp里------------ for(j=0;j<=MAX_T-3;j++) { ptr1_code[j]=ptr1_at[i++]; //大小寫轉(zhuǎn)換 toupper(ptr1_code[j]); if(ptr1_at[i]==0x0d) { ptr1_code[++j]=0; break; } if(i>=MAX_TM) break; } //--------------------- } else goto err_dll; PDU_TEXT=1;//文本 //------------------------------------------------------------ i=0; if(strsearch1(i,"START",ptr1_code)) { IO_OUT=0; //繼電器吸合 strcpy(ptr1_code,"OUT ON OK\x1a"); return(1); } else if(strsearch1(i,"END",ptr1_code)) { IO_OUT=1; // 繼電器斷開 strcpy(ptr1_code,"OUT OFF OK\x1a"); return(1); } if(strsearch1(i,"1START",ptr1_code)) { IO_OUT1=1; //繼電器吸合 strcpy(ptr1_code,"OUT ON OK1\x1a"); return(1); } else if(strsearch1(i,"1END",ptr1_code)) { IO_OUT1=0; // 繼電器斷開 strcpy(ptr1_code,"OUT OFF OK1\x1a"); return(1); } if(strsearch1(i,"2START",ptr1_code)) { IO_OUT2=1; //繼電器吸合 strcpy(ptr1_code,"OUT ON OK2\x1a"); return(1); } else if(strsearch1(i,"2END",ptr1_code)) { IO_OUT2=0; // 繼電器斷開 strcpy(ptr1_code,"OUT OFF OK2\x1a"); return(1); } //------------------------------------------------------------------- else { //短信號(hào)碼刪除 AT+CMGD=01 err_dll: CMGD_GSM(ptr1_at, sms_num_tmp ); for(i=1;i<=MAX_TM-3;i++) { ptr1_at[i]=0; } Send_AT_Command(AT_CMGF1,ptr1_at,0); //中文方式 Send_AT_Command(AT_CNMI,ptr1_at,0);//AT+CNMI=2,1 } return(0); } /* ********************************************************************************************************* ** 函數(shù)名稱 READ_TEL() ** 函數(shù)功能 進(jìn)行SIM卡中的1到20條短信號(hào)碼的讀取 ** 全局變量或數(shù)組: receive_count 接收指針 ** 入口參數(shù) : AT指令 字符串 str_at- uart_buff str_code -para_temp ** *str_at=要復(fù)制的內(nèi)容/轉(zhuǎn)AT指令 ** *str_code 短信內(nèi)容 id 短信號(hào) ** 出口參數(shù) : 1-成功 0-失敗 ********************************************************************************************************* */ //====================================================================== //====================================================================== //====================================================================== uchar READ_TEL(char* ptr1_at,uchar id) //讀短信號(hào)碼1-20個(gè) { uchar idata ptr1[5],t; t=0; ptr1[t++]=(id/10)+0x30; ptr1[t++]=(id%10)+0x30; ptr1[t++]=0;ptr1[t++]=0x00; Send_AT_Command(SMS_CMGR,ptr1_at,ptr1); timercount=0; while(timercount<20) ; // if(t=strsearch("+CMGR: 0,,0",ptr1_at)) if(receive_count<10) {return(0); } return(1); } /* ********************************************************************************************************* ** 函數(shù)名稱 Initialize_Model() ** 函數(shù)功能 : 模塊初始化 ** 入口參數(shù) :ptr1_at --uart_buff AT指令發(fā)送用 ptr1_code -para_temp 參數(shù)內(nèi)容 ** 全局 變最 ptr1_at, uart_buff, receive_count ** 出口參數(shù) : ********************************************************************************************************* */ void Initialize_Model(char* ptr1_at,char* ptr1_code) //初始化 PIN檢測 { uchar i,j; GPS_ON=1; BELL=0; for(i=0;i<=100;i++) dmsec(1); BELL=1; // GPS_READ(ptr1_at,ptr1_code); ptr1_code[0]=0; for(i=0;i<15;i++) { //進(jìn)行初始化,并顯示 ATE0V0 = ATE0 ATV0 AT_E Send_AT_Command(AT_E,ptr1_at,0); Send_AT_Command(AT_INIT,ptr1_at,0); if(ptr1_at[1]==0x0d&&ptr1_at[0]==0x30) { break;} else if(ptr1_at[receive_count-1]==0x0d&&ptr1_at[receive_count-2]=='0') { break;} else if(i==1||i==7) { IO_IGT=0; timer_S_cnt=0; while(timer_S_cnt<3); IO_IGT=1; timer_S_cnt=0; while(timer_S_cnt<1); } timercount=0; while(timercount<60); } for(i=0;i<12;i++) { //讀卡 AT+CPIN? Send_AT_Command(AT_E,ptr1_at,0); Send_AT_Command(AT_INIT,ptr1_at,0); Send_AT_Command(AT_CPIN,ptr1_at,0) ; //如有收到回應(yīng)進(jìn)行分析收到的信息, timercount=0; while(timercount<2); if(j=strsearch("READY",ptr1_at)) break; timercount=0; while(timercount<60); } Send_AT_Command(AT_IPR,ptr1_at,0);//波特率 AT+IPR=9600 Send_AT_Command(AT_CGMM,ptr1_at,0); //模塊型號(hào) AT+CGMM P25_BIT_ID=0;P25_BIT=0; P24_BIT_ID=0;P24_BIT=0; P22_BIT_ID=0;P22_BIT=0; timer_S_cnt=0; while(timer_S_cnt<15) ; BELL=0; for(i=0;i<=100;i++) dmsec(1); BELL=1; Send_AT_Command(AT_CNMI,ptr1_at,0); Send_AT_Command(AT_CMGF1,ptr1_at,0);//AT+CMGF=1 } /* ********************************************************************************************************* ** 函數(shù)名稱 Sys_Init() ** 函數(shù)功能 : 單片機(jī)初始化 ** 入口參數(shù) : ** 全局 變最 timer_1S_cnt receive_count ** 出口參數(shù) : ********************************************************************************************************* */ void Sys_Init(void)//話機(jī)啟動(dòng)的初始化程序,包含鍵盤與定時(shí)器,串口等 { //TH0=(65536-46080)/256;//重新裝入定時(shí)25mS的初值到TH0,TL0 56320 //TL0=(65536-46080)%256; //65536-(11.0592/12)*20MS*1000=To 18432 47104 //1ms定時(shí) //11.0592/12 = 0.9216 M (記數(shù)頻率) //1ms記數(shù) 921.6次 //16位 2^16 - x = 922 x=64614 FC66 //定時(shí)器里不斷放fc66,不用懷疑51定時(shí)器得到的 1ms的精確性嗎 TH0 = 0xB8; TL0 = 0x00; //20ms的時(shí)鐘基準(zhǔn) //串口中斷 TI=0; RI=0; SCON=0x50; //選用方式1 TMOD=0x20; TMOD = (TMOD & 0xf0) | 1;//MODE 1 // TH1=0xe8; //波特率為9600 // TL1=0xe8; TH1=0xfd; //波特率為9600 TL1=0xfd; PCON=0x00; //倍頻0x80 IE = 0xb0; // EA XX ET2 ES ET0 EX0 ET1 EX1 TR1=1; //enable TIMER1 ES=1; //開串口開斷 TR0=1; //串口接收中斷 ET0=1; //T0 中斷 ET1=0; // T1 中斷 EA=1; P0=0xFF; P1=0xFF; P2=0xFF; P3=0xFF; // P4=0xff; timer_1S_cnt=0;receive_count=0; IO_IGT=1; } //====================================================== //這里為AT指令處理區(qū),所有的AT指令都在這時(shí)對(duì)uart_buff數(shù)組進(jìn)行賦值,并發(fā)送出去, //-正常情況下,AT指令反回也會(huì)在這里接收完 //------------------------ //----------------------- ///========================================== /* ********************************************************************************************************* ** 函數(shù)名稱 :Send_AT_Command() ** 函數(shù)功能 :串口AT指令發(fā)送前處理, ** 全局變量或數(shù)組: receive_count 接收指針 ** 入口參數(shù) : type =ID, 轉(zhuǎn)向所有 AT指令 字符串 str_at- uart_buff str_code -para_temp ** *str_at=要復(fù)制的內(nèi)容/轉(zhuǎn)AT指令 ** *str_code 與*str_at合并的參數(shù) //AT指令參數(shù) ** 出口參數(shù) : 1- 成功, 0- 失敗 ********************************************************************************************************* */ uchar Send_AT_Command( uchar type,uchar *str_at ,uchar *str_code) //發(fā)送AT指令 //撥號(hào)時(shí)號(hào)碼放在phone.number //其他用para_temp { uint i; GPS_ON=1; switch(type) { case AT_CPIN: //檢查當(dāng)前是否要輸入PIN碼 strcpy(str_at,"AT+CPIN?"); break; // AT_E case AT_E: //ATE0 功能關(guān)回顯 ATE1 開回顯 strcpy(str_at,"ATE0"); break; case AT_INIT: //ATV0 回復(fù)方式 30 0D ATV1 回復(fù)方式 OK strcpy(str_at,"ATV0"); break; //0D 0A 54 43 33 35 0D 0A case AT_CGMM: //模塊版型號(hào) strcpy(str_at,"AT+CGMM"); break; case AT_CMGF1: //SMS 接收方式, strcpy(str_at,"AT+CMGF=1"); break; // AT_CNMI case AT_CNMI: // AT+CNMI=2,1 strcpy(str_at,"AT+CNMI=2,1"); break; case AT_IPR: // 波特率 9600 strcpy(str_at,"AT+IPR=9600"); break; case SMS_CMGL: //讀所有短信 strcpy(uart_buff,"AT+CMGL=\"ALL\""); // strcpy(str_at,"AT+CMGL=4"); // strcat(uart_buff,ptr); break; case SMS_CMGR: //讀一個(gè)短信 strcpy(str_at,"AT+CMGR="); strcat(str_at,str_code); break; case SMS_CMGD: //刪除一個(gè)短信 strcpy(str_at,"AT+CMGD="); strcat(str_at,str_code); break; case AT_CPMS: strcpy(str_at,"AT+CPMS=\x22SM\x22"); break; //AT_CPMS case SMS_CMGS: //寫一個(gè)短信 strcpy(str_at,"AT+CMGS=\""); //AT+CMGS= "13818120592" strcat(str_at,str_code); strcat(str_at,"\""); break; //---------------------------------------------------- case CMGS_MUB: //發(fā)報(bào)警短信內(nèi)容 strcpy(str_at,str_code); break; //---------------------------------------------------------- //----------------------------------------------- case AT_COMMAND: break; default: receive_count=0; return(TRUE); } ES=1; strcat(str_at,"\x0d\x00");//在命令后加入CR RI=0; //清除接收標(biāo)志 TI=0; //------------------------------ for(i=0;i<MAX_TM;i++) { if(str_at[i]==0) break; SBUF=str_at[i]; while(!TI); TI=0; } //--------------------- receive_count=0; str_at[0]=0; str_at[1]=0;str_at[2]=0; i=0; timer_S_cnt=0; do{ dmsec(3); if(receive_count>1) { // dmsec(50); timercount=0; while(timercount<30); break; } }while(timer_S_cnt<3); // 延時(shí)是自動(dòng)累加 在T0定時(shí)器中累加 return(TRUE); } /******************************************/ void main(void) { uchar j,i; uint r,t; bit y; Sys_Init(); P25_BIT=0; P24_BIT=0; P22_BIT=0; Initialize_Model(uart_buff,para_temp);//進(jìn)行初始化 P0=1; //P25_BIT_ID=0;P25_BIT=0; P25_BIT=0; P24_BIT=0; P22_BIT=0; receive_count=0; j=0; //做PT2272插入 指示 r=0;t=0; y=1; while(1) { i=read_sms(uart_buff,para_temp,TEL_temp); //timer_S_cnt=0; if(i==0) { receive_count=0; timer_S_cnt=0; while(timer_S_cnt<60) { if(strsearch( "+CMTI:",uart_buff)) { break; } if(receive_count>=7) {break; } /* 硬件 必須是 PT2272-M4接收板D0-D3 可以連其中一個(gè)腳便可 流程分析 PT2272 D0-D3輸出腳 在沒有收到信號(hào)時(shí)為低電平, 收到控制信號(hào)后變高電來,延時(shí)1S左右 后 變回低電平 軟件實(shí)現(xiàn) 先 用IO 檢測電平 應(yīng)先是低電平 進(jìn)入等待控制 ,如果先是高電平,不應(yīng)該理會(huì), 因?yàn)闆]有 插入PT2272 時(shí)IO電平就是高電平 */ if(P25_BIT==1) //PT2272電平接入 { j=1; //當(dāng)?shù)扔?才會(huì)發(fā)短信 P25_BIT=0; break; } if(P24_BIT==1) //PT2272電平接入 { j=1; //當(dāng)?shù)扔?才會(huì)發(fā)短信 P24_BIT=0; break; } if(P22_BIT==1) //PT2272電平接入 { j=1; //當(dāng)?shù)扔?才會(huì)發(fā)短信 P22_BIT=0; break; } j=0; } } else { //加入回復(fù)短信程序 Send_AT_Command(AT_CMGF1,uart_buff,0); Send_AT_Command(AT_CMGF1,uart_buff,0); timercount=0; while(timercount<20); //AT+CMGS= "13818120592" > Send_AT_Command(SMS_CMGS,uart_buff,TEL_temp); timercount=0; while(timercount<10); Send_AT_Command(CMGS_MUB,uart_buff,para_temp); timer_S_cnt=0; while(timer_S_cnt<10); j=0; CMGD_GSM(uart_buff,sms_num_tmp ); } if((j==1)) //有控制信號(hào) 接入 { Send_AT_Command(AT_CMGF1,uart_buff,0); timercount=0; while(timercount<10); //AT+CMGS= "15639183228" > strcpy(para_temp,"13462424976"); Send_AT_Command(SMS_CMGS,uart_buff,para_temp); strcpy(para_temp,"Please be careful"); strcat(para_temp,"\x1a"); Send_AT_Command(CMGS_MUB,uart_buff,para_temp); timer_S_cnt=0; while(timer_S_cnt<10); j=0; } } }

作品圖片

  • 手機(jī)節(jié)能遠(yuǎn)程控制
  • 手機(jī)節(jié)能遠(yuǎn)程控制
  • 手機(jī)節(jié)能遠(yuǎn)程控制
  • 手機(jī)節(jié)能遠(yuǎn)程控制
  • 手機(jī)節(jié)能遠(yuǎn)程控制

作品專業(yè)信息

設(shè)計(jì)、發(fā)明的目的和基本思路、創(chuàng)新點(diǎn)、技術(shù)關(guān)鍵和主要技術(shù)指標(biāo)

目的:提高自己的動(dòng)手能力,展現(xiàn)當(dāng)代大學(xué)生創(chuàng)新能力風(fēng)采,增強(qiáng)大學(xué)生的學(xué)習(xí)興趣。 基本思路:綜合運(yùn)用單片機(jī)、傳感器、太陽能、無線控制知識(shí),實(shí)現(xiàn)家電智能控制。使用Protel軟件設(shè)計(jì)電路板并完成制作與調(diào)試。 單片機(jī)控制、短信遠(yuǎn)程控制、太陽能給蓄電池充電、傳感器控制、無線控制綜合運(yùn)用,實(shí)現(xiàn)基于單片機(jī)的復(fù)雜控制系統(tǒng)。C語言編程和功能執(zhí)行的短信顯示。

科學(xué)性、先進(jìn)性

(1)、采用單片機(jī)控制一系列系統(tǒng),用單片機(jī)控制二極管發(fā)光間斷顯示標(biāo)志。無線控制家電系統(tǒng),使其運(yùn)行自如。 (2)、將單片機(jī)與GTM900-C模塊集成在一起,操作簡便、方便,便于控制。 (3)、一個(gè)單片機(jī)控制多個(gè)系統(tǒng),并用短信方式發(fā)送到手機(jī),安全性高,可調(diào)性好,方便度增高,易于遠(yuǎn)程控制。 (4)、系統(tǒng)裝有SIM卡,能隨時(shí)隨地控制家里電器的運(yùn)行變狀態(tài)。 (5)、模型采用紅外傳感器和紅外對(duì)管傳感器,具有防盜警報(bào)功能,為家居提供安全性。

獲獎(jiǎng)情況及鑒定結(jié)果

作品所處階段

實(shí)驗(yàn)階段

技術(shù)轉(zhuǎn)讓方式

作品可展示的形式

現(xiàn)場演示、圖片、錄像、樣品

使用說明,技術(shù)特點(diǎn)和優(yōu)勢,適應(yīng)范圍,推廣前景的技術(shù)性說明,市場分析,經(jīng)濟(jì)效益預(yù)測

作品使用方法:本作品為方便使用操作,附有兩張SIM(手機(jī))卡,其中模塊接收卡(2)已安裝在模塊上,號(hào)碼為(15239136372)。另一張 SIM卡(1)插入任意手機(jī)即可使用。 然后開啟主板電源開關(guān),并把接收端電源插頭通電即可使用。發(fā)送START控制電燈工作,發(fā)送END關(guān)閉電燈。發(fā)送1START控制插座工作,發(fā)送1END 關(guān)閉插座工作,并回復(fù)設(shè)置的信息內(nèi)容。(可同時(shí)控制,也可分開控制。手機(jī)信號(hào)差時(shí)請(qǐng)耐心等待大約30S)。 紅外釋熱傳感器感應(yīng)到有人時(shí)會(huì)給設(shè)定的手機(jī)號(hào)碼發(fā)信息提示,紅外對(duì)管中間感應(yīng)到物體時(shí)也給設(shè)定的手機(jī)號(hào)碼發(fā)信息提示。 采用單片機(jī)控制一系列系統(tǒng),用單片機(jī)控制二極管發(fā)光間斷顯示標(biāo)志,智能防盜設(shè)置,無線控制家電系統(tǒng),使其運(yùn)行自如。 將單片機(jī)集成到一起,操作簡便、方便,便于控制。一個(gè)單片機(jī)控制裝置,可調(diào)性好。 運(yùn)用所學(xué)知識(shí),讓智能家電控制走進(jìn)人們生活中,讓人們的生活更加愜意方便,展現(xiàn)用單片機(jī)控制的優(yōu)點(diǎn)和帶來的實(shí)用性為市場提供巨大的經(jīng)濟(jì)效益。

同類課題研究水平概述

當(dāng)前GTM模塊控制方式多樣化,各種系統(tǒng)裝置形式多樣,比如帶有全球定位系統(tǒng),紅外感應(yīng)器,射頻識(shí)別系統(tǒng)等。 附GTM模塊是用手機(jī)數(shù)字信號(hào)傳送方式: a、隨著全球一體化,工業(yè)自動(dòng)化和信息化進(jìn)程的不斷深入,手機(jī)和家電,防盜系統(tǒng)悄然來臨。 b、智能控制模塊是指具有對(duì)全面感知能力的物體及人的互聯(lián)集合 c、GTM模塊可以實(shí)現(xiàn)對(duì)各種物品(包括人)進(jìn)行自能化識(shí)別、定位、跟蹤、監(jiān)控、成像和管理。 但歸根結(jié)底還是利用GTM模塊,傳感器,無線控制和單片機(jī)控制,以及在此基礎(chǔ)上的拓展和創(chuàng)新。
建議反饋 返回頂部