家庭防盜系統(tǒng)設計設計說明_第1頁
家庭防盜系統(tǒng)設計設計說明_第2頁
家庭防盜系統(tǒng)設計設計說明_第3頁
家庭防盜系統(tǒng)設計設計說明_第4頁
家庭防盜系統(tǒng)設計設計說明_第5頁
已閱讀5頁,還剩108頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

平頂山工業(yè)職業(yè)技術(shù)學院2014年5月8日2畢業(yè)設計(論文)答辯委員會記錄答辯委員會根據(jù)學生提交的畢業(yè)設計(論文)材料,根據(jù)學生答辯情況,經(jīng)答辯委員會討論評定,給予學生畢業(yè)設計(論文)成答辯委員會人,出席人,,,。2平頂山工業(yè)職業(yè)技術(shù)學院畢業(yè)設計(論文)評語摘要I1.總體設計方案 21.1基于GSM安全系統(tǒng)簡介 21.2基于GSM安全系統(tǒng)現(xiàn)狀與發(fā)展趨勢......22.設計正文 42.1基于GSM的安全系統(tǒng)簡介 52.1單片機控制模塊 52.2傳感器模塊 62.4存儲器模塊 72.5液晶鍵盤模塊 83.2單片機控制模塊電路設計 3.3傳感器模塊電路設計 3.4報警模塊電路設計 3.5GSM模塊接口電路設計..........3.7液晶模塊電路設計 4.軟件設計 4.2GSM模塊軟件設計 4.3存儲器模塊軟件設計 4.5密碼鎖軟件設計 5.調(diào)試與結(jié)果 5.1密碼鎖調(diào)試 5.2開門功能調(diào)試 5.3修改密碼功能調(diào)試 5.4報警功能調(diào)試 5.5調(diào)試存在問題 7.參考文獻 前言以單片機中控主機為核心,采用國際領先的室內(nèi)無線組網(wǎng)技術(shù),實現(xiàn)門禁、空調(diào)、地暖、燈光、熱水器、家庭影院、窗簾、各類報警器等家庭電子設備與控制主機之間的通訊組網(wǎng),用戶可以通過手機、座機、遙控面板以及互聯(lián)網(wǎng)通信終端等方式,一鍵搞定所有家電設備,隨時了解家中的實時信息,遠程完成對家里各項設備的控制。只要手指輕輕一觸,家里所有電器都可以通過用手機平板電腦或者遙控面板一鍵操控,輕松對家居中的燈光、電視、空調(diào)、窗簾、攝像頭等進行實時查看與控制,讓你提前享受未來生活,一切變化盡在你的指1.總體方案設計1.1家庭防盜安全系統(tǒng)簡介家庭防盜安全系統(tǒng)是基于移動通信網(wǎng)絡的監(jiān)控報警技術(shù),徹底解決了普通防盜器、監(jiān)控器無法解決的遠程報警和易于破解的難題。利用通信加密技術(shù),讓用戶的家居安全無憂,是繼單向防盜器、雙向防盜器后的新一代防盜產(chǎn)品。家庭智能防盜器具備智慧靈魂,使人與財產(chǎn)的安全保障得到保證。在性能上必須要在各種情況條件下的高可靠性,在功能上必須既要讓用戶有不可破解的最高安全等級,又要讓用戶操作方便,甚至系統(tǒng)為用戶自動服務。智能防盜器符合全能的防盜技術(shù)特點:及時通知:超大范圍最高安全:杜絕解碼操作方便:手動自動實用功能:防盜防火1.2家庭防盜安全系統(tǒng)現(xiàn)狀與發(fā)展趨勢城市規(guī)模迅速擴大,外來人口大量涌入,使本來就復雜的城市管理更加復雜。家庭被盜,住戶被搶,常有發(fā)生。對此,公安部門雖作了大量投入,仍不盡人意。其原因大體是:(1)有的家庭被盜,損失數(shù)目極少,公安部門沒有用常規(guī)的方法立案偵察。(2)有的住戶雖然損失嚴重,但法律意識淺薄,不能將當時的情況和線索作一個明確的表述,自然增加了破案難度。(3)作案人詭計多端,狡猾、飄忽不定,沒有固定的著落和去處。2.設計正文隨著生活水平的提高,提別是物質(zhì)生活水平的不斷提高,人們對自己的個人安全和家庭財產(chǎn)安全越來越重視,安全已成為一種市場需求;同時經(jīng)濟的飛速發(fā)展伴隨著城市流動人口的急劇增加,給家庭防控增加了新的難題和提出了新的課題,傳統(tǒng)的人防物防的形式已難以適應社會形式發(fā)展的需求??茖W技術(shù)的進步和普遍應用,進一步同動了智能化家庭的建設步伐,家庭安全技術(shù)防范系統(tǒng)已經(jīng)從本地向遠程監(jiān)控發(fā)展,從社會的周邊防范向家庭內(nèi)部防控逐漸靠攏,家庭防盜報警系統(tǒng)在人們對美好生活的追求中迅速崛起。一個完善的職能家庭,具有便捷、安全、舒適、高檔的生活環(huán)境,確保每一個家庭住戶的聲明財產(chǎn)安全,是建設本系統(tǒng)的最大意義和根本目的。通過終端接收報警短信,并且可以發(fā)送命令短信異地遙控系統(tǒng)實現(xiàn)各種操作。利用各種傳感器對可能出現(xiàn)的煤氣泄露、火災、家中門窗被打開并有人闖入等意外情況進行,并通過短信發(fā)送特定報警信息于預先設定好的手機號碼,通知事主做出相應措施。通過網(wǎng)絡,即使遠在千里之外也能對家中發(fā)生的各種突發(fā)意外情況了如指掌,使生活更安全更智能。2.1家庭防盜安全系統(tǒng)簡介本系統(tǒng)是基于無線模塊的監(jiān)控報警技術(shù),徹底解決了普通防盜器、監(jiān)控器無法解決的遠程報警和易于破解的難題。利用通信加密技術(shù),讓用戶的家居安全無憂,是繼單向防盜器、雙向防盜器后的新一代防盜產(chǎn)品。本系統(tǒng)在性能上必須要在各種情況條件下的高可靠性,在功能上必須既要讓用戶有不可破解的最高安全等級,又要讓用戶操作方便,甚至系統(tǒng)為用戶自動服務,系統(tǒng)設計如圖12.1單片機控制模塊單片機控制模塊主要采用STC89C52單片機作為主控制芯片。STC89C52作為普通51單片機已廣泛應用于各種產(chǎn)品中,其接口簡單,方便使用,且功能STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編為眾多嵌入式控制應用系統(tǒng)提供高靈活、有效的解決方案。STC89C52具有以下標準功能:8K字節(jié)Flash,256字級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52可降至作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。其引腳圖如圖2所示。2.2傳感器模塊傳感器模塊主要由紅外傳感式集發(fā)射接收于一體的ITR9909。這是一種光電開關(guān)。光電開關(guān)(光電傳感器)是光電接近開關(guān)的簡稱,它是利用被檢測物對光束的遮擋或反射,由同步回路選通電路,從而檢測物體有無的。物體不限于金屬,所有能反射光線的物體均可被檢測。光電開關(guān)將輸入電流在發(fā)射器上轉(zhuǎn)換為光信號射出,接收器再根據(jù)接收到的光線的強弱或有無對目標物體進行2.3傳輸模塊傳輸模塊主要采用SIEMENS公司的TC35模塊,通過串口接入電路與單片機控制模塊相連,主要負責實現(xiàn)遠距離報警的功能。采用該模塊的短信功能,可以使某些控制達到“零距離”。由于短信息的費用低廉,可以取代傳統(tǒng)的無線遙控。因此本系統(tǒng)采用單片機控制無線模塊發(fā)送短信,實現(xiàn)遠距離報警的功能。TC35模塊是SIEMENS公司為嵌入式設備設計的雙頻通訊核心模塊,TC35T內(nèi)含TC35/SIM卡座/電源/天線/RS232接口,是可獨立使用的通訊終端。TC35支持標準的AT命令集,通過AT指令可實現(xiàn)發(fā)送短信功能。模塊有AT命令集接口,支持文本和PDU模式的短消息、第三組的二類傳真、以及2.4K、4.8K、9.6K的非透明模式。TC35模塊主要由基帶處理器、射頻模塊、供電模塊(ASIC)、閃存、ZIF連接器、天線接口六部分組成。作為TC35的核心,基帶處理器主要處理終端內(nèi)的語音、數(shù)據(jù)信號,并涵蓋了蜂窩射頻設備中的所有的模擬和數(shù)字功能。在不需要額外硬件電路的前提下,可支持FR、HR和EFR語音信道編碼。設置以下AT指令,GSM模塊可以發(fā)送短消息:AT+CMGF=1回車(采用文本格式發(fā)送,如用PDU格式,則AT+CMGF=0)AT+CMGS=“+8613xxxxxxxxx”回車>輸入短消息。Crtl+Z結(jié)束并發(fā)送。2.4存儲器模塊為了實現(xiàn)對密碼的存儲,防止不法分子切斷電源造成密碼丟失,本系統(tǒng)采用了AT24C02存儲器對密碼進行存儲。AT24C02是一個2K位串行CMOSE2PROM,內(nèi)部含有256個8位字節(jié)。內(nèi)部有一個16字節(jié)頁寫緩沖器,該器件通過I2C總線接口進行操作,有一個專門的寫保護功能。AT24C02支持I2C總線數(shù)據(jù)傳送協(xié)議。I2C總線協(xié)議規(guī)定,任何將數(shù)據(jù)傳送到總線的器件為發(fā)送器。任何從總線接收數(shù)據(jù)的器件為接收器。數(shù)據(jù)傳送是由產(chǎn)生串行時鐘和所有起始停止信號的主器件控制的。主器件和從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)(發(fā)送或接收)的模式。AT24C02通過8個引腳實現(xiàn)數(shù)據(jù)的存儲功能,其引腳圖如下圖3所示。2.5液晶鍵盤模塊液晶鍵盤模塊主要由4*4矩陣鍵盤和LCD1602液晶顯示器組成。4*4矩陣鍵盤主要提供用戶操作輸入功能,是實現(xiàn)人機通信的主要控制部分;LCD1602液晶顯示器主要負責顯示系統(tǒng)信息,協(xié)助用戶操作系統(tǒng)。下面分別簡單介紹矩陣鍵盤和LCD1602液晶顯示器的性能和工作原理。2.5.1LCD1602液晶顯示器LCD1602是一種字符型液晶顯示模塊,是一種專門用于顯示字母、數(shù)字、符號等點陣式的LCD。該液晶顯示器使用方便,功耗小,因此本系統(tǒng)采用LCD1602作為系統(tǒng)的顯示部分。LCD1602包括4種工作狀態(tài),通過MCU設置RS、RW和E值,可使液晶工作在不同的狀態(tài)。寫指令:輸出:無輸出:無2.5.24*4矩陣鍵盤在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構(gòu)成4*4=16個按鍵,從而節(jié)省I/O資源,因此在本設計中采用4*4矩陣鍵盤。矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,行線通過上拉電阻接到+5V上。當無鍵按下時,行線處于高電平狀態(tài);當有鍵按下時,行、列線將導通,此時,行線電平將由與此行線相連的列線電平?jīng)Q定。對于矩陣式鍵盤,按鍵的位置由行號和列號唯一確定,因此可分別對行號和列號進行二進制編碼,然后將兩值合成一個字節(jié),高4位是行號,低4位是列號。編碼相互轉(zhuǎn)換可通過計算或查表的方法實現(xiàn)。3.1系統(tǒng)硬件電路設計系統(tǒng)硬件電路主要由單片機控制模塊電路、報警模塊電路、GSM模塊電路、存儲器模塊電路、液晶鍵盤模塊電路和傳感器模塊電路組成。系統(tǒng)硬件電路如圖4系統(tǒng)電路圖3.2單片機控制模塊電路設計單片機電路主要包括晶振電路、復位電路、P0口的上拉電阻等組成,電路如圖7所示。接口P3為單片機P0引腳的上拉電阻,接口P2為矩陣鍵盤的接入口。在晶振電路中,晶振頻率選為11.0592MHz,原因是使初值為整數(shù),從而產(chǎn)生精確的波特率,如圖5圖5單片機控制模塊電路圖3.3傳感器模塊電路設計在本設計中,為了提高傳感器的精確度和方便性,傳感器都通過引線連接到相應的接口上,而非直接焊接到電路板上。由于傳感器的信號為弱電平信號,容易造成單片機的誤操作。為保證系統(tǒng)具有較高的靈敏度,故加入由LM324組成的放大電路,電路如圖8所示。接口P6為煙霧傳感器的接口;接口P7為人體感應傳感器的接口。通過分別調(diào)整可變電阻R2和R7,可以改變煙霧傳感器和人體感應傳感器信號的放大倍數(shù)。由于單片機的中斷方式為低電平中斷,所以經(jīng)放大器放大后的信號要先接入反相器,才能再連接到單片機的中斷引腳上如圖6。圖6傳感器模塊電路圖3.4報警模塊電路設計由于單片機STC89C52提供的工作電流只有20mA,而蜂鳴器正常工作電流一般比較大,片機的I/O口是無法直接驅(qū)動的,因此需要一個外部的驅(qū)動電路,提供正常工作所需要的電流。報警模塊電路圖如圖7所示,在該電路中,speaker連接在單片機引腳上,接口P4為蜂鳴器,晶體管工作在飽和狀態(tài),相當于一個開關(guān)。圖7報警模塊電路圖3.5GSM模塊接口電路設計GSM模塊的工作主要由單片機通過串口將AT指令發(fā)送到GSM模塊。串口電路主要由芯片MAX232進行電平轉(zhuǎn)換,實現(xiàn)串口電壓與單片機電壓的轉(zhuǎn)換,確保雙方可以相互通信,電路如圖8所示。單片機的TXD引腳接到MAX232的T2IN引腳,單片機的RXD引腳接到MAX232的T2OUT引腳。圖8GSM模塊接口電路圖3.6存儲器模塊電路設計存儲器模塊電路主要由芯片AT24C02構(gòu)成,存儲器模塊電路圖如圖9所示。在本設計中,只有一個AT24C02被總線尋址這三個地址,故輸入腳A0A1A2可懸空或連接到Vss。串行時鐘SCL和串行數(shù)據(jù)/地址引腳SDA分別接到單片機引腳P3.6和P3.7上,通過單片機編程控制存儲器的讀寫。圖9存儲器模塊電路圖3.7液晶模塊電路設計液晶模塊電路如圖10所示??烧{(diào)電阻R1調(diào)節(jié)液晶偏壓,RS、RW和EN分別接到單片機的P0.5、P0.6、P0.7引腳,通過單片機按相應時序編程控制液晶顯示。Data0~Data7為液晶數(shù)據(jù)位,接到單片機P2引腳。圖10液晶模塊電路圖4.軟件設計該系統(tǒng)主要實現(xiàn)的功能是:輸入密碼,密碼正確則進入系統(tǒng)。當輸入密碼錯誤次數(shù)小于3次時,可以重新輸入。當錯誤次數(shù)達到3次,系統(tǒng)便進入自鎖狀態(tài)并通過GSM發(fā)送短信通知用戶。成功進入系統(tǒng)后可以選擇不同的功能:開門、修改系統(tǒng)密碼和開啟報警系統(tǒng)。選擇開門功能。則開門的指示燈會亮。選擇修改系統(tǒng)密碼功能,則按照系統(tǒng)指引輸入舊密碼、新密碼和重復新密碼。若輸入的密碼都正確,則修改密碼成功。若輸入的密碼錯誤,則需要重新輸入,當錯誤次數(shù)達到3次時,系統(tǒng)也會進入自鎖狀態(tài)和通過GSM發(fā)送短信通知用戶。選擇開啟報警功能,煙霧傳感器和紅外熱釋能傳感器便開始工作,一旦檢測到信號,報警音響并通過GSM發(fā)送短信通知用戶。若需要關(guān)閉報警功能,只要按關(guān)閉報警的按鍵,并正確輸入密碼后,報警功能就會關(guān)閉。主程序流程4.1傳感器模塊軟件設計在本系統(tǒng)中,LCD1602液晶顯示是通過調(diào)用voiddisplay(ucharpos,uchar*q)函數(shù)實現(xiàn)的,其流程圖如圖12所示。在voiddisplay(ucharpos,uchar*q)函數(shù)中,lcd_wcmd(),lcd_pos()兩個函數(shù),先寫顯示地址,后寫顯示數(shù)據(jù)。單片機P2EP引腳,通過單片機控制液晶顯示在本系統(tǒng)中,鍵盤的軟件實現(xiàn)通過分時掃描、鍵盤編碼的形式來實現(xiàn),其不會全為1。如果讀取不到P1口的值,比如是干擾,則不做鍵值處理,返回繼續(xù)循環(huán)下次。圖13主程序流程圖4.2GSM模塊軟件設計在本系統(tǒng)中,GSM模塊軟件設計是通過串口發(fā)送AT指令給GSM模塊來“AT+CMGF=1\r”給GSM模塊,設“AT+CMGSr”,設置收信方的手機號碼;接著將待發(fā)送短信的內(nèi)容發(fā)給GSM模塊;最后發(fā)送十六進制的0x1A(回車)確認發(fā)送,這樣就能通過GSM模塊最終實現(xiàn)報警通知用戶的功能。程序見附錄。圖14短信發(fā)送流程圖在GSM模塊和單片機的串行通信中,選用定時器T1在工作方式2設定波特率為9600,其初值計算公式如下:已知fosc為11.00592MHz,設波特率控制位SMOD=0,則有故在程序設計時,定時器初值設置為0xFD。4.3存儲器模塊軟件設計在本系統(tǒng)中,AT24C02的存儲功能主要是通過I2C總線來實現(xiàn)串行讀寫,其流程圖如圖15所示。I2C總線在寫入和讀取一個8位二進制數(shù)時,總是高位在前低位在后。在讀函數(shù)_24C02Read(unsignedcharl_address)中,先向I2C總線發(fā)出讀取24C02的寫地址,在完成I2C串口協(xié)議后,寫入24C02的讀地址,unsignedcharl_address)中,先向總線發(fā)出寫24C02的地址,在完成I2C串口協(xié)議后,寫入24C02的寫地址,然后寫入數(shù)據(jù)。程序見附錄。圖15AT24C02讀寫流程圖4.4液晶鍵盤模塊軟件設計在本系統(tǒng)中,LCD1602液晶顯示是通過調(diào)用voiddisplay(ucharpos,uchar*q)函數(shù)實現(xiàn)的,其流程圖如圖16所示。在voiddisplay(ucharpos,uchar*q)函數(shù)中,lcd_wcmd(),lcd_pos()兩個函數(shù),先寫顯示地址,后寫顯示數(shù)據(jù)。單片機P2EP引腳,通過單片機控制液晶顯示。程序見附錄。圖16LCD1602顯示流程圖在本系統(tǒng)中,鍵盤的軟件實現(xiàn)通過分時掃描、鍵盤編碼的形式來實現(xiàn),其不會全為1。讀取P1口的值,查表獲得相應的16進制值存放l_key變量中,退出循環(huán)。如果讀取不到P1口的值,比如是干擾,則不做鍵值處理,返回繼續(xù)循環(huán)下次。程序見附錄。圖17鍵盤掃描流程圖4.5密碼鎖軟件設計在本系統(tǒng)中,密碼鎖的軟件實現(xiàn)是通過比較輸入密碼值和實際密碼值是否一樣來進行的,其流程圖如圖18所示。如果密碼正確,則進入下一步操作。如果密碼錯誤,則需要重新輸入密碼,直到密碼正確為止。每輸錯一次密碼,錯誤次數(shù)記錄變量times就會加1。一旦times增加到3,則調(diào)用GSM程序發(fā)短信,并且系統(tǒng)進入死鎖狀態(tài)。程序見附錄。圖18密碼鎖設置流程圖5.調(diào)試與結(jié)果(建議更名為“家庭防盜系統(tǒng)系統(tǒng)仿真”)電路板焊接成功后就可以進行調(diào)試,在調(diào)試之前,應先將已編好的程序下載到芯片STC89C52。編寫好程序后,將文件加載到工程中,然后“build”,生成“*.hex”文件,將AT89S52芯片插到下載開發(fā)板中,然后打開下載軟件,通過它導入“*.hex”運行編譯,載入到芯片即可。5.1密碼鎖調(diào)試系統(tǒng)上電后,液晶顯示“Pleaseinputthepassword:”字樣,如圖24所示。2秒后,系統(tǒng)進入輸入狀態(tài),此時可通過鍵盤輸入6位密碼。在輸入狀態(tài),當輸入錯誤時,可通過鍵盤上的“Delect”鍵刪除錯誤位。當輸入完成以后,按“Enter”鍵確認輸入。“Pleasepressthefunctionkey”字樣,此時可通過按不同的功能鍵選擇不同的功若輸入的密碼錯誤,蜂鳴器長鳴同時液晶顯示“Error!”,如圖26所示。若錯誤次數(shù)小于3次,2秒后可重新輸入密碼。若錯誤次數(shù)達到三次,系統(tǒng)進入死鎖狀態(tài),液晶顯示“Tryittomorrow!”,并通過GSM模塊發(fā)送短信通知用戶,5.2開門功能調(diào)試在進入操作系統(tǒng)后,按“Open”鍵進入開門功能。此時,開門燈亮,液晶顯示“Openthedoor.”。5.3修改密碼功能調(diào)試在進入操作系統(tǒng)后,按“Change”鍵進入修改密碼功能。按照液晶指示“Inputoldpassword”,輸入舊密碼;然后提示“Inputnewpassword”,輸入新密碼;最后在提示“Inputitagain!”后重復輸入新密碼。若輸入的密碼都正確,則修改密碼成功,顯示“Establishessuccessful!”,如圖28所示。若密碼有一次錯誤,則需要從輸入舊密碼開始重新操作,當錯誤次數(shù)達到3次時,系統(tǒng)也會進入死鎖狀態(tài)。5.4報警功能調(diào)試在進入操作系統(tǒng)后,按“Alarm”鍵進入開啟報警功能,此時液晶顯示“Systemstartup.”。當煙霧傳感器檢測到煙霧時,啟動中斷程序,蜂鳴器報警,液晶顯示“Alarm!”和“Onfire!”,并通過GSM發(fā)送短信通知用戶,當紅外熱釋能傳感器檢測到人體時,啟動中斷程序,蜂鳴器報警,液晶顯示“Alarm!”和“Steal!”,并通過GSM發(fā)送短信通知用戶。5.5調(diào)試存在問題整個設計的難點在于調(diào)試方面,因此在調(diào)試中也遇到了很多問題,但經(jīng)過查看資料和細心分析后,最終都能順利解決。下面總結(jié)以下調(diào)試過程中出現(xiàn)的問題及解決方法。在制板過程中,難免會出現(xiàn)各種差錯而導致電路短路或斷路等現(xiàn)象。為避免此類情況的發(fā)生影響調(diào)試結(jié)果,在調(diào)試前,先用萬用表二極管檔將電路板的線路都測一下,確保電路正常。調(diào)試過程首先驗證LCD1602能否正常運行。先編寫簡單的LCD1602顯示程序,然后通過串口下載HEX格式文件到單片機。上電后,液晶只亮但沒有顯示,初步懷疑是RS、RW和E控制位設置錯誤。但通過萬用表測試控制引腳電平跳變情況,發(fā)現(xiàn)正常,故排除該可能。最后經(jīng)過反復檢查,發(fā)現(xiàn)原來是因為單片機P2引腳為倒序排列,在畫板圖時沒有留意,導致接錯數(shù)據(jù)引腳。采在設計程序時,考慮到存儲器AT24C02全新時存儲內(nèi)容為0,此時才寫入初始化密碼。但經(jīng)過驗證,該設想不實際,故直接寫入初始化密碼。在設計功能選擇時,采用按鍵獲得鍵值,再根據(jù)鍵值選擇不同功能函數(shù)的方式來實現(xiàn)的。在調(diào)試時,出現(xiàn)第一次按鍵有反應,之后都沒有反應的現(xiàn)象。經(jīng)過仔細分析后得知,在每次按鍵后,程序跳入不同功能函數(shù)時要將鍵值重設初值0xFF,否則會進入死循環(huán)。調(diào)試過程遇到的最大難題是中斷問題。剛開始時,傳感器沒有檢測到信號,但單片機卻運行中斷程序。通過萬用表測試中斷引腳,發(fā)現(xiàn)電平正常。試過更換單片機芯片和將中斷引腳接地,問題依然存在。最后使用示波器測試中斷引腳,發(fā)現(xiàn)存在干擾信號,使得單片機出現(xiàn)誤中斷現(xiàn)象。故在程序中加入延時檢測中斷信號部分后,干擾信號被排除掉,中斷正常。編程時要注意規(guī)范問題。編程過程中要注意加注釋或分割線,否則,在程序過長時容易變得很亂,不便于查找或更改。程序的結(jié)構(gòu)要設計的合理,避免上下亂調(diào)用的現(xiàn)象,這樣會使程序更加清晰化。編程前要畫流程圖,這樣會使思路清晰。此外,使用循環(huán)結(jié)構(gòu)體時要注意有退出循環(huán)體的出口,避免程序進入死循環(huán)。6.總結(jié)該設計在一定程度上解決了傳統(tǒng)機械式防盜的弊端,利用高科技將防盜報警智能化、自動化,可以減少和避免戶主的損失。由于該系統(tǒng)主要利用現(xiàn)代移動通信網(wǎng)絡作為承載,不需要考慮布線等因素,減少了環(huán)境因素對系統(tǒng)的影響,提高了該系統(tǒng)的可移動性。由于時間的關(guān)系和考慮到元器件的價格等因素,該設計還存在一些不足的地方。例如,該設計存在不夠人性化的地方,可通過添加實時時鐘芯片增加時間功能,并在此基礎上加入自動開啟和關(guān)閉系統(tǒng)的功能等等。除此以外,還可以通過增加斷電保護電路增強系統(tǒng)的安全性。在設計的這段時間里,我對這四年學習到的知識有了一個全面的認識,也因此學到了很多東西。這一次的實訓設計,從查找資料、方案確定、電路設計到PCB制作和調(diào)試,整個過程都是我自己親自去完成。在整個設計期間,我遇到了很多問題,但經(jīng)過仔細的分析和其他同學的幫助后,最終都把問題解決,我也從中學會了解決問題的方法。#include"key.h"#include"gsm.h"sbitdoor=P0^0;//定義P0^0為門鎖控制標志位sbitalarm=P0^3;//定義Psbitint1=P3^3;sbitint0=P3^2;ucharpswd[6]={0};ucharpswd_flash[6]={//存儲輸入鍵值//存儲密碼//暫存新密碼//檢測舊密碼標志位//檢測新密碼標志位inti=0;//密碼位bitdelect;bitok;//修改密碼控制標志位//設定控制標志位//刪除控制吧標志位//確定控制標志位//取消控制標志位voidinput(void);voidpswd_error(void);voidonfire(void);voidfunction(void);voidalarm_f(void);//輸入函數(shù)//密碼錯誤函數(shù)//火災報警函數(shù)//盜竊報警函數(shù)//功能選擇函數(shù)//修改密碼函數(shù)//報警功能函數(shù)#include<intrins.h>#include<Init_Timer0.h>//LED1黃色指示燈//LED2綠色指示燈//LED3紅色指示燈sbitIGT=P2^5;//啟動TC35I信號//繼電器unsignedcharBuf_First_Serial[Buf1_Max];//發(fā)送換行回車函數(shù){}voidCLR_Buf1(void){for(k=0;k<Buf1_Max;k++)//將緩存內(nèi)容清零{}First_Int=0;//接收字符串的起始存儲位置}//判斷緩存中是否含有指定的字符串函數(shù){if(strstr(Buf_First_Serial,a)!=NULL)return1;return0;}//定位字串"+32"符位置voidFind_dw_TEXT(void){for(k=0;k<Buf1_Max;k++){if(Buf_First_Serial[k]=='+'&&Buf_First_Serial[k+1]=='3'&&Buf_First_Serial[k+2]=='2'){break;}}for(k=0;k<Buf1_Max;k++){if(Buf_First_Serial[k]=='O'&&Buf_First_Serial[k+1]=='K'){break;}}}//送命令函數(shù)//不允許出錯{c=b;//保存字符串地址到c{if(!Hand("OK")){if(Timer0_Start==0){for(b;*b!='\0';b++){//將字符串地址給b}shijian=wait_time;}}{i=1;}}CLR_Buf1();}//發(fā)送命令函數(shù)//允許出錯{c=b;//保存字符串地址到c{if((!Hand("OK"))&&(!Hand("ERROR"))){if(Timer0_Start==0){for(b;*b!='\0';b++){}shijian=wait_time;}}{i=1;}}CLR_Buf1();}{//將字符串地址給b//取消回顯//新短信到Second_AT_Command("AT+CMGF=1",3);Second_AT_Command("AT+CSDH=0",3);//TEXT顯示模式//Second_AT_Command("AT+CSCS=\"GSM\"",3);//所有Second_AT_Command("AT+CPMS=\"SM\",\"http://所有操作都在MT(模塊終端)中進行;}{if(strstr(Buf_First_Serial,"+CMTI")!=NULL)"+CMTI"就表示有新的短信{CLR_Buf1();//while((!Hand("OK"))&&(!Hand("ERROR")))//{//CLR_Buf1();Send_ASCII("AT+CMGR=1");//發(fā)送讀取信息指令//}Find_dw_TEXT();for(k=Start_weizi;k<=End_weizi;k++){}if(strstr(Buf_First_Serial,"onled1")!=NULL){}elseif(strstr(Buf_First_Serial,"offled1")!=NULL){}elseif(strstr(Buf_First_Serial,"onled3")!=NULL){}elseif(strstr(Buf_First_Serial,"offled3")!=NULL){}elseif(strstr(Buf_First_Serial,"onrelay")!=NULL){}elseif(strstr(Buf_First_Serial,"offrelay")!=NULL){}CLR_Buf1();}}{i=0;CLR_Buf1();{CLR_Buf1();Send_ASCII("AT+CREG?");for(k=0;k<Buf1_Max;k++){if(Buf_First_Serial[k]==':'){if((Buf_First_Serial[k+4]=='1')||(Buf_First_Serial[k+4]=='5')){i=1;break;}}}}}{IGT=0;IGT=1;Timer0_init();Serial_Init();//第一個串口初始化Wait_CREG();{}}voidTimer0(void)interrupt1{{}if(Timer0_Start==1)if(Times>(40*shijian{}//停止定時器0TR0=1;//開啟定時器0}voidSerial_Int(void)interrupt4{ES=0;if(TI)//如果是發(fā)送中斷,則不做任何處理{TI=0;//清除發(fā)送中斷標志位}if(RI)//如果是接送中斷,則進行處理{RI=0;//清除接收中斷標志位Buf_First_Serial[First_Int]=SBUF;//將接收到的字符串存到緩存中First_Int++;//緩存指針向后移動if(First_Int>Buf1_Max)//如果緩存滿,將緩存指針指向緩存的首地址{First_Int=0;}}}/*****/voidinput(void){intk=0;while(k<6){display(0x00+k,"*");l_key=0xff;k++;}k--;display(0x00+k,"");l_key=0xff;}}{break;}}}{intt,j;display(0x00,"Error!");if(t>=3)//錯誤輸入3次后自鎖{display(0x00,"Tryittomorrow!");for(j=0;j>=0;j++)//自鎖for(j=0;j>=0;j++);}return;}{display(0x40,"functionkey");{{break;}{break;}{alarm_f();break;}}}{display(0x40,"rd:");input();{display(0x40,"rd:");input();for(i=0;i<=6;i++)display(0x00,"Inputitagain!");input();if(correct_new==0){for(i=0;i<6;i++)}pswd_error();}}pswd_error();//新密碼不正確//舊密碼不正確}}{EA=1;{{display(0x40,"tem.");EA=0;break;}}}{InitCom();int1=0;IT0=1;IT1=1;EA=0;{lcd_init();//lcd初始化display(0x00,"Pleasedisplay(0x40,"password:");for(i=0;i<6;i++)input();for(i=0,correct_old=0;i<6;i++)//輸入密碼與實際密碼比較{display(0x00,"Correct!");{{break;}function();}}{pswd_error();}}}{if(int1==0){display(0x00,"Alarm!");display(0x40,"Steal!");}}#include"lcd1602.h"voidI2C_write(unsignedchartm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論