找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 28056|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

基于GSM的遠(yuǎn)程家庭智能報(bào)警系統(tǒng)設(shè)計(jì)資料

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
摘要
隨著生活水平的提高,人們對自我財(cái)產(chǎn)的保護(hù)意識逐漸增強(qiáng),同時伴隨著現(xiàn)代科技逐步走進(jìn)人們的生活,智能家居應(yīng)運(yùn)而生。報(bào)警系統(tǒng)作為智能家居的一部分備受人們重視,而市場上的報(bào)警系統(tǒng)的設(shè)計(jì)雖日漸成熟,但依然有缺陷。本設(shè)計(jì)獨(dú)辟蹊徑,運(yùn)用加速度傳感器作為主要感知層,這樣不用限制門窗的材質(zhì),使報(bào)警系統(tǒng)更加完善。
              本設(shè)計(jì)針對現(xiàn)有的GSM無線網(wǎng)絡(luò),介紹了基于GSM的遠(yuǎn)程家庭智能報(bào)警系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)方法。利用各種傳感器,如溫濕度傳感器、加速度傳感器等對家中可能出現(xiàn)的各種意外情況進(jìn)行采集,并通過組建的家中內(nèi)部無線網(wǎng)絡(luò)及時向單片機(jī)進(jìn)行中斷報(bào)警。GSM模塊在單片機(jī)控制下,利用GSM網(wǎng)絡(luò),將各種報(bào)警信息通過短信的方式發(fā)送到預(yù)先設(shè)定的手機(jī)中,達(dá)到了遠(yuǎn)程無線智能報(bào)警的功能。同時,本文在對加速度信號的處理上,采用新的方法,即使用加速度平均值,并設(shè)定參考點(diǎn)的思路和方法,有效避免了漏報(bào)、誤報(bào)現(xiàn)象的產(chǎn)生,是系統(tǒng)更加穩(wěn)定。經(jīng)過測試,該系統(tǒng)經(jīng)濟(jì)、可靠、穩(wěn)定性高。家庭無需為傳感器布線,具有廣泛的市場推廣價值。

目錄
1 引言
1.1 國內(nèi)外現(xiàn)狀
1.2 設(shè)計(jì)目的與意義
1.3 系統(tǒng)結(jié)構(gòu)流程圖
2 硬件設(shè)計(jì)
2.1 傳感器的選型
2.1.1 MMA7455I加速度傳感器
2.1.2              DHT11溫度傳感器
2.2 PT2262/2272無線收發(fā)模塊
2.3 AT89S52單片機(jī)模塊
2.3.1              AT89S52單片機(jī)概述
2.3.2              AT89S52單片機(jī)的典型功能
2.4 GSM模塊
3 軟件設(shè)計(jì)
3.1系統(tǒng)軟件設(shè)計(jì)的總體思路
3.1.1主函數(shù)軟件設(shè)計(jì)流程圖
3.1.2 基于C語言的程序調(diào)試
3.2 系統(tǒng)各功能模塊的軟件設(shè)計(jì)
3.2.1 溫度傳感器DHT11的軟件設(shè)計(jì)
3.2.2 加速度傳感器MMA7455的軟件設(shè)計(jì)
3.2.3 IIC通訊協(xié)議
3.2.4 液晶顯示的軟件設(shè)計(jì)
3.2.5 GSM模塊中的AT指令
4 系統(tǒng)調(diào)試
4.1液晶顯示
4.2 GSM的調(diào)試
4.3加速度傳感器的調(diào)試
4.4 DHT11溫濕度傳感器
5 總結(jié)與展望
5.1總結(jié)
5.2展望
參考文獻(xiàn)
致謝
附錄一 原理圖
附錄二 程序



                            1 引言1.1 國內(nèi)外現(xiàn)狀
              在目前國內(nèi)現(xiàn)代化居住格局日益封閉的情況下,財(cái)產(chǎn)安全問題顯得尤為重要。當(dāng)前安全防范及報(bào)警系統(tǒng)是確保住宅、財(cái)產(chǎn)安全的重要的途徑之一,同時也是數(shù)字化家庭的重要組成部分。當(dāng)遇到盜竊、失火、煤氣泄漏等緊急情況時,及時通過通信系統(tǒng)完成報(bào)警以及提示就顯得尤為必要。
目前的、家居報(bào)警系統(tǒng)領(lǐng)域多用到開關(guān)振動、超聲波、紅外探測、門磁開關(guān)等類型的傳感器,其在應(yīng)用過程中暴露出諸多的缺點(diǎn):首先,傳感器價格昂貴,體積龐大,難以集成。比如超聲波傳感器,體積大,市場價在8 元左右,操作復(fù)雜,易受干擾;其次,誤報(bào)現(xiàn)象比較嚴(yán)重,困擾人們的生活,比如我們家里面電車或者汽車上常用的震動型傳感器,在人不小心碰到時就會發(fā)出刺耳的警笛聲,雖然起到了一定的報(bào)警作用,但是給人的生活帶來很大困擾,并且當(dāng)人距離報(bào)警聲音傳播范圍之外時,亦無法知道車輛的安全狀況。另外,市場上并沒有一種專業(yè)的報(bào)警系統(tǒng),能讓人隨時隨地的知道家庭公司等安全狀況,并能夠顯示警情位置,警情級別等。
同時大多數(shù)的報(bào)警系統(tǒng)采用紅外傳感器和門磁開關(guān)配合使用,而門磁開關(guān)主要由開關(guān)和磁鐵兩部分組成,開關(guān)部分由磁簧開關(guān)經(jīng)引線連接。定型封裝而成;磁鐵部分由對應(yīng)的磁場強(qiáng)度的磁鐵封裝于塑膠或合金殼體內(nèi)。當(dāng)兩者分開或接近至一定距離后,引起開關(guān)的開斷從而感應(yīng)物體。因而門磁開關(guān)只適合非鐵質(zhì)的門或窗,但現(xiàn)代家居設(shè)計(jì)中,大部分使用的都是鐵質(zhì)合金,門磁開關(guān)的應(yīng)用范圍大大地受限。
1.2 設(shè)計(jì)目的與意義
              基于單片機(jī)的智能家居防盜系統(tǒng)著重于對家中涉及安全的因素進(jìn)行監(jiān)控和報(bào)警,用到的傳感器有加速度傳感器、溫度傳感器、煙霧傳感器;控制期間使用AT89S51單片機(jī);并且采用無線網(wǎng)絡(luò)GSM節(jié)點(diǎn),采用直接發(fā)送短信或撥打電話的方式直接向戶主報(bào)警。使得報(bào)警更加快捷方便,同時不用布線,避免了維修的復(fù)雜性。
同時本設(shè)計(jì)介紹了一種由嵌入式報(bào)警主機(jī)、無線發(fā)射裝置,手機(jī)終端,無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)構(gòu)成的智能報(bào)警系統(tǒng)。
首先本系統(tǒng)采用新型的加速度傳感器,能夠?qū)㈤T窗的震動和移動兩種狀態(tài)區(qū)別開來,當(dāng)門窗產(chǎn)生震動而沒有發(fā)生位移時,通過程序計(jì)算沒有達(dá)到位移門限就判斷為沒有異常情況發(fā)生。當(dāng)門窗發(fā)生移動時,說明家中可能已經(jīng)被盜處以較危險(xiǎn)的情況,此時告知戶主,拉響警笛,這樣就解決了傳統(tǒng)報(bào)警系統(tǒng)給人們生活帶來的干擾。
同時我們將溫度傳感器布防在廚房、客廳的等地方,通過無線通信技術(shù)形成一個傳感器網(wǎng)絡(luò),與家庭嵌入式主機(jī)系統(tǒng)通信。當(dāng)某個傳感器被觸發(fā)時,就會向主機(jī)發(fā)送信號,主機(jī)通過接收到的信號判斷警情地址,警情級別做出相應(yīng)的判斷后,通過GSM模塊兒發(fā)送相應(yīng)的信息,信息被手機(jī)捕獲經(jīng)軟件分析后,發(fā)出語音告知機(jī)主。
1.3 系統(tǒng)結(jié)構(gòu)流程
本設(shè)計(jì)主要由三大部分組成,分別為:感知網(wǎng)絡(luò)、控制主機(jī)、客戶終端。該框圖詳細(xì)的說明了該設(shè)計(jì)的工作流程,我們的產(chǎn)品分為兩部分,有家庭傳感器節(jié)點(diǎn)組成的感知網(wǎng)絡(luò),傳感器信號經(jīng)MCU分析后由2262配置一個唯一的地址,將信號發(fā)給家庭主機(jī),經(jīng)分析后經(jīng)GSM模塊向手機(jī)發(fā)射出相應(yīng)的語音報(bào)警信息,告知機(jī)主。
                            圖1-1 系統(tǒng)結(jié)構(gòu)流程圖


2 硬件設(shè)計(jì)
              本系統(tǒng)的硬件主要是由傳感器網(wǎng)路、PT2262/2267無線收發(fā)模塊、MCU控制器、GSM模塊組成。下圖是總體硬件結(jié)構(gòu):
