防火防盜報(bào)警系統(tǒng)的軟件設(shè)計(jì)_第1頁
防火防盜報(bào)警系統(tǒng)的軟件設(shè)計(jì)_第2頁
防火防盜報(bào)警系統(tǒng)的軟件設(shè)計(jì)_第3頁
防火防盜報(bào)警系統(tǒng)的軟件設(shè)計(jì)_第4頁
防火防盜報(bào)警系統(tǒng)的軟件設(shè)計(jì)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Q260046902 專業(yè)做論文西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文)畢業(yè)設(shè)計(jì)(論文)題目名稱:防火防盜報(bào)警系統(tǒng)的軟件設(shè)計(jì)題目名稱:防火防盜報(bào)警系統(tǒng)的軟件設(shè)計(jì)年年 級(jí):級(jí): 2003 級(jí)級(jí) 本科本科 專科專科學(xué)生學(xué)號(hào):學(xué)生學(xué)號(hào): 20035123學(xué)生姓名:學(xué)生姓名: 顏雄顏雄 指導(dǎo)教師:喬靜指導(dǎo)教師:喬靜學(xué)生單位:學(xué)生單位: 信息工程學(xué)院信息工程學(xué)院 技術(shù)職稱:助教技術(shù)職稱:助教學(xué)生專業(yè):學(xué)生專業(yè): 生物醫(yī)學(xué)工程生物醫(yī)學(xué)工程 教師單位:信息工程學(xué)院教師單位:信息工程學(xué)院西西 南南 科科 技技 大大 學(xué)學(xué) 教教 務(wù)務(wù) 處處 制制西南科技大學(xué)本科生畢業(yè)論文I防火防盜報(bào)警系統(tǒng)的軟件設(shè)計(jì)摘要:隨著計(jì)算機(jī)的普及和

2、信息技術(shù)的迅猛發(fā)展,智能化被引入醫(yī)院,并迅速發(fā)展起來。本文主要完成了防盜防火報(bào)警系統(tǒng)的軟件設(shè)計(jì)。設(shè)計(jì)了主控模塊、鍵盤模塊、溫度模塊、修改密碼等模塊。主控模塊控制各模塊的中斷申請(qǐng),鍵盤模塊實(shí)現(xiàn)單片機(jī)與外界的溝通,溫度模塊判斷是否有火災(zāi)并向主控模塊報(bào)告,修改密碼模塊使用戶可以隨時(shí)修改密碼。本系統(tǒng)采用單片機(jī)的高級(jí)語言 C 語言進(jìn)行設(shè)計(jì),并給出了相關(guān)流程圖。為了便于擴(kuò)展和更改,軟件的設(shè)計(jì)采用模塊化結(jié)構(gòu),使程序設(shè)計(jì)的邏輯關(guān)系更加簡潔明了。經(jīng)測(cè)試能實(shí)現(xiàn)基本的報(bào)警功能。關(guān)鍵詞:防盜;防火;報(bào)警系統(tǒng);模塊西南科技大學(xué)本科生畢業(yè)論文IIThe Software Design of an Alarm System

3、 of Theft-proof and FireproofAbstract: With the rapid development of computers and information technology, intelligent alarm system is introduced into hospital, and its development is rapid. In this paper, software design of an intelligent alarm system is introduced, the main control module, keyboar

4、d module, temperature module and change passwords module are designed. Interrupted applications of each module are controlled by the main control module, MCU communicated with the outside world is made by the keyboard module. If any fire is determined by the temperature module, it is reported to the

5、 main control module. User can change passwords at any time. The advanced C language based on MCU is adopted to design in this system, and the relative flow is showed in this paper. In order to expand and alter, the module structure is adopted in software designing, which makes the logic relation of

6、 designing program more simple and clear. After being tested, the system can realize the basic alarm function.Key words: theft-proof, fireproof, alarm system, module西南科技大學(xué)本科生畢業(yè)論文III目 錄第 1 章 緒 論.11.1 課題的開發(fā)背景及意義.11.2 國內(nèi)外研究狀況.11.3 論文主要內(nèi)容概述.3第 2 章 系統(tǒng)總體設(shè)計(jì)方案.42.1 系統(tǒng)總體構(gòu)成.42.2 系統(tǒng)的基本功能和工作過程.52.2.1 防火防盜報(bào)警系統(tǒng)功能

7、和特點(diǎn).52.2.2 系統(tǒng)的基本工作過程.5第 3 章 硬件平臺(tái).7第 4 章 系統(tǒng)軟件的設(shè)計(jì)與實(shí)現(xiàn).94.1 軟件設(shè)計(jì)思想.94.2 系統(tǒng)軟件實(shí)現(xiàn).104.2.1 主控模塊.104.2.2 密碼模塊.134.2.3 顯示模塊.144.2.4 鍵盤模塊.154.2.5 外部中斷.164.2.6 溫度模塊.184.2.7 X25045 模塊.21第 5 章 系統(tǒng)的調(diào)試.245.1 調(diào)試軟件UVISION2 介紹 .245.2 各功能模塊調(diào)試.245.2.1 溫度模塊調(diào)試.245.2.2 鍵盤掃描模塊調(diào)試.245.2.3 外部中斷調(diào)試.25西南科技大學(xué)本科生畢業(yè)論文IV5.2.4 主控模塊調(diào)試.2

8、5結(jié) 論.26致 謝.27參考文獻(xiàn).28西南科技大學(xué)本科生畢業(yè)論文1第 1 章 緒 論1.1 課題的開發(fā)背景及意義 隨著社會(huì)經(jīng)濟(jì)的飛速發(fā)展和人民生活水平的不斷提高,對(duì)安防技術(shù)提出了更高的要求,醫(yī)院也不例外。安全防范技術(shù)涉及到社會(huì)的方方面面,是保護(hù)國家和人民利益與安全的重要手段。我國的醫(yī)院設(shè)施建設(shè)水平隨著我國經(jīng)濟(jì)水平的整體提高逐步得到改善。醫(yī)院人群密集,重、危癥病人、癱瘓病人較多,并且有大量價(jià)格昂貴的高檔精密儀器、設(shè)備,又是用電多、易燃、易爆化學(xué)危險(xiǎn)品多的地方,一旦防火不力,發(fā)生火災(zāi),勢(shì)必會(huì)造成人員傷亡和較大的財(cái)產(chǎn)損失,后果不堪設(shè)想。因此,醫(yī)院的防火防盜不可忽視。近年來電子通訊技術(shù)的飛速發(fā)展,極

9、大地推動(dòng)了安防技術(shù)的發(fā)展。單片微機(jī)以其具有體積小、價(jià)格低、集成度高、性價(jià)比高等突出優(yōu)點(diǎn)己在工業(yè)控制、智能儀表、數(shù)控機(jī)床、數(shù)據(jù)采集以及各種家用電器等方面得到了廣泛應(yīng)用。因此利用單片機(jī)和一些簡單的外圍器件來開發(fā)一種適合于醫(yī)院的低價(jià)位、運(yùn)行可靠的多功能智能型安全防范報(bào)警系統(tǒng),對(duì)醫(yī)院出現(xiàn)的各種緊急意外事件如發(fā)生盜竊、火災(zāi)等自動(dòng)發(fā)出報(bào)警信息并通知管理人員進(jìn)行及時(shí)處理己經(jīng)勢(shì)在必行。本文所要介紹的是智能防盜防火報(bào)警系統(tǒng)的軟件部分的設(shè)計(jì),是在安防技術(shù)蓬勃發(fā)展的背景下,為了滿足醫(yī)院對(duì)安全的需要而設(shè)計(jì)的。在硬件搭建的基礎(chǔ)上,軟件實(shí)現(xiàn)遇到險(xiǎn)情時(shí)的自動(dòng)報(bào)警功能。1.2 國內(nèi)外研究狀況 在社會(huì)信息化進(jìn)程日益發(fā)展的今天,

