熱釋電人體感應(yīng)紅外報(bào)警器設(shè)計(jì)制作_第1頁(yè)
熱釋電人體感應(yīng)紅外報(bào)警器設(shè)計(jì)制作_第2頁(yè)
熱釋電人體感應(yīng)紅外報(bào)警器設(shè)計(jì)制作_第3頁(yè)
熱釋電人體感應(yīng)紅外報(bào)警器設(shè)計(jì)制作_第4頁(yè)
熱釋電人體感應(yīng)紅外報(bào)警器設(shè)計(jì)制作_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1 緒論隨著科技的提高,電子電器飛速發(fā)展,人民生活水平有了很大提高。各種高檔家電和貴重物品為許多家庭所擁有。然而一些不法分子也越來(lái)越多。這點(diǎn)就是因?yàn)椴环ǚ肿涌吹搅舜蟛糠秩朔辣I意識(shí)不夠強(qiáng)所造成的結(jié)果。因此越來(lái)越多的居民家庭對(duì)財(cái)產(chǎn)安全問(wèn)題十分擔(dān)憂(yōu)。報(bào)警系統(tǒng)這時(shí)為人們解決了大部分問(wèn)題。但是市場(chǎng)上的報(bào)警系統(tǒng)大部分是適用于一些大公司的重要機(jī)構(gòu)。其價(jià)格昂貴,使普通家庭難以承受。如果設(shè)計(jì)一種價(jià)格低廉,性能可靠、智能化的報(bào)警系統(tǒng),必將在私人財(cái)產(chǎn)的防盜領(lǐng)域起到巨大作用。由于紅外線是不可見(jiàn)光,隱蔽性能良好,因此在防盜、警戒等安保裝置中被廣泛應(yīng)用。而本設(shè)計(jì)的電路包括硬件和軟件兩個(gè)部分。硬件部分包括紅外感應(yīng)部分與單片

2、機(jī)控制部分,整個(gè)系統(tǒng)電路可劃分為:電源部分、傳感器模塊部分、單片機(jī)控制電路,而單片機(jī)控制由最小系統(tǒng)和指示燈電路、報(bào)警電路等子模塊組成。主要工作由熱釋電紅外感應(yīng)器完成信息采集、處理、數(shù)據(jù)傳送經(jīng)過(guò)單片機(jī)功能設(shè)定到達(dá)報(bào)警模塊這一過(guò)程。就此設(shè)計(jì)的核心模塊來(lái)說(shuō),單片機(jī)就是設(shè)計(jì)的中心單元。單片機(jī)應(yīng)用系統(tǒng)也是由硬件和軟件組成。硬件包括單片機(jī)、輸入/輸出設(shè)備、以及外圍應(yīng)用電路等組成的系統(tǒng),軟件是主要是工作的程序通過(guò)編寫(xiě)程序來(lái)控制輸入的信號(hào)。2 設(shè)計(jì)任務(wù)分析1.該設(shè)計(jì)包括硬件和軟件設(shè)計(jì)兩個(gè)部分。模塊劃分為數(shù)據(jù)采集、按鍵設(shè)定、報(bào)警等。2.本紅外線防盜報(bào)警系統(tǒng)由熱釋電紅外傳感器、蜂鳴器、單片機(jī)控制電路、LED指示電

3、路及軟件組成。3.系統(tǒng)可實(shí)現(xiàn)功能。當(dāng)人員外出時(shí),可把報(bào)警系統(tǒng)設(shè)置在外出布防狀態(tài),探測(cè)器工作起來(lái),當(dāng)有人闖入時(shí),熱釋電紅外傳感器將探測(cè)到動(dòng)作,設(shè)置在監(jiān)測(cè)點(diǎn)上的紅外探頭將人體輻射的紅外光譜變換成電信號(hào),紅外熱釋電模塊送出TTL 電平至STC89C52單片機(jī),經(jīng)單片機(jī)處理運(yùn)算后驅(qū)動(dòng)執(zhí)行報(bào)警電路使警號(hào)發(fā)聲。3技術(shù)方案的詳細(xì)設(shè)計(jì)3.1本系統(tǒng)的設(shè)計(jì)方案系統(tǒng)概述1.系統(tǒng)設(shè)計(jì)簡(jiǎn)介本系統(tǒng)采用了熱釋電紅外線傳感器,它的制作簡(jiǎn)單、成本低,安裝比較方便,而且防盜性能比較穩(wěn)定、抗干擾能力強(qiáng)、靈敏度高、安全可靠。這種防盜器安裝隱蔽,不易被盜賊發(fā)現(xiàn),便于多用戶(hù)統(tǒng)一管理和用戶(hù)操作。為了探測(cè)移動(dòng)人體,通常使用雙元件型熱釋電紅外