圖2-1 系統(tǒng)硬件結(jié)構(gòu)
傳感器部分主要是采集家中安全信息,如溫度、門窗的移動情況,而本設(shè)計(jì)最有特色的部分也在于傳感器的選擇,采用新型的加速度傳感器,使防盜模塊更完善;AT2262/2272是用于無線連接傳感器與單片機(jī)的部分,此部分避免了防盜系統(tǒng)大量的布線工作;單片機(jī)主要是對采集信息的處理、判斷并做出相應(yīng)的處理過程,是整個系統(tǒng)的大腦;GSM模塊主要是用于聯(lián)系用戶,現(xiàn)代在手機(jī)十分普及的背景下,采用GSM模塊進(jìn)行短息或語音通話直接通知戶主家庭安全情況,會非�?旖荩沟眉抑邪踩闆r得到及時處理。下面對各部分硬件進(jìn)行詳細(xì)說明。
2.1 傳感器的選型2.1.1 MMA7455I加速度傳感器
2.1.1.1MMA7455工作原理及引腳功能
本設(shè)計(jì)使用的是飛思卡爾公司的MMA7455I,飛思卡爾公司有穩(wěn)定的人員隊(duì)伍。該公司在全球30個國家擁有24000 多名研發(fā)和設(shè)計(jì)人員,人員結(jié)構(gòu)知識化,年輕化,有穩(wěn)定的教師和輔助人員隊(duì)伍。其中,天津飛思卡爾公司擁有 40 多名研發(fā)和設(shè)計(jì)人員,90%以上擁有研究生學(xué)歷。
該公司在全球30個國家擁有多家公司。飛思卡爾全球有9個全資生產(chǎn)工廠,一個合營生產(chǎn)設(shè)施,還有與第三方生產(chǎn)商建立的諸多合作關(guān)系等。飛思卡爾根據(jù)輕資產(chǎn)(asset-light)戰(zhàn)略,有選擇地將內(nèi)部生產(chǎn)能力集中在處于領(lǐng)先地位的細(xì)分化或?qū)I(yè)加工工藝上,由第三方工廠提供標(biāo)準(zhǔn)工藝技術(shù),作為內(nèi)部資源的補(bǔ)充。1992 年,飛思卡爾公司開始在天津開展業(yè)務(wù),包括在天津的封裝和測試運(yùn)行部門,北京、蘇州和天津3個研發(fā)中心,北京、上海和深圳3個銷售辦事處。天津工廠成立于 1992 年,是飛思卡爾擁有的兩個大型芯片測試和封裝工廠之一。該工廠占地 400,000 平方英尺,從 2001 年開始投入生產(chǎn)。工廠每周生產(chǎn)超過 900 萬個微控制器、混合信號和射頻設(shè)備。該公司可提供生產(chǎn)實(shí)習(xí)、設(shè)計(jì)的實(shí)習(xí)設(shè)備和場地。
飛思卡爾公司有堅(jiān)實(shí)的科研和技術(shù)生產(chǎn)活動。該公司的客戶包括摩托羅拉的個人通訊事業(yè)部,以及一些其它消費(fèi)和汽車電子廠商。2006年,飛思卡爾在下列領(lǐng)域居于市場領(lǐng)先地位:汽車(全球汽車半導(dǎo)體產(chǎn)品市場份額位居第一)、網(wǎng)絡(luò)(全球網(wǎng)絡(luò)通信處理器市場份額第一;全球用于蜂窩基站的射頻功率產(chǎn)品市場份額位居第一)、工業(yè)控制器、消費(fèi)電子產(chǎn)品(微控制器和嵌入式處理器市場份額位居第二)和無線產(chǎn)品(無線通信應(yīng)用專用標(biāo)準(zhǔn)產(chǎn)品市場份額位居第四;蜂窩手機(jī)數(shù)字基帶半導(dǎo)體產(chǎn)品全球市場份額位居第四)。公司為客戶提供廣泛多樣的輔助設(shè)備,連接各種產(chǎn)品、網(wǎng)絡(luò)和真實(shí)世界的信號(如聲音、振動和壓力等)。產(chǎn)品包括傳感器、射頻半導(dǎo)體、功率管理及其它模擬和混和信號集成電路。飛思卡爾全球現(xiàn)有1萬個終端客戶,其中包括由公司自己的銷售隊(duì)伍服務(wù)的100多家知名的原始設(shè)備生產(chǎn)商,以及通過數(shù)千個代理商網(wǎng)絡(luò)服務(wù)的其他終端客戶。2004年,摩托羅拉半導(dǎo)體部成為飛思卡爾半導(dǎo)體。例如,開發(fā)出了許多關(guān)鍵產(chǎn)品類別,包括通信處理器、微控制器、固態(tài)加速度傳感器、蜂窩式半導(dǎo)體和模塊等。摩托羅拉半導(dǎo)體部一直引領(lǐng)加工工藝技術(shù)的發(fā)展,從率先使用200毫米硅片、銅連線技術(shù)、絕緣體上的硅芯片(SOI)到硅鍺碳,為客戶帶來了性能更高、性能更低的產(chǎn)品。因此選用飛思卡爾公司的傳感器是十分可靠的選擇。
MMA7455是一款數(shù)字輸出(I2C/SPI)、低功耗、緊湊型電容式微機(jī)械加速度計(jì),具有信號調(diào)理、低通濾波器、溫度補(bǔ)償、自測、可配置通過中斷引腳(INT1或INT2)檢測0g,以及脈沖檢測(用于快速運(yùn)動檢測)等功能。0g 偏置和靈敏度是出廠配置,無需外部器件�?蛻艨墒褂弥付ǖ�0g 寄存器和g-Select 量程選擇對0g 偏置進(jìn)行校準(zhǔn), 量程可通過命令選擇 3 個加速度范圍(2g/4g/8g)。MMA745xL 系列具備待機(jī)模式,使它成為以電池為電源的手持式電子器件的理想選擇。MMA7455 數(shù)字三軸加速度傳感器模塊核心為飛思卡爾公司的MMA7455L數(shù)字三軸加速度傳感器,該模塊設(shè)計(jì)使用官方推薦設(shè)計(jì),板卡線路經(jīng)過高電磁兼容設(shè)計(jì)和優(yōu)化,具有輸出精確,體積小,工作可靠,各種標(biāo)識清晰,擴(kuò)展性好等特點(diǎn)。MMA7455L 芯片安裝在帶DIP 插腳的印刷電路板(PCB)上,它允許客戶將其集成到特定的設(shè)計(jì)應(yīng)用對產(chǎn)品進(jìn)行評估。這樣客戶就能夠在他們自己硬件和軟件環(huán)境內(nèi)靈活地評估器件。
MMA7455I是三軸小量程加速傳感器是檢測物件運(yùn)動和方向的傳感器,它根據(jù)物件運(yùn)動和方向改變輸出信號的電壓值。后面的圖片示出了它們的關(guān)系。各軸的信號在不運(yùn)動或不被重力作用的狀態(tài)下(0g),其輸出為1.65V。如果沿著某一個方向活動,或者受到重力作用,輸出電壓就會根據(jù)其運(yùn)動方向以及設(shè)定的傳感器靈敏度而改變其輸出電壓。用單片機(jī)的IIC/SPI接口方式讀取數(shù)值,就可以檢測其運(yùn)動和方向。
圖2-2 MMA7455實(shí)物圖
各引腳功能:
Pin:輸入電壓,同時可以接到單片機(jī)AD參考電壓端;
Pin2:(可選)5V電源;
Pin3、GND:電源地;
Pin456、NC:懸空管腳;
Pin7、CS:SPI片選管腳,低電平有效;
Pin8、INT1:中斷1/數(shù)據(jù)準(zhǔn)備就緒;
Pin9、INT2:中斷2;
Pin10、MISO:SPI管腳MISO;
Pin11、MOSI:SPI管腳MOSI;
Pin12、CLK:SPI管腳CLK;

圖2-3 MMA7455的外圍電路

2.1.1.2用加速度傳感器測量位移的原理與誤差分析
              MMA7455I是一種差容式伺服加速度傳感器,它采用先進(jìn)的集成電路表面加工技術(shù),將敏感元件和信號調(diào)理電路集成在單片集成電路上,組成一個完整的加速度測量系統(tǒng).安裝時使加速度傳感器的敏感方向與門窗運(yùn)動的方向平行,由于重力加速度g 的作用,當(dāng)加速度傳感器不運(yùn)動時,其輸出為1g,即傳感器的零點(diǎn)偏置不是0,此時加速度輸出值現(xiàn)對于參考點(diǎn)的位置有正有負(fù)。
              設(shè)a(t),v(t),d(t)和T分別是門或窗運(yùn)動的加速度、速度、位移和采樣的總周期,g(t)為重力加速度。當(dāng)門或窗運(yùn)動時,水平方向的加速度傳感器的輸出為:
A(t)=a(t)(2-1)
此時g(t)的變化是很小的,可看做是常數(shù)。作零點(diǎn)校正一般采用測量前先存儲零點(diǎn)值,計(jì)算時將測量值減去零點(diǎn)值的方法。這里根據(jù)門窗運(yùn)動的特點(diǎn),提出一種簡單方便的方法,用這種方法可以實(shí)現(xiàn)加速度傳感器的動態(tài)零點(diǎn)校正。
由于加速度傳感器的輸出采用了零點(diǎn)校正,因而只需考慮門窗運(yùn)動的加速度積分得門窗運(yùn)動的速度。

                   (2-2)

若將看成下始點(diǎn)的初始速度,則于是同樣,位移可以通過對速度積分得到

                  (2-3)

那么門窗的相對位移用加速度傳感器測量位移的算法可簡要表述為:
將一個周期的加速度的測量值減去其平均值,令邊界條件為零,對修正后的加速度積分得到速度,將所求速度減去其平均值,令邊界條件為零,對修正后的速度積分即得到相對位移。
2.1.2              DHT11溫度傳感器
本設(shè)計(jì)使用的是溫濕度傳感器DHT11,DHT11 數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC 測溫元件,線性溫度傳感器是線性化輸出負(fù)溫度系數(shù)(簡稱NTC)熱敏元件,它實(shí)際上是一種線性溫度-電壓轉(zhuǎn)換元件,就是說通以工作電流(100ua)條件下,元件電壓值隨溫度呈線性變化,實(shí)現(xiàn)了非電量到電量線性轉(zhuǎn)換。并與一個高性能8 位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價比極高等優(yōu)點(diǎn)。

圖2-4 DHT11實(shí)物圖
每個DHT11 傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲存在OTP 內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達(dá)20 米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選則。產(chǎn)品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。
綜上所述,DHT11可以測量相對濕度和溫度,可以全部校準(zhǔn),并且直接轉(zhuǎn)換成數(shù)字信號輸出,此模塊具有卓越的長期穩(wěn)定性,無需額外添加部件,可以實(shí)現(xiàn)超長的信號傳輸距離,超低能耗,是四腳安裝的,可以完全實(shí)現(xiàn)互換。
DHT11的應(yīng)用范圍有暖通空調(diào)設(shè)備、汽車領(lǐng)域、消費(fèi)品、氣象站、濕度調(diào)節(jié)器、測試及檢測設(shè)備、數(shù)據(jù)記錄器、自動控制、家電領(lǐng)域、醫(yī)療器械等等。在本設(shè)計(jì)中,DHT11主要是用來監(jiān)測室內(nèi)溫度狀況,當(dāng)家中有火災(zāi)發(fā)生時,居室中溫度升高,當(dāng)溫度超過一定的溫度閥值時,溫度信號被傳感器采集到發(fā)送給單片機(jī),單片機(jī)經(jīng)過處理、判斷,執(zhí)行報(bào)警,有效地避免災(zāi)情進(jìn)一步發(fā)生。
表2-1 DHT11的性能說明
參數(shù)
條件
Min
Typ
Max
單位
分辨率

1
1
1
8
8
8
Bit
重復(fù)性


±1

精度

±1

±2
量程范圍

0

50
響應(yīng)時間
1/e(63%)
6

50
S
使用DHT11時需要注意避免結(jié)露情況下使用。長期保存條件是在10-40℃,同時濕度需在60%。超出建議的工作范圍可能導(dǎo)致高達(dá)3%RH的臨時性漂移信號。返回正常工作條后,傳感器會緩慢地向校準(zhǔn)狀態(tài)恢復(fù),要加速恢復(fù)進(jìn)程。在非正常工作條件下長時間使用會加速產(chǎn)品的老化過程。
表2-2 DHT11各管腳功能
Pin
名稱
注釋
1
VDD
供電 3—5.5VDC
2
DATA
串行數(shù)據(jù),單總線
3
NC
空腳,懸空
4
GND
接地,電源負(fù)極
              氣體的相對濕度,在很大程度上依賴于溫度。因此在測量濕度時,應(yīng)盡可能保證濕度傳感器在同一溫度下工作。如果與釋放熱量的電子元件共用一個印刷線路板,在安裝時應(yīng)盡可能將DHT11遠(yuǎn)離電子元件,并安裝在熱源下方,同時保持外殼的良好通風(fēng)。為降低熱傳導(dǎo),DHT11與印刷電路板其它部分的銅鍍層應(yīng)盡可能最小,并在兩者之間留出一道縫隙。長時間暴露在太陽光下或強(qiáng)烈的紫外線輻射中會使性能降低。DATA信號線材質(zhì)量會影響通訊距離和通訊質(zhì)量,推薦使用高質(zhì)量屏蔽線。手動焊接,在最高260℃的溫度條件下接觸時間須少于10秒。

圖2-5 DHT11應(yīng)用電路

              此電路即為本設(shè)計(jì)中DHT11的應(yīng)用電路。當(dāng)傳輸距離小于20米時使用5K的上拉電阻,當(dāng)傳輸距離大于20米時上拉電阻做相應(yīng)的改變。