10、信息技術(shù)應(yīng)用已滲透到人類生存、活動(dòng)的各個(gè)領(lǐng)域,在醫(yī)院方面,防火防盜不僅要求安全可靠、高效便利,同時(shí)還要適應(yīng)信息化社會(huì)運(yùn)用科技手段和設(shè)備的要求。因此,在醫(yī)院的日常安防工作中,引入了很多高科技手段,我們稱之為技術(shù)防范。 現(xiàn)代安防監(jiān)控系統(tǒng)已有了新的概念,通常稱為安全自動(dòng)化 SAS(Security Automation System),并與防火自動(dòng)化系統(tǒng) FAS.(Fire Automation System)共同構(gòu)成智能建筑系統(tǒng)最底層的系統(tǒng)。目前國外發(fā)達(dá)國家已逐漸形成一個(gè)集安防、消防、醫(yī)療救護(hù)為一體的安全保障行業(yè)。安全技術(shù)防范行業(yè)真正形成行業(yè)規(guī)模是在第二次產(chǎn)業(yè)革命中即 1950 年1971 年,首

11、先在美國、英國等國家形成,像西南科技大學(xué)本科生畢業(yè)論文2ADEMCO(安定寶)、VICON(維康)、CHUBO(集寶)、AMERICA DYNAMIC (A. D) 等。60 年代視頻圖像技術(shù)、70 年代計(jì)算機(jī)數(shù)字技術(shù)。80 年代生物識(shí)別技術(shù)以及 90 年代國際互聯(lián)網(wǎng)技術(shù)的應(yīng)用,使安防行業(yè)得到快速發(fā)展。 西門子樓宇科技公司針對(duì)醫(yī)院建筑安全防范的實(shí)際情況,充分結(jié)合醫(yī)院本身的情況,最新推出了 Guano Easy 新型安全防范系統(tǒng)。Guarto Easy 將視頻監(jiān)控、音頻對(duì)講監(jiān)聽、防盜報(bào)警(有線或無線連接方式)、火災(zāi)探測(cè)、危險(xiǎn)氣體探測(cè)等多種警告方式(聲光,無線,撥號(hào))結(jié)合起來,對(duì)醫(yī)院進(jìn)行全方位的安

12、全防范。Guarto Easy 采用總線式結(jié)構(gòu),符合安防系統(tǒng)的暴露線路最短的原則。通過適配器可以接入各種信號(hào)(電壓,觸點(diǎn)等),可以連接防盜探測(cè)器,震動(dòng)探測(cè)器,氣體探測(cè)器,火災(zāi)探測(cè)器,緊急按鈕,門禁觸點(diǎn)等各種探測(cè)器,能夠適應(yīng)各種情況。在線路上,可以接入中繼器實(shí)現(xiàn)探測(cè)線路的延長,從而更好的適應(yīng)環(huán)境。 就智能建筑中的火災(zāi)報(bào)警而言,目前出現(xiàn)的大型組合火災(zāi)報(bào)警系統(tǒng)或智能火災(zāi)報(bào)警系統(tǒng),一般是根據(jù)災(zāi)前檢知的光、熱、煙、氣、味等個(gè)別異常或是否達(dá)到某種閾值來做出判斷的多閾值系統(tǒng),多傳感元件火災(zāi)探測(cè)器是智能型的裝置,使用三種不同類型傳感元件的探測(cè)器記錄模擬量的火災(zāi)參數(shù),并將這些模擬量轉(zhuǎn)換成數(shù)字信號(hào),然后,探測(cè)器利

13、用數(shù)值算法判定是否存在火災(zāi)危險(xiǎn)?,F(xiàn)在世界各國都在致力于研究和開發(fā)能早期預(yù)報(bào)火災(zāi)的火災(zāi)探測(cè)方法和設(shè)備,如利用神經(jīng)網(wǎng)絡(luò)所具有的自學(xué)習(xí)和自適應(yīng)等特點(diǎn),就可組成智能火災(zāi)探測(cè)系統(tǒng),提高火災(zāi)探測(cè)系統(tǒng)的檢出率,增進(jìn)系統(tǒng)的可靠性。 在我國,醫(yī)院安全防范報(bào)警系統(tǒng)己成為智能醫(yī)院中實(shí)現(xiàn)安全管理的重要系統(tǒng)。根據(jù)我國的規(guī)定,安全防范報(bào)警系統(tǒng)主要包括電視監(jiān)控、防盜報(bào)警、求救求助、有毒氣體泄漏報(bào)警、消防報(bào)警等內(nèi)容。該系統(tǒng)是一種比較完善的安全防范系統(tǒng),通過在可視對(duì)講的基礎(chǔ)上,不斷擴(kuò)展主機(jī)功能,增設(shè)室內(nèi)分機(jī)用于接收室內(nèi)各探測(cè)器的報(bào)警信號(hào)。室內(nèi)分機(jī)有多個(gè)探測(cè)器接口,可接收感煙探測(cè)器、溫度探測(cè)器、紅外及微波探測(cè)器、有毒氣體泄漏探測(cè)

14、器等傳來的報(bào)警信號(hào)。 與國外相比,我國智能醫(yī)院安防系統(tǒng)有很大的差距?,F(xiàn)在一般醫(yī)院的主要防盜措施僅限于防盜窗、防盜門,雖有一定的防盜作用,但在災(zāi)害發(fā)生的情況下,逃生就比較困難。另外,醫(yī)院安全措施不足,安全防范系統(tǒng)也急需普及。在我國,以北京、深圳、上海、廣州等較發(fā)達(dá)的城市為龍頭形成了一股智西南科技大學(xué)本科生畢業(yè)論文3能化醫(yī)院熱。目前,公安部、建設(shè)部均要求智能醫(yī)院必須具有安防系統(tǒng)??梢灶A(yù)見,智能建筑將成為 21 世紀(jì)建筑業(yè)的發(fā)展主流。特別是在我國,隨著人們生活水平的日益提高,各種建筑是否智能化,安防系統(tǒng)是否完備、可靠,將成為評(píng)價(jià)建筑的重要指標(biāo)。1.3 論文主要內(nèi)容概述本課題所設(shè)計(jì)的防盜防火報(bào)警系統(tǒng)實(shí)

15、現(xiàn)的功能包括:能對(duì)醫(yī)院的火災(zāi)、實(shí)行自動(dòng)報(bào)警;能對(duì)盜竊實(shí)行自動(dòng)報(bào)警;設(shè)置緊急呼叫系統(tǒng);用戶端自動(dòng)報(bào)警器對(duì)各傳感器的信號(hào)進(jìn)行檢測(cè)和控制。智能報(bào)警系統(tǒng)主要包含用戶端電子防盜和防火系統(tǒng)。用戶端的電子防盜防火系統(tǒng)又包括探測(cè)器、自動(dòng)報(bào)警器及輸出等組成部分,并將模塊化思想引入此系統(tǒng),從而使整個(gè)系統(tǒng)的功能更完善、靈活、可調(diào)。在硬件搭建的平臺(tái)上,本課題重點(diǎn)設(shè)計(jì)用戶端自動(dòng)報(bào)警器的軟件部分。本論文是按如下方式組織的:第 2 章介紹系統(tǒng)的總體構(gòu)成、功能及基本工作過程;第 3 章簡單介紹硬件平臺(tái);第 4 章介紹系統(tǒng)的軟件實(shí)現(xiàn);第 5 章介紹系統(tǒng)在調(diào)試過程中遇到的問題及解決辦法;結(jié)論部分對(duì)本系統(tǒng)進(jìn)行總結(jié),并對(duì)其發(fā)展進(jìn)行展

