紅外報警監(jiān)控系統(tǒng)設計報告.doc
《紅外報警監(jiān)控系統(tǒng)設計報告.doc》由會員分享,可在線閱讀,更多相關《紅外報警監(jiān)控系統(tǒng)設計報告.doc(32頁珍藏版)》請在裝配圖網上搜索。
1、 紅外人體報警器設計報告一、課題意義隨著社會的發(fā)展,科學技術的進步和安全防范意識的增強,人們越來越注重自身所處的環(huán)境是否安全。當家中無人或者僅有老人孩子在家時,必須考慮家庭成員生命和財產的絕對安全。目前,許多住宅小區(qū)的安防主要依靠安裝防盜窗、防盜門以及人工防范。這樣不僅有礙美觀,不符合防火的要求,而且不能有效地防止壞人的侵入。本課題研究紅外報警監(jiān)控系統(tǒng),它集紅外報警、溫濕度測量顯示、實時時鐘為一體,簡單實用,抗干擾能力強、靈敏度高、安全可靠,具有較高的應用價值。二、課題要求及系統(tǒng)功能紅外報警監(jiān)控系統(tǒng)由紅外熱釋電傳感器、溫濕度傳感器、DS1302時鐘電路、EEPROM存儲電路、液晶屏和鍵盤組成。
2、其主要功能有:1、 紅外熱釋電傳感器獲取人體入侵信息,當監(jiān)控功能打開并且有人入侵時,驅動蜂鳴器報警,LED報警燈亮。2、 報警時間自動存儲至EEPROM存儲器,當按查詢按鈕時顯示上次報警時間。3、 不間斷測量當前溫度和濕度數(shù)據(jù),并在液晶屏上實時顯示。4、 具備不間斷時鐘電路,當前時間在液晶屏顯示。時鐘電路具有后備電池,系統(tǒng)掉電后始終依然運行,再次上電顯示當前時間,無須重新調時。5、 四鍵鍵盤可以調校時鐘初始值,具體方法是連續(xù)按設置鍵直至“年”、“月”、“日”、“時”、“分”、“秒”相應的位置閃爍,再通過Up鍵和Down鍵調整數(shù)值,調整完畢繼續(xù)按設置鍵進入正常狀態(tài)。6、 可以通過設置鍵打開或關閉
3、監(jiān)控報警功能。7、 可以查詢上次報警時間,再次按查詢鍵退出查詢狀態(tài)。三、課題理論基礎1、熱釋電效應原理熱釋電傳感器是一種將熱量變化轉換為電量變化的能量轉換器件。因紅外線具有很強的熱效應,當交互變化的紅外線照射到晶體表面時,晶體溫度迅速變化,這時會發(fā)生電荷的變化,從而形成一個明顯的外電場,這種現(xiàn)象稱為熱釋電效應。熱釋電紅外傳感器內部的熱釋電晶體的極化,隨著溫度的變化而變化。當恒定的紅外輻射照射在探測器探頭上時,熱釋電晶體溫度不變,晶體對外呈電中性,探測器沒有電信號輸出,因而恒定的紅外輻射不能被檢測到。另外熱釋電晶體輸出的是電信號,不能直接使用,需要用電阻將其轉換為電壓形式,該電阻阻抗高達104M
4、歐,故引入N 溝道結型場效應管接成共漏形式來完成阻抗變換。熱釋電紅外線元件是一種典型的熱量傳感器,常用紅外光發(fā)射能量作為整個防盜報警裝置中檢測入侵者及其活動的手段。2、被動式熱釋電傳感器防盜報警工作原理熱釋電人體紅外線傳感器是上世紀80年代末期出現(xiàn)的一種新型傳感器件, 現(xiàn)在電子防盜報警設備研制中已得到廣泛的應用。通常我們采用的熱釋電傳感器防盜報警電路,是利用該電路檢測到有人進入防范區(qū)時通過能量變化導致產生電信號,最終電聲報警。其工作原理如下:一般人體體溫是37,所以會發(fā)出波長10um左右的紅外線,被動式紅外傳感器探頭就是靠探測人體發(fā)射的10um 左右的紅外線進行工作的。人體發(fā)射的10um 左右
5、的紅外線通過菲涅耳濾光片增強后聚集到紅外感應源上,紅外感應源通常采用熱釋電元件,這種元件接收到人體紅外輻射溫度發(fā)生變化時就會失去電荷平衡,向外釋放電荷,經后續(xù)電路檢測處理后就能產生報警信號了。在紅外探頭中有兩個關鍵性的器件,一個是熱釋電紅外傳感器,它能將波長為8 12um 之間的紅外信號的變化轉變?yōu)殡娦盘枺ψ匀唤缰械目梢姽庑盘柧哂幸种谱饔?,因此在紅外探測器的有效警戒區(qū)內,當無人體移動時,熱釋電紅外感應器感應到的只是背景溫度,沒有信號變化,所以不能產生電信號,也不會報警;當人體進人警戒區(qū),通過菲涅耳透鏡,熱釋電紅外感應器感應到的是人體溫度與背景溫度的差異信號,此時產生電信號,從而報警。另外一
6、個器件就是菲涅耳透鏡,它具有聚焦-即將熱釋電的紅外信號反射在紅外傳感器上的作用, 還能將警戒區(qū)內分為若干個明區(qū)和暗區(qū),使進入警戒區(qū)的移動物體能以溫度變化的形式在熱釋電紅外傳感器上產生變化熱釋紅外信號,這樣熱釋電紅外傳感器產生變化的電信號,后續(xù)電路經檢測處理后產生報警信號。3、被動式紅外報警器組成結構被動式紅外報警器主要由菲涅耳光學系統(tǒng)、熱釋電紅外傳感器、信號濾波和放大電路、信號處理和報警電路等幾部分組成( 如圖1 所示) 。圖1 被動式紅外報警器組成框圖菲涅爾透鏡一般采用聚乙烯塑料片制成,顏色為乳白色或黑色,呈半透明狀,但對波長為10Lm左右的紅外線來說卻是透明的。菲涅耳透鏡的焦點一般為5 厘
7、米左右,除有聚焦作用還可形成可見區(qū)和盲區(qū),實際應用時一般把菲涅耳透鏡固定在傳感器正前方1 5 厘米的地方。當物體射出的紅外線通過菲涅耳透鏡后,傳到熱釋電紅外探測器,這時熱釋電紅外探測器將輸出脈沖信號,脈沖信號經放大和濾波后,由電壓比較器將其與基準值進行比較,當輸出信號達到一定值時,報警電路發(fā)出警報。被動式熱釋電紅外探頭的優(yōu)點是本身不發(fā)生各種類型的輻射,器件的功耗小、隱蔽性好、價格低。缺點是具有容易受各種熱源、光源及射頻輻射的干擾;被動紅外穿透力差,人體的紅外輻射容易被遮擋,不易被探頭接收;當環(huán)境溫度和人體溫度接近時,探測和靈敏度下降,有時還會短時失靈。目前市場上經常采用P288型熱釋電紅外傳感
8、器作為敏感元件,能以非接觸方式檢測出人體輻射出的紅外能量,并將其轉化為電信號輸出。該傳感器外接12V電源,內部裝有菲涅耳透鏡,檢測區(qū)域為球形,有效警戒距離為12 15m,方向角為85度。當紅外警戒區(qū)內無移動物體時,傳感器無輸出信號,報警電路不工作;當有人闖入警戒區(qū)時,只要人體移動,其輻射出的紅外線便會被熱釋電紅外傳感器所接收,并輸出微弱的電信號。該信號經運算放大器A1和A2放大后,會輸出一個較強的電信號。再輸送給由A3 和A4 組成的雙限電壓比較器。具體電路如圖2所示:圖2 熱釋電傳感器檢測電路4、DYP-ME003人體感應傳感器圖2所示電路比較繁瑣,調試難度也較大。目前市場上有集成紅外人體感
9、應傳感器,將熱釋電傳感器、菲涅耳透鏡和調理電路集成在一個模塊上,可以實現(xiàn)5伏電壓供電,性能穩(wěn)定,使用方便。DYP-ME003人體感應傳感器就是這樣一款基于紅外線技術的自動控制產品,靈敏度高,可靠性強,超低電壓工作模式,廣泛應用于各類自動感應電器設備,尤其是干電池供電的自動控制產品中。其功能特點:l 全自動感應:人進入其感應范圍則輸出高電平,人離開感應范圍則自動延時關閉高電平,輸出低電平。l 光敏控制(可選擇,出廠時未設):可設置光敏控制,白天或光線強時不感應。l 溫度補償(可選擇,出廠時未設):在夏天當環(huán)境溫度升高至3032,探測距離稍變短,溫度補償可作一定的性能補償。l 兩種觸發(fā)方式:a.不
10、可重復觸發(fā)方式:即感應輸出高電平后,延時時間段一結束,輸出將自動從高電平變?yōu)榈碗娖?;b.可重復觸發(fā)方式:即感應輸出高電平后,在延時時間段內,如果有人體在其感應范圍活動,其輸出將一直保持高電平,直到人離開后才延時將高電平變?yōu)榈碗娖剑ǜ袘K檢測到人體的每一次活動后會自動順延一個延時時間段,并且以最后一次活動的時間為延時時間的起始點)。l 具有感應封鎖時間(默認設置:2.5S封鎖時間):感應模塊在每一次感應輸出后(高電平變成低電平),可以緊跟著設置一個封鎖時間段,在此時間段內感應器不接受任何感應信號。l 工作電壓范圍寬:默認工作電壓DC4.5V-20V。l 微功耗:靜態(tài)電流50微安,特別適合干電池
11、供電的自動控制產品。l 輸出高電平信號:可方便與各類電路實現(xiàn)對接。DYP-ME003人體感應傳感器的感應范圍如圖3所示: 圖3 DYP-ME003人體感應傳感器的感應范圍DYP-ME003人體感應傳感器的電氣參數(shù)如表1所示:表1 DYP-ME003人體感應傳感器的電氣參數(shù)電氣參數(shù)DYP-ME003人體感應模塊工作電壓范圍DC 4.5-20V靜態(tài)電流 50uA 電平輸出高3.3 V /低0V 觸發(fā)方式L不可重復觸發(fā)/H重復觸發(fā) 延時時間5-200S(可調)可制作范圍零點幾秒-幾十分鐘封鎖時間2.5S(默認)可制作范圍零點幾秒-幾十秒電路板外形尺寸 32mm*24mm感應角度 100度錐角感應距離
12、7米以內工作溫度-15-+70度感應透鏡尺寸直徑:23mm(默認)其外型如圖4所示: 圖4 DYP-ME003人體感應傳感器外型圖四、硬件設計本研究設計的溫濕度控制器框圖如圖5所示。圖5 紅外報警監(jiān)控系統(tǒng)方框圖圖中STC89C52單片機隨時監(jiān)控DYP-ME003紅外人體傳感器送來的報警信號。當報警功能打開并且傳感器檢測到有人侵入時,單片機通過聲(蜂鳴器)光(LED發(fā)光管)報警,同時將入侵時間記錄在外部存儲芯片AT24C04中。系統(tǒng)還可以即時顯示當前環(huán)境溫濕度值。單片機每2秒鐘從DHT11溫濕度傳感器中讀入溫度和濕度,在液晶屏上即時顯示。系統(tǒng)通過DS1302時鐘電路獲得并顯示當前時間。該時間初始
13、值可以通過設置鍵、上調鍵和下調鍵設定,由于具有后備電池,主控系統(tǒng)斷電后時鐘仍然繼續(xù)運行。系統(tǒng)通過四鍵鍵盤切換開、關報警狀態(tài),設定時鐘初始值,查詢報警時間等。系統(tǒng)各單元電路介紹如下。1、單片機電路本設計選用宏晶公司高性能單片機STC89C52采用主控芯片,其管腳如圖6所示。圖6 STC89C52單片機管腳圖該芯片為52內核8位單片機,兼容Intel等52內核單片機,支持ISP下載,適用于常用檢測控制電路。由STC89C52組成的單片機系統(tǒng)原理圖如圖6所示。圖7 單片機系統(tǒng)電路圖中ALERT引腳輸入DYP-ME003紅外人體傳感器信號,該信號為高電平時有人入侵,為低電平時表示沒有檢測到人。DATA
14、引腳為溫濕度傳感器單總線引腳。2402_SCL和2402_SDA為外存芯片AT24C04通信引腳,該芯片為IIC接口芯片,通過時鐘線和數(shù)據(jù)線二線接口通信。K1、K2、K3、K4為四只按鍵,分別為設置鍵、上調鍵、下調鍵和查詢鍵。L2為報警LED發(fā)光管。P0.0P0.7為LCD數(shù)據(jù)線,P2.5P2.7為LCD控制線。系統(tǒng)采用11.0572MHz外部晶振電路。2、紅外熱釋電報警傳感器電路圖8 DYP-ME003紅外人體傳感器電路傳感器使用DYP-ME003紅外人體傳感器,圖中ALERT引腳輸出信號,該信號為高電平時有人入侵,為低電平時表示無人入侵。R17電阻為下拉電阻,防止管腳誤報。3、溫濕度傳感器
15、器及檢測電路圖9 DHT11溫濕度傳感器外型及管腳DHT11溫濕度傳感器外型及管腳如圖9所示。其中電源引腳的供電電壓為 3.5-5.5V。傳感器上電后,要等待 1s 以越過不穩(wěn)定狀態(tài)在此期間不要發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個100nF 的電容,用以去耦濾波。 DHT11典型應用電路如圖9所示,其連接電路簡單,只需要占用控制器一個I/O口即可完成上下位的連接。建議連接線長度短于20時用5K上拉電阻,大于20米時根據(jù)實際情況使用合適的上拉電阻。圖10 DHT11典型應用電路DHT11數(shù)字濕溫度傳感器采用單總線數(shù)據(jù)格式,即單個數(shù)據(jù)引腳端口完成輸入輸出雙向傳輸。其數(shù)據(jù)包由5By
16、te(40Bit)組成。一次通訊時間最大3ms,數(shù)據(jù)分小數(shù)部分和整數(shù)部分。 一次完整的數(shù)據(jù)傳輸為40bit,高位先出。 數(shù)據(jù)格式如表2:表2 DHT11數(shù)據(jù)格式3、DS1302實時時鐘電路DS1302是DALLAS公司推出的涓流充電時鐘芯片,內含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機進行通信。實時時鐘/日歷電路提供秒、分、時、日、日期、月、年的信息。每月的天數(shù)和閏年的天數(shù)可自動調整。時鐘操作可通過AM/PM指示決定采用24或12小時格式。其芯片管腳如圖11所示。 圖11 DS1302管腳圖DS1302 與單片機之間能簡單地采用同步串行的方式進行通信,僅需用到三個口
17、:線1-RES復位,2-I/O數(shù)據(jù)線和3-SCLK串行時鐘。時鐘/RAM 的讀/寫數(shù)據(jù)以一個字節(jié)或多達31個字節(jié)的字符組方式通信,DS1302工作時功耗很低,保持數(shù)據(jù)和時鐘信息時功率小于1mW。DS1302是由DS1202改進而來,增加了以下的特性,雙電源管腳用于主電源和備份電源,供應Vcc1為可編程涓流充電電源,附加七個字節(jié)存儲器。它廣泛應用于電話、傳真、便攜式儀器以及電池供電的儀器儀表等。l 實時時鐘具有能計算2100 年之前的秒分時日日期星期月年的能力還有閏年調整的能力;l 31*8位暫存數(shù)據(jù)存儲RAM;l 串行I/O 口方式使得管腳數(shù)量最少;l 寬范圍工作電壓2.0-5.5V;l 工作
18、電流: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 雙電源管用于主電源和備份電源供應,備份電源管腳可由電池或大容量電容輸入;l 附加的7字節(jié)暫存存儲器。DS1302與單片機系統(tǒng)連接電路如圖12所示。圖12 DS1302電路連接圖如圖11所示,DS1302的SCLK、I/O和RST三個引腳通過上拉電阻連接單片機的P1.4、P1.5和P1.6。4、LCD顯示電
19、路顯示部分采用SMC 1602液晶屏進行數(shù)據(jù)顯示,其主要技術參數(shù)為:表3 液晶屏技術指標接口信號說明如表4所示。表4 液晶屏接口信號說明與單片機接口電路如圖13所示。其中P0.0P0.7接LCD數(shù)據(jù)線,P2.5P2.7接LCD控制線。圖13 LCD與單片機接口電路5、EEPROM存儲器電路紅外報警監(jiān)控系統(tǒng)的報警時間存儲在EEPROM芯片AT24C04中,并可以通過查詢按鍵查看。AT24C04是IIC芯片,其管腳連接如圖14所示,與單片機連接電路如圖15所示。 圖14 AT24C04管腳圖 圖15 與單片機連接圖6、鍵盤電路本設計采用四鍵鍵盤,電路如圖16所示。圖16 四鍵鍵盤電路 按鍵直接接單
20、片機P3.2P3.5,程序采用查詢方式獲取按鍵狀態(tài)。7、供電及程序下載電路本設計采用USB接口供電,電源電壓5V。同時,USB接口通過內含PL2303芯片的轉換電路對單片機進行程序編寫。其電路原理如圖17所示。圖17 供電及程序下載電路五、軟件編程1、軟件流程圖本設計軟件主程序流程圖如圖18所示。圖18 軟件流程圖2、主程序下面介紹main.c主程序編寫,其他程序略。(1) 頭文件和一些宏定義#include #include #include 1602.h#include dht.h#include 2402.h#include DS1302.h(2) 管腳定義sbit Led_Alert=
21、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; /開始溫濕度轉換標志volatile bit FlagKeyPress = 0; /有鍵按下標志volatile bit FlagAlert = 0; /報警狀態(tài)標志volatile bit FlagReview = 0; /查詢標志
22、/定義溫濕度傳感器用外部變量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;extern U8 count, count_r;/溫濕度傳感器用變量U16 temp;S16 temperature,
23、humidity;U16 RHCounter;/按鍵響應用變量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-00-00, AlertTime9=00:00:00;uchar hide;/函數(shù)聲明void int2str(i
24、nt 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) 各子程序/整型轉字符串的函數(shù),轉換范圍0-65536void int2str(int x, char* str) int i=1; int tmp=10; while(x/tmp!=0) i+; tmp*=10; tmp=x; stri=0; while(i
25、1) 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; /設定閃爍標志 if (hide = 1) hide = 0; else hide = 1; /存入報警日期時間void SaveAlert() wrteeprom(0, year); DELAY(1500); wrteeprom(1, month); DELAY(1500); wr
26、teeprom(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; value = rdeeprom(1); AlertDate3=value/10+48; AlertDate4=valu
27、e%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); AlertTime6=value/10+48; AlertTime7=value%10+48;void KeyProcess(
28、uint num) switch (num) case 1: /Up鍵被按下 switch (FlagSet) case 0:case 1: break;case 2: /年 if (year99)year+; Write1302(0 x8e,0 x00); /寫入允許 DS1302_SetTime(DS1302_YEAR,year); Write1302(0 x8e,0 x80); /禁止寫入 break;case 3: /月 if (month12) month+; Write1302(0 x8e,0 x00); /寫入允許 DS1302_SetTime(DS1302_MONTH,mont
29、h); Write1302(0 x8e,0 x80); /禁止寫入 break;case 4: /日 if (day31) day+; Write1302(0 x8e,0 x00); /寫入允許 DS1302_SetTime(DS1302_DAY,day); Write1302(0 x8e,0 x80); /禁止寫入 break;case 5: /時 if (hour23) hour+; Write1302(0 x8e,0 x00); /寫入允許 DS1302_SetTime(DS1302_HOUR,hour); Write1302(0 x8e,0 x80); /禁止寫入 break;case
30、 6: /分 if (minute60) minute+; Write1302(0 x8e,0 x00); /寫入允許 DS1302_SetTime(DS1302_MINUTE,minute); Write1302(0 x8e,0 x80); /禁止寫入 break;case 7: /秒 if (second0)year-; Write1302(0 x8e,0 x00); /寫入允許 DS1302_SetTime(DS1302_YEAR,year); Write1302(0 x8e,0 x80); /禁止寫入 break;case 3: /月 if (month0) month-; Write
31、1302(0 x8e,0 x00); /寫入允許 DS1302_SetTime(DS1302_MONTH,month); Write1302(0 x8e,0 x80); /禁止寫入 break;case 4: /日 if (day0) day-; Write1302(0 x8e,0 x00); /寫入允許 DS1302_SetTime(DS1302_DAY,day); Write1302(0 x8e,0 x80); /禁止寫入 break;case 5: /時 if (hour0) hour-; Write1302(0 x8e,0 x00); /寫入允許 DS1302_SetTime(DS13
32、02_HOUR,hour); Write1302(0 x8e,0 x80); /禁止寫入 break;case 6: /分 if (minute0) minute-; Write1302(0 x8e,0 x00); /寫入允許 DS1302_SetTime(DS1302_MINUTE,minute); Write1302(0 x8e,0 x80); /禁止寫入 break;case 7: /秒 if (second0) second-; Write1302(0 x8e,0 x00); /寫入允許 DS1302_SetTime(DS1302_SECOND,second); Write1302(0
33、 x8e,0 x80); /禁止寫入 break; break; case 3: /Set鍵被按下。FlagSet 0-報警;1-關報警;2-設置年;3-月;4-日;5-時;6-分;7-秒 if (FlagReview=0) /只有不查詢時才能設定 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; LoadAlert()
34、;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();Initial_DS1
35、302();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為關報警狀態(tài), /FlagSet=2,3,4,5,6,7依次為設置年,月,日,時,分,秒狀態(tài) if (FlagSet=1)&(In_Al
36、ert=0) /首次觸發(fā)報警則存入報警時間 SaveAlert(); FlagAlert=1; Beep=0;Led_Alert = 0; else /報警未打開或者無警可報 FlagAlert=0; Beep=1;Led_Alert = 1; if (FlagStartRH = 1) /溫濕度轉換標志檢查 TR0 = 0; testnum = RH(); FlagStartRH = 0; TR0 = 1; /讀出溫濕度,只取整數(shù)部分 humidity = U8RH_data_H; temperature = U8T_data_H; /讀出日期時間值 DS1302_GetTime(&Curre
37、ntTime); year = CurrentTime.Year; month = CurrentTime.Month; day = CurrentTime.Day; hour = CurrentTime.Hour; minute = CurrentTime.Minute; second = CurrentTime.Second; DateToStr(&CurrentTime); TimeToStr(&CurrentTime); /如果不處于查詢狀態(tài)則顯示當前日期時間溫度濕度 if (FlagReview=0) /清屏 L1602_string(1,1, T C);L1602_string(2
38、,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.TimeString); /產生時間設定時
39、的閃爍效果,只在未查詢且閃爍標志置位時運行 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_string(2,7, );
40、 break; default: break; /以下為鍵盤查詢,當有按鍵從按下到彈起時,該按鍵被響應。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; keyvalue = 4;if (
41、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; 六、下載與調試提供例程在uVision4環(huán)境下編譯,如果是其他版本uVision,只需將所有.c和.h文件拷貝至新建項目,重新編譯
42、即可。當編譯生成.hex文件后,就可以下載并進行調試了。1、 USB轉串口驅動安裝打開USB驅動文件夾下的PL2303_Prolific_DriverInstaller_v130.exe安裝文件,按提示安裝USB轉串口驅動程序。安裝完成后,插入USB下載線后,在開始-控制面板-打印機和其他硬件-設備管理器,在“端口”分支下有(Prolific USB-to-Serial Comm Port(COMX)。X表示串口號,如果沒有說明USB轉串口驅動沒有安裝,須重新安裝。記住括號里的COM口號。圖19 成功安裝USB轉串口驅動示意圖2、 下載程序打開STC單片機下載軟件文件夾,點擊運行STC_ISP
43、_V481.exe程序,出現(xiàn)如下界面。圖20 下載軟件正確選擇MCU 類型,COM口(與剛才安裝的COM號一致),最高波特率和最低波特率都選2400bps或者1200bps (下載線內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 Port. 3.Because P
44、LCC-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 轉換座引線過長而引起時鐘不振蕩,請 調整參數(shù) 6.可能要升級電腦端的 STC ISP.exe 軟
45、件 7.若仍然不成功,可能 MCU/單片機內無 ISP 系統(tǒng)引導碼, 或需退回升級,或 MCU 已損壞 8.若使用 USB 轉 RS-232 串口線下載,可能會遇到不兼容 的問題,可以讓我們幫助購買兼容的 USB 轉 RS-232 串口線 仍在連接中, 請給 MCU 上電.按下電路板上的電源按紐,保證其有個失電至上電的過程,則窗口顯示開始燒錄芯片。七、紅外報警監(jiān)控系統(tǒng)安裝運行被動紅外人體報警器是一種在安防工程中使用極為普遍的一類探測器。但要其正常使用,既要防止漏報,又要減少誤報,主要是將誤報現(xiàn)象降到最低的限度。要做到這一點,必須首先要了解被動紅外探測器的一些基本概念及其技術特點,這樣才能根據(jù)這
46、些基本的技術特點,從安裝、調試、使用等各個環(huán)節(jié),按照探測器的基本技術特點,這樣才能最大限度的發(fā)揮探測器的最大功效。紅外人體報警器誤報率與安裝位置和方式有很大關系,一般應注意以下幾點:l 紅外人體報警器應離地面2到2. 2米;l 紅外人體報警器要遠離空調、射燈等空氣溫度變化敏感的地方;l 紅外人體報警器探測范圍不能有隔板、大型家具、屏風等遮擋物;l 紅外人體報警器最好不要直接對著窗口,否則室外的熱氣和人員頻繁的流動會引起報警器誤報。l 紅外人體報警器對人體敏感程度還和人的運動方向有關,它對于徑向移動反應最不敏感,而對于切向方向移動最為敏感。安裝時注意選擇合適的位置,避免紅外探頭誤報,以便得到最佳檢測靈敏度。當紅外人體報警監(jiān)控系統(tǒng)安裝完后,最后所要做的工作是調試報警器。被動紅外報警器的調試一般是步測,就是調試人員在警戒區(qū)內走S型的線路來感知警戒范圍的長度寬度等來測試整個報警系統(tǒng)是否達到要求??蛇m當DYP-ME003人體感應傳感器的靈敏度,過高過低的靈敏度都將影響防范效果。紅外報警監(jiān)控系統(tǒng)調試完畢,正常上電運行,如圖21所示。其完整電路圖
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。