4、線傳感器,在這種傳感器內(nèi)部,兩個(gè)靈敏元件反相連接,當(dāng)人體靜止時(shí)兩元件極化程度相同,互相抵消。但人體移動(dòng)時(shí),兩元件極化程度不同,凈輸出電壓不為0,從而達(dá)到了探測(cè)移動(dòng)人體的目的。該設(shè)計(jì)包括硬件和軟件設(shè)計(jì)兩個(gè)部分。模塊化分為數(shù)據(jù)采集、按鍵控制、報(bào)警等模塊。電路結(jié)構(gòu)可劃分為:熱釋電紅外傳感器、蜂鳴器、單片機(jī)控制電路、LED指示燈組成。3.2硬件電路設(shè)計(jì)本設(shè)計(jì)包括硬件和軟件設(shè)計(jì)兩個(gè)部分。從設(shè)計(jì)的要求來(lái)分析該設(shè)計(jì)須包含如下結(jié)構(gòu):紅外感應(yīng)部分、STC89C52單片機(jī)、報(bào)警系統(tǒng)三大部分。電路總原理圖如圖3-1所示:按鍵控制 圖3-1 總體設(shè)計(jì)框圖處理器采用51系列單片機(jī)STC89C52。整個(gè)系統(tǒng)是在系統(tǒng)軟件控

5、制下工作的。設(shè)置在監(jiān)測(cè)點(diǎn)上的紅外探頭將人體輻射的紅外光譜變換成電信號(hào),送出TTL 電平至STC89C52單片機(jī)。在單片機(jī)內(nèi),經(jīng)軟件查詢(xún)、識(shí)別判決等環(huán)節(jié)實(shí)時(shí)發(fā)出入侵報(bào)警狀態(tài)控制信號(hào)。驅(qū)動(dòng)蜂鳴器及報(bào)警指示燈報(bào)警。3.2.1紅外感應(yīng)部分本系統(tǒng)電壓為4.5v左右,直接接3個(gè)1.5V的直流干電池提供電源,然后用導(dǎo)線連接電源接口模塊。熱釋電紅外傳感器(簡(jiǎn)稱(chēng)PIR是80年代發(fā)展起來(lái)的一種新型高靈敏度探測(cè)元件。它能以非接觸形式檢測(cè)出人體輻射的紅外線能量的變化,并將其轉(zhuǎn)換成電壓信號(hào)輸出。將這個(gè)電壓信號(hào)加以放大,便可驅(qū)動(dòng)各種控制電路,如作電源開(kāi)關(guān)控制、防盜防火報(bào)警、自動(dòng)覽測(cè)等,人體輻射的紅外線中心波長(zhǎng)為910-u

6、m,而探測(cè)元件的波長(zhǎng)靈敏度在0.220-um范圍內(nèi)幾乎穩(wěn)定不變。在傳感器頂端開(kāi)設(shè)了一個(gè)裝有濾光鏡片的窗口,這個(gè)濾光片可通過(guò)光的波長(zhǎng)范圍為710-um,正好適合于人體紅外輻射的探測(cè),而對(duì)其它波長(zhǎng)的紅外線由濾光片予以吸收,這樣便形成了一種專(zhuān)門(mén)用作探測(cè)人體輻射的紅外線傳感器,本傳感器是整個(gè)系統(tǒng)的關(guān)鍵,只有本傳感器才能感應(yīng)到人體紅外線。如圖3-2所示。 圖3-2熱釋感應(yīng)傳感器菲涅耳透鏡片相當(dāng)于熱釋感應(yīng)傳感器的“眼鏡”,它和人的眼睛一樣的作用,配用得當(dāng)與否直接影響到使用的功效,配用不當(dāng)產(chǎn)生錯(cuò)誤的動(dòng)作,致使用戶(hù)或者開(kāi)發(fā)者對(duì)其失去信心。它的作用是有效的將探測(cè)到空間的紅外線集中到傳感器上,菲涅耳透鏡根據(jù)性能要

7、求不同,具有不同的焦距(感應(yīng)距離),從而產(chǎn)生不同的監(jiān)控視場(chǎng),視場(chǎng)越多,控制越嚴(yán)密。如圖3-3所示為菲涅耳透鏡模型圖。 圖3-3 菲涅耳透鏡BISS0001是一款傳感信號(hào)處理集成電路,只要熱釋感應(yīng)器把紅外線接收到信號(hào)傳輸?shù)紹ISS0001里進(jìn)行信號(hào)處理,它本身靜態(tài)電流極小,工作電壓在3V5V之間,當(dāng)工作電壓為5V時(shí)輸出的驅(qū)動(dòng)電流為10MA。配以熱釋電紅外傳感器和少量外圍元器件即可構(gòu)成被動(dòng)式熱釋電紅外傳感器,廣泛用于安防,自控等一些領(lǐng)域,它是有16個(gè)管腳組成的一種集成塊。如圖3-4所示為BISS000集成芯片的內(nèi)部框圖,管腳功能說(shuō)明如表1所示。 圖3-4 BISS0001內(nèi)部框圖引腳名稱(chēng)I/O功能