16、望。西南科技大學(xué)本科生畢業(yè)論文4第 2 章 系統(tǒng)總體設(shè)計(jì)方案2.1 系統(tǒng)總體構(gòu)成本防盜防火報(bào)警系統(tǒng)是一種新型的電子安全報(bào)警系統(tǒng),該系統(tǒng)的設(shè)計(jì)是將電子探測(cè)、智能控制相結(jié)合,從而形成防盜、防火報(bào)警系統(tǒng)。系統(tǒng)總體構(gòu)成包括防盜防火探測(cè)器、用戶端自動(dòng)報(bào)警器兩個(gè)主要模塊,系統(tǒng)組成框圖如圖 2-1所示。 圖圖 2-1 系統(tǒng)組成框圖系統(tǒng)組成框圖圖圖 2-1 系統(tǒng)組成框圖系統(tǒng)組成框圖看門狗電路EEPROM電源電路用戶端自動(dòng)報(bào)警器AT89C51密碼控制電路熱釋電紅外探測(cè)器微波探測(cè)器溫度探測(cè)器感煙探測(cè)器CO探測(cè)器報(bào)警開關(guān)緊急呼救開關(guān)防盜探測(cè)器防火探測(cè)器工作燈報(bào)警燈故障燈報(bào)警器蜂鳴器鍵盤LED顯示模擬量及傳感器信號(hào)開

17、關(guān)量的輸入指示燈控制輸入/輸出西南科技大學(xué)本科生畢業(yè)論文5在防盜防火探測(cè)器部分,紅外探測(cè)器和微波探測(cè)器探測(cè)到信號(hào)后經(jīng)一個(gè)邏輯與非門,通過單片機(jī)的 P3.2 腳進(jìn)入自動(dòng)報(bào)警器,軟件中這部分功能用外部中斷 0 實(shí)現(xiàn),用戶端自動(dòng)報(bào)警器的主控模塊判斷其險(xiǎn)情情況,然后決定是否進(jìn)行聲光報(bào)警;感煙探測(cè)器和 CO 探測(cè)器也經(jīng)一個(gè)邏輯與非門,通過單片機(jī)的 P3.3腳進(jìn)入自動(dòng)報(bào)警器采用外部中斷 1 實(shí)現(xiàn)相應(yīng)功能;溫度傳感器經(jīng) P3.4 引腳進(jìn)入自動(dòng)報(bào)警器,這部分采用溫度模塊實(shí)現(xiàn),也受到主控模塊的控制。主控模塊響應(yīng)各中斷申請(qǐng)后,給相應(yīng)的三色燈低電平使其亮,有險(xiǎn)情的話同時(shí)送蜂鳴器低電平使其發(fā)出響聲報(bào)警。人與單片機(jī)的溝

18、通通過鍵盤實(shí)現(xiàn),在軟件中使用鍵盤模塊實(shí)現(xiàn)向主控模塊提出各種申請(qǐng)。為了方便用戶修改密碼,設(shè)計(jì)了密碼模塊來實(shí)現(xiàn)。LED 的顯示通過顯示模塊來實(shí)現(xiàn)。2.2 系統(tǒng)的基本功能和工作過程2.2.1 防火防盜報(bào)警系統(tǒng)功能和特點(diǎn)前端報(bào)警器能夠快速、準(zhǔn)確地檢測(cè)到現(xiàn)場(chǎng)的異常狀態(tài),一旦有人入侵、發(fā)生火災(zāi)或天然氣漏氣時(shí),相應(yīng)的探測(cè)器立即向自動(dòng)報(bào)警器發(fā)出報(bào)警信號(hào)。接到警情事件后,經(jīng)確認(rèn)后及時(shí)通報(bào)給微控制器,自動(dòng)報(bào)警器立即進(jìn)行確認(rèn),50 秒確認(rèn)無誤后,進(jìn)行現(xiàn)場(chǎng)聲、光報(bào)警。用戶端自動(dòng)報(bào)警器可檢測(cè)探測(cè)器或傳輸線路發(fā)生的故障(如探頭斷線或掉電等)。探測(cè)器出現(xiàn)故障時(shí)點(diǎn)亮故障燈。自動(dòng)報(bào)警器的面板上設(shè)有 LED 顯示器、鍵盤及三色警

19、燈,三色警燈分別指示光報(bào)警、正常工作以及系統(tǒng)出現(xiàn)故障的狀態(tài)。系統(tǒng)開關(guān)機(jī)采用密碼控制且允許修改密碼,防止誤報(bào)同時(shí)增加用戶端自動(dòng)報(bào)警器的保密性。如果出現(xiàn)誤報(bào)警,50 秒內(nèi)用戶可以通過鍵盤輸入密碼解除報(bào)警。平時(shí)可以更改密碼。2.2.2 系統(tǒng)的基本工作過程用戶端的防范現(xiàn)場(chǎng),一旦有人入侵、或發(fā)生火災(zāi)等緊急情況時(shí),與之相應(yīng)的報(bào)警探測(cè)器(各種防火、防盜及手動(dòng)報(bào)警按鈕等)則立即向用戶端自動(dòng)報(bào)警器發(fā)出報(bào)警信號(hào)。接到警情事件后,自動(dòng)報(bào)警器立即進(jìn)行確認(rèn)(多次巡檢中斷信號(hào)),若 50s 后無人解除警情同時(shí)警情確認(rèn)無誤后,進(jìn)行事件的現(xiàn)場(chǎng)聲(蜂鳴器)、光(LED)報(bào)警, 在用戶端自動(dòng)報(bào)警器的面板上設(shè)有 LED 顯示器、鍵

20、盤以及三西南科技大學(xué)本科生畢業(yè)論文6色警燈(LED),三色警燈分別指示火災(zāi)或紅外/微波雙鑒的防火防盜報(bào)警、正常工作及系統(tǒng)出現(xiàn)故障的狀態(tài),即報(bào)警燈(紅)、工作燈(綠)和故障燈(黃)。用戶端報(bào)警器同時(shí)具有探頭故障報(bào)警功能,避免由于探頭掉電而漏報(bào),出現(xiàn)故障時(shí)點(diǎn)亮故障燈,如果判斷探頭掉線(被剪斷),則聲光報(bào)警。如果出現(xiàn)誤觸發(fā)而報(bào)警時(shí)可以通過觸發(fā)延遲時(shí)間(50s 定時(shí)器),用戶通過輸入設(shè)定的密碼來解除報(bào)警信號(hào)。當(dāng)探測(cè)器檢測(cè)到異常信號(hào)傳給自動(dòng)報(bào)警器時(shí),只有解碼正確時(shí)才會(huì)有開鎖電平輸出給單片機(jī),控制關(guān)閉中斷,解除用戶端自動(dòng)報(bào)警器的監(jiān)測(cè)報(bào)警狀態(tài)。此時(shí),自動(dòng)報(bào)警器對(duì)這個(gè)異常信號(hào)不做出任何響應(yīng),直到被復(fù)位后,自動(dòng)

21、報(bào)警器才重新開始工作。如果三次誤碼輸入,則產(chǎn)生報(bào)警信號(hào)電平,觸發(fā)報(bào)警器中斷響應(yīng),此時(shí)報(bào)警器進(jìn)入報(bào)警狀態(tài)。密碼電路中設(shè)有 50 秒定時(shí)中斷輸出控制信號(hào),防止長時(shí)間無效操作。當(dāng)有超過 50 秒的無效操作時(shí),中斷開啟,發(fā)出報(bào)警信號(hào)。密碼由用戶端自動(dòng)報(bào)警器設(shè)定,并可隨時(shí)更改,由鍵盤可輸入用戶新密碼。用戶不小心輸入錯(cuò)誤時(shí),在規(guī)定時(shí)間內(nèi)更正密碼即可解除報(bào)警,有效的預(yù)防了誤報(bào)。輸入密碼時(shí)的按鍵有效提示由綠色發(fā)光二極管來實(shí)現(xiàn),即密碼輸入正確時(shí)發(fā)光二極管被點(diǎn)亮。西南科技大學(xué)本科生畢業(yè)論文7第 3 章 硬件平臺(tái) 本文主要完成報(bào)警系統(tǒng)軟件部分的設(shè)計(jì)和實(shí)現(xiàn),所需的硬件平臺(tái)由另一位同學(xué)搭建。硬件系統(tǒng)框圖如圖3-1 所示