DATA 用于微處理器與 DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當(dāng)前小數(shù)部分用于以后擴(kuò)展,現(xiàn)讀出為零。操作流程如下:
一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)和數(shù)據(jù)傳送正確時校驗(yàn)和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。
  • 其通訊過程如下如所示

圖2-6 通訊過程

              總線空閑狀態(tài)為高電平,主機(jī)把總線拉低等待DHT11響應(yīng),主機(jī)把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。DHT11接收到主機(jī)的開始信號后,等待主機(jī)開始信號結(jié)束,然后發(fā)送80us低電平響應(yīng)信號。主機(jī)發(fā)送開始信號結(jié)束后,延時等待20-40us后,讀取DHT11的響應(yīng)信號,主機(jī)發(fā)送開始信號后,可以切換到輸入模式,或者輸出高電平均可,總線由上拉電阻拉高。
用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分?jǐn)?shù)據(jù)。從模式下,DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機(jī)發(fā)送開始信號,DHT11不會主動進(jìn)行溫濕度采集。采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。

圖2-7 開始傳送數(shù)據(jù)

總線為低電平,說明DHT11發(fā)送響應(yīng)信號,DHT11發(fā)送響應(yīng)信號后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一位數(shù)據(jù)都以50us低電平時隙開始,高電平的長短定數(shù)據(jù)位是0還是1。格式見下面圖示,如果讀取響應(yīng)信號為高電平,則DHT11沒有響應(yīng),請檢查線路是否連接正常。當(dāng)最后一位數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高,進(jìn)入空閑狀態(tài)。

圖2-8 數(shù)字0信號表示方法

圖2-9 數(shù)字1信號表示方法

測量分辨率分別為 8bit(溫度)、8bit(濕度)。上面各圖說明了DHT11在工作時的時序圖,也有助于之后編程時調(diào)用延時的時間。
2.2 PT2262/2272無線收發(fā)模塊
              由于本設(shè)計(jì)成本和本人的能力有限,在本設(shè)計(jì)的實(shí)際硬件中沒有用到此模塊,但這一模塊在原始設(shè)計(jì)的理念中是不可或缺的一部分,因?yàn)檫@一部分可以有效避免不必要的布線問題,同時也便于傳輸出現(xiàn)故障時進(jìn)行有效快捷的維修。因此,在此文中對這一模塊進(jìn)行詳細(xì)地說明是十分必要的,同時也可提高我的知識面。
              PT2262/2272是臺灣普城公司生產(chǎn)的一種CMOS工 藝制造的低功耗低價位通用編解碼電路,PT2262/2272最多可有12位(A0-A11)三態(tài)地址端管腳(懸空,接高電平,接低電平),任意組合可提供531441地址碼,PT2262最多可有6位(D0-D5)數(shù)據(jù)端管腳,設(shè)定的地址碼和數(shù)據(jù)碼從17腳串行輸出,可用于無線遙控發(fā)射電路。
編碼芯片PT2262發(fā)出的編碼信號由:地址碼、數(shù)據(jù)碼、同步碼組成一個完整的碼字,解碼芯片PT2272接收到信號后,其地址碼經(jīng)過兩次比較核對后,VT腳才輸出高電平,與此同時相應(yīng)的數(shù)據(jù)腳也輸出高電平,如果發(fā)送端一直按住按鍵,編碼芯片也會連續(xù)發(fā)射。當(dāng)發(fā)射機(jī)沒有按鍵按下時,PT2262不接通電源,其17腳為低電平,所以315MHz的高頻發(fā)射電路不工作。當(dāng)有按鍵按下時,PT2262得電工作,其第17腳輸出經(jīng)調(diào)制的串行數(shù)據(jù)信號,當(dāng)17腳為高電平期間315MHz的高頻發(fā)射電路起振并發(fā)射等幅高頻信號,當(dāng)17腳為低平期間315MHz的高頻發(fā)射電路停止振蕩,所以高頻發(fā)射電路完全收控于PT2262的17腳輸出的數(shù)字信號,從而對高頻電路完成幅度鍵控(ASK調(diào)制)相當(dāng)于調(diào)制度為100%的調(diào)幅。

圖2-10 PT2262 無線發(fā)射模塊

2262無線發(fā)射模塊電路圖,該電路由A0……A5可以配置該芯片地址,當(dāng)2272的設(shè)置的地址與其相標(biāo)配時,才能接收到信號�?刂艱0……D7的高低電平配置可以發(fā)相應(yīng)的數(shù)據(jù),比如我們可以經(jīng)D0口經(jīng)過模擬電路與單片機(jī)相連,此時若P1^0口為高電平此時2262工作,并將D0高電平的信號發(fā)射出,經(jīng)2272解碼后將信息翻譯處理來。發(fā)射電路有DOUT口經(jīng)驅(qū)動電路經(jīng)紅外發(fā)射頭發(fā)出。

圖2-11 PT2272無線接收模塊

U12為一體化紅外接收頭,接收到信號后,經(jīng)2272解碼,將信息經(jīng)D0……D3口輸出,我們通過電路設(shè)置使不同的傳感器電路,觸發(fā)2262不同的數(shù)據(jù)I/O口,這樣單片機(jī)通過采集2272的數(shù)據(jù)接口就可以知道報(bào)警傳感器的位置,從而坐車相應(yīng)的處理。

圖2-12 PT2272 無線接收模塊

設(shè)置地址碼的原則是:同一個系統(tǒng)地址碼必須一致;不同的系統(tǒng)可以依靠不同的地址碼加以區(qū)分。
PT2262/2272芯片的地址碼的設(shè)定:在通常使用中,一般采用8位地址碼和4位數(shù)據(jù)碼,這時編碼電路PT2262和解碼PT2272的第1~8腳為地址設(shè)定腳,有三種狀態(tài)可供選擇:懸空、接正電源、接地三種狀態(tài),3的8次方為6561,所以地址編碼不重復(fù)度為6561組,只有發(fā)射端PT2262和接收端PT2272的地址編碼完全相同,才能配對使用,例如將發(fā)射機(jī)的PT2262的第2腳接地第3腳接正電源,其它引腳懸空,那么接收機(jī)的PT2272只要第2腳接地第3腳接正電源,其它引腳懸空就能實(shí)現(xiàn)配對接收。當(dāng)兩者地址編碼完全一致時,接收機(jī)對應(yīng)的D1~D4端輸出約4V互鎖高電平控制信號,同時VT端也輸出解碼有效高電平信號。用戶可將這些信號加一級三極管放大,便可驅(qū)動繼電器等負(fù)載進(jìn)行遙控操縱。
2.3 AT89S52單片機(jī)模塊2.3.1              AT89S52單片機(jī)概述
單片機(jī)是把組成微型計(jì)算機(jī)的各個功能部件,如中央處理器、隨機(jī)存儲器、只讀存儲器、I/O接口電路、定時器/計(jì)數(shù)器以及串行通信接口電路等集成在一塊芯片上,構(gòu)成
一個完整的微型計(jì)算機(jī)。通用計(jì)算機(jī)系統(tǒng)的技術(shù)要求是高速、海量的數(shù)值計(jì)算;技術(shù)發(fā)展方向是總線速度的無限提升,存儲容量的無限擴(kuò)大。而嵌入式計(jì)算機(jī)系統(tǒng)的技術(shù)要求則是對象的智能化控制能力;技術(shù)發(fā)展方向是與對象系統(tǒng)密切相關(guān)的嵌入性能、控制能力與控制的可靠性。比較普通計(jì)算機(jī)和嵌入式計(jì)算機(jī)的差異,說明這是由于它們應(yīng)用場合和應(yīng)用環(huán)境的不同而造成的,而單片機(jī)則屬于低端嵌入式計(jì)算機(jī)。
單片機(jī)的硬件簡單,字長一般為8位,也有16位的,存儲空間最小。集成的片內(nèi)外設(shè)比較豐富。由于硬件的局限性,導(dǎo)致軟件上就不能太大,采集速度低。難以完成復(fù)雜的實(shí)時運(yùn)算。單循環(huán)式,一般沒有操作系統(tǒng)。
單片機(jī)具有小巧靈活、成本低、易于產(chǎn)品化。它能方便地組裝成各種智能式控制設(shè)備以及各種智能儀表。面向控制,能針對性地解決從簡單到復(fù)雜的各類控制任務(wù),從而獲得最佳性價比�?垢蓴_能力強(qiáng),適應(yīng)溫度范圍寬,在各種惡劣條件下都能可靠地工作,這是其它機(jī)型所無法比擬的�?梢院芊奖愕貙�(shí)現(xiàn)多機(jī)和分布式控制,使整個系統(tǒng)的效率和可靠性大為提高。
單片機(jī)的應(yīng)用場合也非常廣泛,小巧靈活、成本低、易于產(chǎn)品化。它能方便地組裝成各種智能式控制設(shè)備以及各種智能儀表。面向控制,能針對性地解決從簡單到復(fù)雜的各類控制任務(wù),從而獲得最佳性價比�?垢蓴_能力強(qiáng),適應(yīng)溫度范圍寬,在各種惡劣條件下都能可靠地工作,這是其它機(jī)型所無法比擬的�?梢院芊奖愕貙�(shí)現(xiàn)多機(jī)和分布式控制,使整個系統(tǒng)的效率和可靠性大為提高。機(jī)電一體化產(chǎn)品是集機(jī)械技術(shù)、微電子技術(shù)、自動化技術(shù)和計(jì)算機(jī)技術(shù)于一體,具有智能化特征的各種機(jī)電產(chǎn)品。單片機(jī)在機(jī)電一體化產(chǎn)品的開發(fā)中可以發(fā)揮巨大的作用。典型產(chǎn)品如機(jī)器人、數(shù)控機(jī)床、自動包裝機(jī)、點(diǎn)鈔機(jī)、醫(yī)療設(shè)備、打印機(jī)、傳真機(jī)、復(fù)印機(jī)等。家用電器是單片機(jī)的又一重要應(yīng)用領(lǐng)域,前景十分廣闊。如空調(diào)器、電冰箱、洗衣機(jī)、電飯煲、高檔洗浴設(shè)備、高檔玩具等。另外,在交通領(lǐng)域中,汽車、火車、飛機(jī)、航天器等均有單片機(jī)的廣泛應(yīng)用。如汽車自動駕駛系統(tǒng)、航天測控系統(tǒng)、黑匣子還有分式系統(tǒng)的前端模塊等等。
ATMEL公司生產(chǎn)的具有Flash ROM的增強(qiáng)型51系列單片機(jī)目前在市場上仍然十分流行,其中AT89S系列十分活躍。AVR單片機(jī)是ATMEL在90年代推出的精簡指令集RISC的單片機(jī),跟PIC類似。使用哈佛結(jié)構(gòu)。是增強(qiáng)型RISC內(nèi)載Flash的單片機(jī)。AVR的單片機(jī)廣泛應(yīng)用于計(jì)算機(jī)外部設(shè)備,工業(yè)實(shí)時控制,儀器儀表,通訊設(shè)備,家用電器,宇航設(shè)備等各個領(lǐng)域。
近年來單片機(jī)的發(fā)展非�?欤v觀單片機(jī)的現(xiàn)狀及歷史,其發(fā)展趨勢正朝著大容量、
高性能化、小容量低價格化、外圍電路內(nèi)裝化、多品種化及增強(qiáng)I/O接口功能、降低功
耗等方面發(fā)展。為滿足不同的用戶要求,各公司競相推出能滿足不同需要的產(chǎn)品。
在CPU的功能上更加完善和強(qiáng)大,比如采用雙CPU結(jié)構(gòu),提高處理能力,增加數(shù)據(jù)總線的寬度,使處理數(shù)據(jù)的能力明顯優(yōu)于一般的8位單片機(jī),同時采用流水線結(jié)構(gòu)和RISC體系結(jié)構(gòu)。在存儲器方面加大存儲容量,實(shí)行程序保密化�,F(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器(CPU)、隨機(jī)存取數(shù)據(jù)存儲(RAM)、只讀程序存儲器(ROM)、并行和串行通信接口,中斷系統(tǒng)、定時電路、時鐘電路集成在一塊單一的芯片上,增強(qiáng)型的單片機(jī)集成了如A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門狗)、有些單片機(jī)將LCD(液晶)驅(qū)動電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就更多,可實(shí)現(xiàn)的功能就越強(qiáng)大。甚至單片機(jī)廠商還可以根據(jù)用戶的要求量身定做,制造出具有自己特色的單片機(jī)芯片。
MCS-51系列的8031推出時的功耗達(dá)630MW,而現(xiàn)在的單片機(jī)普遍都在100MW左右,隨著對單片機(jī)功耗要求越來越低,現(xiàn)在的各個單片機(jī)制造商基本都采用了CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)。CMOS雖然功耗較低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點(diǎn),這些特征,更適合于在要求低功耗電池供電的應(yīng)用場合。所以這種工藝將是今后一段時期單片機(jī)發(fā)展的主要途徑。
本設(shè)計(jì)中使用的是AT89S52單片機(jī)。AT89S52為 ATMEL 所生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flsah存儲器。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。
AT89S52主要功能列舉如下:擁有靈巧的8位CPU和在系統(tǒng)可編程Flash晶片內(nèi)部具時鐘振蕩器(傳統(tǒng)最高工作頻率可至 12MHz)、內(nèi)部程序存儲器(ROM)為8KB、內(nèi)部數(shù)據(jù)存儲器(RAM)為256字節(jié)、32個可編程I/O口線、8個中斷向量源、三個16位定時器/計(jì)數(shù)器、三級加密程序存儲器、全雙工UART串行通道。
AT89S52單片機(jī)的特性是與MCS-51 兼容、擁有4K字節(jié)可編程閃爍存儲器,它的壽命一般為1000寫/擦循環(huán)、數(shù)據(jù)保留時間為10年、全靜態(tài)工作時工作頻率是0Hz-24Hz、擁有三級程序存儲器鎖定和128*8位內(nèi)部RAM、32可編程I/O線、兩個16位定時器/計(jì)數(shù)器、5個中斷源 、可編程串行通道、低功耗的閑置和掉電模式、片內(nèi)振蕩器和時鐘電路。