8、說(shuō)明1AI可重復(fù)觸發(fā)和不可重復(fù)觸發(fā)選擇端。當(dāng)A為“1”時(shí),允許重復(fù)觸發(fā);反之,不可重復(fù)觸發(fā)2VOO控制信號(hào)輸出端。由VS的上跳前沿觸發(fā),使Vo輸出從低電平跳變到高電平時(shí)視為有效觸發(fā)。在輸出延遲時(shí)間Tx之外和無(wú)VS的上跳變時(shí),Vo保持低電平狀態(tài)。3RR1-輸出延遲時(shí)間Tx的調(diào)節(jié)端4RC1-輸出延遲時(shí)間Tx的調(diào)節(jié)端5RC2-觸發(fā)封鎖時(shí)間Ti的調(diào)節(jié)端6RR2-觸發(fā)封鎖時(shí)間Ti的調(diào)節(jié)端7VSS-工作電源負(fù)端,一般接0V8VRFI參考電壓及復(fù)位輸入端。通常接VCC,當(dāng)接“0”時(shí)可使定時(shí)器復(fù)位9VCI觸發(fā)禁止端。當(dāng)VcVR時(shí)允許觸發(fā)(VR0.2VDD10IB-運(yùn)算放大器偏置電流設(shè)置端,經(jīng)RB接VSS端,R

9、B取值為1M左右。11VCC-工作電源正端,范圍為35V122OUTO第二級(jí)運(yùn)算放大器的輸出端132IN-I第二級(jí)運(yùn)算放大器的反相輸入端141IN+I第一級(jí)運(yùn)算放大器的同相輸入端151IN-I第一級(jí)運(yùn)算放大器的反相輸入端161OUTO第一級(jí)運(yùn)算放大器的輸出端表1:管腳說(shuō)明圖由圖可見(jiàn)BISS0001 由運(yùn)算放大器、電壓比較器和狀態(tài)控制器、延遲時(shí)間定時(shí)器、封鎖時(shí)間定時(shí)器即參考電壓等構(gòu)成的數(shù)模混合專(zhuān)用集成電路。可廣泛應(yīng)用于多種傳感器和延時(shí)控制器。首先,根據(jù)實(shí)際需要,利用運(yùn)算放大器OP1組成傳感信號(hào)預(yù)處理電路,將信號(hào)放大。然后耦合給運(yùn)算放大器OP2,再進(jìn)行第二級(jí)放大,同時(shí)將直流電位抬高為VM(0.5V

10、DD后,將輸出信號(hào)V2送到由比較器COP1和COP2組成的雙向鑒幅器,檢出有效觸發(fā)信號(hào)Vs。由于VH0.7VDD、VL0.3VDD,所以,當(dāng)VDD=5V時(shí),可有效抑制±1V的噪聲干擾,提高系統(tǒng)的可靠性。 COP3是一個(gè)條件比較器。當(dāng)輸入電壓VcVR時(shí),COP3輸出為高電平,進(jìn)入延時(shí)周期。 當(dāng)A端接“0”電平時(shí),在Tx時(shí)間內(nèi)任何V2的變化都被忽略,直至Tx時(shí)間結(jié)束,即所謂不可重復(fù)觸發(fā)工作方式。當(dāng)Tx時(shí)間結(jié)束時(shí),Vo下跳回低電平,同時(shí)啟動(dòng)封鎖時(shí)間定時(shí)器而進(jìn)入封鎖周期Ti。在Ti時(shí)間內(nèi),任何V2的變化都不能使Vo跳變?yōu)橛行顟B(tài)(高電平),可有效抑制負(fù)載切換過(guò)程中產(chǎn)生的各種干擾。而可重復(fù)觸發(fā)

11、工作方式下的波形在Vc=“0”、A=“0”期間,信號(hào)Vs不能觸發(fā)Vo為有效狀態(tài)。在Vc=“1”、A=“1”時(shí),Vs可重復(fù)觸發(fā)Vo為有效狀態(tài),并可促使Vo在Tx周期內(nèi)一直保持有效狀態(tài)。在Tx時(shí)間內(nèi),只要Vs發(fā)生上跳變,則Vo將從Vs上跳變時(shí)刻起繼續(xù)延長(zhǎng)一個(gè)Tx周期;若Vs保持為“1”狀態(tài),則Vo一直保持有效狀態(tài);若Vs保持為“0”狀態(tài),則在Tx周期結(jié)束后Vo恢復(fù)為無(wú)效狀態(tài),并且,同樣在封鎖時(shí)間Ti時(shí)間內(nèi),任何Vs的變化都不能觸發(fā)Vo為有效狀態(tài)。圖3-5信號(hào)處理模塊圖3-6實(shí)物圖本電路是將人體輻射的紅外線轉(zhuǎn)變?yōu)殡娦盘?hào)。熱釋紅外感應(yīng)2腳輸入到前置放大器OP1進(jìn)行放大,然后由C4耦合給運(yùn)算放大器OP2