22、: 熱釋電紅外探測(cè)器微波探測(cè)器溫度探測(cè)器感煙探測(cè)器CO 探測(cè)器LED 顯示電路電 源AT89C51邏輯與非門邏輯與非門輸入輸出控制電路鍵盤/密碼控制電路看門狗電路EEPROM緊急呼叫按鈕報(bào)警蜂鳴器LED 指示燈圖圖 3-1 硬件系統(tǒng)框圖硬件系統(tǒng)框圖防盜探測(cè)器是由紅外與微波探測(cè)器組成的雙鑒探測(cè)器,雙鑒探測(cè)器工作時(shí)將探測(cè)到的紅外和微波兩種信號(hào)經(jīng)過與非門處理后送單片機(jī),即只有同時(shí)檢測(cè)西南科技大學(xué)本科生畢業(yè)論文8到兩個(gè)探測(cè)器輸出端口為高電平信號(hào)時(shí),自動(dòng)報(bào)警器才會(huì)響應(yīng)盜情報(bào)警信號(hào),否則不報(bào)警。防火探測(cè)器是由溫度探測(cè)、感煙探測(cè)和一氧化碳探測(cè)構(gòu)成的復(fù)合型火災(zāi)探測(cè)器。其中溫度探測(cè)器采用一個(gè)溫度傳感器 DS18

23、B20 信號(hào)線 DQ 接單片機(jī)的P3.4 口,溫度信號(hào)經(jīng) P3.4 口進(jìn)入單片機(jī)。光電感煙探測(cè)器的輸出端輸出高電平觸發(fā)信號(hào)經(jīng)與非門進(jìn)入單片機(jī)進(jìn)行處理,CO 探測(cè)器的有效信號(hào)也送入與非門,只要從光電感煙探測(cè)器傳來的信號(hào)也為高電平信號(hào)就能觸發(fā)單片機(jī)的外部中斷 1,進(jìn)行防火報(bào)警。鍵盤控制電路采用常用的整個(gè) P0 口來做一個(gè) 4*4 矩陣鍵盤,P0P3 口作為行線,通過上拉電阻接+5V,被箝位在高電平狀態(tài),P4P7 口為列線。顯示電路采用串行口控制的 4 位 LED 顯示器接口電路,采用共陽 LED,相應(yīng)的亮段必須送 0,相應(yīng)的暗段必須送 1。 在輸入輸出控制電路中,用單片機(jī)的 P2.0 接黃燈用于表

24、示系統(tǒng)出現(xiàn)故障,P2.1 接綠燈表示正常工作,P2.2 接紅燈進(jìn)行光報(bào)警,P2.3 接蜂鳴器進(jìn)行聲報(bào)警。 它們都是一個(gè)引腳直接接單片機(jī),另一個(gè)腳直接接高電平,當(dāng)出現(xiàn)相應(yīng)狀態(tài)時(shí),單片機(jī)只需向響應(yīng)的端口引腳置低電平,即可觸發(fā)相應(yīng)的器件發(fā)出報(bào)警或警告信息。西南科技大學(xué)本科生畢業(yè)論文9第 4 章 系統(tǒng)軟件的設(shè)計(jì)與實(shí)現(xiàn)4.1 軟件設(shè)計(jì)思想 本設(shè)計(jì)采用單片機(jī) C 語言編程,在 uVision2 環(huán)境下編寫、編譯、調(diào)試程序。在硬件電路的基礎(chǔ)上,采用 C 語言設(shè)計(jì)實(shí)現(xiàn)防火防盜報(bào)警系統(tǒng)的軟件部分。用戶端自動(dòng)報(bào)警器的軟件部分采用模塊化設(shè)計(jì),分為主控模塊、溫度模塊、顯示模塊和鍵盤模塊等。各個(gè)模塊的關(guān)系如圖 4-1

25、所示: 主控模塊溫度模塊鍵盤模塊顯示模塊密碼模塊X25045 模塊 圖圖 4-1 模塊關(guān)系圖模塊關(guān)系圖 因?yàn)榉辣I探測(cè)器中的熱釋電紅外傳感器和微波探測(cè)器,以及煙霧探測(cè)器可以用兩個(gè)外部中斷實(shí)現(xiàn),所以險(xiǎn)情探測(cè)部分只需單獨(dú)設(shè)計(jì)溫度模塊。各個(gè)模塊實(shí)現(xiàn)的功能及關(guān)系如下:主控模塊:起主要控制作用,控制各模塊的中斷申請(qǐng)(如接到警報(bào)后,自動(dòng)報(bào)警器立即進(jìn)行確認(rèn),50 秒確認(rèn)無誤后,進(jìn)行現(xiàn)場(chǎng)聲、光報(bào)警) ,判斷各種報(bào)警條件是否滿足(如果出現(xiàn)誤報(bào)警,50 秒內(nèi)用戶可以通過鍵盤輸入密碼解除報(bào)警)并發(fā)出相應(yīng)指令控制相關(guān)器件。顯示模塊:密碼鍵盤顯示、控制 LED 顯示及三色警燈,三色警燈分別指示光報(bào)警、正常工作以及系統(tǒng)出現(xiàn)

26、故障的狀態(tài),由主控模塊發(fā)出指令進(jìn)行控制。西南科技大學(xué)本科生畢業(yè)論文10密碼模塊:用戶不小心輸入錯(cuò)誤時(shí),在規(guī)定時(shí)間內(nèi)更正密碼即可解除報(bào)警,有效的預(yù)防了誤報(bào),平時(shí)可以修改密碼。密碼模塊要通過鍵盤模塊與主控模塊進(jìn)行通訊。鍵盤模塊:單片機(jī)與外界溝通聯(lián)系的橋梁,輸入密碼以及各種特殊功能都需要通過鍵盤模塊輸入。溫度模塊:探測(cè)環(huán)境溫度,當(dāng)溫度超出設(shè)定的警戒值時(shí),向主控模塊發(fā)出警報(bào)。主控模塊做出響應(yīng)后,下達(dá)聲光報(bào)警的指令。X25045 模塊:把看門狗定時(shí)器、VCC 監(jiān)控電路和 EEPROM 三種常用功能組合在一起,存儲(chǔ)了報(bào)警信息和用戶的密碼信息。具有監(jiān)測(cè)總線和監(jiān)控電路的功能。整個(gè)系統(tǒng)采用傳感器電路檢測(cè)人體的入

27、侵和火災(zāi)的發(fā)生。一旦發(fā)現(xiàn)情況,傳感器檢測(cè)電路發(fā)出信號(hào),向單片機(jī)申請(qǐng)中斷。單片機(jī)響應(yīng)中斷后,根據(jù)報(bào)警類型的不同,發(fā)送不同的報(bào)警信息。4.2 系統(tǒng)軟件實(shí)現(xiàn)本系統(tǒng)的軟件實(shí)現(xiàn)包括主控模塊、密碼模塊、鍵盤模塊和溫度模塊及外部中斷等,下面分別對(duì)它們進(jìn)行介紹 。4.2.1 主控模塊主控模塊是本設(shè)計(jì)中的一個(gè)重要模塊,它控制各模塊的中斷申請(qǐng),判斷是否響應(yīng)該中斷。主控模塊流程圖如圖 4-2 所示。西南科技大學(xué)本科生畢業(yè)論文11 NYY開 始延遲 100s探頭掉線檢測(cè)判斷險(xiǎn)情種類聲光報(bào)警是否誤報(bào)?報(bào) 警有無險(xiǎn)情?N存儲(chǔ)報(bào)警信息圖圖 4-2 主控模塊流程圖主控模塊流程圖開始后,先要延遲 100s,等待系統(tǒng)上電復(fù)位,然