圖2-13 AT89S52單片機(jī)
2.3.1.1AT89S52單片機(jī)管腳說明
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時,P0輸出原碼,此時P0外部必須被拉高。
P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時,P1口作為第八位地址接收。
P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時接收高八位地址信號和控制信號。
P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口同時為閃爍編程和編程校驗(yàn)接收一些控制信號。
表2-3 P3口特殊功能口
管腳
I/O口
備選功能
10
P3.0
RXD(串行輸入口)
11
P3.1
TXD(串行輸出口)
12
P3.2
INT0(外部中斷0)
13
P3.3
INT1(外部中斷1)
14
P3.4
T0(記時器0外部輸入)
15
P3.5
T1(記時器1外部輸入)
16
P3.6
WR(外部數(shù)據(jù)存儲器寫選通)
17
P3.7
RD(外部數(shù)據(jù)存儲器讀選通)
:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。
:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
外部程序存儲器的選通信號。在由外部程序存儲器取指令期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。
:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源。
:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。
:來自反向振蕩器的輸出。

2.3.1.2 AT89S52單片機(jī)的振蕩器特性和芯片擦除:
XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。
整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。
此外,AT89C52設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。
2.3.2              AT89S52單片機(jī)的典型功能
2.3.2.1 中斷系統(tǒng)
              中斷系統(tǒng)是計(jì)算機(jī)中的一項(xiàng)很重要的技術(shù)。中斷系統(tǒng)的主要功能是為了解決快速CPU與慢速的外設(shè)之間的矛盾,它是由硬件和軟件組成的。有了中斷系統(tǒng),能使計(jì)算機(jī)的功能更強(qiáng)、效率更高、使用更加靈活方便。下面簡單介紹中斷系統(tǒng)的組成、處理過程及其應(yīng)用。
              52單片機(jī)總共有6個中斷源。外部中斷有/INT0、/INT1,其中中斷請求是由P3.3、P3.3引腳輸入的,可選擇低電平有效或沿下降沿有效。內(nèi)部中斷源有T0、T1、T2溢出中斷和串行口中斷源。不同的中斷源有不同的中斷矢量,當(dāng)某個中斷源的中斷請求被響應(yīng)后,CPU將通過硬件自動地把相應(yīng)的中斷源的中斷入口地址裝入PC中,即從此地址開始執(zhí)行中斷服務(wù)程序。因此,使用時一般在此地址單元中存放一條跳轉(zhuǎn)指令,當(dāng)CPU響應(yīng)中斷是,使單片機(jī)自動執(zhí)行相應(yīng)的入口地址的跳轉(zhuǎn)指令,然后再通過該跳轉(zhuǎn)指令至用戶安排的中斷服務(wù)程序的入口處。
表2-4 中斷入口地址
中斷源
中斷入口地址
/INT0(外部中斷0)
0003H
T0(定時器0)
000BH
/INT1(外部中斷1)
0013H
T1(定時器1)
001BH
串口輸入/輸出
0023H
定時器2
002BH
              中斷處理過程分為三個階段,即中斷響應(yīng)、中斷處理、中斷返回。下圖為中斷響應(yīng)過程中硬件自動完成的流程圖,如果中斷響應(yīng)條件滿足,而且不存在中斷受阻,CPU將響應(yīng)中斷呢。在此情況下,CPU首先使被響應(yīng)中斷的“優(yōu)先級激活”觸發(fā)器置位,以阻斷同級和低級的中斷。

圖2-14 中斷響應(yīng)過程
然后,根據(jù)中斷源的類別,在硬件的控制下內(nèi)部自動形成長調(diào)用指令,此指令的作用是:首先自動將斷點(diǎn)壓入堆棧,但不自動保存PSW的內(nèi)容,然后將對應(yīng)的中斷源的入口地址裝入程序計(jì)數(shù)器。            
CPU中斷響應(yīng)結(jié)束后即轉(zhuǎn)到中斷服務(wù)程序的入口地址,從執(zhí)行中斷服務(wù)程序的第一條指令開始到執(zhí)行RETI返回指令為止,這個過程成為中斷處理或中斷服務(wù)。

2.3.3.2單片機(jī)串行口
              串口通信是計(jì)算機(jī)與外界交換信息的一種基本通信方式。52單片機(jī)中的串行接口是一個全雙工通信接口,即能同時進(jìn)行數(shù)據(jù)的發(fā)送和接收。它可作偽通用異步接收和發(fā)送器使用,也可以用作同步移位寄存器,其幀格式和波特率均可通過軟件編程設(shè)置,在使用上非常方便靈活。
              串行通信的基本特征是數(shù)據(jù)逐位順序進(jìn)行傳送串行通信的格式及約定(如:同步方式、通訊速率、數(shù)據(jù)塊格式、信號電平等)不同,形成了多種串行通信的協(xié)議與接口標(biāo)準(zhǔn)。
              單片機(jī)接收數(shù)據(jù)的過程是:當(dāng)CPU允許接收(即SCON的REN位置“1”)且接收中斷標(biāo)志RI復(fù)位時,就啟動一次接收過程。接收數(shù)據(jù)時,外界數(shù)據(jù)通過引腳P3.0(RXD)串行輸入,數(shù)據(jù)的最低位首先進(jìn)入輸入移位寄存器,一幀數(shù)據(jù)接收完畢再并行送入到緩沖器SBUF中,同時將接收中斷標(biāo)志RI置“1”。當(dāng)用軟件將輸入的數(shù)據(jù)讀走并將RI復(fù)位后,才能再開始下一幀數(shù)據(jù)的傳送。
              發(fā)送數(shù)據(jù)的過程為:當(dāng)發(fā)送中斷標(biāo)志位TI復(fù)位后,CPU執(zhí)行任何一條寫SBUF指令,就啟動一次發(fā)送過程。CPU在執(zhí)行寫SBUF指令的同時啟動發(fā)送控制器開始發(fā)送數(shù)據(jù),被發(fā)送的數(shù)據(jù)由TXD引腳串行輸出,首先輸出最低位,當(dāng)一幀數(shù)據(jù)發(fā)送完即發(fā)送緩沖器空時,CPU自動將發(fā)送中斷標(biāo)志TI置1,當(dāng)軟件將TI復(fù)位時,同時又將下一個數(shù)據(jù)寫入數(shù)據(jù)緩沖器后,CPU再次重復(fù)上述過程直到數(shù)據(jù)發(fā)送完成。
2.4 GSM模塊
              本設(shè)計(jì)使用的是西門子公司生產(chǎn)的TC35i。TC35i是Siemens公司推出的無線通信GSM模塊,可以快速安全可靠的實(shí)現(xiàn)數(shù)、語音傳輸、短消息服務(wù)(SMS)和傳真。模塊工作電壓為3.3—5.5V,可以工作在900MHz和1800MHz兩個頻段,所在頻段功耗分別為2W(900MHz)和1W(1800MHz)。模塊有AT命令集接口,支持文本和PDU模式的短消息、第三組的二類傳真、以及2.4K、4.8K、9.6K的非透明模式。此外,該模塊還具有電話簿功能、多方通話、漫游檢測功能,常用的工作模式由省電模式、IDLE、TALK等模式。通過獨(dú)特的40引腳的ZIF連接器,可分別連接SIM卡支架和天線。TC35i模塊主要由GSM基帶處理器、GSM射頻模塊、供電模塊、閃存、ZIF連接器、天線接口留部分組成。作為TC35i的核心,基帶處理器主要處理GSM終端內(nèi)的語音、數(shù)據(jù)信號,并涵蓋了蜂窩射頻設(shè)備中的所有的模塊和數(shù)字功能。在不需要額外硬件電路的前提下,可支持FR、HR、EFR語音信道編碼。
目前,國內(nèi)已經(jīng)開始使用的GSM模塊有很多,而且這些模塊的功能、用法差別不大。本設(shè)計(jì)采用西門子TC35 系列的TC35i,這種無線模塊功能上與TC35 兼容,設(shè)計(jì)緊湊,大大縮小了用戶產(chǎn)品的體積。TC35i 與GSM2/2 兼容、雙頻(GSM900/GSM1800)、RS232 數(shù)據(jù)接口,該模塊及射頻電路和基帶與一體,向用戶提供標(biāo)準(zhǔn)的AT 命令接口,為數(shù)據(jù)、語音、短消息和傳真提供快速、可靠、安全的傳輸,方便用戶的應(yīng)用開發(fā)及設(shè)計(jì)。
              TC35i 模塊主要由GSM基于處理器、GSM射頻模塊、供電模塊、閃存、ZIF 連接器、天線接口六部分組成。通過ZIF 連接器與單片機(jī)實(shí)現(xiàn)電路接口,該接口讀取或發(fā)送TC35i 模塊中的數(shù)據(jù),將是本文論述的重點(diǎn),也是TC35i 應(yīng)用的核心。
