




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 1 引言 隨著社會的不斷進步和科學(xué)技術(shù)、經(jīng)濟的不斷發(fā)展隨著社會的發(fā)展,科學(xué)技術(shù)的進步和安全防范意識的增強,對私有財產(chǎn)的保護意識在不斷的增強,因而對防盜措施提出了新的要求。本設(shè)計就是為了滿足現(xiàn)代住宅防盜的需要而設(shè)計的家庭式電子防盜系統(tǒng)。就目前市面上裝備主要有壓力觸發(fā)式防盜報警器、開關(guān)電子防盜報警器和壓力遮光觸發(fā)式防盜報警器等各種報警器,但這幾種比較常見的報警器都存在一些缺點。而本設(shè)計中所使用的紅外線是不可見光,有很強的隱蔽性和保密性,本設(shè)計它集紅外報警、溫濕度測量顯示、實時時鐘為一體,簡單實用,抗干擾能力強、靈敏度高、安全可靠,具有較高的應(yīng)用價值。1.1 設(shè)計任務(wù)與要求 紅外報警監(jiān)控系統(tǒng)由紅外
2、熱釋電傳感器、溫濕度傳感器、ds1302時鐘電路、eeprom存儲電路、液晶屏和鍵盤組成。其主要功能有:(1)紅外熱釋電傳感器獲取人體入侵信息,當監(jiān)控功能打開并且有人入侵時,驅(qū)動蜂鳴器報警,led報警燈亮。(2)報警時間自動存儲至eeprom存儲器,當按查詢按鈕時顯示上次報警時間。(3)不間斷測量當前溫度和濕度數(shù)據(jù),并在液晶屏上實時顯示。(4)具備不間斷時鐘電路,當前時間在液晶屏顯示。時鐘電路具有后備電池,系統(tǒng)掉電后始終依然運行,再次上電顯示當前時間,無須重新調(diào)時。(5)四鍵鍵盤可以調(diào)校時鐘初始值,具體方法是連續(xù)按設(shè)置鍵直至“年”、“月”、“日”、“時”、“分”、“秒”相應(yīng)的位置閃爍,再通過u
3、p鍵和down鍵調(diào)整數(shù)值,調(diào)整完畢繼續(xù)按設(shè)置鍵進入正常狀態(tài)。(6)可以通過設(shè)置鍵打開或關(guān)閉監(jiān)控報警功能。(7)可以查詢上次報警時間,再次按查詢鍵退出查詢狀態(tài)。2、基礎(chǔ)知識介紹2.1、熱釋電效應(yīng)原理熱釋電傳感器是一種將熱量變化轉(zhuǎn)換為電量變化的能量轉(zhuǎn)換器件。因紅外線具有很強的熱效應(yīng),當交互變化的紅外線照射到晶體表面時,晶體溫度迅速變化,這時會發(fā)生電荷的變化,從而形成一個明顯的外電場,這種現(xiàn)象稱為熱釋電效應(yīng)。熱釋電紅外傳感器內(nèi)部的熱釋電晶體的極化,隨著溫度的變化而變化。當恒定的紅外輻射照射在探測器探頭上時,熱釋電晶體溫度不變,晶體對外呈電中性,探測器沒有電信號輸出,因而恒定的紅外輻射不能被檢測到。另
4、外熱釋電晶體輸出的是電信號,不能直接使用,需要用電阻將其轉(zhuǎn)換為電壓形式,該電阻阻抗高達104m歐,故引入n 溝道結(jié)型場效應(yīng)管接成共漏形式來完成阻抗變換。熱釋電紅外線元件是一種典型的熱量傳感器,常用紅外光發(fā)射能量作為整個防盜報警裝置中檢測入侵者及其活動的手段。2.2、被動式熱釋電傳感器防盜報警工作原理熱釋電人體紅外線傳感器是上世紀80年代末期出現(xiàn)的一種新型傳感器件, 現(xiàn)在電子防盜報警設(shè)備研制中已得到廣泛的應(yīng)用。通常我們采用的熱釋電傳感器防盜報警電路,是利用該電路檢測到有人進入防范區(qū)時通過能量變化導(dǎo)致產(chǎn)生電信號,最終電聲報警。其工作原理如下:一般人體體溫是37,所以會發(fā)出波長10um左右的紅外線,
5、被動式紅外傳感器探頭就是靠探測人體發(fā)射的10um 左右的紅外線進行工作的。人體發(fā)射的10um 左右的紅外線通過菲涅耳濾光片增強后聚集到紅外感應(yīng)源上,紅外感應(yīng)源通常采用熱釋電元件,這種元件接收到人體紅外輻射溫度發(fā)生變化時就會失去電荷平衡,向外釋放電荷,經(jīng)后續(xù)電路檢測處理后就能產(chǎn)生報警信號了。在紅外探頭中有兩個關(guān)鍵性的器件,一個是熱釋電紅外傳感器,它能將波長為8 12um 之間的紅外信號的變化轉(zhuǎn)變?yōu)殡娦盘枺ψ匀唤缰械目梢姽庑盘柧哂幸种谱饔?,因此在紅外探測器的有效警戒區(qū)內(nèi),當無人體移動時,熱釋電紅外感應(yīng)器感應(yīng)到的只是背景溫度,沒有信號變化,所以不能產(chǎn)生電信號,也不會報警;當人體進人警戒區(qū),通過菲
6、涅耳透鏡,熱釋電紅外感應(yīng)器感應(yīng)到的是人體溫度與背景溫度的差異信號,此時產(chǎn)生電信號,從而報警。另外一個器件就是菲涅耳透鏡,它具有聚焦-即將熱釋電的紅外信號反射在紅外傳感器上的作用, 還能將警戒區(qū)內(nèi)分為若干個明區(qū)和暗區(qū),使進入警戒區(qū)的移動物體能以溫度變化的形式在熱釋電紅外傳感器上產(chǎn)生變化熱釋紅外信號,這樣熱釋電紅外傳感器產(chǎn)生變化的電信號,后續(xù)電路經(jīng)檢測處理后產(chǎn)生報警信號。2.3、被動式紅外報警器組成結(jié)構(gòu)被動式紅外報警器主要由菲涅耳光學(xué)系統(tǒng)、熱釋電紅外傳感器、信號濾波和放大電路、信號處理和報警電路等幾部分組成( 如圖2-1 所示) 。圖2-1 被動式紅外報警器組成框圖菲涅爾透鏡一般采用聚乙烯塑料片制
7、成,顏色為乳白色或黑色,呈半透明狀,但對波長為10lm左右的紅外線來說卻是透明的。菲涅耳透鏡的焦點一般為5 厘米左右,除有聚焦作用還可形成可見區(qū)和盲區(qū),實際應(yīng)用時一般把菲涅耳透鏡固定在傳感器正前方1 5 厘米的地方。當物體射出的紅外線通過菲涅耳透鏡后,傳到熱釋電紅外探測器,這時熱釋電紅外探測器將輸出脈沖信號,脈沖信號經(jīng)放大和濾波后,由電壓比較器將其與基準值進行比較,當輸出信號達到一定值時,報警電路發(fā)出警報。被動式熱釋電紅外探頭的優(yōu)點是本身不發(fā)生各種類型的輻射,器件的功耗小、隱蔽性好、價格低。缺點是具有容易受各種熱源、光源及射頻輻射的干擾;被動紅外穿透力差,人體的紅外輻射容易被遮擋,不易被探頭接
8、收;當環(huán)境溫度和人體溫度接近時,探測和靈敏度下降,有時還會短時失靈。目前市場上經(jīng)常采用p288型熱釋電紅外傳感器作為敏感元件,能以非接觸方式檢測出人體輻射出的紅外能量,并將其轉(zhuǎn)化為電信號輸出。該傳感器外接12v電源,內(nèi)部裝有菲涅耳透鏡,檢測區(qū)域為球形,有效警戒距離為12 15m,方向角為85度。當紅外警戒區(qū)內(nèi)無移動物體時,傳感器無輸出信號,報警電路不工作;當有人闖入警戒區(qū)時,只要人體移動,其輻射出的紅外線便會被熱釋電紅外傳感器所接收,并輸出微弱的電信號。該信號經(jīng)運算放大器a1和a2放大后,會輸出一個較強的電信號。再輸送給由a3 和a4 組成的雙限電壓比較器。2.4、dyp-me003人體感應(yīng)傳
9、感器圖2所示電路比較繁瑣,調(diào)試難度也較大。目前市場上有集成紅外人體感應(yīng)傳感器,將熱釋電傳感器、菲涅耳透鏡和調(diào)理電路集成在一個模塊上,可以實現(xiàn)5伏電壓供電,性能穩(wěn)定,使用方便。dyp-me003人體感應(yīng)傳感器就是這樣一款基于紅外線技術(shù)的自動控制產(chǎn)品,靈敏度高,可靠性強,超低電壓工作模式,廣泛應(yīng)用于各類自動感應(yīng)電器設(shè)備,尤其是干電池供電的自動控制產(chǎn)品中。其功能特點:l 全自動感應(yīng):人進入其感應(yīng)范圍則輸出高電平,人離開感應(yīng)范圍則自動延時關(guān)閉高電平,輸出低電平。l 光敏控制(可選擇,出廠時未設(shè)):可設(shè)置光敏控制,白天或光線強時不感應(yīng)。l 溫度補償(可選擇,出廠時未設(shè)):在夏天當環(huán)境溫度升高至3032,
10、探測距離稍變短,溫度補償可作一定的性能補償。l 兩種觸發(fā)方式:a.不可重復(fù)觸發(fā)方式:即感應(yīng)輸出高電平后,延時時間段一結(jié)束,輸出將自動從高電平變?yōu)榈碗娖剑籦.可重復(fù)觸發(fā)方式:即感應(yīng)輸出高電平后,在延時時間段內(nèi),如果有人體在其感應(yīng)范圍活動,其輸出將一直保持高電平,直到人離開后才延時將高電平變?yōu)榈碗娖剑ǜ袘?yīng)模塊檢測到人體的每一次活動后會自動順延一個延時時間段,并且以最后一次活動的時間為延時時間的起始點)。l 具有感應(yīng)封鎖時間(默認設(shè)置:2.5s封鎖時間):感應(yīng)模塊在每一次感應(yīng)輸出后(高電平變成低電平),可以緊跟著設(shè)置一個封鎖時間段,在此時間段內(nèi)感應(yīng)器不接受任何感應(yīng)信號。l 工作電壓范圍寬:默認工作電
11、壓dc4.5v-20v。l 微功耗:靜態(tài)電流50微安,特別適合干電池供電的自動控制產(chǎn)品。l 輸出高電平信號:可方便與各類電路實現(xiàn)對接。dyp-me003人體感應(yīng)傳感器的感應(yīng)范圍如圖2-2所示: 圖2-2 dyp-me003人體感應(yīng)傳感器的感應(yīng)范圍dyp-me003人體感應(yīng)傳感器的電氣參數(shù)如表1所示:表2-1 dyp-me003人體感應(yīng)傳感器的電氣參數(shù)電氣參數(shù)dyp-me003人體感應(yīng)模塊工作電壓范圍dc 4.5-20v靜態(tài)電流 50ua 電平輸出高3.3 v /低0v 觸發(fā)方式l不可重復(fù)觸發(fā)/h重復(fù)觸發(fā) 延時時間5-200s(可調(diào))可制作范圍零點幾秒-幾十分鐘封鎖時間2.5s(默認)可制作范圍
12、零點幾秒-幾十秒電路板外形尺寸 32mm*24mm感應(yīng)角度 100度錐角感應(yīng)距離7米以內(nèi)工作溫度-15-+70度感應(yīng)透鏡尺寸直徑:23mm(默認)其外型如圖2-3所示: 圖2-3 dyp-me003人體感應(yīng)傳感器外型圖3、硬件設(shè)計本研究設(shè)計的溫濕度控制器框圖如圖3-1所示。圖3-1 紅外報警監(jiān)控系統(tǒng)方框圖圖中stc89c52單片機隨時監(jiān)控dyp-me003紅外人體傳感器送來的報警信號。當報警功能打開并且傳感器檢測到有人侵入時,單片機通過聲(蜂鳴器)光(led發(fā)光管)報警,同時將入侵時間記錄在外部存儲芯片at24c04中。系統(tǒng)還可以即時顯示當前環(huán)境溫濕度值。單片機每2秒鐘從dht11溫濕度傳感器
13、中讀入溫度和濕度,在液晶屏上即時顯示。系統(tǒng)通過ds1302時鐘電路獲得并顯示當前時間。該時間初始值可以通過設(shè)置鍵、上調(diào)鍵和下調(diào)鍵設(shè)定,由于具有后備電池,主控系統(tǒng)斷電后時鐘仍然繼續(xù)運行。系統(tǒng)通過四鍵鍵盤切換開、關(guān)報警狀態(tài),設(shè)定時鐘初始值,查詢報警時間等。系統(tǒng)各單元電路介紹如下。3.1、單片機電路 本設(shè)計選用宏晶公司高性能單片機stc89c52采用主控芯片,該芯片為52內(nèi)核8位單片機,兼容intel等52內(nèi)核單片機,支持isp下載,適用于常用檢測控制電路。由stc89c52組成的單片機系統(tǒng)原理圖如圖3-2所示。圖3-2 單片機系統(tǒng)電路圖中alert引腳輸入dyp-me003紅外人體傳感器信號,該信
14、號為高電平時有人入侵,為低電平時表示沒有檢測到人。data引腳為溫濕度傳感器單總線引腳。2402_scl和2402_sda為外存芯片at24c04通信引腳,該芯片為iic接口芯片,通過時鐘線和數(shù)據(jù)線二線接口通信。k1、k2、k3、k4為四只按鍵,分別為設(shè)置鍵、上調(diào)鍵、下調(diào)鍵和查詢鍵。l2為報警led發(fā)光管。p0.0p0.7為lcd數(shù)據(jù)線,p2.5p2.7為lcd控制線。系統(tǒng)采用11.0572mhz外部晶振電路。3.2、紅外熱釋電報警傳感器電路圖3-3 dyp-me003紅外人體傳感器電路傳感器使用dyp-me003紅外人體傳感器,圖中alert引腳輸出信號,該信號為高電平時有人入侵,為低電平時
15、表示無人入侵。r17電阻為下拉電阻,防止管腳誤報。3.3、溫濕度傳感器器及檢測電路圖3-4 dht11溫濕度傳感器外型及管腳dht11溫濕度傳感器外型及管腳如圖3-4所示。其中電源引腳的供電電壓為 3.5-5.5v。傳感器上電后,要等待 1s 以越過不穩(wěn)定狀態(tài)在此期間不要發(fā)送任何指令。電源引腳(vdd,gnd)之間可增加一個100nf 的電容,用以去耦濾波。 dht11典型應(yīng)用電路如圖3-5所示,其連接電路簡單,只需要占用控制器一個i/o口即可完成上下位的連接。建議連接線長度短于20時用5k上拉電阻,大于20米時根據(jù)實際情況使用合適的上拉電阻。圖3-5 dht11典型應(yīng)用電路dht11數(shù)字濕溫
16、度傳感器采用單總線數(shù)據(jù)格式,即單個數(shù)據(jù)引腳端口完成輸入輸出雙向傳輸。其數(shù)據(jù)包由5byte(40bit)組成。一次通訊時間最大3ms,數(shù)據(jù)分小數(shù)部分和整數(shù)部分。 一次完整的數(shù)據(jù)傳輸為40bit,高位先出。 數(shù)據(jù)格式如表3-1:表3-1 dht11數(shù)據(jù)格式3.4、ds1302實時時鐘電路ds1302是dallas公司推出的涓流充電時鐘芯片,內(nèi)含有一個實時時鐘/日歷和31字節(jié)靜態(tài)ram,通過簡單的串行接口與單片機進行通信。實時時鐘/日歷電路提供秒、分、時、日、日期、月、年的信息。每月的天數(shù)和閏年的天數(shù)可自動調(diào)整。時鐘操作可通過am/pm指示決定采用24或12小時格式。其芯片管腳如圖3-6所示。 圖3
17、-6 ds1302管腳圖ds1302 與單片機之間能簡單地采用同步串行的方式進行通信,僅需用到三個口:線1-res復(fù)位,2-i/o數(shù)據(jù)線和3-sclk串行時鐘。時鐘/ram 的讀/寫數(shù)據(jù)以一個字節(jié)或多達31個字節(jié)的字符組方式通信,ds1302工作時功耗很低,保持數(shù)據(jù)和時鐘信息時功率小于1mw。ds1302是由ds1202改進而來,增加了以下的特性,雙電源管腳用于主電源和備份電源,供應(yīng)vcc1為可編程涓流充電電源,附加七個字節(jié)存儲器。它廣泛應(yīng)用于電話、傳真、便攜式儀器以及電池供電的儀器儀表等。l 實時時鐘具有能計算2100 年之前的秒分時日日期星期月年的能力還有閏年調(diào)整的能力;l 31*8位暫存
18、數(shù)據(jù)存儲ram;l 串行i/o 口方式使得管腳數(shù)量最少;l 寬范圍工作電壓2.0-5.5v;l 工作電流:2.0v 時,小于300na;l 讀/寫時鐘或ram 數(shù)據(jù)時有兩種傳送方式:單字節(jié)傳送和多字節(jié)傳送字符組方式;l 8 腳dip封裝或可選的8腳soic封裝,根據(jù)表面裝配;l 簡單3線接口;l 與ttl兼容,vcc=5v;l 可選工業(yè)級溫度范圍-40-+85;l 與ds1202 兼容;l 雙電源管用于主電源和備份電源供應(yīng),備份電源管腳可由電池或大容量電容輸入;l 附加的7字節(jié)暫存存儲器。ds1302與單片機系統(tǒng)連接電路如圖3-7所示。圖3-7ds1302電路連接圖如圖3-7所示,ds1302
19、的sclk、i/o和rst三個引腳通過上拉電阻連接單片機的p1.4、p1.5和p1.6。3.5、lcd顯示電路顯示部分采用smc 1602液晶屏進行數(shù)據(jù)顯示,其主要技術(shù)參數(shù)為:表3-2 液晶屏技術(shù)指標接口信號說明如表3-3所示。表3-4 液晶屏接口信號說明單片機接口電路如圖3-8所示。其中p0.0p0.7接lcd數(shù)據(jù)線,p2.5p2.7接lcd控制線。圖3-8 lcd與單片機接口電路3.6、eeprom存儲器電路紅外報警監(jiān)控系統(tǒng)的報警時間存儲在eeprom芯片at24c04中,并可以通過查詢按鍵查看。at24c04是iic芯片,其管腳連接如圖3-6-1所示,與單片機連接電路如圖3-6-2所示。
20、 圖3-9 at24c04管腳圖 圖3-10 與單片機連接圖3.7、鍵盤電路本設(shè)計采用四鍵鍵盤,電路如圖3-11所示。圖3-11 四鍵鍵盤電路3.8、供電及程序下載電路本設(shè)計采用usb接口供電,電源電壓5v。同時,usb接口通過內(nèi)含pl2303芯片的轉(zhuǎn)換電路對單片機進行程序編寫。其電路原理如圖3-12所示。圖3-12供電及程序下載電路4、 軟件編程4.1、軟件流程圖本設(shè)計軟件主程序流程圖如圖4-1所示。圖4-1 軟件流程圖4.2、主程序下面介紹main.c主程序編寫,其他程序略。(1) 頭文件和一些宏定義#include #include #include 1602.h#include dht
21、.h#include 2402.h#include ds1302.h(2) 管腳定義sbit led_alert=p36;/報警燈sbit in_alert=p21; /報警信號輸入sbit beep=p20; /蜂鳴器sbit key_up = p32;sbit key_down = p35;sbit key_set = p33;sbit key_review = p34;(3) 常量、變量定義和函數(shù)聲明/定義標識volatile bit flagstartrh = 0; /開始溫濕度轉(zhuǎn)換標志volatile bit flagkeypress = 0; /有鍵按下標志volatile bit
22、 flagalert = 0; /報警狀態(tài)標志volatile bit flagreview = 0; /查詢標志/定義溫濕度傳感器用外部變量extern u8 u8flag,k;extern u8 u8count,u8temp;extern u8 u8t_data_h,u8t_data_l,u8rh_data_h,u8rh_data_l,u8checkdata;extern u8 u8t_data_h_temp,u8t_data_l_temp,u8rh_data_h_temp,u8rh_data_l_temp,u8checkdata_temp;extern u8 u8comdata;exte
23、rn u8 count, count_r;/溫濕度傳感器用變量u16 temp;s16 temperature, humidity;u16 rhcounter;/按鍵響應(yīng)用變量u8 keyvalue, keyup, keydown, keyset, keyreview;u8 flagset; /ds1302時鐘用變量systemtime currenttime;uchar year, month, day, hour, minute, second;/報警及存儲用變量/char * psave;/字符串顯示用變量uchar str16 = 000000;uchar alertdate9=00-
24、00-00, alerttime9=00:00:00;uchar hide;/函數(shù)聲明void int2str(int x, char* str);void delay1ms(unsigned int count);void data_init();void timer0_init();void timer0_isr () ;void savealert();void loadalert();void keyprocess(uint num);(4) 各子程序/整型轉(zhuǎn)字符串的函數(shù),轉(zhuǎn)換范圍0-65536void int2str(int x, char* str) int i=1; int tm
25、p=10; while(x/tmp!=0) i+; tmp*=10; tmp=x; stri=0; while(i1) str-i=0+(tmp%10); tmp/=10; str0=tmp+0; void delay1ms(unsigned int count)unsigned int i,j;for(i=0;icount;i+)for(j=0;j= 450) flagstartrh = 1; rhcounter = 0; /設(shè)定閃爍標志 if (hide = 1) hide = 0; else hide = 1; /存入報警日期時間void savealert() wrteeprom(0,
26、 year); delay(1500); wrteeprom(1, month); delay(1500); wrteeprom(2, day); delay(1500); wrteeprom(3, hour); delay(1500); wrteeprom(4, minute); delay(1500); wrteeprom(5, second); delay(1500);/載入報警日期時間void loadalert() uchar value; value = rdeeprom(0); alertdate0=value/10+48; alertdate1=value%10+48; val
27、ue = rdeeprom(1); alertdate3=value/10+48; alertdate4=value%10+48; value = rdeeprom(2); alertdate6=value/10+48; alertdate7=value%10+48; value = rdeeprom(3); alerttime0=value/10+48; alerttime1=value%10+48; value = rdeeprom(4); alerttime3=value/10+48; alerttime4=value%10+48; value = rdeeprom(5); alertt
28、ime6=value/10+48; alerttime7=value%10+48;void keyprocess(uint num) switch (num) case 1: /up鍵被按下 switch (flagset) case 0:case 1: break;case 2: /年 if (year99)year+; write1302(0x8e,0x00); /寫入允許 ds1302_settime(ds1302_year,year); write1302(0x8e,0x80); /禁止寫入 break;case 3: /月 if (month12) month+; write1302
29、(0x8e,0x00); /寫入允許 ds1302_settime(ds1302_month,month); write1302(0x8e,0x80); /禁止寫入 break;case 4: /日 if (day31) day+; write1302(0x8e,0x00); /寫入允許 ds1302_settime(ds1302_day,day); write1302(0x8e,0x80); /禁止寫入 break;case 5: /時 if (hour23) hour+; write1302(0x8e,0x00); /寫入允許 ds1302_settime(ds1302_hour,hour
30、); write1302(0x8e,0x80); /禁止寫入 break;case 6: /分 if (minute60) minute+; write1302(0x8e,0x00); /寫入允許 ds1302_settime(ds1302_minute,minute); write1302(0x8e,0x80); /禁止寫入 break;case 7: /秒 if (second0)year-; write1302(0x8e,0x00); /寫入允許 ds1302_settime(ds1302_year,year); write1302(0x8e,0x80); /禁止寫入 break;cas
31、e 3: /月 if (month0) month-; write1302(0x8e,0x00); /寫入允許 ds1302_settime(ds1302_month,month); write1302(0x8e,0x80); /禁止寫入 break;case 4: /日 if (day0) day-; write1302(0x8e,0x00); /寫入允許 ds1302_settime(ds1302_day,day); write1302(0x8e,0x80); /禁止寫入 break;case 5: /時 if (hour0) hour-; write1302(0x8e,0x00); /寫
32、入允許 ds1302_settime(ds1302_hour,hour); write1302(0x8e,0x80); /禁止寫入 break;case 6: /分 if (minute0) minute-; write1302(0x8e,0x00); /寫入允許 ds1302_settime(ds1302_minute,minute); write1302(0x8e,0x80); /禁止寫入 break;case 7: /秒 if (second0) second-; write1302(0x8e,0x00); /寫入允許 ds1302_settime(ds1302_second,secon
33、d); write1302(0x8e,0x80); /禁止寫入 break; break; case 3: /set鍵被按下。flagset 0-報警;1-關(guān)報警;2-設(shè)置年;3-月;4-日;5-時;6-分;7-秒 if (flagreview=0) /只有不查詢時才能設(shè)定 flagset +;if (flagset=1) l1602_string(2,10,a);else l1602_string(2,10, ); if (flagset=8) flagset = 0; break; case 4: /review鍵被按下 if (flagreview = 0) flagreview = 1
34、; loadalert();l1602_string(1,1, );l1602_string(2,1, ); l1602_string(1,1,alertdate);l1602_string(1,9, alert );l1602_string(2,1,alerttime);l1602_string(2,9, ); else flagreview = 0; break; default: break; /* 名稱 : main()* 功能 : 主函數(shù)*/void main() u16 i, j, testnum; ea = 0;timer0_init(); /定時器0初始化 data_init(
35、);initial_ds1302();ea = 1;l1602_init();l1602_string(1,1, welcome to my );l1602_string(2,1,infrared monitor);/延時for (i=0;i1000;i+) for (j=0;j1000;j+) ; /清屏l1602_string(1,1, t c);l1602_string(2,1, h %); while(1) /查詢報警信號 /flagset=0為報警狀態(tài), /flagset=1為關(guān)報警狀態(tài), /flagset=2,3,4,5,6,7依次為設(shè)置年,月,日,時,分,秒狀態(tài) if (flag
36、set=1)&(in_alert=0) /首次觸發(fā)報警則存入報警時間 savealert(); flagalert=1; beep=0;led_alert = 0; else /報警未打開或者無警可報 flagalert=0; beep=1;led_alert = 1; if (flagstartrh = 1) /溫濕度轉(zhuǎn)換標志檢查 tr0 = 0; testnum = rh(); flagstartrh = 0; tr0 = 1; /讀出溫濕度,只取整數(shù)部分 humidity = u8rh_data_h; temperature = u8t_data_h; /讀出日期時間值 ds1302_g
37、ettime(¤ttime); year = currenttime.year; month = currenttime.month; day = currenttime.day; hour = currenttime.hour; minute = currenttime.minute; second = currenttime.second; datetostr(¤ttime); timetostr(¤ttime); /如果不處于查詢狀態(tài)則顯示當前日期時間溫度濕度 if (flagreview=0) /清屏 l1602_string(1,1, t c);l
38、1602_string(2,1, );l1602_string(2,12,h %);/顯示溫濕度 if (temperature0) l1602_string(2,7,-); temperature = abs(temperature); int2str(temperature,str1); l1602_string(1,14,str1); int2str(humidity,str1); l1602_string(2,14,str1); l1602_string(1,1,currenttime.datestring); l1602_string(2,1,currenttime.timestri
39、ng); /產(chǎn)生時間設(shè)定時的閃爍效果,只在未查詢且閃爍標志置位時運行 if (hide=1) switch (flagset) case 0: case 1: break; case 2: /年 l1602_string(1,1, ); break; case 3: /月 l1602_string(1,4, ); break; case 4: /日 l1602_string(1,7, ); break; case 5: /時 l1602_string(2,1, ); break; case 6: /分 l1602_string(2,4, ); break; case 7: /秒 l1602_s
40、tring(2,7, ); break; default: break; /以下為鍵盤查詢,當有按鍵從按下到彈起時,該按鍵被響應(yīng)。if (key_up)&(keyup=0) flagkeypress = 1; keyvalue = 1; else if (key_down)&(keydown=0) flagkeypress = 1; keyvalue = 2; else if (key_set)&(keyset=0) flagkeypress = 1; keyvalue = 3; else if (key_review)&(keyreview=0) flagkeypress = 1; keyv
41、alue = 4;if (flagkeypress = 1) keyprocess(keyvalue); flagkeypress = 0; if (!key_up) keyup = 0;else keyup = 1; if (!key_down) keydown = 0;else keydown = 1; if (!key_set) keyset = 0;else keyset = 1; if (!key_review) keyreview = 0;else keyreview = 1;5、下載與調(diào)試提供例程在uvision4環(huán)境下編譯,如果是其他版本uvision1,只需將所有.c和.h文
42、件拷貝至新建項目,重新編譯即可。當編譯生成.hex文件后,就可以下載并進行調(diào)試了。5.1、usb轉(zhuǎn)串口驅(qū)動安裝打開usb驅(qū)動文件夾下的pl2303_prolific_driverinstaller_v130.exe安裝文件,按提示安裝usb轉(zhuǎn)串口驅(qū)動程序。安裝完成后,插入usb下載線后,在開始-控制面板-打印機和其他硬件-設(shè)備管理器,在“端口”分支下有(prolific usb-to-serial comm1 port(comx)。x表示串口號,如果沒有說明usb轉(zhuǎn)串口驅(qū)動沒有安裝,須重新安裝。記住括號里的com口號。圖5-1 成功安裝usb轉(zhuǎn)串口驅(qū)動示意圖5.2、下載程序打開stc單片機下載
43、軟件文件夾,點擊運行stc_isp_v481.exe程序,出現(xiàn)如下界面。圖5-2 下載軟件正確選擇mcu 類型,com口(與剛才安裝的com號一致),最高波特率和最低波特率都選2400bps或者1200bps (下載線內(nèi)pl2303芯片所限,沒辦法?。?,并打開正確的.hex數(shù)據(jù)文件。點擊“download/下載”按紐,窗口出現(xiàn)提示:chinese:正在嘗試與 mcu/單片機 握手連接 . connection is failure. you can try: 1.give your mcu power on reset. 2.stop operation, then re-select com
44、 port. 3.because plcc-dip/pqfp-dip socket trace too long. 4.update the stc isp.exe version. 5.if still error, your mcu firmware is error or null.chinese:連接失敗,請嘗試以下操作: 1.在單片機停電狀態(tài)下,點下載按鈕,再給單片機上電 2.停止下載,重新選擇 rs-232 串口, 接好電纜 3.可能需要先將 p1.0/p1.1 短接到地 4.可能外部時鐘未接 5.因 plcc、pqfp 轉(zhuǎn)換座引線過長而引起時鐘不振蕩,請 調(diào)整參數(shù) 6.可能要升級電腦端的 stc isp.exe 軟件 7.若仍然不成功,可能 mcu/單片機內(nèi)無 isp 系統(tǒng)引導(dǎo)碼, 或需退回升級,或 mcu 已損壞 8.若使用 usb 轉(zhuǎn) rs-232 串口線下載,可能會遇到不兼容 的問題,可以讓我們幫助購買兼容的 usb 轉(zhuǎn) rs-232 串口線 仍在連接中, 請給 mcu 上電.按下電路板上的電源按紐,保證其有個失電至上電的過程,則窗口顯示開始燒錄芯片。6、紅外報警監(jiān)控系統(tǒng)安裝運行被動紅外人體報警器是一種在安防工程中使用極為普遍的一類探測器。但要其正常使用,既要防止漏報,又要減少誤報,主要是將誤報現(xiàn)象降到最低的限度。要做到這一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)園區(qū)的資源分配與管理
- 工業(yè)廢水處理技術(shù)與環(huán)境治理研究
- 工業(yè)安全生產(chǎn)管理與預(yù)防策略
- 工業(yè)廢水處理技術(shù)的研究與應(yīng)用
- 工業(yè)自動化中新材料技術(shù)的趨勢分析
- 工業(yè)污染防治與環(huán)保設(shè)備應(yīng)用
- 工業(yè)物聯(lián)網(wǎng)的遠程監(jiān)控與維護系統(tǒng)設(shè)計
- 工業(yè)機械自動化系統(tǒng)的可靠性保障
- 工業(yè)設(shè)計中的智能產(chǎn)品解決方案
- 工作與休息的平衡對殘疾人群的特別意義
- 2025年中國分布式光伏行業(yè)市場動態(tài)分析、發(fā)展方向及投資前景分析
- 2025年蘇州保安員證試題及答案
- 比亞迪秦EV新能源汽車電機驅(qū)動系統(tǒng)
- 美國麻醉醫(yī)師協(xié)會ASA困難氣道管理xuli
- 落戶服務(wù)協(xié)議上海上海落戶承諾書
- 高中信息技術(shù)《數(shù)據(jù)處理與應(yīng)用》練習題(附答案解析)
- 糖尿病前期癥狀
- 十五五我國汽車產(chǎn)業(yè)發(fā)展趨勢簡析
- 基于線性二次型的單神經(jīng)元PID最優(yōu)控制器設(shè)計及仿真
- 臨床胸壁神經(jīng)纖維瘤影像診斷與鑒別
- 安裝操作手冊CPC-II電流-壓力轉(zhuǎn)換器
評論
0/150
提交評論