28、后再進(jìn)行探頭掉線檢測(cè)。一切正常后,調(diào)用險(xiǎn)情檢測(cè)函數(shù),判斷有無險(xiǎn)情,還要判斷是哪種險(xiǎn)情類型,判斷險(xiǎn)情類型是為了以后擴(kuò)展自動(dòng)電話報(bào)警的功能而設(shè)置的,因此需要對(duì)報(bào)警信息進(jìn)行儲(chǔ)存。報(bào)警信息通過一個(gè)寫入函數(shù)把信息保存到 X25045 中的EEPROM 中,需要顯示的時(shí)候通過一個(gè)讀出函數(shù)從 X25045 中的 EEPROM 中讀出。本設(shè)計(jì)中由于硬件設(shè)計(jì)時(shí)沒有設(shè)計(jì)自動(dòng)電話報(bào)警的功能,但為了以后的擴(kuò)西南科技大學(xué)本科生畢業(yè)論文12展和程序的可移植性,在軟件的設(shè)計(jì)中設(shè)計(jì)了判斷險(xiǎn)情種類的功能,這種功能在險(xiǎn)情檢測(cè)函數(shù)中實(shí)現(xiàn)。通過險(xiǎn)情檢測(cè)函數(shù)返回不同的返回值來實(shí)現(xiàn)判斷險(xiǎn)情種類。在判斷險(xiǎn)情種類后,調(diào)用聲光報(bào)警函數(shù)進(jìn)行聲光

29、報(bào)警。為了減少誤報(bào)的情況,設(shè)計(jì)了一個(gè)判斷是否誤報(bào)的函數(shù),用戶可以通過輸入密碼來解除報(bào)警。在主控模塊中可以調(diào)用這個(gè)判斷是否誤報(bào)警的函數(shù)進(jìn)行判斷。判斷是否誤報(bào)警的函數(shù)流程圖如圖 4-3 所示:密碼正確?開 始N=0解碼輸入N=N+1N3到 50 秒? 返 回NY解除報(bào)警YNYN 圖圖 4-3 判斷是否誤報(bào)警的函數(shù)流程圖判斷是否誤報(bào)警的函數(shù)流程圖在判斷是否誤報(bào)警的函數(shù)中,用單片機(jī)內(nèi)部定時(shí)器設(shè)定了 50 秒鐘的時(shí)間,用戶可以在此時(shí)間內(nèi)輸入密碼解除報(bào)警。而且只有 3 次輸入密碼解除報(bào)警的機(jī)會(huì),如果在這 3 次輸入中密碼都不正確,則現(xiàn)場(chǎng)聲光報(bào)警。如果密碼正確則紅燈熄滅,同時(shí)蜂鳴器響聲停止,報(bào)警解除,綠燈亮

30、,系統(tǒng)回到正常的工作狀態(tài)。西南科技大學(xué)本科生畢業(yè)論文134.2.2 密碼模塊密碼由用戶端自動(dòng)報(bào)警器設(shè)定,并可隨時(shí)更改,通過鍵盤可輸入用戶新密碼。用戶不小心輸入錯(cuò)誤時(shí),在規(guī)定時(shí)間內(nèi)更正密碼即可解除報(bào)警,有效的預(yù)防了誤報(bào)。在修改密碼的函數(shù)中,首先要掃描鍵盤,判斷用戶是否要修改密碼,如果檢測(cè)到用戶按的是功能鍵 C,則向單片機(jī)發(fā)送信號(hào),系統(tǒng)便知道用戶要求更改密碼。再一次調(diào)用鍵盤掃描程序,系統(tǒng)開始接受輸入的數(shù)據(jù)。在修改前系統(tǒng)要求用戶輸入原來的密碼進(jìn)行確認(rèn)其是否有修改密碼的權(quán)限,如果輸入的密碼正確則可以修改密碼,否則不可以修改密碼,密碼錯(cuò)誤通過紅燈亮 5 秒進(jìn)行提示。這樣的設(shè)計(jì)是為了使系統(tǒng)更安全、更完善。

31、在輸入第一次新密碼后,需要再次輸入新密碼進(jìn)行確認(rèn)。如果兩次輸入密碼相同則密碼修改成功。如果第一次和第二次輸入的不相同則此次密碼修改不成功,通過紅燈亮 5 秒進(jìn)行提示。密碼修改成功后通過調(diào)用一個(gè)寫入函數(shù)把密碼保存到 X25045 的 EEPROM 中,以防止掉電后密碼丟失。密碼模塊的流程圖如圖 4-4 所示:西南科技大學(xué)本科生畢業(yè)論文14 開 始鍵盤掃描按下 C 鍵?密碼正確?輸入舊密碼輸入新密碼再次輸入新密碼兩次相同?密碼修改成功結(jié) 束NYNYNY密碼存到 X25045 圖圖 4-4 密碼模塊流程圖密碼模塊流程圖4.2.3 顯示模塊顯示模塊主要是用來顯示室內(nèi)溫度,方便用戶隨時(shí)知道室內(nèi)的溫度情況

32、。硬件采用的是串行口控制的 LED 顯示器接口電路,利用串行口加 4 片外圍芯片 74LS164 分別控制 4 個(gè) LED,所以溫度顯示只能顯示 4 位。由于考慮到火災(zāi)時(shí)的溫度不會(huì)在零度以下,所以在編顯示函數(shù)時(shí)就不用考慮顯示零度以下的西南科技大學(xué)本科生畢業(yè)論文15溫度,只顯示零度以上的溫度。4.2.4 鍵盤模塊鍵盤輸入信息的主要過程包括三個(gè)步驟。首先 CPU 判斷是否有鍵按下,然后確定按下的是哪一個(gè)鍵,最后把此鍵代表的信息翻譯成計(jì)算機(jī)所能識(shí)別的代碼。單片機(jī)應(yīng)用系統(tǒng)中通常采用的是非編碼鍵盤,本設(shè)計(jì)采用的是非編碼中的行列式鍵盤。鍵盤采用整個(gè) P0 口來做一個(gè) 4*4 矩陣鍵盤,P0.0P0.3 口

33、作為行線,通過上拉電阻接+5V,被箝位在高電平狀態(tài),P0.4P0.7 口為列線,如圖 4-5 鍵盤電路所示。圖圖 4-5 鍵盤電路鍵盤電路程序掃描法是一種常用的鍵識(shí)別方法,本設(shè)計(jì)中的鍵盤程序就采用這種方法。掃描程序查詢的內(nèi)容如下:1、查詢是否有鍵按下。首先單片機(jī)向行掃描口 P0.0P0.3 輸出全為 0 的掃描碼 F0H,然后從列檢測(cè)口 P0.4P0.7 輸入列檢測(cè)信號(hào),只要有一列信號(hào)不為 1,即 P0 口不為 F0H,則表示有鍵按下。接著要查出按下鍵所在的行、列位置。2、查詢按下鍵所在的行、列位置。單片機(jī)將得到的信號(hào)取反,P0.4P0.7口中為 1 的位便是鍵所在的列。接下來要確定鍵所在的行

34、,需要進(jìn)行逐行掃描。單片機(jī)首先使 P0.0 口接地,P0.1P0.7 口為 1,即向 P0 口發(fā)送掃描碼 FEH,接著輸入列檢測(cè)信號(hào),若為全 1,則表示不在第一行。然后使 P0.1 接地,其余為 1,再讀入列信號(hào)。這樣逐行發(fā) 0 掃描碼,直到找到按下鍵所在的行,將該行掃描碼取反保留。若各行都掃描以后仍沒有找到,則放棄掃描,認(rèn)為是鍵的西南科技大學(xué)本科生畢業(yè)論文16誤動(dòng)作。3、對(duì)得到的行號(hào)和列號(hào)譯碼,得到鍵值。4、鍵的抖動(dòng)處理。當(dāng)用手按下一個(gè)鍵時(shí),往往會(huì)出現(xiàn)所按鍵在閉合位置和斷開位置之間跳幾下才到閉合狀態(tài)的情況,釋放一個(gè)鍵時(shí)也會(huì)出現(xiàn)類似情況。抖動(dòng)的持續(xù)時(shí)間不一,通常不會(huì)大于 10 毫秒。若抖動(dòng)的問