單片機(jī)與TC35i 的軟件接口其實(shí)就是單片機(jī)通過AT 指令控制手機(jī)的控制技術(shù),首先設(shè)置TC35i 模塊的工作模式:AT+CMGF=n,n=0 為PDU模式;n=1 為文本模式;通常設(shè)置為PDU 模式,在這種模式下,能傳送或接受透明數(shù)據(jù)(用戶自定義數(shù)據(jù))。AT+CMGR=n 為讀TC35i 模塊短消息數(shù)據(jù),n 為短消息號。AT+CMGL=n為列出TC35i 模塊內(nèi)的短消息,n=0 是未讀的短消息,n=1 位已讀的短消息,n=2 位未發(fā)送的短消息,n=3為已發(fā)送的短消息n=4 為所有短消息。AT+CMGD=n 為刪除TC35i 模塊的短消息,n 為短消息編號。
軟件編程通過向TC35i 寫入不同的AT 指令能完成多種功能,如網(wǎng)絡(luò)登陸、讀取SIM卡上電話號碼、發(fā)送SMS 消息、接收SMS 消息等。常用的AT指令我們將在軟件設(shè)計(jì)中詳細(xì)說明。
3 軟件設(shè)計(jì)3.1系統(tǒng)軟件設(shè)計(jì)的總體思路3.1.1主函數(shù)軟件設(shè)計(jì)流程圖
              整個系統(tǒng)主要的分為兩個狀態(tài):主人在家狀態(tài)、主人不在家狀態(tài)。當(dāng)主人在家時,報(bào)警系統(tǒng)僅對溫度傳感器和煙霧傳感器進(jìn)行監(jiān)視;當(dāng)按下主人不在家的按鍵時,系統(tǒng)就進(jìn)入到主人不在家狀態(tài),對家中的門窗、溫度、煙霧等作一系列的監(jiān)控,一旦有意外發(fā)生能及時通知戶主采取急救措施,有效避免災(zāi)情進(jìn)一步發(fā)生。
              程序是由主程序、開機(jī)初始化模塊、主人在家狀態(tài)模塊、延時和定時器模塊、無人在家狀態(tài)模塊、傳感器檢測模塊、串口初始化和GSM通信模塊組成。
(1)主程序。單片機(jī)上電后即執(zhí)行主程序。主程序調(diào)用開機(jī)初始化模塊,之后確定用主人是否在家模塊,確定要工作的狀態(tài)。
(2)開機(jī)初始化模塊。該模塊控制所有模塊的指示燈點(diǎn)亮以確定所有模塊都正常工作,同時對單片機(jī)內(nèi)部特殊寄存器進(jìn)行賦值,設(shè)置完畢后進(jìn)入主人在家狀態(tài),只有當(dāng)系統(tǒng)復(fù)位后此模塊才會再次被調(diào)用。
(3)主人在家狀態(tài)模塊。該模塊調(diào)用對輸入的定時掃描,在家中溫度或煙霧濃度出現(xiàn)異常情況是報(bào)警,同時可在按鍵控制下轉(zhuǎn)入到無人在家模塊。該模塊桶用探測器檢測模塊、延時和定時器模塊相結(jié)合防止探測器的誤觸發(fā),提高系統(tǒng)可靠性。
(4)延時和定時器模塊。該模塊包含軟件延時子函數(shù)及設(shè)置并啟動定時器的子函數(shù)以達(dá)到對鍵盤的定時掃描。
(5)無人在家狀態(tài)模塊。該模塊調(diào)用傳感器檢測模塊、延時和定時模塊對外部輸入
進(jìn)行檢測,在傳感器被觸發(fā)的情況下發(fā)出警報(bào)并進(jìn)入發(fā)送短信模塊。
(6)傳感器檢測模塊。采用定時掃描的方式進(jìn)行實(shí)時檢測防止報(bào)警被誤觸發(fā),想主人在家狀態(tài)模塊和無人在家狀態(tài)模塊返回各輸入口狀態(tài)。
(7)傳感器檢測模塊。傳感器主要是由MMA7455i加速度傳感器、溫度傳感器和煙霧傳感器組成,對家中情況進(jìn)行監(jiān)控,并做簡單的信號處理。
(8)串口初始化和通信模塊。該模塊對在進(jìn)入發(fā)送短信狀態(tài)時對串口進(jìn)行初始化,負(fù)責(zé)與串口數(shù)據(jù)的收發(fā),并在發(fā)送短信完畢時對特殊寄存器和全局變量進(jìn)行設(shè)置。防止由于某些傳感器一直處在觸發(fā)狀態(tài)而引起的短信重復(fù)發(fā)送。
(9)GSM發(fā)送短信模塊。該模塊通過調(diào)用串口初始化和通信模塊與GSM模塊發(fā)送AT指令控制其發(fā)送短信。

圖3-1 系統(tǒng)程序結(jié)構(gòu)
3.1.2 基于C語言的程序調(diào)試
C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言。它既具有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它由美國貝爾研究所于1972年推出。1978后,C語言已先后被移植到大、中、小及微型機(jī)上。它可以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。
C是高級語言。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實(shí)用性結(jié)合起來。C 語言可以像匯編語言一樣對位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元。 C也是一種結(jié)構(gòu)式語言。結(jié)構(gòu)式語言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦�,便于使用、維護(hù)以及調(diào)試。C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。 C語言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大,可以實(shí)現(xiàn)決策目的的游戲。同時C語言適用范圍大,適合于多種操作系統(tǒng),如Windows、DOS、UNIX等等;也適用于多種機(jī)型。C語言對編寫需要硬件進(jìn)行操作的場合,明顯優(yōu)于其它高級語言,有一些大型應(yīng)用軟件也是用C語言編寫的。
指針是C語言的一大特色,可以說是C語言優(yōu)于其它高級語言的一個重要原因。就是因?yàn)樗兄羔�,可以直接進(jìn)行靠近硬件的操作,但是C的指針操作不做保護(hù),也給它帶來了很多不安全的因素。C++在這方面做了改進(jìn),在保留了指針操作的同時又增強(qiáng)了安全性,受到了一些用戶的支持,但是,由于這些改進(jìn)增加語言的復(fù)雜度,也為另一部分所詬病。Java則吸取了C++的教訓(xùn),取消了指針操作,也取消了C++改進(jìn)中一些備受爭議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機(jī)中運(yùn)行,運(yùn)行效率低于C++/C。一般而言,C,C++,java被視為同一系的語言,它們長期占據(jù)著程序使用榜的前三名。
              而匯編語言是面向機(jī)器的程序設(shè)計(jì)語言。在匯編語合中,用助記符代替操作碼,用地址符號(Symbol)或標(biāo)號(Label)代替地址碼。這樣用符號代替機(jī)器語言的二進(jìn)制碼,就把機(jī)器語言變成了匯編語言。于是匯編語言亦稱為符號語言。使用匯編語言編寫的程序,機(jī)器不能直接識別,要由一種程序?qū)R編語言翻譯成機(jī)器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統(tǒng)軟件中語言處理系統(tǒng)。匯編程序把匯編語言翻譯成機(jī)器語言的過程稱為匯編。
大多數(shù)情況下Linux程序員不需要使用匯編語言,因?yàn)榧幢闶怯布?qū)動這樣的底層程序在Linux操作系統(tǒng)中也可以完全用C語言來實(shí)現(xiàn),再加上GCC這一優(yōu)秀的編譯器目前已經(jīng)能夠?qū)ψ罱K生成的代碼進(jìn)行很好的優(yōu)化,的確有足夠的理由讓我們可以暫時將匯編語言拋在一邊了。但實(shí)際情況是Linux程序員有時還是需要使用匯編,或者不得不使用匯編,理由很簡單:精簡、高效和lib無關(guān)性。假設(shè)要移植Linux到某一特定的嵌入式硬件環(huán)境下,首先必然面臨如何減少系統(tǒng)大小、提高執(zhí)行效率等問題,此時或許只有匯編語言能幫上忙了。匯編語言比機(jī)器語言易于讀寫、調(diào)試和修改,同時具有機(jī)器語言全部優(yōu)點(diǎn)。但在編寫復(fù)雜程序時,相對高級語言代碼量較大,而且匯編語言依賴于具體的處理器體系結(jié)構(gòu),不能通用,因此不能直接在不同處理器體系結(jié)構(gòu)之間移植。
綜上所述,本設(shè)計(jì)使用的是C語言進(jìn)行程序的編寫。AT89S52的C語言編程和C51系列的相同,因此以下用51系列來說明。
由于8051系列是8 位機(jī),因而不存在字節(jié)校準(zhǔn)問題。這意味著數(shù)據(jù)結(jié)構(gòu)成員是順序放置的。數(shù)據(jù)類型的轉(zhuǎn)換:當(dāng)計(jì)算結(jié)果隱含著另外一種數(shù)據(jù)類型時,數(shù)據(jù)類型可以自動進(jìn)行轉(zhuǎn)換,例如,將一個位變量賦給L:一個整型變量時,位型值自動轉(zhuǎn)換為整型值,有符號變量的符號也能自動進(jìn)行處理。這些轉(zhuǎn)換也可以用C 語言的標(biāo)準(zhǔn)指令進(jìn)行人工轉(zhuǎn)換。編譯器支持下列數(shù)據(jù)類型:
表3-1數(shù)據(jù)類型
數(shù)據(jù)類型
長度
值域
bit
1字節(jié)
0或1
signed char
1字節(jié)
-128~+127
unsigned char
1字節(jié)
0~255
signed int
2字節(jié)
-32768~+32867
unsigned int
2字節(jié)
0~65535
signed long
4字節(jié)
-2147483648~+2147483647
unsigned long
4字節(jié)
0~4294967295
float
4字節(jié)
±1.176E-38~±3.40E+38
指針
1-3字節(jié)
對象地址
sbit
1位
0 或 1
sfr
1字節(jié)
0~255
sfr16
2字節(jié)
0~65535
51系列包括多種寄存器,其中一些具有特殊功能,如定時器,端口的控制寄存器等,為了能夠直接訪問這些寄存器,C51 編譯器提供了一種定義的自主形式,這是必要的,因?yàn)檫@些定義與標(biāo)準(zhǔn)C 語言是不兼容的。為了支持這些特殊功能寄存器(SFR)的聲明,引入了關(guān)鍵詞“sfr”。
必須注意的是“sfr”后不是一個地址而是一個名字。因此上例中名字P0 和P1(port0和port1)定義為特殊功能寄存器并被賦予相應(yīng)的絕對地址,名字可按意愿自由選取,源文件中不應(yīng)有先定義的sfr 名字�!�=”號后的地址必須是常數(shù),不允許帶有運(yùn)算符的表達(dá)式,這個常數(shù)表達(dá)式必須在特殊功能寄存器的地址范圍內(nèi),位于0X80 到0XFF 之間。
8051 系列寄存器數(shù)量和類型是極其不同的,因此將所有特別的“sfr”聲明放入一個頭文件,頭文件包括8051 一些系列成員中的SFR 定義。進(jìn)一步的定義可由用戶由文件編輯器產(chǎn)生。
在新的8051 系列產(chǎn)品中,SFR 在功能上經(jīng)常組合為16 位的,為了有效的訪問這類SFR,使用定義“sfr16”,當(dāng)“SFR”的高端直接位于低端后時,對SFR16 位的訪問是可能的。例如8052 的定時器2 就是這種情況,16 位聲明的語法與“sfr”相同,SFR 低地址部分必須作為sfr16 的地址。
T2(由T2L 和T2H 組成)和RCAP2(由RCAP2L 和RCAP2H 組成)被定義為16位SFR,即使在這種情況下,聲明中的名字后仍不是賦值語句,而是一個SFR 地址,高字節(jié)必須直接位于低字節(jié)之后,這種聲明適用于所有新的SFR,但不能用于Timer0 和Timer1。

