版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
前言以智能中控主機為核心,采用國際領(lǐng)先室內(nèi)無線組網(wǎng)技術(shù),實現(xiàn)門禁、空調(diào)、地暖、燈光、熱水器、家庭影院、窗簾、各類報警器等家庭電子設(shè)備與控制主機之間通訊組網(wǎng),顧客可以通過手機、座機、遙控面板以及互聯(lián)網(wǎng)通信終端等方式,一鍵搞定所有家電設(shè)備,隨時理解家中實時信息,遠程完畢對家里各項設(shè)備控制。只要手指輕輕一觸,家里所有電器都可以通過用手機平板電腦或者遙控面板一鍵操控,輕松對家居中燈光、電視、空調(diào)、窗簾、攝像頭等進行實時查看與控制,讓你提前享有將來生活,一切變化盡在你指尖!
1.總體設(shè)計方案1.1基于GSM安全系統(tǒng)簡介GSM安全系統(tǒng)是基于移動通信網(wǎng)絡監(jiān)控報警技術(shù),徹底解決了普通防盜器、監(jiān)控器無法解決遠程報警和易于破解難題。運用通信加密技術(shù),讓顧客家居安全無憂,是繼單向防盜器、雙向防盜器后新一代防盜產(chǎn)品。GSM智能防盜器,是運用最新材料技術(shù)、最新信息技術(shù)、最新人工智能設(shè)計讓防盜器具備智慧靈魂,使人與財產(chǎn)安全保障突破時空限制。在性能上必要要在各種狀況條件下高可靠性,在功能上必要既要讓顧客有不可破解最高安全級別,又要讓顧客操作以便,甚至系統(tǒng)為顧客自動服務。GSM網(wǎng)絡智能防盜器符合全能防盜技術(shù)特點:及時告知:全球范疇最高安全:杜絕解碼操作以便:手動自動實用功能:防盜防火GSM防盜被喻為繼第一代機械鎖,第二代電子式防盜鎖,第三代芯片式數(shù)碼防盜器,第四代GPS防盜之后第五代防盜器。本系統(tǒng)充分運用GSM移動通訊網(wǎng)絡,結(jié)合數(shù)字通訊技術(shù),實現(xiàn)對家居進行狀態(tài)監(jiān)控、調(diào)度、防盜報警、防火報警等功能。GSM網(wǎng)絡防盜重要是突破了無距離限制。無服務費、無月租、房屋遇到入侵,5秒鐘告知到戶主,戶主可以第一時間制止盜竊行為發(fā)生,防止火災蔓延。1.2基于GSM安全系統(tǒng)現(xiàn)狀與發(fā)展趨勢都市規(guī)模迅速擴大,外來人口大量涌入,使本來就復雜都市管理更加復雜。家庭被盜,住戶被搶,常有發(fā)生。對此,公安部門雖作了大量投入,仍不盡人意。其因素大體是:(1)有家庭被盜,損失數(shù)目很少,公安部門沒有用常規(guī)辦法備案偵察。(2)有住戶雖然損失嚴重,但法律意識淺薄,不能將當時狀況和線索作一種明確表述,自然增長了破案難度。(3)作案人詭計多端,狡猾、飄忽不定,沒有固定著落和去處。(4)公安部門時時有諸多大案要案要辦,使破案周期變長,破案率下降。綜上所述,GSM家庭防盜系統(tǒng)是一種尖端科技安防產(chǎn)品,性能可靠操作簡樸,具備深遠發(fā)展意義。
2.設(shè)計正文隨著生活水平提高,提別是物質(zhì)生活水平不斷提高,人們對自己個人安全和家庭財產(chǎn)安全越來越注重,安全已成為一種市場需求;同步經(jīng)濟飛速發(fā)展隨著著都市流動人口急劇增長,給家庭防控增長了新難題和提出了新課題,老式人防物防形式已難以適應社會形式發(fā)展需求。科學技術(shù)進步和普遍應用,進一步同動了智能化家庭建設(shè)步伐,家庭安全技術(shù)防范系統(tǒng)已經(jīng)從本地向遠程監(jiān)控發(fā)展,從社會周邊防范向家庭內(nèi)部防控逐漸靠攏,家庭防盜報警系統(tǒng)在人們對美好生活追求中迅速崛起。一種完善職能家庭,具備便捷、安全、舒服、高檔生活環(huán)境,保證每一種家庭住戶聲明財產(chǎn)安全,是建設(shè)本系統(tǒng)最大意義和主線目。GSM模塊將GSM射頻芯片、基帶解決芯片、存儲器、功放器件等集成在一塊線路板上,具備獨立操作系統(tǒng)、GSM射頻解決、基帶解決并提供原則接口功能模塊。因而,GSM模塊具備發(fā)送SMS短信,語音通話,GPRS數(shù)據(jù)傳播等基于GSM網(wǎng)絡進行通信所有基本功能。簡樸來講,GSM模塊加上鍵盤、顯示屏和電池,就是一部手機。當前,GSM模塊依然在廣泛工業(yè)應用領(lǐng)域使用,在更行各業(yè)都能看到GSM模塊應用產(chǎn)品。例如,在車載監(jiān)控領(lǐng)域,使用GSM模塊將車輛行駛GPS數(shù)據(jù)傳播到車輛管理中心;在電力、水務系統(tǒng),通過GSM模塊實現(xiàn)了遠程智能抄表,可以實時監(jiān)控顧客用電和用水量;在測繪行業(yè),為諸多偏僻測繪點安裝了GSM模塊實現(xiàn)了實時監(jiān)控,不必再人工收集數(shù)據(jù);在家庭,可以安裝無線報警系統(tǒng),一旦發(fā)生火情或盜竊行為,可以及時告知戶主和報警;在國外,諸多老人小孩帶了個人跟蹤器,防止老人和小孩走失或意外發(fā)生,里面也是集成了GSM模塊??梢哉f,隨著GSM網(wǎng)絡建設(shè)完善,GSM模塊應用范疇也越來越廣。通過手機終端接受報警短信,并且可以發(fā)送命令短信異地遙控系統(tǒng)實現(xiàn)各種操作。運用各種傳感器對也許浮現(xiàn)煤氣泄露、火災、家中門窗被打開并有人闖入等意外狀況進行,并通過短信發(fā)送特定報警信息于預先設(shè)定好手機號碼,告知事主做出相應辦法。通過GSM網(wǎng)絡,雖然遠在千里之外也能對家中發(fā)生各種突發(fā)意外狀況了如指掌,使生活更安全更智能。2.1基于GSM安全系統(tǒng)簡介GSM安全系統(tǒng)是基于移動通信網(wǎng)絡監(jiān)控報警技術(shù),徹底解決了普通防盜器、監(jiān)控器無法解決遠程報警和易于破解難題。運用通信加密技術(shù),讓顧客家居安全無憂,是繼單向防盜器、雙向防盜器后新一代防盜產(chǎn)品。GSM智能防盜器,是運用最新材料技術(shù)、最新信息技術(shù)、最新人工智能設(shè)計讓防盜器具備智慧靈魂,使人與財產(chǎn)安全保障突破時空限制。在性能上必要要在各種狀況條件下高可靠性,在功能上必要既要讓顧客有不可破解最高安全級別,又要讓顧客操作以便,甚至系統(tǒng)為顧客自動服務,系統(tǒng)設(shè)計如圖1圖1系統(tǒng)設(shè)計圖2.1單片機控制模塊單片機控制模塊重要采用STC89C52單片機作為主控制芯片。STC89C52作為普通51單片機已廣泛應用于各種產(chǎn)品中,其接口簡樸,以便使用,且功能強大STC89C52是一種低功耗、高性能CMOS8位微控制器,具備8K在系統(tǒng)可編程Flash存儲器。片上Flash容許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有機靈8位CPU和在系統(tǒng)可編程Flash,使STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、STC89C52具備如下原則功能:8K字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定期器,2個數(shù)據(jù)指針,三個16位定期器/計數(shù)器,一種6向量2級中斷構(gòu)造,全雙工串行口,片內(nèi)晶振及時鐘電路。此外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選取節(jié)電模式??臻e模式下,CPU停止工作,容許RAM、定期器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM圖2STC89C52引腳圖2.2傳感器模塊傳感器模塊重要由紅外傳感式集發(fā)射接受于一體ITR9909。這是一種光電開關(guān)。光電開關(guān)(光電傳感器)是光電接近開關(guān)簡稱,它是運用被檢測物對光束遮擋或反射,由同步回路選通電路,從而檢測物體有無。物體不限于金屬,所有能反射光線物體均可被檢測。光電開關(guān)將輸入電流在發(fā)射器上轉(zhuǎn)換為光信號射出,接受器再依照接受到光線強弱或有無對目的物體進行探測。2.3GSM模塊GSM模塊重要采用SIEMENS公司TC35模塊,通過串口接入電路與單片機控制模塊相連,重要負責實現(xiàn)遠距離報警功能。采用GSM短信功能,可以使某些控制達到“零距離”。由于短信息費用低廉,可以取代老式無線遙控。因而本系統(tǒng)采用單片機控制GSM模塊發(fā)送GSM短信,實現(xiàn)遠距離報警功能。TC35模塊是SIEMENS公司為嵌入式設(shè)備設(shè)計GSM雙頻通訊核心模塊,TC35T內(nèi)含TC35/SIM卡座/電源/天線/RS232接口,是可獨立使用通訊終端。TC35支持原則AT命令集,通過AT指令可實現(xiàn)發(fā)送短信功能。模塊有AT命令集接口,支持文本和PDU模式短消息、第三組二類傳真、以及2.4K、4.8K、9.6K非透明模式。TC35模塊重要由GSM基帶解決器、GSM射頻模塊、供電模塊(ASIC)、閃存、ZIF連接器、天線接口六某些構(gòu)成。作為TC35核心,基帶解決器重要解決GSM終端內(nèi)語音、數(shù)據(jù)信號,并涵蓋了蜂窩射頻設(shè)備中所有模仿和數(shù)字功能。在不需要額外硬件電路前提下,可支持FR、HR和EFR語音信道編碼。設(shè)立如下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é)頁寫緩沖器,該器件通過I2CAT24C02支持I2C總線數(shù)據(jù)傳送合同。I2AT24C02通過8個引腳實現(xiàn)數(shù)據(jù)存儲功能,其引腳圖如下圖3所示。圖3AT24C02引腳圖2.5液晶鍵盤模塊液晶鍵盤模塊重要由4*4矩陣鍵盤和LCD1602液晶顯示屏構(gòu)成。4*4矩陣鍵盤重要提供顧客操作輸入功能,是實現(xiàn)人機通信重要控制某些;LCD1602液晶顯示屏重要負責顯示系統(tǒng)信息,協(xié)助顧客操作系統(tǒng)。下面分別簡樸簡介矩陣鍵盤和LCD1602液晶顯示屏性能和工作原理。2.5.1LCD1602是一種字符型液晶顯示模塊,是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD。該液晶顯示屏使用以便,功耗小,因而本系統(tǒng)采用LCD1602作為系統(tǒng)顯示某些。LCD1602涉及4種工作狀態(tài),通過MCU設(shè)立RS、RW和E值,可使液晶工作在不同狀態(tài)。讀狀態(tài):輸入:RS=0,RW=1,E=1輸出:D0~D7=狀態(tài)字寫指令:輸入:RS=0,RW=0,D0…D7=指令碼,E=高脈沖輸出:無讀數(shù)據(jù):輸入:RS=1,RW=1,E=1輸出:D0~D7=數(shù)據(jù)寫數(shù)據(jù):輸入:RS=0,RW=1,E=1輸出:無2.5.24*4矩陣鍵盤在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一種按鍵加以連接。這樣,一種端口(如P1口)就可以構(gòu)成4*4=16個按鍵,從而節(jié)約I/O資源,因而在本設(shè)計中采用4*4矩陣鍵盤。矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)兩端,行線通過上拉電阻接到+5V上。當無鍵按下時,行線處在高電平狀態(tài);當有鍵按下時,行、列線將導通,此時,行線電平將由與此行線相連列線電平?jīng)Q定。對于矩陣式鍵盤,按鍵位置由行號和列號唯一擬定,因而可分別對行號和列號進行二進制編碼,然后將兩值合成一種字節(jié),高4位是行號,低4位是列號。編碼互相轉(zhuǎn)換可通過計算或查表辦法實現(xiàn)。
3.硬件設(shè)計3.1系統(tǒng)硬件電路設(shè)計系統(tǒng)硬件電路重要由單片機控制模塊電路、報警模塊電路、GSM模塊電路、存儲器模塊電路、液晶鍵盤模塊電路和傳感器模塊電路構(gòu)成。系統(tǒng)硬件電路如圖4所示。圖4系統(tǒng)電路圖3.2單片機控制模塊電路設(shè)計單片機電路重要涉及晶振電路、復位電路、P0口上拉電阻等構(gòu)成,電路如圖7所示。接口P3為單片機P0引腳上拉電阻,接口P2為矩陣鍵盤接入口。在晶振電路中,晶振頻率選為11.0592MHz,因素是使初值為整數(shù),從而產(chǎn)生精準波特率,如圖5圖5單片機控制模塊電路圖3.3傳感器模塊電路設(shè)計在本設(shè)計中,為了提高傳感器精準度和以便性,傳感器都通過引線連接到相應接口上,而非直接焊接到電路板上。由于傳感器信號為弱電平信號,容易導致單片機誤操作。為保證系統(tǒng)具備較高敏捷度,故加入由LM324構(gòu)成放大電路,電路如圖8所示。接口P6為煙霧傳感器接口;接口P7為人體感應傳感器接口。通過度別調(diào)節(jié)可變電阻R2和R7,可以變化煙霧傳感器和人體感應傳感器信號放大倍數(shù)。由于單片機中斷方式為低電平中斷,因此經(jīng)放大器放大后信號要先接入反相器,才干再連接到單片機中斷引腳上如圖6。圖6傳感器模塊電路圖3.4報警模塊電路設(shè)計由于單片機STC89C52提供工作電流只有20mA,而蜂鳴器正常工作電流普通比較大,片機I/O口是無法直接驅(qū)動,因而需要一種外部驅(qū)動電路,提供正常工作所需要電流。報警模塊電路圖如圖7所示,在該電路中,speaker連接在單片機引腳上,接口P4為蜂鳴器,晶體管工作在飽和狀態(tài),相稱于一種開關(guān)。圖7報警模塊電路圖3.5GSM模塊接口電路設(shè)計GSM模塊工作重要由單片機通過串口將AT指令發(fā)送到GSM模塊。串口電路重要由芯片MAX232進行電平轉(zhuǎn)換,實現(xiàn)串口電壓與單片機電壓轉(zhuǎn)換,保證雙方可以互相通信,電路如圖8所示。單片機TXD引腳接到MAX232T2IN引腳,單片機RXD引腳接到MAX232T2OUT引腳。圖8GSM模塊接口電路圖3.6存儲器模塊電路設(shè)計存儲器模塊電路重要由芯片AT24C02構(gòu)成,存儲器模塊電路圖如圖9所示。在本設(shè)計中,只有一種AT24C02被總線尋址這三個地址,故輸入腳A0A1A2可懸空或連接到Vss圖9存儲器模塊電路圖3.7液晶模塊電路設(shè)計液晶模塊電路如圖10所示??烧{(diào)電阻R1調(diào)節(jié)液晶偏壓,RS、RW和EN分別接到單片機P0.5、P0.6、P0.7引腳,通過單片機按相應時序編程控制液晶顯示。Data0~Data7為液晶數(shù)據(jù)位,接到單片機P2引腳。圖10液晶模塊電路圖3.8PCB板設(shè)計在本設(shè)計中,硬件某些采用PCB板制作。一方面,運用ProtelDXP軟件繪制電路圖并生成PCB板,運用人工布局,對PCB圖進行布線。如果使用自動布線,很容易浮現(xiàn)飛線或者布線錯誤。因此在布線時,應當先使用自動布線,然后再手動布線,對某些線路進行修改。在布線過程中,調(diào)節(jié)元器件位置和方向,可以改進電路板布線,減少飛線。生成PCB圖如圖11所示。圖11PCB板圖焊接時,需要特別注意避免導致短路。相距很近引線要用萬用表測量與否存在通路,若通過也許會導致短路等嚴重后果。電器元件焊接中應避免燙壞元件.
4.軟件設(shè)計該系統(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)閉。主程序流程圖如圖17所示。4.1傳感器模塊軟件設(shè)計在本系統(tǒng)中,LCD1602液晶顯示是通過調(diào)用voiddisplay(ucharpos,uchar*q)函數(shù)實現(xiàn),其流程圖如圖12所示。在voiddisplay(ucharpos,uchar*q)函數(shù)中,pos是寫入位置,q指向要寫入數(shù)據(jù)所在數(shù)組。該函數(shù)重要調(diào)用lcd_wcmd(),lcd_pos()兩個函數(shù),先寫顯示地址,后寫顯示數(shù)據(jù)。單片機P2口接LCD1602數(shù)據(jù)引腳,P0^5、P0^6、P0^7分別接LCD1602RS、RW、EP引腳,通過單片機控制液晶顯示圖12流程圖在本系統(tǒng)中,鍵盤軟件實現(xiàn)通過度時掃描、鍵盤編碼形式來實現(xiàn),其流程圖如圖13所示。P1口低4位作為鍵盤行,高4位作為鍵盤列。P1口低4位先循環(huán)輸出0,單片機掃描P1口高4位。如果有鍵按下,P1口高4位不會全為1。如果讀取不到P1口值,例如是干擾,則不做鍵值解決,返回繼續(xù)循環(huán)下次。圖13主程序流程圖4.2GSM模塊軟件設(shè)計在本系統(tǒng)中,GSM模塊軟件設(shè)計是通過串口發(fā)送AT指令給GSM模塊來實現(xiàn)發(fā)送短信功能,其流程圖如圖14所示。一方面串口發(fā)送字符串“AT+CMGF=1\r”給GSM模塊,設(shè)立短信為TXT模式;然后發(fā)送“AT+CMGS=\r”,設(shè)立收信方手機號碼;接著將待發(fā)送短信內(nèi)容發(fā)給GSM模塊;最后發(fā)送十六進制0x1A(回車)確認發(fā)送,這樣就能通過GSM模塊最后實現(xiàn)報警告知顧客功能。程序見附錄。圖14短信發(fā)送流程圖在GSM模塊和單片機串行通信中,選用定期器T1在工作方式2設(shè)定波特率為9600,其初值計算公式如下:已知為11.00592MHz,設(shè)波特率控制位SMOD=0,則有故在程序設(shè)計時,定期器初值設(shè)立為0xFD。4.3存儲器模塊軟件設(shè)計在本系統(tǒng)中,AT24C02存儲功能重要是通過I2C總線來實現(xiàn)串行讀寫,其流程圖如圖15所示。I2C總線在寫入和讀取一種8位二進制數(shù)時,總是高位在前低位在后。在讀函數(shù)_24C02Read(unsignedcharl_address)中,先向I2C總線發(fā)出讀取24C02寫地址,在完畢I2C串口合同后,寫入24C02讀地址,再讀取存儲器相應位置數(shù)據(jù)。在寫函數(shù)_24C02Write(unsignedchardat,unsignedcharl_address)中,先向總線發(fā)出寫24C02地址,在完畢I2C串口合同后,寫入24C02寫地址,然后寫入數(shù)據(jù)。程序見附錄。圖15AT24C02讀寫流程圖4.4液晶鍵盤模塊軟件設(shè)計在本系統(tǒng)中,LCD1602液晶顯示是通過調(diào)用voiddisplay(ucharpos,uchar*q)函數(shù)實現(xiàn),其流程圖如圖16所示。在voiddisplay(ucharpos,uchar*q)函數(shù)中,pos是寫入位置,q指向要寫入數(shù)據(jù)所在數(shù)組。該函數(shù)重要調(diào)用lcd_wcmd(),lcd_pos()兩個函數(shù),先寫顯示地址,后寫顯示數(shù)據(jù)。單片機P2口接LCD1602數(shù)據(jù)引腳,P0^5、P0^6、P0^7分別接LCD1602RS、RW、EP引腳,通過單片機控制液晶顯示。程序見附錄。圖16LCD1602顯示流程圖在本系統(tǒng)中,鍵盤軟件實現(xiàn)通過度時掃描、鍵盤編碼形式來實現(xiàn),其流程圖如圖17所示。P1口低4位作為鍵盤行,高4位作為鍵盤列。P1口低4位先循環(huán)輸出0,單片機掃描P1口高4位。如果有鍵按下,P1口高4位不會全為1。讀取P1口值,查表獲得相應16進制值存儲l_key變量中,退出循環(huán)。如果讀取不到P1口值,例如是干擾,則不做鍵值解決,返回繼續(xù)循環(huán)下次。程序見附錄。圖17鍵盤掃描流程圖4.5密碼鎖軟件設(shè)計在本系統(tǒng)中,密碼鎖軟件實現(xiàn)是通過比較輸入密碼值和實際密碼值與否同樣來進行,其流程圖如圖18所示。如果密碼對的,則進入下一步操作。如果密碼錯誤,則需要重新輸入密碼,直到密碼對的為止。每輸錯一次密碼,錯誤次數(shù)記錄變量times就會加1。一旦times增長到3,則調(diào)用GSM程序發(fā)短信,并且系統(tǒng)進入死鎖狀態(tài)。程序見附錄。圖18密碼鎖設(shè)立流程圖
5.調(diào)試與成果電路板焊接成功后就可以進行調(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”鍵確認輸入。若輸入密碼對的,則進入操作系統(tǒng),液晶顯示“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)試存在問題整個設(shè)計難點在于調(diào)試方面,因而在調(diào)試中也遇到了諸多問題,但通過查看資料和細心分析后,最后都能順利解決。下面總結(jié)如下調(diào)試過程中浮現(xiàn)問題及解決辦法。在制板過程中,難免會浮現(xiàn)各種差錯而導致電路短路或斷路等現(xiàn)象。為避免此類狀況發(fā)生影響調(diào)試成果,在調(diào)試前,先用萬用表二極管檔將電路板線路都測一下,保證電路正常。調(diào)試過程一方面驗證LCD1602能否正常運營。先編寫簡樸LCD1602顯示程序,然后通過串口下載HEX格式文獻到單片機。上電后,液晶只亮但沒有顯示,初步懷疑是RS、RW和E控制位設(shè)立錯誤。但通過萬用表測試控制引腳電平跳變狀況,發(fā)現(xiàn)正常,故排除該也許。最后通過重復檢查,發(fā)現(xiàn)本來是由于單片機P2引腳為倒序排列,在畫板圖時沒有留意,導致接錯數(shù)據(jù)引腳。采用飛線修改后,LCD1602能正常顯示。在設(shè)計程序時,考慮到存儲器AT24C02全新時存儲內(nèi)容為0,此時才寫入初始化密碼。但通過驗證,該設(shè)想不實際,故直接寫入初始化密碼。在設(shè)計功能選取時,采用按鍵獲得鍵值,再依照鍵值選取不同功能函數(shù)方式來實現(xiàn)。在調(diào)試時,浮現(xiàn)第一次按鍵有反映,之后都沒有反映現(xiàn)象。通過仔細分析后得知,在每次按鍵后,程序跳入不同功能函數(shù)時要將鍵值重設(shè)初值0xFF,否則會進入死循環(huán)。調(diào)試過程遇到最大難題是中斷問題。剛開始時,傳感器沒有檢測到信號,但單片機卻運營中斷程序。通過萬用表測試中斷引腳,發(fā)現(xiàn)電平正常。試過更換單片機芯片和將中斷引腳接地,問題依然存在。最后使用示波器測試中斷引腳,發(fā)現(xiàn)存在干擾信號,使得單片機浮現(xiàn)誤中斷現(xiàn)象。故在程序中加入延時檢測中斷信號某些后,干擾信號被排除掉,中斷正常。編程時要注意規(guī)范問題。編程過程中要注意加注釋或分割線,否則,在程序過長時容易變得很亂,不便于查找或更改。程序構(gòu)造要設(shè)計合理,避免上下亂調(diào)用現(xiàn)象,這樣會使程序更加清晰化。編程前要畫流程圖,這樣會使思路清晰。此外,使用循環(huán)構(gòu)造體時要注意有退出循環(huán)體出口,避免程序進入死循環(huán)。
6.總結(jié)該設(shè)計在一定限度上解決了老式機械式防盜弊端,運用高科技將防盜報警智能化、自動化,可以減少和避免戶主損失。由于該系統(tǒng)重要運用當代移動通信網(wǎng)絡作為承載,不需要考慮布線等因素,減少了環(huán)境因素對系統(tǒng)影響,提高了該系統(tǒng)可移動性。由于時間關(guān)系和考慮到元器件價格等因素,該設(shè)計還存在某些局限性地方。例如,該設(shè)計存在不夠人性化地方,可通過添加實時時鐘芯片增長時間功能,并在此基本上加入自動啟動和關(guān)閉系統(tǒng)功能等等。除此以外,還可以通過增長斷電保護電路增強系統(tǒng)安全性。在設(shè)計這段時間里,我對這四年學習到知識有了一種全面結(jié)識,也因而學到了諸多東西。這一次實訓設(shè)計,從查找資料、方案擬定、電路設(shè)計到PCB制作和調(diào)試,整個過程都是我自己親自去完畢。在整個設(shè)計期間,我遇到了諸多問題,但通過仔細分析和其她同窗協(xié)助后,最后都把問題解決,我也從中學會理解決問題辦法。7.參照文獻[1]祁偉,楊事.單片機C5l語言教程與實驗[M].北京:北京航空航天大學出版社,.[2]林桂花.基于GSM模塊數(shù)據(jù)傳播及實時控制系統(tǒng)[J].計算機與當代化,(2):22~24.[3]李曉輝,等.基于GSM技術(shù)汽車防盜系統(tǒng)設(shè)計[J].當代電子技術(shù),(3):l9l~193.[4]劉字靜.基于GSM遠程監(jiān)控系統(tǒng)數(shù)據(jù)傳播[J].科學技術(shù)與工程,(5):10-14.[5]師俊宏.智能家居中安全防范系統(tǒng)[J].上海建設(shè)科技,,(05).[6]游燕,隨善坤.一種智能家居安防系統(tǒng)設(shè)計[J].中華人民共和國科技信息,,(12).[7]陳剛,李葉紫,胡輝.基于GSM車輛防盜搶系統(tǒng)設(shè)計與實現(xiàn)[J].電氣自動化,,(06)[8]丁元杰.單片微機原理及應用[M].北京:機械工業(yè)出版社,:56-69
附錄:#include<reg52.h>#include<math.h>#include<stdio.h>#include"key.h"#include"lcd1602.h"#include"gsm.h"#include"at24c02.h"sbitdoor=P0^0; //定義P0^0為門鎖控制標志位sbitspeaker=P0^1;//定義P0^1為喇叭控制標志位sbitalarm=P0^3;//定義P0^3為人體熱釋能檢測標志位sbitint1=P3^3;sbitint0=P3^2;ucharpswd[6]={0}; //存儲輸入鍵值ucharpswd_flash[6]={0}; //存儲密碼ucharpswd_new[6]={0}; //暫存新密碼ucharcorrect_old=0; //檢測舊密碼標志位ucharcorrect_new=0; //檢測新密碼標志位ucharcorrect_old_change=0; //檢測修改舊密碼標志位uchartimes;//每次輸入密碼錯誤次數(shù)uchartest;//存儲器檢測inti=0; //密碼位bitchange=0; //修改密碼控制標志位bitset=0; //設(shè)定控制標志位bitdelect; //刪除控制吧標志位bitok; //擬定控制標志位bitcancle; //取消控制標志位void
send_message(void)//發(fā)送彩信函數(shù)
voidinput(void); //輸入函數(shù)voidpswd_error(void); //密碼錯誤函數(shù)voidonfire(void); //火災報警函數(shù)voidsteal(void); //盜竊報警函數(shù)voidfunction(void); //功能選取函數(shù)voidchange_f(void); //修改密碼函數(shù)voidalarm_f(void); //報警功能函數(shù)#include<STC_NEW_8051.h>#include<string.h>#include<intrins.h>#include<UART1.h>#include<UART2.h>#include<Delay_ms.h>#include<Init_Timer0.h>#defineBuf1_Max500 //串口1緩存長度sbitYellow_LED=P1^5; //LED1黃色批示燈sbitGreen_LED=P1^6; //LED2綠色批示燈sbitRed_LED=P1^7; //LED3紅色批示燈sbitIGT =P2^5; //啟動TC35I信號sbitK1=0xC1; //繼電器unsignedcharBuf_First_Serial[Buf1_Max];unsignedcharrunxun_ser1=0,Flag_Buf1_Rec=0;unsignedintStart_weizi,End_weizi;unsignedintFirst_Int=0,Second_Int=0;unsignedcharTimer0_Start=0;unsignedintTimes=0,shijian=0,Count_time=0;//發(fā)送換行回車函數(shù)voidSend_LR(void){ Send_Hex(0x0D); Send_Hex(0x0A); }//清除串口1緩存數(shù)據(jù)函數(shù)voidCLR_Buf1(void){ unsignedintk;for(k=0;k<Buf1_Max;k++)//將緩存內(nèi)容清零{ Buf_First_Serial[k]=0x30; }First_Int=0;//接受字符串起始存儲位置}//判斷緩存中與否具有指定字符串函數(shù)unsignedcharHand(unsignedchar*a){if(strstr(Buf_First_Serial,a)!=NULL) return1; else return0;}//定位字串"+32"符位置voidFind_dw_TEXT(void){ unsignedintk; for(k=0;k<Buf1_Max;k++) { if(Buf_First_Serial[k]=='+'&&Buf_First_Serial[k+1]=='3'&&Buf_First_Serial[k+2]=='2') { Start_weizi=k+6; break; } } for(k=0;k<Buf1_Max;k++) { if(Buf_First_Serial[k]=='O'&&Buf_First_Serial[k+1]=='K') { End_weizi=k-5; break; } }}//送命令函數(shù)//不容許出錯voidSecond_AT_Command(unsignedchar*b,unsignedintwait_time){ unsignedchari; unsignedchar*c; c=b; //保存字符串地址到c CLR_Buf1();i=0; while(i==0) { if(!Hand("OK")) { if(Timer0_Start==0) { b=c; //將字符串地址給b for(b;*b!='\0';b++) { Send_Hex(*b); } Send_LR(); Times=0; shijian=wait_time; Timer0_Start=1; }} else { i=1; Timer0_Start=0; } } CLR_Buf1();}//發(fā)送命令函數(shù)//容許出錯voidSecond_AT_ERROR(unsignedchar*b,unsignedintwait_time){ unsignedchari; unsignedchar*c; c=b; //保存字符串地址到c CLR_Buf1();i=0; while(i==0) { if((!Hand("OK"))&&(!Hand("ERROR"))) { if(Timer0_Start==0) { b=c; //將字符串地址給b for(b;*b!='\0';b++) { Send_Hex(*b); } Send_LR(); Times=0; shijian=wait_time; Timer0_Start=1; }} else { i=1; Timer0_Start=0; } } CLR_Buf1();}voidSet_Text_Mode(void){ Second_AT_Command("ATE0",3); //取消回顯 Second_AT_Command("AT+CNMI=2,1",3); //新短信到來時提示 Second_AT_Command("AT+CMGF=1",3); //PDU模式 Second_AT_Command("AT+CSDH=0",3); //TEXT顯示模式 //Second_AT_Command("AT+CSCS=\"GSM\"",3); //使用GSM字符集 //Second_AT_Command("AT+CSMP=17,167,0,8",3); //設(shè)立PDU模式參數(shù) Second_AT_Command("AT+CPMS=\"SM\",\"SM\",\"SM\"",3); //所有操作都在MT(模塊終端)中進行; Second_AT_ERROR("AT+CMGD=1",10); }voidCheck_Message_rec(void){ unsignedintk; if(strstr(Buf_First_Serial,"+CMTI")!=NULL) //若緩存字符串中具有"+CMTI"就表達有新短信 { Delay_ms(500); CLR_Buf1(); //while((!Hand("OK"))&&(!Hand("ERROR"))) //{ //CLR_Buf1(); Send_ASCII("AT+CMGR=1"); //發(fā)送讀取信息指令 Send_LR(); Delay_ms(10000); //} Find_dw_TEXT(); for(k=Start_weizi;k<=End_weizi;k++) { Second_Serial_Port_Send(Buf_First_Serial[k]); } if(strstr(Buf_First_Serial,"onled1")!=NULL) { Yellow_LED=0; } elseif(strstr(Buf_First_Serial,"offled1")!=NULL) { Yellow_LED=1; } elseif(strstr(Buf_First_Serial,"onled3")!=NULL) { Red_LED=0; } elseif(strstr(Buf_First_Serial,"offled3")!=NULL) { Red_LED=1; } elseif(strstr(Buf_First_Serial,"onrelay")!=NULL) { K1=1; } elseif(strstr(Buf_First_Serial,"offrelay")!=NULL) { K1=0; } //Second_AT_Command("AT+CMGD=1",10); Second_AT_ERROR("AT+CMGD=1",10); CLR_Buf1(); }}voidWait_CREG(void){ unsignedchari; unsignedintk; i=0; CLR_Buf1();while(i==0) { CLR_Buf1(); Send_ASCII("AT+CREG?"); Send_LR(); Delay_ms(5000); 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; } } } }}voidmain(void){ P4M1=0x00; //P40-P43設(shè)立為推挽輸出 P4M0=0x0f; P4=0x00; Delay_ms(100); IGT=0; Delay_ms(5000); IGT=1; Timer0_init(); //定期器0初始化Serial_Init(); //第一種串口初始化 Second_Serial_Port_Initial(); Wait_CREG(); Set_Text_Mode(); Green_LED=0; while(1) { Check_Message_rec(); Delay_ms(1000); Green_LED=0; Delay_ms(1000); Green_LED=1; }}//定期器0中斷解決函數(shù)voidTimer0(void)interrupt1{ TR0=0; //停止定期器0 Count_time++; if(Count_time>=60000) { Count_time=0; } if(Timer0_Start==1) Times++; if(Times>(40*shijian)) { Timer0_Start=0; Times=0; } TH0=0x4C; //設(shè)立溢出一次為50ms TL0=0x00; TR0=1; //啟動定期器0}//串口1中斷解決函數(shù)voidSerial_Int(void)interrupt4{ ES=0; //關(guān)串口中斷,防止中斷嵌套 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; } } ES=1; //啟動串口中斷}/*****/voidinput(void){ intk=0; lcd_wcmd(0x01);//清屏while(k<6) {ReadKey();if(l_key<=9) //輸入數(shù)字0-9 {pswd[k]=l_key+0x30; display(0x00+k,"*"); l_key=0xff; k++; } if(l_key==12) //刪除 {delect=1; k--; display(0x00+k,""); l_key=0xff; } } while(k>=6) { ReadKey(); if(l_key==14) //擬定 { ok=1; l_key=0xff; break; } }}voidpswd_error(void){codeucharsms[]={"Alarm!someonehasinputedwrongpasswordthreetimes."};intt,j;speaker=0;t=times;lcd_wcmd(0x01);display(0x00,"Error!");longdelay(10);if(t>=3) //錯誤輸入3次后自鎖 {lcd_wcmd(0x01);display(0x00,"Tryittomorrow!"); gsm(sms); for(j=0;j>=0;j++) //自鎖 for(j=0;j>=0;j++);}return;}voidfunction(void){display(0x00,"Pleasepressthe");display(0x40,"functionkey");while(1){ReadKey();if(l_key==10)//開門 { lcd_wcmd(0x01); display(0x00,"Openthedoor."); door=0; longdelay(10); door=1; l_key=0xff; break; }elseif(l_key==11)//修改密碼 { l_key=0xff; change_f(); break; }elseif(l_key==13)//啟動防盜系統(tǒng) { alarm_f(); break; }}}voidchange_f(void){lcd_wcmd(0x01);display(0x00,"Inputoldpasswo"); display(0x40,"rd:"); longdelay(10); input(); for(i=0,correct_old_change=0;i<6;i++) correct_old_change=pswd[i]-pswd_flash[i]+correct_old_change; if(correct_old_change==0) //舊密碼對的,輸入新密碼 { speaker=1; times=0; lcd_wcmd(0x01); display(0x00,"Inputnewpasswo"); display(0x40,"rd:"); longdelay(10); input(); for(i=0;i<=6;i++) pswd_new[i]=pswd[i]; lcd_wcmd(0x01); display(0x00,"Inputitagain!"); longdelay(10);input(); for(i=0,correct_new=0;i<6;i++) correct_new=pswd[i]-pswd_new[i]+correct_new; if(correct_new==0) //新密碼對的,修改密碼成功 { speaker=1; times=0; for(i=0;i<6;i++)_24C02Write(pswd_new[i],0x00+i);//將新六位密碼寫入E2PRAM,AT24C02 lcd_wcmd(0x01); display(0x00,"Establishessucc"); display(0x40,"essful!"); longdelay(10); change=0; } else //新密碼不對的 { times++; pswd_error(); } } else //舊密碼不對的 { times++; pswd_error(); } }voidalarm_f(void){l_key=0xff;lcd_wcmd(0x01);display(0x00,"Systemstartup.");longdelay(10);EX0=1;EX1=1;EA=1;while(1) { ReadKey(); if(l_key==15) //關(guān)閉防盜系統(tǒng) { lcd_wcmd(0x01); display(0x00,"Shutdownthesys"); display(0x40,"tem."); longdelay(10); EA=0; break; } }}voidmain(){InitCom();int1=0;//while(1);IT0=1;EX0=1;IT1=1;EX1=1;EA=0;times=0; //錯誤次數(shù)清零_24C02Write('5',0x05); //寫入初始密碼012345_24C02Write('4',0x04);_24C02Write('3',0x03);_24C02Write('2',0x02);_24C02Write('1',0x01);_24C02Write('0',0x00);while(1){lcd_init(); //lcd初始化display(0x00,"Pleaseinputthe");display(0x40,"password:");longdelay(10); for(i=0;i<6;i++)pswd_flash[i]=_24C02Read(0x00+i); delay(200);input(); for(i=0,correct_old=0;i<6;i++) //輸入密碼與實際密碼比較correct_old=pswd[i]-pswd_flash[i]+correct_old; if(correct_old==0)//密碼對的 { speaker=1; times=0; lcd_wcmd(0x01); display(0x00,"Correct!"); longdelay(10); lcd_wcmd(0x01); while(1) { if(l_key==15) { l_key=0xff; break; } function(); } } else//密碼不對的 { times++; pswd_error(); }}}voidsteal()interrupt2{codeucharsms[]={"Alarm!Someonehasinterruptyourhouse!"};delay(200);if(int1==0){ speaker=0; lcd_wcmd(0x01); display(0x00,"Alarm!"); display(0x40,"Steal!"); gsm(sms); EX1=0;}}#define_at24c02_H#include<reg52.h>#include<intrins.h>#include"lcd1602.h"#define W24C02 0xA0 //存儲器寫地址#defineR24C02 0xA1 //存儲器讀地址sbitSDA=P3^7; //AT24C02串行數(shù)據(jù) sbitSCL=P3^6; //AT24C02串行時鐘 unsignedchar_24C02Read(unsignedcharl_address);//24C02讀函數(shù)void_24C02Write(unsignedchardat,unsignedcharl_address);//24C02寫函數(shù)voidI2C_write(unsignedchartmp)//I2C寫入一種8位二進制數(shù),高位在前低位在后{ unsignedchari; for(i=0;i<8;i++){ SCL=0; _nop_(); _nop_(); _nop_(); SDA=(bit)(tmp&0x80); tmp<<=1; _nop_();_nop_();_nop_();_nop_();_nop_(); SCL=1; _nop_();_nop_();_nop_();_nop_();_nop_(); } SCL=0;}unsignedcharI2C_read(void)////I2C讀取一種8位二進制數(shù),也是高位在前低位在后{ unsignedchari,tmp; tmp=0; for(i=0;i<8;i++){ SCL=0; _nop_(); _nop_(); _nop_(); //加入空指令增長穩(wěn)定性,這關(guān)系到頻率問題 SDA=1; _nop_();_nop_();_nop_();_nop_();_nop_(); SCL=1; _nop_();_nop_();_nop_();_nop_();_nop_(); tmp<<=1; if(SDA==1) tmp++; } SCL=0; returntmp; }voidI2C_ACK(bittmp) //依照tmp1、0來決定應答信號{ SDA=tmp; _nop_();_nop_();_nop_();_nop_();_nop_(); SCL=1; _nop_();_nop_();_nop_();_nop_();_nop_(); SCL=0; }voidI2C_start(void) //看看I2C開始波形,再相應SDA、SCL輸出{ SDA=1; _nop_(); SCL=1; _nop_(); SDA=0; _nop_(); SCL=0; _nop_();}voidI2C_stop(void) //I2C結(jié)束{ SDA=0; _nop_(); SCL=1; _nop_(); SDA=1; _nop_(); SCL=0; _nop_();}unsignedchar_24C02Read(unsignedcharl_address){ unsignedchartmp=0; I2C_start(); //I2C讀數(shù)據(jù)開始,到下面結(jié)束是讀一地址整個過程, I2C_write(W24C02); //向I2C總線發(fā)出讀取24C02地址 I2C_ACK(0); //下面就得你們自己結(jié)合I2C串口合同進行,先看看24C02數(shù)據(jù)手冊是怎么講I2C合同 I2C_write(l_address);//先寫入地址, I2C_ACK(1); I2C_stop(); I2C_start(); //再開始讀取數(shù)據(jù) I2C_write(R24C02); I2C_ACK(0); tmp=I2C_read(); I2C_ACK(1); I2C_stop(); //讀取一種地址數(shù)據(jù)結(jié)束 delay(20); returntmp;}void_24C02Write(unsignedchardat,unsignedcharl_address){ I2C_start(); //下面是寫一地址數(shù)據(jù)過程 I2C_write(W24C02); //先向總線發(fā)出寫24C02地址 I2C_ACK(0); I2C_write(l_address); //寫入地址 I2C_ACK(0); I2C_write(dat); //然后寫入數(shù)據(jù) I2C_ACK(1); I2C_stop(); delay(20);}#endif#define_gsm_H#include<reg52.h>#include"lcd1602.h"ucharsms1[]={"AT+CMGF=1\r"};ucharsms2[]={"AT+CMGS=\r"};ucharsms3=0x1A;voidInitCom(void);voidgsm(uchar*sms);//初始化串行口voidInitCom(void){ucharTHTL;THTL=0xFD;ET1=0;SCON=0x40;//串口方式1,TMOD=0x20;//定期器1定期方式2TH1=THTL;TL1=THTL;TI=0;TR1=1;//啟動定期器} voidgsm(uchar*sms){ uchari=0,j=0,k=0; //InitCom(); longdelay(10); while(sms1[i]!='\0') {SBUF=sms1[i]; while(!TI); TI=0; i++; } longdelay(10); while(sms2[j]!='\0') { SBUF=sms2
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡明法語教程課件
- 單位管理制度展示大合集【員工管理篇】
- 艾羅能源(688717)新產(chǎn)品與新市場老牌戶儲企業(yè)打開第二成長曲線
- 單位管理制度收錄大合集人力資源管理十篇
- 單位管理制度品讀選集人員管理十篇
- 《口腔內(nèi)科護理評估》課件
- 2022年內(nèi)蒙古呼倫貝爾市牙克石市初中畢業(yè)生學業(yè)水平模擬測
- 2025年中國勞動防護手套市場深度調(diào)研分析及投資前景研究預測報告
- 2025年中國單烷基醚磷酸酯醚行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2020-2025年中國無芯卷筒紙行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報告
- 國家開放大學1116《機電控制工程基礎(chǔ)》
- 程琳-職業(yè)生涯分析與規(guī)劃
- 仁愛英語九年級總復習教案
- 心電圖基本知識PPT
- GB/T 5130-1997電氣用熱固性樹脂工業(yè)硬質(zhì)層壓板試驗方法
- FZ/T 01041-2014絨毛織物絨毛長度和絨毛高度的測定
- 中小學食材配送中心項目建設(shè)可行性研究報告
- 人體解剖上肢血管
- 精品解析浙教版科學 九年級上冊 3.43 簡單機械之機械效率 同步練習
- 夸美紐斯-大教學論-文本細讀
- 日立多聯(lián)機系統(tǒng)調(diào)試培訓教材
評論
0/150
提交評論