35、題不解決,就會(huì)引起對(duì)閉合鍵的多次讀入。為解決這種鍵抖動(dòng)的情況,當(dāng)發(fā)現(xiàn)有鍵按下后,并不立即進(jìn)行逐行掃描,而是延時(shí) 10 毫秒后再進(jìn)行。由于鍵按下的時(shí)間持續(xù)上百毫秒,所以延時(shí)后再掃描不會(huì)影響讀入。鍵盤掃描程序流程圖如圖 4-6 所示:N開 始發(fā)全 0 行掃描碼字有鍵按下?延時(shí)去抖動(dòng)Y返回 0判斷按鍵位置返回特征字節(jié)碼圖圖 4-6 鍵盤掃描程序流程圖鍵盤掃描程序流程圖4.2.5 外部中斷設(shè)計(jì)險(xiǎn)情探測(cè)的時(shí)候,對(duì)于防盜信號(hào)采用外部中斷 0 實(shí)現(xiàn)。防盜信號(hào)的硬件結(jié)構(gòu)示意圖如圖 4-7 所示:西南科技大學(xué)本科生畢業(yè)論文17熱釋電紅外探測(cè)器微波探測(cè)器74LS00與非門自動(dòng)報(bào)警器AT89C51圖圖 4-7 防盜

36、信號(hào)硬件結(jié)構(gòu)示意框圖防盜信號(hào)硬件結(jié)構(gòu)示意框圖當(dāng)有盜情發(fā)生時(shí),熱釋電紅外傳感器和微波探測(cè)器輸出數(shù)字信號(hào),在經(jīng)過74LS00 與非門后,再經(jīng)單片機(jī)的 P3.2 腳進(jìn)入自動(dòng)報(bào)警器。在外部中斷 0 的函數(shù)中可以直接讀取 P3.2 引腳的值,如果檢測(cè)到的是高電平,則標(biāo)志位置“1”,向主控模塊發(fā)出報(bào)警信號(hào)。光電感煙探測(cè)器和一氧化碳探測(cè)器連接在一個(gè)邏輯與非門上,然后通過 P3.3 引腳接入單片機(jī),如圖 4-8 所示。此信號(hào)通過外部中斷 1 來檢測(cè),當(dāng)從 P3.3 引腳檢測(cè)到高電平時(shí),標(biāo)志位置“1”,并向主控模塊報(bào)警。 P3.4AT89C51INT1溫度探測(cè)器感煙探測(cè)器CO 探測(cè)器74LS00與非門圖圖 4-

37、8 火災(zāi)探測(cè)器連接示意圖火災(zāi)探測(cè)器連接示意圖核心代碼如下:void infrared_int0() interrupt 0 using 1flag1=P32;if(flag1) flag_infrared=1;else flag_infrared=0;西南科技大學(xué)本科生畢業(yè)論文18void smog_int1() interrupt 2 using 2flag2=P33;if(flag2) flag_smog=1;else flag_smog=0;4.2.6 溫度模塊 溫度探測(cè)信號(hào)通過 P3.4 進(jìn)入 AT89C51 型單片機(jī)如圖 4-8 所示。其獲取信號(hào)傳感器采用的是 DALLAS 公司生產(chǎn)

38、的一種“單總線”溫度傳感器 DS18B20。溫度函數(shù)要按 DS18B20 的原理和指令進(jìn)行編寫。DS18B20 采用獨(dú)特的單線接口方式,僅需要一個(gè)端口引腳來發(fā)送或接受信息。它由 64 位光刻 ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器 TH 和 TL、配置寄存器四部分組成。64 位光刻 ROM 是 DS18B20 的地址序列碼,用于實(shí)現(xiàn)一個(gè)總線上掛接多個(gè)DS18B20。在本設(shè)計(jì)中只需要一個(gè),可以不考慮 64 位光刻 ROM 的功能。根據(jù) DS18B20 的通信協(xié)議,主機(jī)控制 DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對(duì) DS18B20 進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM

39、指令,最后發(fā)送 RAM 指令,這樣才能對(duì) DS18B20 進(jìn)行預(yù)定操作。復(fù)位要求 CPU 將數(shù)據(jù)線下拉 500 微妙,然后釋放,DS18B20 收到信號(hào)后等待1660 微秒左右,然后發(fā)出 60240 微秒的存在低脈沖,主 CPU 接到此信號(hào)表示復(fù)位成功。ROM 操作指令:DS18B20 依靠一個(gè)單線端口通訊,必須先建立 ROM 操作協(xié)議,才能進(jìn)行存儲(chǔ)器和控制操作。因此,主機(jī)必須首先提供下面 5 個(gè) ROM操作命令之一。1、讀出 ROM,代碼為 33H,用于讀出 DS18B20 的序列號(hào),即 64 位激ROM 代碼。2、匹配 ROM,代碼為 55H,用于辨別(或選中)某一特定的 DS18B20進(jìn)

40、行操作。3、搜索 ROM,代碼為 F0H,用于確定總線上的節(jié)點(diǎn)數(shù)以及所有節(jié)點(diǎn)的序列號(hào)。4、跳過 ROM,代碼為 CCH,命令發(fā)出后系統(tǒng)將對(duì)所有 DS18B20 進(jìn)行操西南科技大學(xué)本科生畢業(yè)論文19作,通常用于啟動(dòng)所有 DS18B20 轉(zhuǎn)換之前,或系統(tǒng)中僅有一個(gè) DS18B20 時(shí)。5、報(bào)警搜索,代碼為 ECH,主要用于鑒別和定位系統(tǒng)中超出程序設(shè)定的報(bào)警溫度界限的節(jié)點(diǎn)。這些命令對(duì)每個(gè)器件的激光 ROM 部分進(jìn)行操作,在單線總線上掛有多個(gè)器件時(shí),可以區(qū)分出單個(gè)器件,在本設(shè)計(jì)中只用到一個(gè),所以可以不考慮讀序列號(hào)。存儲(chǔ)器操作指令:1、溫度轉(zhuǎn)換,代碼為 44H,用于啟動(dòng) DS18B20 進(jìn)行溫度測(cè)量,溫

41、度轉(zhuǎn)換命令被執(zhí)行后 DS18B20 保持等待狀態(tài)。如果主機(jī)在這條命令之后跟著發(fā)出讀時(shí)間隙,而 DS18B20 又忙于溫度轉(zhuǎn)換的話,DS18B20 將在總線上輸出“0”,若溫度轉(zhuǎn)換完成,則輸出“1”。如果使用寄生電源,主機(jī)必須在發(fā)出這條命令后立即啟動(dòng)強(qiáng)上拉,并保持 750 毫秒,在這段時(shí)間內(nèi)單總線上不允許進(jìn)行任何其他操作。2、讀暫存器,代碼為 BEH,用于讀取暫存器中的內(nèi)容,從字節(jié) 0 開始最多可以讀取 9 個(gè)字節(jié),如果不想讀完所有字節(jié),主機(jī)可以在任何時(shí)候發(fā)出復(fù)位命令來中止讀取。3、寫暫存器,代碼為 4EH,用于將數(shù)據(jù)寫入到 DS18B20 暫存器的地址 2和地址 3(TH 和 TL 字節(jié)) 。

