版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、皖西學(xué)院本科畢業(yè)論文(設(shè)計)智能庫區(qū)防盜系統(tǒng)的設(shè)計作 者吳士明指導(dǎo)教師王本有摘要:本文設(shè)計了一款以單片機為核心的智能庫區(qū)防盜系統(tǒng),該系統(tǒng)會根據(jù)不同的時間段來實現(xiàn)不同的功能,在白天時間段,該系統(tǒng)用兩個紅外傳感器來檢測人進出庫區(qū)的情況,并可以統(tǒng)計進出人數(shù)和顯示在數(shù)碼管上,;在夜間時間段,系統(tǒng)實施夜間照明,若有人進去庫區(qū)就會發(fā)出聲警報,這實現(xiàn)了人機交互的功能。與此同時該系統(tǒng)具有設(shè)定和顯示時間和日期的功能,相當(dāng)于電子時鐘,這是該系統(tǒng)另一個亮點。另外,系統(tǒng)接入了按鍵功能,可以設(shè)定時間、日期,可以切換顯示時間、日期和進出人數(shù)功能,可以選擇工作模式和休閑模式,這也是實現(xiàn)人機交互的重要部分。本系統(tǒng)可以廣泛地應(yīng)
2、用其它相關(guān)領(lǐng)域,具有很好的可用性。本系統(tǒng)程序用Keil C軟件進行編程及編譯,再通過protues仿真軟件模擬實物,實現(xiàn)各種具體功能的調(diào)試。關(guān)鍵詞: 51單片機;紅外探測; 智能控制Design of Intelligent Alarm System for Storehouse Abstract:Designed a microcontroller as the core of intelligent anti-theft system in the reservoir area, the system will be based on different time periods to a
3、chieve different functions during the day time period, the system uses two infrared sensors to detect people out of the reservoir areaand statistics out of the number and display digital tube; night lighting at night time, the implementation of the system, if people go in the reservoir area will sou
4、nd alarm, the function of the human-computer interaction. At the same time that the system is set up and display the time and date functions, the equivalent of the electronic clock, which is another bright spot in the system. In addition, the system access to key functions, you can set the time, dat
5、e, and you can switch the display time, date and number of people entering, you can select the operating mode and leisure patterns, and this is an important part of the human-computer interaction. The system can be widely applied in other related fields, with good usability. The system program Keil
6、C software programming and compilation, and then through simulation kind of protues simulation software to achieve the specific features of debuggingKey words: 51 MCU;Infrared detection; intelligent control目 錄1 緒 論11.1 問題的提出11.2 課題研究的意義12 設(shè)計任務(wù)22.1 設(shè)計的主要內(nèi)容22.2 主要技術(shù)指標(biāo)23 方案論證33.1 選用單片機AT89C5133.2 信號采集模
7、塊探測選擇34 硬件電路設(shè)計44.1 系統(tǒng)整體框圖44.2 人機交互硬件44.2.1 數(shù)碼管顯示54.2.2 數(shù)碼管相關(guān)電路圖64.3 紅外探測頭模塊64.3.1 功能特性64.3.2 電氣及機械特性:74.3.3 內(nèi)部電路圖74.4 單片機AT89C5174.4.1 AT89C51功能特性84.4.2 芯片主要特性84.4.3 引腳功能84.5 聲光報警系統(tǒng)及硬件94.6 按鍵電路95 軟件設(shè)計105.1 主程序流程圖105.1.1主函數(shù)程序105.2 數(shù)碼管子程序及流程圖115.3 工作處理程序135.4 聲報警系統(tǒng)程序155.5 延時函數(shù)程序155.6 設(shè)定程序155.7 工作按鍵程序1
8、85.8 T0中斷程序196 測試結(jié)果及分析206.1 硬件電路測試206.2.1 測試方式206.2.2 功能測試及分析20結(jié) 論21致謝22參考文獻(xiàn)23第 II 頁1 緒 論1.1 問題的提出現(xiàn)在我國經(jīng)濟發(fā)展迅速,庫區(qū)相關(guān)產(chǎn)業(yè)發(fā)展迅速,而人力資源越來越寶貴。在這種情況下,由人負(fù)責(zé)庫區(qū)的安全這種傳統(tǒng)方式給人們帶來了很高的成本。為了解決降低這方面的庫區(qū)成本問題,同時兼顧庫區(qū)安全性問題,本文提出了一種用智能庫區(qū)防盜系統(tǒng)來代替人的設(shè)想,這種系智能統(tǒng)不僅成本低廉,還可以代替人的眼睛和耳朵來保護庫區(qū)安全。這樣就可以解決庫區(qū)成本和庫區(qū)安全性的問題。鑒于這種設(shè)想,本人設(shè)計了一款基于AT89C51芯片的智能
9、庫區(qū)防盜系統(tǒng)。1.2 課題研究的意義智能庫區(qū)防盜系統(tǒng)產(chǎn)品具有很好的市場,可以解決當(dāng)前中國庫區(qū)靠人力資源管理造成成本高的問題,也可以推動中國的科技事業(yè)的發(fā)展,本文介紹用51單片機做成的智能庫區(qū)防盜系統(tǒng),采用51單片機的好處是其一,由于AT89C51芯片具有價格低、體積小、可靠性高等特點,它可以有效地提高產(chǎn)品的性能價格比。 其二,51單片機具有很好的市場,其他許多產(chǎn)品都采用這款芯片,而且我們可以很方便購買其芯片,進行更換芯片。我們國家對這方面急需大量的產(chǎn)品,因為中國生產(chǎn)這方面的產(chǎn)品不是很多,而中國的發(fā)展越來越快,需求量很大,造成這方面的物質(zhì)短缺。因此,我設(shè)計了一款智能庫區(qū)防盜系統(tǒng),可以實現(xiàn)防盜,使
10、用非常簡單,可以廣泛地使用 ,性價比也較高,是一款不錯值得選擇的系統(tǒng)。2 設(shè)計任務(wù)2.1 設(shè)計的主要內(nèi)容2.1.1. 信號檢測功能用一對紅外探測頭進行對外部信號的采集,經(jīng)過處理后得到二進制數(shù)。2.1.2.模式選擇根據(jù)按鍵來選擇不同的模式,工作按鍵切換系統(tǒng)工作和不工作兩種,設(shè)定按鍵切換設(shè)定時間和正常顯示,顯示按鍵是切換顯示時間還是顯示計數(shù),查看日期按鍵是顯示該天日期4秒鐘,移位鍵和加一鍵只在設(shè)定時間的情況下才起作用,移位鍵每按一次就按照順序移動,加一鍵在當(dāng)前位上每按一次就加1,主要是用來設(shè)定時間的。同時MCU會根據(jù)時間段來執(zhí)行相應(yīng)的功能。2.1.3. 顯示功能用八個數(shù)碼管進行顯示檢測的進出人數(shù),
11、可以根據(jù)按鍵顯示時間和日期,該系統(tǒng)采用動態(tài)掃描方式來實現(xiàn)顯示功能。2.1.4. 聲光報警功能在白天模式中,當(dāng)有人進入或出去庫區(qū)時,系統(tǒng)將計數(shù),聲光報警系統(tǒng)不開啟。在晚上,照明將打開,有人進入庫區(qū),有人聲報警系統(tǒng)將開啟,人從庫區(qū)出去時,則不報警。 2.1.5. 信息處理功能通過編譯后的程序采用MCU來處理這些信息,包括統(tǒng)計人數(shù)、顯示功能和聲光報警功能。2.1.6 電源單片機需要一個能夠提供5v的穩(wěn)壓電源,根據(jù)現(xiàn)在很多人做這樣的模塊,市場上有很多這樣的產(chǎn)品,價格也非常便宜、實用,所以本產(chǎn)品沒有自己設(shè)計電源,而是從市場直接購買獲得。具體參數(shù)可以根據(jù)需求來買。本系統(tǒng)購買的是5v穩(wěn)壓電源,電流最大可以提
12、供2A。2.2 主要技術(shù)指標(biāo)(1)工作電壓:+5V; (2)人數(shù)統(tǒng)計:進人數(shù):099;出去人數(shù):099 (3)顯示功能:進出人數(shù)各099;顯示24式時間和年月日格式的日期(4)紅外探測距離:3cm5m3 方案論證3.1 選用單片機AT89C51方案一:采用型號為AT89C51的51單片機芯片。AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù),由于將多功能8位CPU和閃爍存儲器組合在單個芯片
13、中,特別是其內(nèi)部增加的閃速可電改寫的存儲器FlashROM給單片機的開發(fā)及應(yīng)用帶來了很大的方便,且價格合理、功能強、靈活性高的單片機。 方案二:選用其他單片機。無論從單片機的資源,還是執(zhí)行速度進行比較,51單片機都要比其他單片機性價比高。而且51單片機的價格比其他單片機便宜。根據(jù)以上的兩種方案的比較,所以在本電路設(shè)計時采用的是AT89C51芯片。3.2 信號采集模塊探測選擇方案一:紅外探測頭,具有探測距離遠(yuǎn)、干擾能力較好,使用和處理信號上方便,這樣可以省去很多軟件上的麻煩,而且它的成本低廉,適用范圍廣,可以進行隨時更新和換代,只要加上一些外部電路就可以了。本身不發(fā)任何類型輻射,器件功耗很小,隱
14、蔽性較好。方案二;超聲波探測頭,它具有探測距離遠(yuǎn)、抗干擾能力強,可以探測物體的遠(yuǎn)近。但它的使用上比較麻煩,而且它的成本昂貴。一般的超聲波探測頭都是比較貴,效果不是很好,使用上比較麻煩,而且需要大量程序軟件加以輔助才能使用,也容易損壞,外部電路也是比較復(fù)雜。根據(jù)上述進行比較,不難發(fā)現(xiàn)紅外探測頭,在使用和性價比上都是處于優(yōu)勢,所以選擇采用紅外探測頭模塊。4 硬件電路設(shè)計4.1 系統(tǒng)整體框圖圖4-1 系統(tǒng)整體框圖圖 4-2 系統(tǒng)整體仿真圖4.2 人機交互硬件人機交互硬件主要包括數(shù)碼管顯示、聲光報警、按鍵和單片機。 4-3數(shù)碼管使用圖4.2.1 數(shù)碼管顯示我選用了7段LED共陽極數(shù)碼管,數(shù)碼管分為兩種
15、即為共陽極和共陰極。如下圖數(shù)碼管是由7段LED和一個小數(shù)點發(fā)光二極管構(gòu)成 數(shù)碼管有一個公共端引腳,若接地,則是共陰極數(shù)碼管,若是接電源,則是共陽極數(shù)碼管。在使用時需要加限流電阻加以保護,避免燒壞數(shù)碼管。數(shù)碼管顯示包括靜態(tài)顯示和動態(tài)顯示兩種方式,所謂靜態(tài)顯示方式就是當(dāng)顯示器顯示某個字符時,相應(yīng)的段恒定的導(dǎo)通或截止,直到顯示另一個為止。使用簡單,但其占用I/O口資源較多。在顯示多位數(shù)時較多用動態(tài)顯示方式。 4-5數(shù)碼管字符型表所謂動態(tài)顯示,將所有位的段選線并聯(lián)在一起,由一個8位I/O口控制,公共端分別由相應(yīng)的I/O線控制,實現(xiàn)各位分時選通。如下圖所示:4-4數(shù)碼管圖 由于8位數(shù)碼管需要一個8位I/
16、O口控制,因此在每一瞬間,顯示不同的字符,就必須采用輪流掃描方法點亮各位LED及在每一瞬間只使某一位顯示字符。在此瞬間段選控制I/O輸出相應(yīng)字符段選碼,而位選則控制I/O口在該顯示位送入選通電平以保證該位顯示相應(yīng)字符。如此輪流,使每位分時顯示該位應(yīng)顯示的字符。但這樣還是不行,因為需要軟件進行延時,人眼的視覺暫留時間為0.1秒,所以每位顯示的間隔不必超過25ms,并保持延續(xù)時一段時間 以造成視覺暫留效果,給人看上去每個數(shù)碼管總在亮。(1)主要技術(shù)參數(shù)和性能靜態(tài)時,推薦使用10-15mA;動態(tài)時,16/1動態(tài)掃描時,平均電流為4-5mA,峰值電流50-60mA。4.2.2 數(shù)碼管相關(guān)電路圖 4-6
17、 數(shù)碼管外圍電路圖由于單片機的負(fù)載能力有限,雖然仿真上能夠用單片機直接驅(qū)動數(shù)碼管,而不需要外部電源提供動力,但現(xiàn)實中不能夠用單片機端口直接驅(qū)動數(shù)碼管,需要加外部電路來提供電源,保證能夠可靠地運行,同時還需要接限流電阻,以免燒壞數(shù)碼管和單片機。根據(jù)上面的參數(shù)來計算需要的限流電阻的大小為200歐。 現(xiàn)在介紹驅(qū)動數(shù)碼管電路,由于數(shù)碼管有共陰極和共陽極兩種,他們的驅(qū)動電路也不同。本文采用的是共陽極數(shù)碼管,數(shù)碼管的公共端需要接高電平,但同時能夠控制電路的通斷,這需要選擇性開關(guān)元件,通常我們選擇三極管作為開關(guān)元件根據(jù)需要選擇是PNP型三極管還是NPN型三極管,本文采用的是PNP三極管作為元件開關(guān),需要加限
18、流電阻來保護電路和單片機。上圖就是連接電路圖。 4.3 紅外探測頭模塊4.3.1 功能特性紅外探測頭探測距離遠(yuǎn)、受可見光干擾小、價格便宜、易于裝配、使用方便等特點,而且使用方便,我采用一款現(xiàn)已做好的紅外探測模塊,因為價格較低,使用更加方便,這是一種集發(fā)射與接收于一體的光電傳感器。正常情況下,OUT輸出引腳輸出高電平相當(dāng)于二進制中的“1”,遇到障礙物或者人時該引腳輸出低電平即為二進制中的“0”,這種數(shù)字信號可以直接通過單片機進行處理而不需要模電轉(zhuǎn)換,這就是使用特別方便的地方。下面是其元件實物及引腳連接圖,看圖可以知道有三根線,紅色線接5伏電源,黑色線接地,黃色線為信號輸出,接在單片機的端口上。在
19、本系統(tǒng)中,OUT引腳接在單片機的P10引腳上,只要有一次低電平信號輸出,就計數(shù)一次。4-7實物圖及電路圖4.3.2 電氣及機械特性:工作電壓:5VDC工作電流:10-15mA驅(qū)動電流:100mA感應(yīng)距離:3cm5m檢測距離進行調(diào)節(jié)直徑:18mm 長度:45mm引線長度:18cm引腳線:紅色-VCC;黑色-GND;黃色-OUT 4-8紅外探測頭內(nèi)部結(jié)構(gòu)圖4.3.3 內(nèi)部電路圖在電路設(shè)計中可以在輸出端黃線加上拉電阻10K到5V,再接入單片機檢測,會比較穩(wěn)定,如果采用隨機檢測可以采用單片機的外部硬件中斷INT0 INT1等來實現(xiàn)。4.4 單片機AT89C51控制電路主要組成部分為單片機AT89C51
20、,通過AT89C51進行處理數(shù)據(jù)和顯示人數(shù)及報警處理。它的作用相當(dāng)于人的大腦。人的大腦對人整體而言,它的重要是不言而喻的。對于這個系統(tǒng)來說,單片機的作用是重要的,它的作用有記憶、接受信息、處理信息和做出相應(yīng)的輸出信息,所以要詳細(xì)了解有關(guān)的單片機的資料。4.4.1 AT89C51功能特性 4-9單片機引腳圖AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,指令集和輸出管腳相兼容。
21、由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。4.4.2 芯片主要特性與MCS-51 兼容4K字節(jié)可編程閃爍存儲器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24Hz128*8位內(nèi)部RAM32可編程I/O線圖4-10基本電路兩個16位定時器/計數(shù)器5個中斷源低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路 4.4.3 引腳功能其引腳圖如圖4-9所示基本電路如圖4-10所示P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為
22、高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是
23、由于內(nèi)部上拉的緣故。4.5 聲光報警系統(tǒng)及硬件聲報警系統(tǒng)原理圖如右圖,這是流程圖的一部分,從判斷是否有人進入庫區(qū),當(dāng)有人進去庫區(qū)時警聲就會同時打開,過了0.05秒然后同時關(guān)閉警燈警聲就以這種方式交替出現(xiàn)直到2秒后出現(xiàn)這次循環(huán)停止。如有人連續(xù)站在那兒不動,警聲會不斷的響,直到人離開。實際效果就如警車上的警聲效果一樣。這樣可以模仿警察的效果,起到威懾作用。圖4-11 聲光報警系統(tǒng)電路圖本系統(tǒng)采用比較簡單的處理方式,發(fā)出燈光和聲音的警告,燈的顏色為紅色,這樣比較醒目。燈電路的控制是由P0.0控制的,喇叭是由51單片機P0.1端口控制的。由于P0口驅(qū)動能力不行,需要加上拉電阻才行,否則不能驅(qū)動其電路,
24、1k的電阻一端接電源,另一端接相應(yīng)P0接口就可以了。本驅(qū)動電路采用繼電器來驅(qū)動外電路,用繼電器的好處是可以控制功率更大的電器,這樣就可以產(chǎn)生更高的聲光報警信號,同時需要用的PNP型三極管來做選擇開關(guān),也增強其電路中的電流,加強控制繼電器,從而更好的控制其工作電路。圖4-12 按鍵電路需要對小晶體管(CS9013)進行選用,例如CS9013是NPN的三極管需要考慮放大倍數(shù)及限流電阻大小,本系統(tǒng)采用的限流電阻為1k歐,三極管的放大系數(shù)為50,具體連接方式如上圖 4-11所示。4.6 按鍵電路右圖4-12所示是仿真電路中的按鍵部分,兩個紅外探頭用兩個按鍵代替,工作按鍵切換工作模式和休息模式;設(shè)定按鍵
25、切換設(shè)定模式和正常顯示;移位按鍵和調(diào)數(shù)按鍵只有在設(shè)定模式下才起作用,大致是按照日、月、年、時、分五個循環(huán)位,每按一次移位按鍵時,就移動一位,調(diào)數(shù)按鍵每按一次就使其位數(shù)加一;人數(shù)顯示按鍵切換人數(shù)顯示和時間顯示;查看日期按鍵只在顯示時間的狀態(tài)下才起作用,顯示日期4秒再切換到以前狀態(tài)。5 軟件設(shè)計5.1 主程序流程圖圖5-1主程序流程圖當(dāng)單片機開始供電之后,先對程序初始化,然后對數(shù)碼管進行初始化設(shè)置,通過掃描程序工作按鍵進行掃描,根據(jù)不同的模式選擇不同的處理方式,其模式分為設(shè)定模式和休息模式兩種。當(dāng)工作按鍵按下次數(shù)為偶數(shù)時,系統(tǒng)處于休息狀態(tài),這時使數(shù)碼管顯示為一行。當(dāng)工作按鍵按下次數(shù)為奇數(shù)時,模式為
26、設(shè)定狀態(tài)。進入設(shè)定模式后,會根據(jù)設(shè)定按鍵次數(shù)來切換設(shè)定模式和工作模式,當(dāng)其按鍵次數(shù)為偶數(shù)時進入設(shè)定狀態(tài),可以通過移位按鍵和調(diào)數(shù)按鍵來設(shè)定時間和日期;當(dāng)按鍵次數(shù)為奇數(shù)時進入正常工作,打開定時器T0的中斷和顯示時間,可以通過查看日期按鍵查看日期。接著根據(jù)時間段來選擇相應(yīng)模塊,其分為白天(7:0019:00)模式和夜間模式兩種,白天模式執(zhí)行計數(shù)功能,包括進人數(shù)和出人數(shù),紅外探測器模塊進行信號檢測,若有人進入庫區(qū)時,進人數(shù)就加一,有人出去時,出人數(shù)加一,若在同一時間有進人和出人時,則執(zhí)行進人數(shù)加一和出人數(shù)加一;執(zhí)行人數(shù)統(tǒng)計人數(shù)顯示可以通過顯示人數(shù)按鍵來顯示;夜間模式執(zhí)行照明和警報。夜間照明燈打開;若紅
27、外探測有人進入時,則警報聲打開,其他情況都不打開。返回到數(shù)碼管顯示程序。主流程圖5 5.1.1主函數(shù)程序main() /主函數(shù) IE=0x82;/打開T0 TCON=0x00;/int0低電平有效 TMOD=0x01;/T0 mode 1 P0=0x03; /關(guān)閉 警報 while(1) /不停循環(huán) jobbutton();/工作鍵掃描 if(n%2=0) /工作鍵按鍵次數(shù)為偶數(shù),不工作 flag=0; TR0=0; nojob(); else /工作鍵按鍵次數(shù)為奇數(shù),開始 /工作 TR0=0; setbutton(); if(m%2=0) /設(shè)定輸入 set(); else job(); d
28、isplay(); if(PB2=0) /查看日期 lookdate(); 5.2 數(shù)碼管子程序及流程圖 由于數(shù)碼管采用動態(tài)掃描方式,需要段選碼和相應(yīng)的字形選碼出現(xiàn)在同一個數(shù)碼管上才能正常顯示,同時為了看起來更加方便,需要用到的數(shù)碼管在其上面顯示有日期、時間和計數(shù),其數(shù)碼管子程序流程如下圖5-2,顯示時間、日期和計數(shù)的效果圖如圖5-3,圖5-2數(shù)碼管流程圖其程序代碼如下:void display() /數(shù)碼管顯示程序 void display() /數(shù)碼管顯示程序 int i,j,k;scan=0x01; if(PB7=0)/計數(shù)顯示 inout0=TABpeopleout%10;/顯示數(shù)碼管
29、右第1位 inout1=TABpeopleout/10;/顯示數(shù)碼管右第2位 inout2=0xff;/顯示數(shù)碼管右第3位 inout3=0xb9; /顯示數(shù)碼管右第4位 inout4=TABpeoplein%10;/顯示數(shù)碼管右第5位 inout5=TABpeoplein/10;/顯示數(shù)碼管右第6位 inout6=0xff; /顯示數(shù)碼管右第7位 inout7=0x8f; /顯示數(shù)碼管右第8位 for(k=0;k<8;k+)/動態(tài)顯示 SEG=0xff; SCANP=scan; /掃描信號初值圖5-3顯示日期、時間和計數(shù)效果圖 SEG=inoutk;/對應(yīng)選碼值 delay(4);/延
30、時4s scan<<=1;/左移一位 else /時間和日期顯示程序 if(flag=1)/時間顯示 P1=0xff; disj0=TABsecond%10;disj1=TABsecond/10;disj2=0xbf;disj3=TABminute%10;disj4=TABminute/10;disj5=0xbf;disj6=TABhour%10; disj7=TABhour/10;for(j=0;j<8;j+) SEG=0xff; SCANP=scan; SEG=disjj; delay(4); scan<<=1; if(flag=0)/顯示日期 P1=0xff
31、; scan=0x01; dirq0=TABday%10; dirq1=TABday/10; dirq2=0xbf; dirq3=TABmonth%10; dirq4=TABmonth/10; dirq5=0xbf; dirq6=TAByears%10; dirq7=TAByears/10; for(i=0;i<8;i+) SEG=0xff; SCANP=scan; SEG=dirqi; delay(4); scan<<=1; 5.3 工作處理程序這是主要工作的地方,根據(jù)時間段可以執(zhí)行相應(yīng)的模塊,在這里一天分為白天(7:0019:00)和夜間兩段。白天時間段執(zhí)行計數(shù),包括進人
32、數(shù)和出人數(shù),并且可以通過顯示計數(shù)按鍵來顯示計數(shù);晚上時間段執(zhí)行照明和報警,報警只有在進入庫區(qū)時才會報警,出來時是不會報警的。其程序代碼如下void job()/工作程序 TR0=1;flag=1; if(hour>=7&&hour<=17)/白天計數(shù) light=1;/照明關(guān)閉 if(PB0=0)/有人進入 delay(350); if(PB0=0) peoplein+;/進人數(shù)加一display(); if(PB1=0)/有人出去 delay(350); if(PB1=0) peopleout+;/出人數(shù)加一display(); if(PB1=0&&
33、;PB0=0)/同時進出 delay(350); if(PB1=0&&PB0=0) peoplein+;/進人數(shù)加一 peopleout+;/出人數(shù)加一 display(); if(peoplein>99)/進人數(shù)若大于99,則清零 peoplein=0; if(peopleout>99) /出人數(shù)若大于99,則清零 peopleout=0; else /晚上照明 警報 light=0;/照明 if(PB0=0) delay(350); if(PB0=0) jinbao();/進人警報 display(); 圖5-4聲報警系統(tǒng)流程圖5.4 聲報警系統(tǒng)程序其流程圖如5
34、-5圖,其程序如下:void jinbao() /報警程序 int i; for(i=0;i<20;i+)/報警次數(shù)為5次 speak=0;/鈴響 delay(50); /0.05s speak=1; /鈴不響 delay(50); spesk=1; /關(guān)閉 警報圖5-5 延時函數(shù)流程圖5.5 延時函數(shù)程序void delay(int x)/1 ms int i,j; for(i=0;i<x;i+) for(j=0;j<120;j+);5.6 設(shè)定程序void setbutton(void) /設(shè)定鍵掃描程序 if(PB3=0)/設(shè)定鍵按下 delay(350); /防抖動
35、if(PB3=0) m+=1; /按鍵次數(shù)加一 if(m>999)/次數(shù)大于99,則清零 m=0; /*設(shè)定程序*/void set()/設(shè)定程序 if(PB4=0)/移位鍵按下 delay(350);/去抖動 if(PB4=0) a=a+1; /次數(shù)加一 if(a>4)/按鍵次數(shù)大于4則清零a=0; if(a<=2&&a>=0)/設(shè)日期 flag=0;/標(biāo)記 顯示日期 if(a=0) /設(shè)日 if(PB5=0)/調(diào)數(shù)鍵按下 delay(400); if(PB5=0) day+; /日加一 if(day>31)/天數(shù)大于31則清零 day=0; d
36、isplay();/數(shù)碼管顯示 if(a=1)/設(shè)月 if(PB5=0) delay(400); if(PB5=0) month+; if(month>12) month=1; display(); if(a=2)/設(shè)年 if(PB5=0) delay(350); if(PB5=0) years+; if(years>99) years=0;display(); if(a>2&&a<=4)/設(shè)時間 flag=1;/標(biāo)記 顯示時間 if(a=3)/設(shè)時 if(PB5=0) delay(350); if(PB5=0) hour+; if(hour>=2
37、4) hour=0;display(); else/設(shè)分 if(PB5=0) delay(350); if(PB5=0) minute+; if(minute>=60) minute=0; display(); 5.7 工作按鍵程序void jobbutton(void) /工作鍵掃描程序 if(PB6=0)/工作鍵按下 delay(350); /防抖動 if(PB6=0) n+=1; /按鍵次數(shù)加一 if(n>999)/次數(shù)大于999,則清零 n=0; 5.8 T0中斷程序void T0_1s(void)interrupt 1/計時一秒程序int i; TH0=TH_M1;TL0
38、=TL_M1; if(+count_T0=20)/0.05sX20=1s count_T0=0; second+=0; if(+second=60) second=0; minute+=0; if(+minute=60) minute=0; hour+=0; if(+hour=24) hour=0; day+=0; i=month; if(+day>moni) day=1; month+=0; i+; if(+i>12) i=0; if(+month=13) month=1; years+=0; if(+years=100) years=0; 6 測試結(jié)果及分析6.1 硬件電路測試
39、本設(shè)計中沒有進行硬件焊接,無法進行硬件測試。雖然不能測試但根據(jù)平常的經(jīng)驗提出以下幾點作為參考,測試的步驟如下:(1) 將單片機及外圍電路焊好,再焊接其它元件,焊好后檢查確認(rèn)無虛焊、粘焊。(2) 先用萬用表進行測試有沒有短路、短路、元件焊接錯誤的地方,檢查無誤后,再上電進行測試。(3) 上電進行測試,按照程序,先看單片機能否正常工作,然后檢測顯示模塊是否正常,看看紅外探測模塊是否正常??词欠衽c設(shè)計的電路吻合。(4) 確認(rèn)上電處于正常后,再加載程序,程序測試可以進行分模塊分別測試,然后才整體測試。 6.2.1 測試方式因為在硬鍵開發(fā)的件候,要進行仿真實驗,成功后才進行硬件實驗。首先我們需要在機子的
40、軟件上寫程序代碼,我用的是Keil C編程軟件,按照流程圖寫好程序,然后檢測無誤后,編譯成 .Hex文件。其次,根據(jù)流程圖和需要,在protues仿真軟件上畫出仿真圖,如圖 4-2 系統(tǒng)整體仿真圖然后進行仿真測試,步驟如下:(1) 檢測電路能否正常工作,看看電阻、數(shù)碼管、按鍵和驅(qū)動電路能否符合要求,特別是電阻分為數(shù)字電阻和模擬電阻兩種,一定要選好哪種適合,不然沒有仿真效果。(2) 加載編譯好的文件.hex文件,按照流程圖進行操作測試。(3) 根據(jù)測試結(jié)果,再進行分析、修改,再加載、測試直到符合要求為止。6.2.2 功能測試及分析(1) 首先仿真中沒有紅外探測模塊,只好用按鍵代替效果是一樣的。(2)可以實現(xiàn)顯示日期、時間、人數(shù),可以聲光報警。(3) 經(jīng)測試各個功能模塊一一實現(xiàn)。結(jié) 論這次畢業(yè)設(shè)計,這不僅是對我的一種鍛煉,也是對我大學(xué)四年所學(xué)知識的綜合檢查。從開始設(shè)計到設(shè)計的完成,我感覺收獲很多,不僅在理論上有了很大的升華,而且還在實踐中鍛煉了自己,使自己懂得了更多的知識。論文首先對整個設(shè)計的主要內(nèi)容進行了簡單的介紹,在此基礎(chǔ)上,介紹了系統(tǒng)設(shè)計用到的各個組成部分的功能特性,并進性了方案比較,選擇出了最優(yōu)越的方案。在理論上對整個系統(tǒng)有一定了解的情況下,
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年制衣面料供應(yīng)居間合同
- 2025版小企業(yè)合同管理規(guī)范與合同管理信息化解決方案3篇
- 2025年超額展覽會保險條款
- 二零二五版新型環(huán)保建材采購合同樣本2篇
- 2025版企事業(yè)單位食堂員工招聘與服務(wù)協(xié)議3篇
- 2024-2025年中國寬帶行業(yè)市場評估分析及投資發(fā)展盈利預(yù)測報告
- 2025版小額貸款合同簽訂中的合同簽訂中的合同簽訂前的準(zhǔn)備與協(xié)商3篇
- 二零二五年度門面房裝修工程設(shè)計與施工質(zhì)量監(jiān)理合同
- 2025版建筑行業(yè)設(shè)備托管正規(guī)范本3篇
- 二零二五年度游艇俱樂部船舶租賃售后服務(wù)合同
- 2024年高考語文備考之??甲骷易髌罚ㄏ拢褐袊F(xiàn)當(dāng)代、外國
- 《裝配式蒸壓加氣混凝土外墻板保溫系統(tǒng)構(gòu)造》中
- T-CSTM 01124-2024 油氣管道工程用工廠預(yù)制袖管三通
- 2019版新人教版高中英語必修+選擇性必修共7冊詞匯表匯總(帶音標(biāo))
- 新譯林版高中英語必修二全冊短語匯總
- 基于自適應(yīng)神經(jīng)網(wǎng)絡(luò)模糊推理系統(tǒng)的游客規(guī)模預(yù)測研究
- 河道保潔服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 品管圈(QCC)案例-縮短接臺手術(shù)送手術(shù)時間
- 精神科病程記錄
- 閱讀理解特訓(xùn)卷-英語四年級上冊譯林版三起含答案
- 清華大學(xué)考博英語歷年真題詳解
評論
0/150
提交評論