3.1.2.1中斷服務(wù)程序
              C51 編譯器及其對C 語言的擴(kuò)充允許編程者對中斷的所有方面進(jìn)行控制。這種支持能使系統(tǒng)編程者創(chuàng)建高效的中斷服務(wù)程序,用戶只需在普通和高級方式下關(guān)心中斷及必要的寄存器組切換操作,C51 編譯器將產(chǎn)生最合適的代碼。
使用中斷服務(wù)函數(shù)的完整語法如下:
返回值 函數(shù)名([參數(shù)])[模式][再入] interrupt n[using n]�!癷nterrupt”后接一個0~31 的常數(shù),不允許使用表達(dá)式。中斷不允許用于外部函數(shù),它對函數(shù)目標(biāo)代碼的影響如下:
1. 當(dāng)使用函數(shù)時,SFR 中的ACC、B、DPH、DPL 和PSW(當(dāng)需要時)入棧;
2. 如不使用寄存器組切換,甚至中斷函數(shù)所需的所有工作寄存器(Rn)都入棧;
3. 函數(shù)退出前,所有的寄存器內(nèi)容出棧;
4. 函數(shù)由8051 控制命令“RETI”終止;
中斷控制部分是由4個專用寄存器組成的,分別為TCON、SCON、IE和IP。五個中斷源的中斷請求標(biāo)志位及定時器/計(jì)數(shù)器的控制位,均設(shè)置在定時控制寄存器TCON和串口控制寄存器SCON中。
其中TCON用于控制定時器/計(jì)算器的啟、停和外部中斷源的觸發(fā)方式以及存放定時器的溢出中斷標(biāo)志和外部中斷源的中斷請求標(biāo)志。其地址為88H,各位的定義為:
表3-2 TCON各位的定義
D7
D6
D5
D4
D3
D2
D1
D0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TF1和TF0:分別為定時器1和定時器0的溢出標(biāo)志。當(dāng)定時器加1計(jì)滿產(chǎn)生溢出時,由硬件自動置“1”,并申請中斷。進(jìn)入中斷服務(wù)程序后,由硬件自動清“0”。這兩位也可作為程序查詢的標(biāo)志位,在查詢方式下應(yīng)由軟件來清“0”。
TR1和TR0:分別為定時器1和定時器0的啟停控制位。當(dāng)由軟件將TRi清0后,可停止定時器的工作,將該位置“1”后,可啟動定時器工作。
IE1和IE0:分別為外部中斷1和外部中斷0的觸發(fā)方式選擇位。當(dāng)外部中斷源有請求時,相應(yīng)的中斷標(biāo)志位由硬件置“1”。
IT1和IT0:分別為外部中斷1和外部中斷0的觸發(fā)方式選擇位。IT1設(shè)置為“0”時,相應(yīng)的外部中斷為低電平觸發(fā)方式,設(shè)置為“1”時,相應(yīng)的外部中斷為邊沿觸發(fā)方式。
同時在單片機(jī)中,設(shè)有一個專用寄存器IE(稱中斷允許寄存器),其作用是控制各中斷源的開放或屏蔽。各個位的定義如下:
表3-3 IE各位的定義
D7
D6
D5
D4
D3
D2
D1
D0
EA
-
ET2
ES
ET1
EX1
ET0
EX0
EA為CPU中斷允許控制位。EA=1,CPU開放中斷,EA=0,CPU禁止響應(yīng)一切中斷。當(dāng)EA=1時,僅使CPU對所有中斷開放,但每個中斷源被允許還是被屏蔽由各自的允許位確定。
ES為串行口中斷允許位。ES=1,允許串行口接收和發(fā)送中斷;ES=0,禁止串行口中斷。
ET1為定時器1的中斷允許控制位。ET1=1允許T1中斷,否則禁止中斷。
              EX1為外部中斷1的中斷允許控制位。EX1=1,允許外部中斷1中斷,否則禁止中斷。
              ET0為定時器0的中斷允許控制位。ET0=1,允許定時器T0中斷,否則禁止中斷。
              EX0為定時器0的中斷允許控制位。ET2為定時器2中斷允許控制位,僅用于52子系列單片機(jī)。
在本設(shè)計(jì)中,使用的是內(nèi)部中斷。單片機(jī)對采集到的加速度傳感器和溫度傳感器的數(shù)據(jù)進(jìn)行分析判斷,當(dāng)符合報(bào)警條件時再申請中斷,執(zhí)行中斷服務(wù)程序。
              在中斷響應(yīng)過程中需要利用軟件實(shí)現(xiàn)以下中斷服務(wù):

圖3-2 中斷服務(wù)程序

3.1.2.2 串口通信的軟件設(shè)置
              51系列的串行口主要是由兩個數(shù)據(jù)緩沖器SBUF、一個輸入移位寄存器、一個串行控制寄存器SCON和一個波特率發(fā)生器T1等組成。特殊功能寄存器SCON用來存放串行口的控制和狀態(tài)信息。定時器/計(jì)數(shù)器T1作串行口的波特率發(fā)生器,其波特率是否增倍由特殊功能寄存器PCON的最高位控制。
              在本設(shè)計(jì)中串口通訊是工作在方式2下的,方式1為11位異步通訊方式,即一個起始位、8個有效數(shù)據(jù)和一個停止位,還有一個附加位,波特率可以改變(由定時器              T1的溢出率決定,并可由SMOD加倍)。發(fā)送操作在T1=0時,發(fā)送電路自動在8位發(fā)送數(shù)據(jù)前后分別添加一位起始位和停止位,并在移位脈沖作用下由TXD引腳依次發(fā)送一幀數(shù)據(jù),發(fā)送完后自動維持TXD引腳為高電平.TI也由硬件在發(fā)送停止位時自動置“1”,需要由軟件將其請“0”。第9位數(shù)字是SCON中的T8,這位數(shù)據(jù)可由用戶安排,在這里我設(shè)定為奇偶校驗(yàn)位。
3.2 系統(tǒng)各功能模塊的軟件設(shè)計(jì)3.2.1 溫度傳感器DHT11軟件設(shè)計(jì)
              在本設(shè)計(jì)中MMA7455主要是實(shí)現(xiàn)對家中門窗的動態(tài)運(yùn)動進(jìn)行監(jiān)控,進(jìn)而作為防盜報(bào)警的依據(jù)。DHT11采用的是單線雙向串行通訊,當(dāng)收到單片機(jī)讀信號后,DHT11發(fā)送響應(yīng)信號,并送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,在本設(shè)計(jì)中只讀取其中的溫度信息數(shù)據(jù),如果DHT11沒有收到單片機(jī)發(fā)送開始信號,DHT11不會主動進(jìn)行溫度采集。具體的軟件設(shè)計(jì)流程圖如下:

圖3-3 DHT11軟件設(shè)計(jì)流程圖

3.2.2 加速度傳感器MMA7455的軟件設(shè)計(jì)
              MMA7455加速度傳感器主要是采集門窗的運(yùn)動狀況,測出其運(yùn)動的加速度,單片機(jī)再進(jìn)一步得出門窗運(yùn)動的位移,進(jìn)而可判定是否有竊賊進(jìn)入到家中。當(dāng)單片機(jī)調(diào)用加速度信息子模塊時,首先發(fā)出讀加速度信號,7455進(jìn)行初始化并把自身的地址和單片機(jī)發(fā)出的地址相比較,如果符合即反饋應(yīng)答信號,單片機(jī)分別發(fā)出X、Y、Z軸地址采集不同軸上的加速度信息,7455按相應(yīng)的地址發(fā)送信息,單片機(jī)收到信息后進(jìn)行校驗(yàn),并返回加速度數(shù)據(jù)的返回值,退出調(diào)用。

圖3-4 7455子函數(shù)流程圖

3.2.3 IIC通訊協(xié)議
在現(xiàn)代電子系統(tǒng)中,有為數(shù)眾多的IC需要進(jìn)行相互之間以及與外界的通信。為了提供硬件的效率和簡化電路的設(shè)計(jì),PHILIPS開發(fā)了一種用于內(nèi)部IC控制的簡單的雙向兩線串行總線IIC。IIC總線支持任何一種IC制造工藝,并且 PHILIPS和其他廠商提供了種類非常豐富的IIC兼容芯片。作為一個專利的控制總線,IIC已經(jīng)成為世界性的工業(yè)標(biāo)準(zhǔn)。
每個器件都有一個唯一的地址,而且可以是單接收的器件(例如:LCD驅(qū)動器)或者可以接收也可以發(fā)送的器件(例如:存儲器)。發(fā)送器或接收器可以在主模式或從模式下操作,這取決于芯片是否必須啟動數(shù)據(jù)的傳輸還是僅僅被尋址。IIC是一個多主 總線,即它可以由多個連接的器件控制。
基本的IIC總線規(guī)范于20年前發(fā)布,其數(shù)據(jù)傳輸速率最高為100Kbits/s,采用7位尋址。但是由于數(shù)據(jù)傳輸速率和應(yīng)用功能的迅速增加,IIC總線也增強(qiáng)為快速模式(400Kbits/s)和10位尋址以滿足更高速度和更大尋址空間的需求。
IIC總線始終和先進(jìn)技術(shù)保持同步,但仍然保持其向下兼容性。并且最近還增加了高速模式,其速度可達(dá)3.4Mbits/s。它使得IIC總線能夠支持現(xiàn)有以及將來的高速串行傳輸應(yīng)用,例如EEPROM和Flash存儲器。
在IIC總線傳輸過程中,將兩種特定的情況定義為開始和停止條件(見圖3):當(dāng)SCL保持“高”時,SDA由“高”變?yōu)椤暗汀睘殚_始條件;當(dāng)SCL保持“高”且SDA由“低”變?yōu)椤案摺睍r為停止條件。開始和停止條件均由主控制器產(chǎn)生。使用硬件接口可以很容易地檢測到開始和停止條件,沒有這種接口的微機(jī)必須以每時鐘周期至少兩次對SDA取樣,以檢測這種變化。
SDA線上的數(shù)據(jù)在時鐘“高”期間必須是穩(wěn)定的,只有當(dāng)SCL線上的時鐘信號為低時,數(shù)據(jù)線上的“高”或“低”狀態(tài)才可以改變。輸出到SDA線上的每個字節(jié)必須是8位,每次傳輸?shù)淖止?jié)不受限制,但每個字節(jié)必須要有一個應(yīng)答ACK。如果一接收器件在完成其他功能(如一內(nèi)部中斷)前不能接收另一數(shù)據(jù)的完整字節(jié)時,它可以保持時鐘線SCL為低,以促使發(fā)送器進(jìn)入等待狀態(tài);當(dāng)接收器準(zhǔn)備好接受數(shù)據(jù)的其它字節(jié)并釋放時鐘SCL后,數(shù)據(jù)傳輸繼續(xù)進(jìn)行。
數(shù)據(jù)傳送具有應(yīng)答是必須的。與應(yīng)答對應(yīng)的時鐘脈沖由主控制器產(chǎn)生,發(fā)送器在應(yīng)答期間必須下拉SDA線。當(dāng)尋址的被控器件不能應(yīng)答時,數(shù)據(jù)保持為高并使主控器產(chǎn)生停止條件而終止傳輸。在傳輸?shù)倪^程中,在用到主控接收器的情況下,主控接收器必須發(fā)出一數(shù)據(jù)結(jié)束信號給被控發(fā)送器,從而使被控發(fā)送器釋放數(shù)據(jù)線,以允許主控器產(chǎn)生停止條件。
IIC總線在開始條件后的首字節(jié)決定哪個被控器將被主控器選擇,例外的是“通用訪問”地址,它可以在所有期間尋址。當(dāng)主控器輸出一地址時,系統(tǒng)中的每一器件都將開始條件后的前7位地址和自己的地址進(jìn)行比較。如果相同,該器件即認(rèn)為自己被主控器尋址,而作為被控接收器或被控發(fā)送器則取決于R/W位。
3.2.4 液晶顯示的軟件設(shè)計(jì)
              本設(shè)計(jì)中采用液晶顯示,使數(shù)據(jù)更加直觀。液晶顯示屏選用1602,它主要用于顯示加速度傳感器采集到的X、Y、Z軸的加速度值以及溫度傳感器DHT11采集到的室內(nèi)溫度值,以便更清晰直觀地感受到報(bào)警系統(tǒng)的工作狀態(tài)。其軟件的主要思路如下圖所示:

圖3-5 液晶屏的軟件設(shè)計(jì)
3.2.5 GSM模塊中的AT指令
單片機(jī)與TC35 i的軟件接口通過AT指令完成,控制手機(jī)的短消息有關(guān)的AT指令有:
A.單片機(jī)與TC35i模塊由串口建立連接:AT;
B.設(shè)置TC35i模塊工作模式:AT + CMGF = n, n = 0: PDU模式; n = 1:文本模式,通常要設(shè)置為PDU模式,在這種模式下,能傳送或接受透明數(shù)據(jù)(用戶自定義數(shù)據(jù));
C.讀TC35i模塊短消息數(shù)據(jù):AT + CMGR = n, n為短消息號(十進(jìn)制);
D.列出TC35i模塊內(nèi)的短消息:AT =CMGL = n, n = 0:未讀的短消息;n = 1:已讀的短消息;n = 2:未發(fā)送的短消息;n= 3:已發(fā)送的短消息;n = 4:所有的短消息;
E.刪除TC35i模塊短消息:AT + CMGD = n,n為短消息號(十進(jìn)制) 。
根據(jù)設(shè)置不同,GSM模塊將收到的短消息保存在緩存單元或存入SIM卡,單片機(jī)從GSM模塊中接收短消息實(shí)質(zhì)上就是從SIM或緩存中讀出信息。這主要利用AT + CMGR和AT +CMGL兩條指令來完成。由于不同的廠商對AT指令集的解釋代碼和響應(yīng)信息不一樣,所以單片機(jī)首先要確認(rèn)能否與GSM模塊建立起通信,一般用ATE指令完成此確認(rèn);然后用AT + CMGF指令選定短消息的數(shù)據(jù)格式;在收到GSM模塊的正確回答后以AT指令完成讀出功能。一般用AT +CMGL讀取以前的信息,在收到手機(jī)的R ING(振鈴)數(shù)據(jù)時,用AT +CMGR讀取實(shí)時信息。
              AT 指令的指令符號、常數(shù)、PDU 數(shù)據(jù)等都是以ASCII 編碼形式傳送;傳送透明數(shù)據(jù)必須把TC35i 模塊的工作模式設(shè)置為PDU模式;單片機(jī)向TC35i 模塊發(fā)送每一條指令后,必須以回車符作為該條指令的結(jié)束,例如單片機(jī)向手機(jī)發(fā)送“AT+CMGF=0”這條指令,其ASCII編碼序列為“41H、54H、2BH、42H、4DH、47H、46H、3DH、30H、0DH”,最后一個字節(jié)0DH 就是回車符,表示該條指令結(jié)束,如果沒有這個回車符,手機(jī)將不識別這條指令。當(dāng)TC35i 模塊接收到一條完整的AT 指令后,TC35i 模塊并不立即執(zhí)行該條指令,而是先把剛才接收到的AT 指令的ASCII 編碼序列全部反發(fā)送出來(含0DH);其次發(fā)送一個回車符和一個換行符的ASCII 編碼,即0DH 和0AH;然后執(zhí)行該指令。

圖3-6 短消息收發(fā)流程

單片機(jī)讀取TC35i模塊的PDU 數(shù)據(jù)時,原始數(shù)據(jù)應(yīng)該是16進(jìn)制數(shù),但讀回的數(shù)據(jù)仍然是ASCII表示的16進(jìn)制數(shù)。這樣一個字節(jié)的16進(jìn)制數(shù)就變成了2 個字節(jié)的ASMII 碼。但是PDU 數(shù)據(jù)包中的數(shù)據(jù)字節(jié)長度部分仍然是實(shí)際字符長度。而不是變成ASCII 碼的字節(jié)長度,這在編程時應(yīng)特別注意,否則,接收的數(shù)據(jù)就不完整。單片機(jī)接收到PDU 數(shù)據(jù)包數(shù)據(jù)后,必須將其恢復(fù)成16 進(jìn)制數(shù)據(jù),其算法如下:設(shè)a 為接收的ASCII碼,b為轉(zhuǎn)換后的16進(jìn)制數(shù)。那么如果a<39H,則b=a-30H;如果a=39H,則b=a-30h-07H。最后把前后兩個數(shù)合并為一個字節(jié)。TC35i 模塊向單片機(jī)應(yīng)答PDU數(shù)據(jù)包的字節(jié)數(shù)時不包括前9個字節(jié)數(shù)據(jù),但向單片機(jī)傳送PDU 數(shù)據(jù)包時,包括這9個字節(jié)的數(shù)據(jù)。例如,如果TC35i模塊應(yīng)答的PDU 數(shù)據(jù)長度為50,而實(shí)際向單片機(jī)傳送的16 進(jìn)制數(shù)據(jù)為59 字節(jié),ASCII碼為2×59字節(jié),所以單片機(jī)必須按2×59個字節(jié)接收PDU 數(shù)據(jù)。
常用的AT指令如下表:
表3-4 常用AT指令
AT指令
功能
AT命令
設(shè)置不回顯命令
ATEO
查詢網(wǎng)絡(luò)是否已經(jīng)注冊
AT+CREG?
設(shè)置短信到達(dá)提醒方式
AT+CPMS=
設(shè)置短信存儲在模塊
AT+CPBS=SM
設(shè)置電話薄位置SIM卡
AT+CMGF=0/1
設(shè)置短信模式。0:PDU 1:TEXT
AT+CMGS=
發(fā)送新短信
AT+CMGSS=1
發(fā)送存在SIM卡的短信
AT+CMSR=1
讀取模塊1號位置短信
AT+CMGD=1
刪除模塊1號位置
AT+CPBR=1
讀取卡1號位置電話號碼
ATH
掛斷電話
AT指令在本設(shè)計(jì)中的應(yīng)用可詳細(xì)參看附錄中的程序部分。

4 系統(tǒng)調(diào)試
本設(shè)計(jì)由以下幾部分組成:單片機(jī)最小系統(tǒng)、加速度傳感器、溫濕度傳感器、GSM及其控制板、供電電源、顯示等六部分組成。由于本設(shè)計(jì)采用的都是數(shù)字傳感器,通訊方式是串行通信模式,故本系統(tǒng)的調(diào)試過程基本上是程序的調(diào)試。
4.1液晶顯示
首先進(jìn)行調(diào)試的是顯示程序,只有有了顯示,才能觀察到讀取的各個傳感器的數(shù)據(jù),才能直觀的判定其他部分工作是否正常。
顯示部分采用的是1602液晶顯示,1602液晶是字符型的顯示屏,只能顯示字母和符號。顯示屏上需要顯示溫度值、濕度值、加速度傳感器的三軸加速度值。加速度單位為g。在1602液晶的子程序的開始,定義了一系列的數(shù)組用于顯示的調(diào)用。當(dāng)傳感器沒有插好,或者忘記供電時,液晶屏的第一行將會顯示“No acceleration!”以提示出現(xiàn)故障,當(dāng)正常工作時液晶的第一行將顯示溫度值,濕度值以及加速度的X軸的數(shù)據(jù),第二行將會顯示Y軸和Z軸的加速度值。顯示的加速度值是在程序中經(jīng)過處理轉(zhuǎn)化的。在讀取X軸的數(shù)據(jù)后,需要將數(shù)據(jù)按照數(shù)據(jù)手冊上的值進(jìn)行轉(zhuǎn)換,并將每一位轉(zhuǎn)化成字符型的值放到數(shù)組中,通過1602液晶的控制字送到屏幕上顯示。顯示效果如下圖所示:
圖4-1 液晶顯示調(diào)試結(jié)果
有了顯示部分,就好像有了一只眼,這樣就能在程序中設(shè)置標(biāo)識,通過顯示屏來判斷程序運(yùn)行是否正常,就能夠直觀的判斷調(diào)試結(jié)果,給調(diào)試過程帶來了很大的方便。
4.2 GSM的調(diào)試
GSM和單片機(jī)最小系統(tǒng)是整個系統(tǒng)的神經(jīng)中樞和大腦,動作的執(zhí)行和處理都過這兩部分來組成,因此是調(diào)試中的重中之重。
對于單片機(jī)最小系統(tǒng)來說,首先是正常工作,單片機(jī)使用的AT89S52單片機(jī),在焊接過程中,由于EA引腳沒有接高電平,在用流水燈測試單片機(jī)最小系統(tǒng)時對IO口單獨(dú)賦值時電平輸出有效,當(dāng)讓流水燈循環(huán)流動時,卻沒有達(dá)到預(yù)期的效果。由于當(dāng)EA為高電平時,單片機(jī)先訪問內(nèi)部程序存儲器,當(dāng)尋址范圍超出內(nèi)部程序存儲器的最大尋址空間時,就自動跳向外部程序存儲器。因此才會出現(xiàn)上出現(xiàn)的情況。此外就是P0口的輸出問題,當(dāng)作為傳輸數(shù)據(jù)口時是不用接上拉電阻的,當(dāng)作為驅(qū)動時就這排上拉電阻就會非常重要。
調(diào)試好最小系統(tǒng)后就要與GSM模塊進(jìn)行聯(lián)調(diào)了。在這里利用的是GSM發(fā)短信和打電話的功能,對GSM模塊的控制是通過單片機(jī)和GSM進(jìn)行串口通信,通過串口通信發(fā)送AT指令給GSM,GSM進(jìn)會按照相應(yīng)的指令進(jìn)行工作。在這個過程中,程序的編寫都需要參考GSM數(shù)據(jù)手冊中的AT指令表,這樣編寫出的程序才能按照預(yù)期進(jìn)行工作。
圖4-2 GSM與單片機(jī)相連接
在單片機(jī)與GSM進(jìn)行聯(lián)調(diào)的過程,遇到了兩個經(jīng)常犯的錯誤,一個是串口通信的端口連接,另一個就是晶振的選取。在串口通訊時必須將單片機(jī)的TXD和RXD端子和對應(yīng)GSM的RXD和TXD相連,而且要共地。否則數(shù)據(jù)不能正常傳輸,也達(dá)不到預(yù)期的效果。晶振的選取是以通信的波特率為準(zhǔn)進(jìn)行參數(shù)設(shè)置的。GSM與單片機(jī)通訊的波特率是9600,因此需要選擇11.0592MHz的晶振,不能選擇12MHz的晶振。這是因?yàn)闃?biāo)準(zhǔn)的51單片機(jī)晶振是1.2M~12M,由于一個機(jī)器周期是12個時鐘周期,所以使用12M的晶振時,一個機(jī)器周期是1us,在進(jìn)行定時時容易計(jì)算,而且速度相對是最高的。之所以使用11.0592M的晶振是因?yàn)樵谶M(jìn)行通信時,12M的頻率進(jìn)行串行通信不容易實(shí)現(xiàn)標(biāo)準(zhǔn)的波特率,比如9600,4800等。而11.0952MHZ的晶振在計(jì)算時鐘、串口通信的波特率等運(yùn)算中能夠得到一個整數(shù),計(jì)算的結(jié)構(gòu)更加的精確和方便。12M的容易出現(xiàn)累積誤差,因此在這里需要使用11.0592MHz的晶振才能保證精確的波特率,才能保證在傳輸數(shù)據(jù)的過程中不發(fā)生錯誤。
4.3加速度傳感器的調(diào)試
加速度傳感器采用的是MMA7455I,是一款數(shù)字傳感器,具有三個自由度,通過對CS端子進(jìn)行賦值可以選擇通信方式即SPI和IIC兩種通信方式,當(dāng)CS為高電平時采用的是IIC通訊方式,低電平時為SPI通訊方式。IIC通信為串行通信,可通過一個時鐘線和數(shù)據(jù)線讀取加速度傳感器內(nèi)的數(shù)據(jù)。
              MMA7455I加速度傳感器的測量范圍為 0- 2g/4g/8g,可通過mode control register來設(shè)置工作模式(g為重力加速度),這里選擇量程為4g。通過IIC協(xié)議來讀取加速度的值。每個軸上的加速度值的長度都是一個字節(jié)(8bit),由于滿量程為4g,因此MMA7455I的分辨率為 ,也就是滿63為1g的加速度。按照這個方法送到顯示屏上顯示,顯示單位為g,可以精確到小數(shù)點(diǎn)后兩位。讀取加速度后就可以進(jìn)行位移的計(jì)算了。在程序調(diào)試時設(shè)置當(dāng)加速度大于 時,開始采集加速度數(shù)據(jù),并打開定時器開始計(jì)時,并在循環(huán)采集程序中設(shè)置采集次數(shù)標(biāo)志位,當(dāng)加速度小于的時候,退出循環(huán)采集程序,然后求和,求平均算出加速度的平均值。有個平均加速度值,運(yùn)動時間,由于初始加速度值為0,有公式