42、可以在任何時(shí)刻發(fā)出復(fù)位命令來中止寫入。4、復(fù)制暫存器,代碼為 48H,將暫存器的內(nèi)容復(fù)制到 DS18B20 的非易性E RAM 中。即把溫度報(bào)警觸發(fā)字節(jié)存入非易失性存儲(chǔ)器里。如果主機(jī)在這條2命令之后跟著發(fā)出讀時(shí)間隙,而 DS18B20 又在忙于把暫存器拷貝到 E RAM2存儲(chǔ)器,E RAM 就會(huì)輸出個(gè)“0”,如果拷貝完的話,DS18B20 則輸出“1”。如2果使用寄生電源,主機(jī)必須在這條命令發(fā)出后立即啟動(dòng)強(qiáng)上拉并最少保持 10毫秒,在這段時(shí)間內(nèi)單總線上不允許進(jìn)行任何其他操作。5、重讀 E RAM,代碼為 B8H,用于將存儲(chǔ)在非易性 E RAM 中的內(nèi)容22重新讀入到暫存器(溫度觸發(fā)器)中。若在

43、這條命令發(fā)出之后發(fā)出讀時(shí)間隙,器件會(huì)輸出溫度轉(zhuǎn)換忙的標(biāo)志。6、讀電源,代碼為 B4H,用于將 DS18B20 的供電方式信號(hào)發(fā)送到主機(jī)。若在這條命令發(fā)出之后發(fā)出讀時(shí)間隙,DS18B20 將返回它的供電模式。DS18B20 的數(shù)據(jù)讀寫是通過時(shí)間隙處理位和命令字來完成信息交換的。西南科技大學(xué)本科生畢業(yè)論文20程序?qū)崿F(xiàn):在編寫函數(shù)時(shí),由于 DS18B20 微處理器間采用串行數(shù)據(jù)傳輸,必須嚴(yán)格的保證讀寫時(shí)序,否則將無法讀取測(cè)溫結(jié)果。如圖 4-8 所示溫度傳感器接 P3.4引腳。 在編函數(shù)時(shí)首先初始化 DS18B20,給單總線一個(gè)高電平,稍做延時(shí),再給總線低電平,以激活傳感器。然后保證延時(shí)在 400us

44、-960us 的范圍內(nèi),再次給總線高電平,等待 15-60us,如果總線為低電平,則表明傳感器初始化成功。低電平會(huì)持續(xù) 60-240us,最后等待傳感器釋放總線。 向 DS18B20 發(fā)出各種指令都需要通過讀一字節(jié)數(shù)據(jù)或?qū)懸蛔止?jié)數(shù)據(jù)函數(shù)來實(shí)現(xiàn)。這兩個(gè)函數(shù)的要按照 DS18B20 的時(shí)間隙處理位和命令字的要求來編寫。溫度函數(shù)流程圖如圖 4-9 所示:西南科技大學(xué)本科生畢業(yè)論文21初始化 DS18B20開 始跳過讀序號(hào)列號(hào)操作啟動(dòng)溫度轉(zhuǎn)換跳過讀序號(hào)列號(hào)的操作讀取溫度寄存器templ、temph 分別讀低、高 8 位溫度數(shù)據(jù)將符號(hào)位移到高 8位正數(shù)處理,存于 temp 數(shù)組負(fù)數(shù)處理,存與 temp

45、數(shù)組返回 temp初始化 DS18B20是否正數(shù)?YN 圖圖 4-9 溫度函數(shù)流程圖溫度函數(shù)流程圖4.2.7 X25045 模塊X25045 是美國公司 XICOR 低功耗 CMOS 的產(chǎn)品,它把看門狗定時(shí)器、西南科技大學(xué)本科生畢業(yè)論文22VCC 監(jiān)控電路和 EEPROM 三種常用功能組合在一起。本系統(tǒng)中 X25045 存儲(chǔ)了報(bào)警信息和用戶的密碼信息。VCC 監(jiān)控功能是指只要 VCC 電平降至低于最小轉(zhuǎn)換電壓或者看門狗定時(shí)器達(dá)到其編程的超時(shí)極限值,RESET 輸出高電平進(jìn)行復(fù)位。表表 4-1 X25045 指令及其含義指令及其含義指令名指令格式操作WREN00000110設(shè)置寫使能鎖存器(允許

46、寫操作)WRDI00000100復(fù)位寫使能鎖存器(禁止寫操作)RDSR00000101讀狀態(tài)寄存器WRSR00000001寫狀態(tài)寄存器READ0000A8011把開始于所選地址的存儲(chǔ)器中的數(shù)據(jù)讀出WRITE0000A8010把數(shù)據(jù)寫入開始所選地址的存儲(chǔ)器本系統(tǒng)中對(duì) X25045 的讀數(shù)據(jù)、寫數(shù)據(jù)、置位寫使能的編程過程簡述如下(X25045 的指令如表 4-1 所示):1、讀數(shù)據(jù)的操作:把/CS(P2.6 口)拉低以選擇芯片:發(fā)送 8 位的讀(READ)指令;送 8 位的字節(jié)地址;在讀的時(shí)候使 SCK(P2.7 口)處在下降沿,所選定地址的存儲(chǔ)器中的數(shù)據(jù)將移到 SO(P2.5 口)線上。繼續(xù)提供

47、時(shí)鐘脈沖可連續(xù)讀出接下的地址空間中的數(shù)據(jù)。每移出一個(gè)字節(jié)數(shù)據(jù)之后,字節(jié)地址自動(dòng)增加到下一個(gè)較高地址。達(dá)到最高地址($1FFH)時(shí),地址計(jì)數(shù)器翻轉(zhuǎn)至$00H,無限循環(huán)下去。把/CS 置為高電平,可以中止操作。2、置位寫使能鎖存器操作:/CS 先被拉到低電平;由時(shí)鐘同步送入寫使能指令;將/CS 變?yōu)楦唠娖剑駝t寫操作忽略。3、寫數(shù)據(jù)到操作:拉低/CS 并保持在低電平;發(fā)送寫指令;寫數(shù)據(jù)。在寫數(shù)據(jù)的時(shí)候保證 SCK 處在上升沿,要寫的數(shù)據(jù)通過 SI(P2.4 口)線進(jìn)入X25045??梢赃B續(xù)寫多達(dá) 4 個(gè)字節(jié)的數(shù)據(jù),但這 4 個(gè)字節(jié)必須駐留在同一頁上。否則計(jì)數(shù)器將翻轉(zhuǎn)到頁的首地址并重新寫可能己有數(shù)據(jù)

48、寫入的任何單元??撮T狗定時(shí)器的預(yù)置時(shí)間是通過 X25045 的狀態(tài)寄存器的相應(yīng)位來設(shè)定的。如表 4-2 所示,X25045 狀態(tài)寄存器共有 6 位有含義,其中 WD1、WD0 和看門狗電路有關(guān),其余位和 EEPROM 的工作設(shè)置有關(guān)。表表 4-2 X25045 狀態(tài)寄存狀態(tài)寄存D7D6D5D4D3D2D1D0XXWD1WD0BL1BL0WELWIP西南科技大學(xué)本科生畢業(yè)論文23WD10,WD0=0,看門狗預(yù)置時(shí)間為 1.4s。WD10,WD0=1,看門狗預(yù)置時(shí)間為 0.6s。WD11,WD0=0,看門狗預(yù)置時(shí)間為 0.2s。WD11,WD0=1,禁止看門狗工作。編程時(shí),本系統(tǒng)在主控模塊中加一條

49、喂狗指令,使看門狗的定時(shí)時(shí)間永遠(yuǎn)達(dá)不到預(yù)置時(shí)間,系統(tǒng)就不會(huì)復(fù)位而正常工作。當(dāng)系統(tǒng)跑飛,看門狗定時(shí)時(shí)間很快增長到預(yù)置時(shí)間,迫使系統(tǒng)復(fù)位??撮T狗的程序流程圖如 4-10 所示:開 始發(fā)寫讀使能命令發(fā)送一字節(jié)數(shù)據(jù)發(fā)寫狀態(tài)字命令發(fā)送一字節(jié)數(shù)據(jù)發(fā)送定時(shí)命令發(fā)送一字節(jié)數(shù)據(jù)結(jié) 束圖圖 4-10 看門狗程序流程圖看門狗程序流程圖西南科技大學(xué)本科生畢業(yè)論文24第 5 章 系統(tǒng)的調(diào)試5.1 調(diào)試軟件 uVision2 介紹uVision2 是 KEIL 公司推出的一種全新的集成開發(fā)環(huán)境,它是一種 32 位標(biāo)準(zhǔn)的 Windows 應(yīng)用程序,支持長文件名操作,有一個(gè)功能強(qiáng)大的編輯器、項(xiàng)目管理器和制作工具。uVisio