12、進(jìn)行第二級(jí)放大。再經(jīng)過(guò)電壓比較器COP1和COP2構(gòu)成雙向鑒幅器處理后,檢出有效觸發(fā)信號(hào)去啟動(dòng)延時(shí)時(shí)間定時(shí)器輸出信號(hào)在經(jīng)過(guò)R3進(jìn)入單片機(jī)部分進(jìn)行處理。延時(shí)周期可通過(guò)R12來(lái)調(diào)節(jié)輸出,在延時(shí)時(shí)間內(nèi)只要Vs發(fā)生上跳變,Vo就會(huì)從Vs上跳變時(shí)刻起繼續(xù)延長(zhǎng)一個(gè)周期,而電路中的電容為了能夠更好的控制了芯片內(nèi)的定時(shí)器,若Vs一直保持為高電平,這樣就可以通過(guò)P10傳輸?shù)絾纹瑱C(jī)內(nèi)進(jìn)行下一步處理。而根據(jù)不同的距離要求來(lái)調(diào)節(jié)R13,最大可以調(diào)節(jié)到7米左右。圖中BISS0001中1腳用跳線連連接住一個(gè)接高電平后,在延時(shí)時(shí)間段內(nèi)如果有人體在其感應(yīng)范圍活動(dòng),其輸出將一直保持高電平,直到人離開(kāi)后才將高電平變?yōu)榈碗娖?,本?/p>

13、路設(shè)計(jì)就是可觸發(fā)方式。3.3單片機(jī)部分STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口

14、,片內(nèi)晶振及時(shí)鐘電路。另外,STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。這一模塊以單片機(jī)為中心把程序代碼燒進(jìn)去然后外圍接上復(fù)位電路、振蕩電路、鍵盤(pán)控制、LED顯示電路、報(bào)警電路等子模塊。要使單片機(jī)工作起來(lái)最基本的電路構(gòu)成為單片機(jī)最小系統(tǒng)如圖3-7所示。圖3-7信號(hào)處理模塊 單片機(jī)最小系統(tǒng)包括單片機(jī)、復(fù)位電路、時(shí)鐘電路構(gòu)成。STC89C52 單片機(jī)的工作電壓范圍:4V-5.5V,所以通常給單片機(jī)

15、外界5V直流電源。連接方式為單片機(jī)中的40腳VCC接正極5V,而20腳VSS接電源地端。復(fù)位電路就是確定單片機(jī)的工作起始狀態(tài),完成單片機(jī)的啟動(dòng)過(guò)程。單片機(jī)接通電源時(shí)產(chǎn)生復(fù)位信號(hào),完成單片機(jī)啟動(dòng)確定單片機(jī)起始工作狀態(tài)。當(dāng)單片機(jī)系統(tǒng)在運(yùn)行中,受到外界環(huán)境干擾出現(xiàn)程序跑飛的時(shí)候,按下復(fù)位按鈕內(nèi)部的程序自動(dòng)從頭開(kāi)始執(zhí)行。一般有上電自動(dòng)復(fù)位和外部按鍵手動(dòng)復(fù)位,單片機(jī)在時(shí)鐘電路工作以后,在RESET端持續(xù)給出2個(gè)機(jī)器周期的高電平時(shí)就可以完成復(fù)位操作。本設(shè)計(jì)采用的是外部手動(dòng)按鍵復(fù)位電路,需要接上上拉電阻來(lái)提高輸出高電平的值。時(shí)鐘電路好比單片機(jī)的心臟,它控制著單片機(jī)的工作節(jié)奏。時(shí)鐘電路就是振蕩電路,是向單片機(jī)