上面公式中的加速度值和時間就可以求出移動的大致距離。
在采集的過程中,加速度值是帶有符號的,在相加的過程中如果出現(xiàn)來回的抖動,有符號的只想加加速度值就會變小,甚至最終導(dǎo)致和位移為0。這樣就可以消除抖動帶來的誤報(bào)現(xiàn)象。這就是這個過程的位移算法。
芯片的工作電壓是3.3V,因此需要通過電壓轉(zhuǎn)化來進(jìn)行供電,轉(zhuǎn)換芯片采用RT9161,它具有很小的失調(diào)電壓,電流大,驅(qū)動能力強(qiáng),用此款芯片來對傳感器進(jìn)行供電,可靠性高。
在調(diào)試過程總最容易忽略,最容易犯錯的就是單片機(jī)最小系統(tǒng)和傳感器共地的問題,如果不共地,單片機(jī)讀取的數(shù)據(jù)就有錯誤,只有共地后才有了統(tǒng)一的電平參考標(biāo)準(zhǔn),才能正確的傳輸數(shù)據(jù),設(shè)計(jì)上一般不會忽略這個問題,但是在調(diào)試過程中由于接線等問題,經(jīng)常會忘了共地而對調(diào)試帶來很大的麻煩。
圖4-3 防盜報(bào)警電話
4.4 DHT11溫濕度傳感器
              在本設(shè)計(jì)中DHT11用于采集溫濕度信息,可單總線串行輸出數(shù)字信號。DHT11總共有四個管腳,在焊接電路時,第一個管腳接VCC,第二個管腳為數(shù)據(jù)傳輸管腳,直接接到單片機(jī)的p2.0口,同時為了加強(qiáng)傳輸信號,在此管腳上加一個5k的上拉電阻,等待數(shù)據(jù)傳輸。
              總線空閑狀態(tài)為高電平,主機(jī)把總線拉低等待DHT11響應(yīng),主機(jī)把總線拉低必須大于18毫秒,此時調(diào)用一個18毫秒的延時子函數(shù),保證DHT11能檢測到起始信號。DHT11接收到主機(jī)的開始信號后,等待主機(jī)開始信號結(jié)束,然后調(diào)用一個80us低電平響應(yīng)信號。主機(jī)發(fā)送開始信號結(jié)束后,延時等待20-40us后, 讀取DHT11的響應(yīng)信號,主機(jī)發(fā)送開始信號后,可以切換到輸入模式,或者輸出高電平均可,總線由上拉電阻拉高。
圖4-4 DHT11接上拉電阻
用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分?jǐn)?shù)據(jù)。送出的40bit數(shù)據(jù),是由兩個字節(jié)的濕度數(shù)據(jù)、兩個字節(jié)的溫度數(shù)據(jù)和一個字節(jié)的校驗(yàn)和數(shù)據(jù),同時,溫、濕度數(shù)據(jù)是以一個字節(jié)按由高位到低位傳輸、一個由低位到高位傳輸,因此在程序中分別將一個字節(jié)的數(shù)移位后,將前四個字節(jié)相加,再和第五個字節(jié)相比較,如果相同即判定數(shù)據(jù)傳輸正確。
圖4-5 火災(zāi)報(bào)警短信
在連接好電路后,向DHT11哈氣,觀察液晶屏上濕度值是否增加,以此來判斷DHT11是否能實(shí)現(xiàn)對濕度信息采集的功能。同時把電烙鐵加熱,等達(dá)到一定的溫度后,放置在DHT11的旁邊,從液晶屏中觀察溫度值的變化,同時但溫度升高到45°時,觀察單片機(jī)是否會通過GSM給指定手機(jī)發(fā)送短信。
圖4-6 系統(tǒng)總體圖
5 總結(jié)與展望5.1總結(jié)
本文設(shè)計(jì)了基于單片機(jī)的智能家居報(bào)警系統(tǒng),通過近段時間的努力研究,主要完成以下內(nèi)容:
  • 通過分析家居生活中可能遇到的安全隱患,選擇了其中的兩個(防盜、防火災(zāi))進(jìn)行報(bào)警設(shè)計(jì);
  • 通過分析把整個系統(tǒng)分為若干個模塊;
  • 分別對每個模塊進(jìn)行了分析和設(shè)計(jì)(軟硬件設(shè)計(jì));
  • 使用Altium Designer Summer09繪制了系統(tǒng)原理圖;
  • 焊接、調(diào)試實(shí)物模型。
5.2展望
中國經(jīng)濟(jì)經(jīng)過30 年的高速發(fā)展,居民的生活水平和消費(fèi)能力有了很大提高,新需求的增長以及信息化對人們傳統(tǒng)生活的改變,讓許多人尤其是先富起來的一部分人,對智能家居的需求日益強(qiáng)烈。由此,智能化小區(qū)建設(shè)近年來也是如火如荼,“智能家居”更是被炒得炙手可熱。智能家居要走進(jìn)尋常百姓家中是指日可待的發(fā)展趨勢。中國是一個具有巨大的消費(fèi)潛力的市場,國內(nèi)的智能控制理念推廣不夠,是由于這是一個新興行業(yè),不同于普通消費(fèi)品市場的建設(shè),消費(fèi)觀念的形成還需要時間,現(xiàn)在只是在部分高端市場得到應(yīng)用,并且主要是被國外品牌所占據(jù),為此我們通過與國外公司的合作學(xué)習(xí)先進(jìn)的企業(yè)管理和品質(zhì)控制理念,相信未來國內(nèi)智能化產(chǎn)品市場一定會擁有美好的前景,智能化也將成為人們?nèi)粘I畹幕緲?biāo)準(zhǔn)。
然而對于家居生活中存在的安全隱患,本設(shè)計(jì)并沒有做到十分全面,例如:關(guān)于甲醛等有害氣體檢測、管道泄漏情況檢測、電路安全狀況的監(jiān)測等,都沒有涉及,因此本系統(tǒng)還有很大的擴(kuò)展空間。隨著信息時代來臨,智能監(jiān)控進(jìn)入高速發(fā)展時期,智能防盜報(bào)警系統(tǒng)作為智能化系統(tǒng)中的子系統(tǒng)之一,同樣承載著智能監(jiān)控所面臨的挑戰(zhàn)與機(jī)遇。針對居住的環(huán)境不同,用戶對于防盜報(bào)警系統(tǒng)的要求也不是一成不變的。因而智能防盜報(bào)警系統(tǒng)的設(shè)計(jì)中要考慮這些因素。既要易于使用,又要易于安裝和維護(hù),還要有利于擴(kuò)張和升級,還要考慮與其他系統(tǒng)的集成和信息共享,還要關(guān)注計(jì)算機(jī)、通信技術(shù)的發(fā)展對系統(tǒng)帶來的影響。
目前,智能家居“錢”途無量,但目前國內(nèi)仍處于向國外企業(yè)學(xué)習(xí)階段。這里的學(xué)習(xí)并非統(tǒng)統(tǒng)照搬,而是根據(jù)我們國家的環(huán)境、政策,學(xué)習(xí)國外的成功經(jīng)驗(yàn),借“機(jī)”生蛋,增加國內(nèi)企業(yè)成功的“籌碼”,使得國內(nèi)智能家居產(chǎn)業(yè)發(fā)展的風(fēng)生水起。
因此智能報(bào)警系統(tǒng)可作為智能家居的一部分進(jìn)行擴(kuò)展,本設(shè)計(jì)只是做了單方面的報(bào)警,如果繼續(xù)拓展的話,可通過GSM對家中的一些電器進(jìn)行雙向的控制。例如:在烈日炎炎的夏日,當(dāng)主人準(zhǔn)備回家時可查看家中溫度,如果超過了主人需求的溫度,則可通過手機(jī)直接和家中安裝的GSM模塊實(shí)現(xiàn)遠(yuǎn)程無線連接,進(jìn)一步可控制空調(diào)的開放和關(guān)閉來實(shí)現(xiàn)對家中溫度的調(diào)節(jié),這樣當(dāng)主人到家時立刻就能享受到家中的溫馨清涼。
              基于單片機(jī)的智能家居報(bào)警系統(tǒng)是智能家居中的一部分,為智能家居正常工作提供有力的保障,但如果融入智能家居設(shè)計(jì)中,本設(shè)計(jì)會得到進(jìn)一步的完善、更廣泛的應(yīng)用,實(shí)現(xiàn)更可觀的價值。

附錄二 程序
主程序(在壓縮包里面下載)

所有資料下載地址(含完整文檔+程序+ppt文件):
http://www.torrancerestoration.com/bbs/dpj-85476-1.html



1.024.jpg (771 Bytes, 下載次數(shù): 105)

1.024.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:291647 發(fā)表于 2018-3-15 13:51 | 只看該作者
有沒有電路原路圖和PCB圖呢?
回復(fù)

使用道具 舉報(bào)

板凳
ID:454284 發(fā)表于 2018-12-26 16:43 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表