50、n2 支持 8051 的所有 KEIL 工具,包括 C 編譯器、宏匯編器、鏈接器/定位器和目標(biāo)文件至 HEX 格式的轉(zhuǎn)換器。5.2 各功能模塊調(diào)試 各個(gè)功能模塊編好后,為了能更容易找出錯(cuò)誤,本系統(tǒng)的調(diào)試采用先調(diào)試各個(gè)功能模塊,在語法、邏輯上能實(shí)現(xiàn)其相應(yīng)的功能后,再對(duì)整個(gè)系統(tǒng)進(jìn)行調(diào)試。5.2.1 溫度模塊調(diào)試先打開 uVision2 軟件建立工程,接下來要給項(xiàng)目添加源程序文件。鼠標(biāo)右擊“項(xiàng)目窗口/Files”標(biāo)簽頁中的“Source Group 1”文件組,在彈出的快捷菜單中左鍵單擊“Add Files to GroupSource Group 1”選項(xiàng),將已經(jīng)編好溫度模塊程序添加到新創(chuàng)建的項(xiàng)目

51、中去。然后配置 Cx51 編譯器、Ax51 宏匯編器、BL51/Lx51 連接定位器以及 Debug 調(diào)試器的功能。一般采用其默認(rèn)值,設(shè)定目標(biāo)硬件系統(tǒng)的時(shí)鐘頻率 Xtal 為 12MHz,輸出文件名默認(rèn)與項(xiàng)目文件同名,存放在當(dāng)前路徑。在“Output”標(biāo)簽頁選中方形復(fù)選框“Create HEX File”使當(dāng)前項(xiàng)目編譯連接完成之后生成一個(gè)用于 EPROM 編程的 HEX 文件。在“Debug”標(biāo)簽頁中設(shè)定采用軟件模擬仿真調(diào)試。在調(diào)試中要注意,每一次在讀寫之前都要對(duì)DS18B20 進(jìn)行復(fù)位,否則即使語法沒有問題也不能實(shí)現(xiàn)溫度模塊的功能。由于溫度函數(shù)的返回的是溫度數(shù)據(jù),不是邏輯電平所以在軟件模擬仿

52、真調(diào)試,排除一般性錯(cuò)誤后,可以被其它功能函數(shù)調(diào)用。溫度模塊要通過目標(biāo)硬件仿真調(diào)試,經(jīng)目標(biāo)硬件仿真后,才能實(shí)現(xiàn)讀取溫度的功能。5.2.2 鍵盤掃描模塊調(diào)試 把源程序添加到工程中,其他步驟和溫度模塊調(diào)試一樣。但由于鍵盤掃描模塊中數(shù)據(jù)的處理比較多,所以不應(yīng)采用全速執(zhí)行程序的方法,而是采用單步西南科技大學(xué)本科生畢業(yè)論文25執(zhí)行的方法。逐行單步執(zhí)行,對(duì)于相對(duì)比較復(fù)雜的鍵盤程序,比較容易找出錯(cuò)誤且能看到程序具體的執(zhí)行過程。在鍵盤程序的調(diào)試中語法錯(cuò)誤出現(xiàn)的頻率比較多。如使用 switch/case 語句時(shí),忽略了 case 后面的冒號(hào),或是忘記定義端口。最容易犯的錯(cuò)誤是在用多個(gè)表達(dá)式作為判斷條件時(shí),寫括號(hào)的

53、時(shí)候忘了另外一半括弧。在編寫程序的時(shí)候多注意這方面的細(xì)節(jié),就可以避免在調(diào)試程序的時(shí)候花很多時(shí)間去修改語法錯(cuò)誤。在修改語法錯(cuò)誤后,再次調(diào)試,結(jié)果顯示語法正確,然后就可以編譯連接生成 HEX 文件。在軟件模擬仿真證明鍵盤的功能實(shí)現(xiàn)以后,鍵盤模塊的調(diào)試基本完成。5.2.3 外部中斷調(diào)試 在外部中斷的調(diào)試中,除了注意標(biāo)點(diǎn)符號(hào)和中斷初始化外,又忽略了另一個(gè)問題。提示錯(cuò)誤的窗口中顯示 P3 口沒有定義,認(rèn)真觀察之后才發(fā)現(xiàn),程序中用來表示端口的字母是小寫,而在單片機(jī)中端口的字母一般都用大寫。大小寫在單片機(jī)的編程中有區(qū)別,以后尤其要注意這個(gè)問題。把端口字母改為大寫后,編譯就能通過了。外部中斷在軟件上調(diào)試通過后

54、,燒到單片機(jī)上一般都沒有什么問題。5.2.4 主控模塊調(diào)試 在主控模塊調(diào)試中,先分別調(diào)試主控模塊調(diào)用到的函數(shù),特別是險(xiǎn)情判斷函數(shù),看其返回值是否與預(yù)先設(shè)想的相同。在判斷險(xiǎn)情種類的函數(shù)調(diào)試中,返回的不同字符對(duì)應(yīng)不同險(xiǎn)情種類。各個(gè)函數(shù)分別調(diào)好后,就可以調(diào)主控模塊了。在調(diào)試中有一個(gè)問題,在軟件指出錯(cuò)誤代碼的地方,沒有找到出錯(cuò)的原因,那一行代碼是正確的。再往前認(rèn)真地查找,才發(fā)現(xiàn)程序開始的時(shí)候定義“#define red_led P22”有問題,改成“sbit red_led=P22”。改正錯(cuò)誤后,編譯就能通過了。在軟件上編譯通過后生成 HEX 文件,用 A51 經(jīng)濟(jì)型編譯器將 HEX 文件燒入單片機(jī),

55、進(jìn)行連機(jī)調(diào)試。經(jīng)測(cè)試本系統(tǒng)能實(shí)現(xiàn)基本的報(bào)警功能。西南科技大學(xué)本科生畢業(yè)論文26結(jié) 論通過對(duì)各個(gè)模塊以及整個(gè)系統(tǒng)的調(diào)試,基本達(dá)到了預(yù)期的基本要求。得到的結(jié)論如下:醫(yī)院防盜防火報(bào)警軟件系統(tǒng)的總體方案設(shè)計(jì)基本正確、可行。溫度模塊可以探測(cè)環(huán)境溫度,返回溫度值給主程序,使主程序可以做出是否有火災(zāi)的判斷并報(bào)警。修改密碼模塊可達(dá)到用戶隨時(shí)可以更改密碼的功能。而鍵盤模塊除了可以輸入密碼解除報(bào)警以外,還可以通過按其它功能鍵實(shí)現(xiàn)特殊功能。主控模塊可以在對(duì)險(xiǎn)情作出判斷的情況下,調(diào)用報(bào)警函數(shù)進(jìn)行現(xiàn)場(chǎng)聲光報(bào)警。剛開始設(shè)計(jì)的時(shí)候,不知道從什么地方下手。經(jīng)老師的指導(dǎo)和請(qǐng)教同學(xué)后,決定從溫度探測(cè)器做起。因硬件采用的是 DS18B20,除了從網(wǎng)上可以找到它的數(shù)據(jù)手冊(cè)外,還從圖書館借了一本有關(guān)其編程的書。通過參考書上例題,了解了它的具體編程過程及注意事項(xiàng)。另外在編程的后期,對(duì)于看門狗的程序也毫無頭緒,在能找到的資料中,只有它的指令說明并沒有關(guān)于它的例子。在經(jīng)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論