16、提供一個(gè)正弦波信號(hào)作為基準(zhǔn),決定單片機(jī)的執(zhí)行速度。XTAL1和XTAL2分別為反向放大器的輸入和輸出,該反向放大器可以配置為片內(nèi)振蕩器。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。因?yàn)橐粋€(gè)機(jī)器周期含有6個(gè)狀態(tài)周期,而每個(gè)狀態(tài)周期為2個(gè)振蕩周期,所以一個(gè)機(jī)器周期共有12個(gè)振蕩周期,如果外接石英晶體振蕩器的振蕩頻率為12MHZ,一個(gè)振蕩周期為1/12us。 按鍵控制電路本電路的設(shè)計(jì)就是為了控制電路中布防和緊急狀態(tài)下不同的工作形式,當(dāng)按下布防按鍵后, 30秒后進(jìn)入監(jiān)控狀態(tài),當(dāng)有人靠近時(shí),熱釋紅外感應(yīng)到信號(hào),傳回給單片機(jī),單片機(jī)馬上進(jìn)行報(bào)警。當(dāng)遇到特殊緊急情況時(shí),可按下緊急報(bào)警鍵,蜂鳴器進(jìn)行報(bào)警。如圖

17、3-8所示。圖3-8按鍵部分指示燈和報(bào)警電路在單片機(jī)的I/O 里會(huì)輸出高低電平,在P20、P21和P22分別接上LED指示燈而P23接上蜂鳴器而蜂鳴器外接個(gè)8550的三極管起到開(kāi)關(guān)作用,當(dāng)三極管達(dá)到飽和狀態(tài)下就驅(qū)動(dòng)了蜂鳴器工作了 。圖3-9指示燈和報(bào)警電路3.4軟件的程序?qū)崿F(xiàn) 按上述工作原理和硬件結(jié)構(gòu)分析可知系統(tǒng)主程序工作流程圖如下圖所示:結(jié)束圖3-10主程序工作流程圖3.5 報(bào)警判斷程序來(lái)的脈沖信號(hào)后,表示有人闖入監(jiān)控區(qū),從而經(jīng)過(guò)單片機(jī)內(nèi)部程序處理后,驅(qū)動(dòng)聲光報(bào)警電路開(kāi)始報(bào)警,持續(xù)報(bào)警,然后程序開(kāi)始循環(huán)工作,/*紅外報(bào)警處理*/ void hongwai_dis(if(flag_alarm

18、= 1 /報(bào)警red = red; /紅燈報(bào)警beep = beep; /蜂鳴器報(bào)警 if(flag_bufang_en = 1 /準(zhǔn)備開(kāi)始布防green = green; /綠燈閃 if(flag_bufang = 1 /確認(rèn)布防green = 0; /如果延時(shí)布防成功 綠燈長(zhǎng)亮if(hw = 1 /紅外有輸出flag_alarm = 1; 3.6 程序編寫(xiě)與調(diào)試編譯器軟件簡(jiǎn)介Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深

19、刻。Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面詳細(xì)介紹Keil C51開(kāi)發(fā)系統(tǒng)各部分功能和使用。圖15 C51工具包整體結(jié)構(gòu)圖Keil C51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),如圖3.1所示,其中uVision與Ishell分別是C51 for Windows和for DOS的集成開(kāi)發(fā)環(huán)境(IDE,可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程

20、。開(kāi)發(fā)人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存貯器如EPROM 中。Keil是目前進(jìn)行51單片機(jī)開(kāi)發(fā)最常用的編譯軟件。關(guān)于Keil的使用,有很多的資料介紹,這里只介紹其整個(gè)編譯過(guò)程,在最短時(shí)間內(nèi)開(kāi)始使用Easy 51DP-2開(kāi)發(fā)板。對(duì)于Keil更詳細(xì)的介紹,可

21、以參考一些專(zhuān)門(mén)書(shū)籍資料。在Keil里,每一個(gè)完整的程序,都是以一個(gè)工程的形式建立的。一個(gè)工程里可以有一個(gè)或多個(gè)*.c文件和*.h文件,但只可以有一個(gè)main(函數(shù)。一般的做法是將包含main(函數(shù)的C文件加入到工程中,其他文件以#include頭文件的形式加到這個(gè)C文件里。這樣,在編譯的時(shí)候,其他的文件會(huì)被自動(dòng)的導(dǎo)入到工程里來(lái)。打開(kāi)Keil軟件后,出現(xiàn)(圖16)所示界面。當(dāng)然,如果Keil在上次關(guān)閉時(shí)有打開(kāi)的工程,再一次打開(kāi)時(shí)它會(huì)自動(dòng)加載上一次的工程文件。圖16 Keil軟件主界面首先點(diǎn)擊Project->New Project(Project->Open Project為打開(kāi)一個(gè)

22、已經(jīng)存在的工程),如圖17所示。圖17 Keil軟件打開(kāi)新工程界面點(diǎn)開(kāi)后,在出現(xiàn)的對(duì)話(huà)框中選擇工程存在路徑,單擊“保存”后,出現(xiàn)(如圖18所示)界面。在此界面上選擇電路板上所用的單片機(jī)型號(hào):Atmel STC89C52(或者是AT89S52,視開(kāi)發(fā)板上具體型號(hào)而定),單擊“確定”。圖18 選擇電路板上所用的單片機(jī)型號(hào)設(shè)置完成后,軟件會(huì)提示“是否將8051上電初始化程序添加入工程?”如圖19所示,這個(gè)一般選擇“否”。(關(guān)于STARTUP.A51的相關(guān)內(nèi)容可查閱相應(yīng)資料)圖19 是否將8051上電初始化程序添加入工程這樣,就建立了一個(gè)空的51工程。接下來(lái)的事,就是在這個(gè)工程里面加入自己的程序代碼。

23、點(diǎn)擊,或者File->New,便建立了一個(gè)空的文本框?,F(xiàn)在,就可以開(kāi)始在里面輸入你的代碼了。保存時(shí)注意:如果是用C語(yǔ)言寫(xiě)的程序,則將文本保存成*.c,如果是用匯編寫(xiě)的程序,則將文本存成*.asm。到目前為步,我們已經(jīng)建立了一個(gè)工程,也寫(xiě)了一個(gè)程序代碼。但現(xiàn)在還不能開(kāi)始編譯。因?yàn)檫€沒(méi)有將程序代碼添加到工程里面去。下一步就是將寫(xiě)完的程序添加到工程里面,如圖20所示,在左邊Project Workspace里的Source Group 1上右擊,選擇Add Files to Group Source Group 1。在打開(kāi)的對(duì)話(huà)框中,選擇剛存的文件路徑和對(duì)應(yīng)的擴(kuò)展名。這樣,程序就添加進(jìn)了這個(gè)工

24、程。圖20 添加文件到工程中下一步,就開(kāi)始編譯剛輸入進(jìn)去的代碼。點(diǎn)擊工具欄中的按鈕。接著,Keil會(huì)打出下面的提示:Build target 'Target 1'assembling led.asm.linking.Program Size: data=8.0 xdata=0 code=100"first" - 0 Error(s, 0 Warning(s.其中“"first" - 0 Error(s, 0 Warning(s.”說(shuō)明現(xiàn)在的工程編譯通過(guò),0個(gè)錯(cuò)誤和0個(gè)警告。建立工程的時(shí)候,默認(rèn)是不生成HEX文件的,得在編譯做如下設(shè)置:?jiǎn)螕?/p>

25、,或者在Project Workspace里Target 1上右擊,選擇“Options for Target Target 1”。出現(xiàn)如圖21所示對(duì)話(huà)框,選擇“Output”按圖示,將箭頭所指的多選框勾上,點(diǎn)“確定”。現(xiàn)在再點(diǎn)擊重新編譯,系統(tǒng)提示:“creating hex file from "first".”。便會(huì)在工程所在文件夾里生成HEX文件。圖21 生成HEX文件使用Debug進(jìn)行調(diào)試Keil有很強(qiáng)大的調(diào)試功能,可以顯示C程序的反匯編代碼、可以計(jì)算代碼運(yùn)行的時(shí)間、可以顯示程序中某一變量的值能用好這個(gè)調(diào)試工具對(duì)編寫(xiě)單片機(jī)程序會(huì)有很大的幫助。同樣的,在這里,只對(duì)De

26、bug進(jìn)行簡(jiǎn)單應(yīng)用介紹,更詳細(xì)的使用方法可以參看相關(guān)書(shū)籍資料。圖22 調(diào)試前設(shè)置窗口首先,單擊,彈出如圖22所示對(duì)話(huà)框,在Target頁(yè)面上設(shè)置對(duì)應(yīng)的晶振頻率。其他不用作修改。設(shè)置完成后,單擊,進(jìn)入調(diào)試界面(如圖23所示)。圖23 Keil調(diào)試界面點(diǎn)擊中對(duì)應(yīng)的工具按鈕則可以開(kāi)始調(diào)試。另外,“View”下的三個(gè)工具在調(diào)試中會(huì)經(jīng)常用到如.圖24所示,“Disassembly Window”顯示C文件的反匯編程序;“Watch & Call Stack Window”可以顯示程序中某一變量的值;“Memory Window”可以顯示內(nèi)存中某一地址的值。圖24 三個(gè)常用的調(diào)試工具3.7 硬件調(diào)

27、試及調(diào)試中遇到的問(wèn)題第一步為目測(cè),單片機(jī)應(yīng)用系統(tǒng)電路全部手工焊接在洞洞板上,因此對(duì)每一個(gè)焊點(diǎn)都要進(jìn)行仔細(xì)的檢查。檢查它是否有虛焊、是否有毛剌等。第二步為萬(wàn)用表測(cè)試,先用萬(wàn)用表復(fù)核目測(cè)中認(rèn)為可疑的連線或接點(diǎn),查看它們的通斷狀態(tài)是否與設(shè)計(jì)規(guī)定相符,再檢查各種電源線與地線之間是否有短路現(xiàn)象。第三步為加電檢查。當(dāng)系統(tǒng)加電時(shí),首先檢查所有插座或器件引腳的電源端是否有符合要求的電壓值,接地端電壓值是否接近零,接固定電平的引腳端是否電平正確。第四步是聯(lián)機(jī)檢查。在對(duì)硬件電路調(diào)試過(guò)程中,還遇到了不少問(wèn)題,第一次把所有的元件都焊上去后,都準(zhǔn)備調(diào)試了,才發(fā)現(xiàn)正負(fù)電源的插針離得太近了,不容易接電源,本不該犯的錯(cuò)誤,這

28、些都是由于自己的粗心大意造成的,所以說(shuō),做任何事情都必需經(jīng)過(guò)“三思而后行”,來(lái)不得半點(diǎn)的馬虎,否則浪費(fèi)了時(shí)間和精力總結(jié)評(píng)價(jià)本設(shè)計(jì)研究了一種基于單片機(jī)技術(shù)的熱釋電智能防盜報(bào)警器。該防盜報(bào)警器通過(guò)以STC89C52單片機(jī)為工作處理器核心,外接熱釋電紅傳感器,它是一種新穎的被動(dòng)式紅外探測(cè)器件,能夠以非接觸方式探測(cè)出人體發(fā)出的紅外輻射,并將其轉(zhuǎn)化為相應(yīng)的電信號(hào)輸出,同時(shí)能有效的抑制人體輻射波長(zhǎng)以外的紅外光線與可見(jiàn)光的干擾。平時(shí)傳感器輸出低電平,當(dāng)有人在探測(cè)區(qū)范圍內(nèi)移動(dòng)時(shí)輸出低電平變?yōu)楦唠娖剑烁唠娖捷斎雴纹瑱C(jī),作為單片機(jī)的外部觸發(fā)信號(hào)處理,經(jīng)單片機(jī)內(nèi)部軟件編程處理后,單片機(jī)輸出控制信號(hào),驅(qū)動(dòng)聲光報(bào)警電

29、路開(kāi)始報(bào)警。該報(bào)警器的最大特點(diǎn)就是使用戶(hù)能夠操作簡(jiǎn)單、易懂、靈活;且安裝方便、智能性高、誤報(bào)率低。隨著現(xiàn)代人們安全意識(shí)的增強(qiáng)以及科學(xué)技術(shù)的快速發(fā)展,相信報(bào)警器必將在更廣闊的領(lǐng)域得到更深層次的應(yīng)用。到目前為止我的課程設(shè)計(jì)也即將告一段落了,在這次的課程設(shè)計(jì)中,自己也學(xué)習(xí)到了很多以前沒(méi)有沒(méi)有經(jīng)歷過(guò)的知識(shí),讓我更加清楚了理論知識(shí)和實(shí)踐能力的差別了,了解到自己的短處,培養(yǎng)了我的獨(dú)立思考能力,進(jìn)一步提高了自己在實(shí)際設(shè)計(jì)過(guò)程中研究問(wèn)題、發(fā)現(xiàn)問(wèn)題、解決問(wèn)題的能力,同時(shí),也發(fā)現(xiàn)了自己的不足之處,和一些問(wèn)題的存在,并有待進(jìn)一步學(xué)習(xí)和發(fā)展,讓自己在未來(lái)的工作和學(xué)習(xí)之中更快的適應(yīng)和提高自己。致謝在本次課程設(shè)計(jì)中,我得

30、到了指導(dǎo)老師 老師的熱心指導(dǎo)。幫助解決課程設(shè)計(jì)中遇到的許多問(wèn)題。還不斷向我傳授分析問(wèn)題和解決問(wèn)題的辦法,并指出了正確的努力方向,使我在課程過(guò)程中少走很多彎路。同時(shí),他還提供給我們專(zhuān)門(mén)的各種設(shè)備及場(chǎng)所,使我在調(diào)試過(guò)程中能夠有充足的時(shí)間。在這里非常感謝陳老師的指導(dǎo)和幫助,并致以誠(chéng)摯的謝意!同時(shí),身邊的同學(xué)給了我許多的幫助。在此,我向身邊關(guān)心我的同學(xué)致以誠(chéng)摯的謝意!另外,系里的領(lǐng)導(dǎo)和老師也給了我們必要的指導(dǎo),我也向系和年級(jí)的領(lǐng)導(dǎo)們表示衷心的感謝!最后感謝學(xué)院對(duì)我這幾年的培養(yǎng)。參考文獻(xiàn)1胡萍.串口通信的紅外報(bào)警器的研制J.計(jì)算機(jī)與現(xiàn)代化,2010(10):15-16.2唐德琴.電子溫度測(cè)量?jī)x器技術(shù)發(fā)展

31、戰(zhàn)略研究J.電子科學(xué)技術(shù),2009,27(1):1-83李行善.基于串口組件的體系結(jié)構(gòu)J.電子串口與儀器學(xué)報(bào),2010(08):15-16.4姜道連等.用于AT89C51設(shè)計(jì)紅外報(bào)警器的設(shè)計(jì)與制作J.國(guó)外電子元器件,2010(12):31-34.5馮國(guó)進(jìn)嵌入式Linux驅(qū)動(dòng)程序設(shè)計(jì)從入f-J至U精通D田北京:清華大學(xué)出版社,20086蔡文齋. 專(zhuān)業(yè)級(jí)串口調(diào)試器設(shè)計(jì). 現(xiàn)代電子技術(shù), 2010.7熊如貴.串口通信感應(yīng)裝置J.電子制作,2009(6):23-31.8 時(shí)德鋼等.基于串口通信的紅外報(bào)警器的研究J.計(jì)算機(jī)測(cè)量與控制,2009,10(7):480-482.附件一:總體原理圖設(shè)計(jì)附件二:仿

32、真圖附件三:程序源代碼#include /調(diào)用單片機(jī)頭文件#define uchar unsigned char /無(wú)符號(hào)字符型 宏定義 變量范圍0255#define uint unsigned int /無(wú)符號(hào)整型 宏定義 變量范圍065535#define key_io P1uchar key_can;/ 紅外熱釋電平時(shí)為0 有輸出為1sbit beep = P23; /蜂鳴器定義sbit red = P22; /紅色發(fā)光二極管定義sbit green = P21; /綠色發(fā)光二極管定義sbit yellow = P20; /黃色發(fā)光二極管定義sbit hw = P13; /紅外熱釋傳感

33、器定義bit flag_300ms = 0;/*獨(dú)立按鍵處理函數(shù)*/ void key(static uchar key_new = 0,key_old = 0,key_value = 0;if(key_new = 0 /按鍵松開(kāi)if(key_io & 0x07 = 0x07key_value +;else key_value = 0;if(key_value >= 5 /按鍵松開(kāi)松手檢測(cè)key_value = 0;key_new = 1; /按鍵松開(kāi)后進(jìn)入等待按鍵狀態(tài)else if(key_io & 0x07 != 0x07 /按鍵按下key_value +;else key_value =0;if(key_value >= 5 /按鍵按下消抖key_value = 0;key_new = 0; /按鍵松開(kāi)后進(jìn)入等待松開(kāi)按鍵狀態(tài)key_can = 20;if(key_new = 0 && (key_old = 1switch(key_io & 0x07case 0x06: key_can = 1; break; /得到按鍵值 case 0x05: key_can

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論