久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 93509|回復(fù): 83
打印 上一主題 下一主題
收起左側(cè)

紅外熱釋電傳感器單片機(jī)設(shè)計(jì)(仿真原理圖+源代碼都有)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
隨著近年來,隨著改革開放的深入發(fā)展,電子電器的飛速發(fā)展人民的生活水平有了很大提高。各種高檔家電產(chǎn)品和貴重物品為許多家庭所擁有。然而一些不法分子也是越來越多。這點(diǎn)就是看到了大部分人防盜意識(shí)還不夠強(qiáng)造成偷盜現(xiàn)象屢見不鮮。因此,越來越多的居民家庭對(duì)財(cái)產(chǎn)安全問題十分擔(dān)憂。報(bào)警器這時(shí)正為人們解決了不少問題但是市場上的報(bào)警器大部分都是用于一些大公司財(cái)政機(jī)構(gòu)。價(jià)格高昂一般人們難以接受。如果再設(shè)計(jì)和生產(chǎn)一種價(jià)廉、性能靈敏可靠的防盜報(bào)警器,必將在防盜和保證財(cái)產(chǎn)安全方面發(fā)揮更加有效的作用。由于紅外線是不可見光,有很強(qiáng)的隱蔽性和保密性,因此在防盜、警戒等安保裝置中得到了廣泛的應(yīng)用,此外,在電子防盜、人體探測等領(lǐng)域中,被動(dòng)式熱釋電紅外探測器也以其價(jià)格低廉、技術(shù)性能穩(wěn)定等特點(diǎn)而受到廣大用戶和專業(yè)人士的歡迎。而本設(shè)計(jì)的電路包括硬件和軟件兩個(gè)部分。硬件部分包括紅外感應(yīng)部分與單片機(jī)控制部分。整個(gè)系統(tǒng)電路可劃分為:電源部分、傳感器模塊部分、單片機(jī)控制電路,而單片機(jī)控制由最小系統(tǒng)和指示燈電路、報(bào)警電路等子模塊組成。主要工作由熱釋電紅外感應(yīng)器完成信息采集、處理、數(shù)據(jù)傳送經(jīng)過單片機(jī)功能設(shè)定到達(dá)報(bào)警模塊這一過程。就此設(shè)計(jì)的核心模塊來說,單片機(jī)就是設(shè)計(jì)的中心單元。單片機(jī)應(yīng)用系統(tǒng)也是由硬件和軟件組成。硬件包括單片機(jī)、輸入/輸出設(shè)備、以及外圍應(yīng)用電路等組成的系統(tǒng),軟件是主要是工作的程序通過編寫程序來控制輸入的信號(hào)。

、設(shè)計(jì)任務(wù)分析

1.該設(shè)計(jì)包括硬件和軟件設(shè)計(jì)兩個(gè)部分。模塊劃分為數(shù)據(jù)采集、按鍵設(shè)定、報(bào)警等。

2.本紅外線防盜報(bào)警系統(tǒng)由熱釋電紅外傳感器、蜂鳴器、單片機(jī)控制電路、LED指示電路及軟件組成。

3.系統(tǒng)可實(shí)現(xiàn)功能:此熱釋紅外報(bào)警器安裝在禁區(qū),按下布防鍵綠色發(fā)光二極管會(huì)閃爍,說明系統(tǒng)準(zhǔn)備開始布防,30秒鐘后綠色發(fā)光二管會(huì)長亮,說明系統(tǒng)進(jìn)入布防狀態(tài)了,當(dāng)人員外出時(shí),可把報(bào)警系統(tǒng)設(shè)置在外出布防狀態(tài),探測器工作起來,當(dāng)有人闖入時(shí),熱釋電紅外傳感器將探測到動(dòng)作,設(shè)置在監(jiān)測點(diǎn)上的紅外探頭將人體輻射的紅外光譜變換成電信號(hào),紅外熱釋電模塊送出TTL 電平至STC89C52單片機(jī),經(jīng)單片機(jī)處理運(yùn)算后驅(qū)動(dòng)執(zhí)行報(bào)警電路使警號(hào)發(fā)聲。

并且具有手動(dòng)報(bào)警和手動(dòng)取消報(bào)警功能,黃燈做信號(hào)指示。

三、技術(shù)方案的詳細(xì)設(shè)計(jì)(實(shí)施
3.1本系統(tǒng)的設(shè)計(jì)方案
3.1.1系統(tǒng)概述
1.系統(tǒng)設(shè)計(jì)簡介

紅外線防盜報(bào)警器是當(dāng)前使用比較普遍的報(bào)警器之一,它以其靈敏度高、價(jià)格實(shí)惠,受到了廣大用戶的歡迎。但是使用每一種紅外線傳感器都有其不足之處,如抗干擾能力弱、誤報(bào)漏報(bào)現(xiàn)象嚴(yán)重等,可靠性不夠高。目前市面上裝備主要有壓力觸發(fā)式防盜報(bào)警器、開關(guān)電子防盜報(bào)警器和壓力遮光觸發(fā)式防盜報(bào)警器等各種報(bào)警器,但這幾種比較常見的報(bào)警器都存在一些缺點(diǎn)。

本設(shè)計(jì)是基于單片機(jī)設(shè)計(jì)一種簡易的紅外報(bào)警器。此熱釋紅外報(bào)警器安裝在禁區(qū),根據(jù)檢測人體自身的熱量,檢測到有人時(shí),自動(dòng)發(fā)出報(bào)警信息,并且能夠自動(dòng)或手動(dòng)取消報(bào)警。

設(shè)計(jì)的系統(tǒng)采用了熱釋電紅外傳感器,它的制作簡單、成本低,安裝比較方便,而且防盜性能比較穩(wěn)定,抗干擾能力強(qiáng)、靈敏度高、安全可靠。這種防盜器安裝隱蔽,不易被盜賊發(fā)現(xiàn)。為了探測移動(dòng)人體,通常使用雙元件型熱釋電紅外線傳感器,在這種傳感器內(nèi)部,兩個(gè)靈敏元件反相連接,當(dāng)人體靜止時(shí)兩元件極化程度相同,互相抵消。但人體移動(dòng)時(shí),兩元件極化程度不同,凈輸出電壓不為0,從而達(dá)到了探測移動(dòng)人體的目的。

3.2硬件電路設(shè)計(jì)

紅外熱釋電家庭防盜報(bào)警的硬件結(jié)構(gòu)主要由單片機(jī)最小系統(tǒng)、電源模塊、按鍵模塊、紅外熱釋電傳感器DYP-ME003、LED指示燈和蜂鳴器報(bào)警模塊組成。電路總原理圖的框架圖如圖3-1所示:

圖3-1 總體設(shè)計(jì)框圖
處理器采用51系列單片機(jī)STC89C52。整個(gè)系統(tǒng)是在系統(tǒng)軟件控制下工作的。設(shè)置在監(jiān)測點(diǎn)上的紅外探頭將人體輻射的紅外光譜變換成電信號(hào),送出TTL 電平至STC89C52單片機(jī)。在單片機(jī)內(nèi),經(jīng)軟件查詢、識(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)部分

3.2.1.1 電源模塊

本系統(tǒng)電源電壓為4.5v,由三節(jié)干電池組成。電源模塊電路為電源開關(guān)和電源指示燈組成。SW1是電源開關(guān),按下SW1開關(guān)后,電源指示燈D4發(fā)光指示電源情況。

3.2.1.2 熱釋電傳感器

基于紅外線技術(shù)的自動(dòng)控制產(chǎn)品, 靈敏度高,可靠性強(qiáng),超低電壓工作模式,廣泛應(yīng)用于各類自動(dòng)感應(yīng)電器設(shè)備, 尤其是干電池供電的自動(dòng)控制產(chǎn)品。

實(shí)物圖片:

電氣參數(shù):

電氣參數(shù)

DYP-ME003 人體感應(yīng)模塊

工作電壓范圍

DC 4.5-20V

靜態(tài)電流

<50uA

電平輸出

高 3.3 V /低 0V

觸發(fā)方式

L 不可重復(fù)觸發(fā)/H 重復(fù)觸發(fā)

延時(shí)時(shí)間

5S(默認(rèn))可制作范圍零點(diǎn)幾秒-幾十分鐘

封鎖時(shí)間

2.5S(默認(rèn))可制作范圍零點(diǎn)幾秒-幾十秒

電路板外形尺寸

32mm*24mm

感應(yīng)角度

<100 度錐角

感應(yīng)距離

7 米以內(nèi)

工作溫度

-15-+70 度

感應(yīng)透鏡尺寸

直徑:23mm(默認(rèn))

功能特點(diǎn):

1. 全自動(dòng)感應(yīng):人進(jìn)入其感應(yīng)范圍則輸出高電平, 人離開感應(yīng)范圍則自動(dòng)延時(shí)關(guān)閉高電平,輸出低電平。

2. 光敏控制(可選擇,出廠時(shí)未設(shè)):可設(shè)置光敏控制,白天或光線強(qiáng)時(shí)不感應(yīng)。

3. 溫度補(bǔ)償(可選擇,出廠時(shí)未設(shè)):在夏天當(dāng)環(huán)境溫度升高至 30~32℃,探測距離稍變短,溫度補(bǔ)償可作一定的性能補(bǔ)償。

4. 兩種觸發(fā)方式:(可跳線選擇)

a.不可重復(fù)觸發(fā)方式:即感應(yīng)輸出高電平后,延時(shí)時(shí)間段一結(jié)束,輸出將自動(dòng)從高電平變?yōu)榈碗娖剑?/font>

b.可重復(fù)觸發(fā)方式:即感應(yīng)輸出高電平后,在延時(shí)時(shí)間段內(nèi),如果有人體在其感應(yīng)范圍活動(dòng),其輸出將一直保持高電平,直到人離開后才延時(shí)將高電平變?yōu)榈碗娖剑ǜ袘?yīng)模塊檢測到人體的每一次活動(dòng)后會(huì)自動(dòng)順延一個(gè)延時(shí)時(shí)間段,并且以最后一次活動(dòng)的時(shí)間為延時(shí)

時(shí)間的起始點(diǎn))。

5. 具有感應(yīng)封鎖時(shí)間(默認(rèn)設(shè)置:無封鎖時(shí)間):感應(yīng)模塊在每一次感應(yīng)輸出后(高電平變成低電平),可以緊跟著設(shè)置一個(gè)封鎖時(shí)間段,在此時(shí)間段內(nèi)感應(yīng)器不接受任何感應(yīng)信號(hào)。此功能可以實(shí)現(xiàn)“感應(yīng)輸出時(shí)間”和“封鎖時(shí)間”兩者的間隔工作,可應(yīng)用于間隔探測產(chǎn)品;同時(shí)此功能可有效抑制負(fù)載切換過程中產(chǎn)生的各種干擾。(此時(shí)間可設(shè)置在零點(diǎn)幾秒—幾十秒鐘)。

6. 工作電壓范圍寬:默認(rèn)工作電壓 DC4.5V-20V。

7. 微功耗:靜態(tài)電流<50 微安,特別適合干電池供電的自動(dòng)控制產(chǎn)品。

8.輸出高電平信號(hào):可方便與各類電路實(shí)現(xiàn)對(duì)接。

感應(yīng)范圍:

3.2.1.5  信號(hào)采集處理模塊


                                圖3-5信號(hào)處理模塊

圖3-6實(shí)物圖

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

3.3單片機(jī)部分
3.3.1 STC89C52單片機(jī)簡介
(見51hei附件)

3.3.2 單片機(jī)最小系統(tǒng)

     要使單片機(jī)工作起來最基本的電路構(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ī)外界5V直流電源。連接方式為單片機(jī)中的40腳VCC接正極5V,而20腳VSS接電源地端。

復(fù)位電路就是確定單片機(jī)的工作起始狀態(tài),完成單片機(jī)的啟動(dòng)過程。單片機(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)從頭開始執(zhí)行。一般有上電自動(dòng)復(fù)位和外部按鍵手動(dòng)復(fù)位,單片機(jī)在時(shí)鐘電路工作以后,在RESET端持續(xù)給出2個(gè)機(jī)器周期的高電平時(shí)就可以完成復(fù)位操作。本設(shè)計(jì)采用的是外部手動(dòng)按鍵復(fù)位電路,需要接上上拉電阻來提高輸出高電平的值。

    時(shí)鐘電路好比單片機(jī)的心臟,它控制著單片機(jī)的工作節(jié)奏。時(shí)鐘電路就是振蕩電路,是向單片機(jī)提供一個(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。

3.3.3按鍵控制電路

按鍵模塊是有三個(gè)獨(dú)立按鍵組成:分別為手動(dòng)報(bào)警鍵、布防鍵、取消報(bào)警鍵。

按下手動(dòng)報(bào)警鍵:當(dāng)遇到特殊緊急情況時(shí),可按下緊急報(bào)警鍵,蜂鳴器會(huì)發(fā)出報(bào)警聲同時(shí)紅色led信號(hào)指示燈也會(huì)閃爍提示。

按下布防鍵:綠色led燈會(huì)閃爍代表布防開始,一直到綠色led燈會(huì)常亮,代表布防結(jié)束(布防時(shí)間持續(xù)30s鐘)。在此時(shí)如果有人體經(jīng)過傳感器的監(jiān)測范圍區(qū)(監(jiān)測距離為5到7m,監(jiān)測角度為小于100度)時(shí),紅外熱釋電輸出高電平,單片機(jī)P1^3口檢測高電平,點(diǎn)亮黃色led指示燈,代表有人經(jīng)過監(jiān)控區(qū),同時(shí)蜂鳴器發(fā)出報(bào)警聲,有賊入侵。

按下取消報(bào)警鍵:蜂鳴器和指示燈進(jìn)入初始狀態(tài)。圖3-8所示。

圖3-8按鍵部分

3.3.4指示燈和報(bào)警電路

報(bào)警電路是有紅色led燈和蜂鳴器模塊組成。報(bào)警指示燈是有單片機(jī)輸出低電平驅(qū)動(dòng)。蜂鳴器是用pnp型的功率驅(qū)動(dòng)管S8550驅(qū)動(dòng),當(dāng)單片機(jī)P2^3              口為低電平時(shí),三極管S8550飽和導(dǎo)通,蜂鳴器發(fā)出報(bào)警聲,當(dāng)單片機(jī)P2^3              口為高電平時(shí),三極管S8550截止,蜂鳴器停止報(bào)警。電路圖如圖3-9所示:

圖3-9指示燈和報(bào)警電路


3.4軟件的程序?qū)崿F(xiàn)3.4.1主程序工作流程圖
按上述工作原理和硬件結(jié)構(gòu)分析可知系統(tǒng)主程序工作流程圖如下圖所示:

              圖3-10主程序工作流程圖

3.5               報(bào)警判斷程序

單片機(jī)檢測到紅外熱釋電傳感器的入侵信號(hào),經(jīng)過單片機(jī)的程序處理,分別驅(qū)動(dòng)報(bào)警指示燈和蜂鳴器報(bào)警。利用了取反語句使得報(bào)警燈和蜂鳴器的亮滅和報(bào)警的間斷時(shí)間相同,如果沒有人來取消報(bào)警,程序?qū)?huì)繼續(xù)循環(huán)報(bào)警工作。

/******************紅外報(bào)警處理**********************/               
void hongwai_dis()
{
              if(flag_alarm == 1)                 //報(bào)警
              {
                            red = ~red;                               //紅燈報(bào)警
                            beep = ~beep;                 //蜂鳴器報(bào)警
              }            
              if(flag_bufang_en == 1) //準(zhǔn)備開始布防
              {
                            green = ~green;                 //綠燈閃

              }
              if(flag_bufang == 1)   //確認(rèn)布防
              {
                            green = 0;         //如果延時(shí)布防成功 綠燈長亮
                            if(hw == 1)                     //紅外有輸出
                            {
                                          flag_alarm = 1;            
                            }
              }

}
3.6  程序編寫與調(diào)試

3.6.1  Keil編譯器軟件簡介

    Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢。下面詳細(xì)介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。

圖15 C51工具包整體結(jié)構(gòu)圖

Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),如圖3.1所示,其中uVision與Ishell分別是C51 for Windows和for DOS的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(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)試,也可以直接寫入程序存貯器如EPROM 中。

3.7  硬件安裝及調(diào)試中遇到的問題
3.7.1
安裝步驟
1.檢查元件的好壞
按電路圖買好元件后首先檢查買回元件的好壞,按各元件的檢測方法分別進(jìn)行檢測,一定要仔細(xì)認(rèn)真。而且要認(rèn)真核對(duì)原理圖是否一致,在檢查好后才可上件、焊件,防止出現(xiàn)錯(cuò)誤焊件后不便改正。
2.放置、焊接各元件
按原理圖的位置放置各元件,在放置過程中要先放置、焊接較低的元件,后焊較高的和要求較高的元件。特別是容易損壞的元件要后焊,在焊集成芯片時(shí)連續(xù)焊接時(shí)間不要超過10s,注意芯片的安裝方向。
3.7.2電路的調(diào)試
首先燒入顯示程序,看顯示正不正常。在調(diào)試程序時(shí),發(fā)現(xiàn)有的指令用的不正確,導(dǎo)致電路功能不能完全實(shí)現(xiàn),另外軟件程序中的延時(shí)有的過長、有的過短。類似的現(xiàn)象還有很多就不一一列舉了。
四、心得體會(huì)

在本次研究的是基于單片機(jī)設(shè)計(jì)的紅外報(bào)警器。該系統(tǒng)主要是有單片機(jī)最小系統(tǒng)、電源電路、紅外熱釋電傳感器部分、蜂鳴器報(bào)警模塊、led狀態(tài)指示燈和按鍵模塊組成。。外部不可接上拉電阻,否則會(huì)影響紅外熱釋電傳感器的正常工作。此設(shè)計(jì)上有三個(gè)led信號(hào)指示燈,分別為紅色燈,綠色燈和黃色燈。紅色燈代表報(bào)警信號(hào)指示,綠色燈代表布放信號(hào)燈指示,黃色燈代表DYP-ME003紅外熱釋電傳感器信號(hào)指示燈。按鍵部分也有四個(gè)按鍵,分布代表復(fù)位鍵(屬于單片機(jī)最小系統(tǒng)部分),左邊第一個(gè)燈為手動(dòng)報(bào)警鍵,按下此鍵蜂鳴器會(huì)發(fā)出報(bào)警聲同時(shí)紅色led信號(hào)指示燈也會(huì)閃爍提示。左邊第二個(gè)鍵為布防鍵,當(dāng)按下此鍵,綠色led燈會(huì)閃爍代表布防開始,一直到綠色led燈會(huì)常亮,代表布防結(jié)束(布防時(shí)間持續(xù)30s鐘)。報(bào)警器的最大特點(diǎn)就是使用戶能夠操作簡單、易懂、靈活;且安裝方便、智能性高、誤報(bào)率低。隨著現(xiàn)代人們安全意識(shí)的增強(qiáng)以及科學(xué)技術(shù)的快速發(fā)展,相信報(bào)警器必將在更廣闊的領(lǐng)域得到更深層次的應(yīng)用。

   試驗(yàn)中在進(jìn)行原理圖設(shè)計(jì)與protues仿真的過程中遇到了很多問題,例如在Altium designer里并沒有at89c52,這就需要自己設(shè)計(jì)一個(gè)c52庫,在這個(gè)上面我花費(fèi)了大量的時(shí)間在管腳以及電器封裝。當(dāng)進(jìn)行protues仿真時(shí),我認(rèn)識(shí)到仿真并沒用想象中那么容易,此次設(shè)計(jì)本設(shè)計(jì)采用的紅外熱釋電傳感器的型號(hào)是DYP-ME003,此傳感器在上電是需要1分鐘左右的時(shí)間才能穩(wěn)定,有效電平為高電平,平時(shí)為低電平狀態(tài)。他是一個(gè)復(fù)雜的集成模塊,其中包括紅外探測器,光學(xué)放大原件,以及電路設(shè)計(jì)。DYP-ME003可以將光信號(hào)轉(zhuǎn)化為高低電平,這個(gè)部分在仿真中只能用開關(guān)代替。


附件一:總體原理圖設(shè)計(jì)


附件二:仿真圖
附件三:程序源代碼


單片機(jī)源程序如下:
  1. #include <reg52.h>                 //調(diào)用單片機(jī)頭文件
  2. #define uchar unsigned char  //無符號(hào)字符型 宏定義        變量范圍0~255
  3. #define uint  unsigned int         //無符號(hào)整型 宏定義        變量范圍0~65535

  4. #define key_io P1
  5. uchar key_can;

  6. //   紅外熱釋電平時(shí)為0  有輸出為1

  7. sbit beep = P2^3;           //蜂鳴器定義
  8. sbit red  = P2^2;           //紅色發(fā)光二極管定義
  9. sbit green = P2^1;           //綠色發(fā)光二極管定義
  10. sbit yellow = P2^0;           //黃色發(fā)光二極管定義
  11. sbit hw    = P1^3;           //紅外熱釋傳感器定義
  12. bit flag_300ms = 0;

  13. /****************獨(dú)立按鍵處理函數(shù)************************/           
  14. void key()
  15. {
  16.         static uchar key_new = 0,key_old = 0,key_value = 0;
  17.         if(key_new == 0)                 //按鍵松開
  18.         {
  19.                 if((key_io & 0x07) == 0x07)
  20.                         key_value ++;
  21.                 else
  22.                         key_value = 0;
  23.                 if(key_value >= 5)         //按鍵松開松手檢測
  24.                 {
  25.                         key_value = 0;
  26.                         key_new = 1;        //按鍵松開后進(jìn)入等待按鍵狀態(tài)
  27.                 }
  28.         }
  29.         else
  30.         {
  31.                 if((key_io & 0x07) != 0x07)         //按鍵按下
  32.                         key_value ++;
  33.                 else
  34.                         key_value =0;
  35.                 if(key_value >= 5)        //按鍵按下消抖
  36.                 {
  37.                         key_value = 0;
  38.                         key_new = 0;           //按鍵松開后進(jìn)入等待松開按鍵狀態(tài)
  39.                 }
  40.         }
  41.         key_can = 20;
  42.         if((key_new == 0) && (key_old == 1))
  43.         {
  44.                 switch(key_io & 0x07)
  45.                 {
  46.                         case 0x06: key_can = 1; break;          //得到按鍵值
  47.                         case 0x05: key_can = 2; break;          //得到按鍵值
  48.                         case 0x03: key_can = 3; break;          //得到按鍵值
  49.                 }
  50.         }                        
  51.         key_old = key_new;         
  52. }

  53. /*************定時(shí)器0初始化程序***************/
  54. void time_init()         
  55. {
  56.         EA   = 1;                   //開總中斷
  57.         TMOD = 0X01;          //定時(shí)器0工作方式1
  58.         ET0  = 1;                  //開定時(shí)器0中斷
  59.         TR0  = 1;                  //允許定時(shí)器0定時(shí)
  60. }

  61. uchar flag_alarm ;     //報(bào)警標(biāo)志位
  62. uchar flag_bufang ;    //布防標(biāo)志位
  63. uchar flag_bufang_en ; //布防標(biāo)志位使能
  64. uint  flag_value;      //用做定時(shí)器的變量

  65. /******************紅外報(bào)警處理**********************/           
  66. void hongwai_dis()
  67. {
  68.         if(flag_alarm == 1)           //報(bào)警
  69.         {
  70.                 red = ~red;                   //紅燈報(bào)警
  71.                 beep = ~beep;           //蜂鳴器報(bào)警
  72.         }        
  73.         if(flag_bufang_en == 1) //準(zhǔn)備開始布防
  74.         {
  75.                 green = ~green;           //綠燈閃
  76.                         
  77.         }  
  78.         if(flag_bufang == 1)   //確認(rèn)布防
  79.         {
  80.                 green = 0;         //如果延時(shí)布防成功 綠燈長亮
  81.                 if(hw == 1)               //紅外有輸出
  82.                 {
  83.                         flag_alarm = 1;        
  84.                 }
  85.         }

  86. }

  87. /******************對(duì)應(yīng)不同按鍵處理**********************/           
  88. void key_with()
  89. {
  90.         if(key_can == 1)         //按鍵緊急報(bào)警
  91.         {
  92.                 flag_alarm = 1;  //報(bào)警標(biāo)志位 ;                 
  93.         }
  94.         if(key_can == 2)     //布防按鍵
  95.         {
  96.                 flag_bufang_en = 1;               
  97.         }
  98.         if(key_can == 3)         //取消報(bào)警  把變量清零
  99.         {
  100.                 flag_alarm = 0;   
  101.                 flag_bufang = 0;
  102.                 flag_bufang_en = 0;        
  103.                 flag_value = 0;        
  104.                 P2 = 0xff;      
  105.         }                        
  106. }


  107. /******************主程序**********************/           
  108. void main()
  109. {
  110.         time_init();
  111.         while(1)
  112.         {
  113.                 key();                  
  114.                 yellow = ~hw;         //紅外熱釋電指示燈 有輸出就亮黃燈
  115.                 if(key_can < 10)
  116.                 {
  117.                         key_with();         //按鍵設(shè)置函數(shù)
  118.                 }
  119.                 if(flag_300ms == 1)
  120.                 {
  121.                         flag_300ms = 0;
  122.                         hongwai_dis();           //紅外報(bào)警函數(shù)
  123.                 }        
  124.         }
  125. }

  126. /*************定時(shí)器0中斷服務(wù)程序***************/
  127. void time0_int() interrupt 1
  128. {        
  129.         static uint value;
  130. ……………………

  131. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼


所有資料51hei提供下載:
熱釋電.zip (931.29 KB, 下載次數(shù): 786)


評(píng)分

參與人數(shù) 2黑幣 +55 收起 理由
初心123 + 5 共享資料的黑幣獎(jiǎng)勵(lì)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏29 分享淘帖 頂7 踩
回復(fù)

使用道具 舉報(bào)

來自 2#
ID:693216 發(fā)表于 2020-3-30 15:51 | 只看該作者
為啥我喇叭不響,這么多按鍵,有沒有說明,程序里說明我也不是很明白
回復(fù)

使用道具 舉報(bào)

來自 3#
ID:714198 發(fā)表于 2020-4-13 23:14 | 只看該作者
你好,我用的你這個(gè)仿真圖,按照程序說明去操作仿真出來有問題,如果撥動(dòng)打開電源開關(guān),仿真之后就幾乎都是黃色短路。查錯(cuò)說GND和+5V還有P1.3口邏輯連接錯(cuò)誤,請(qǐng)問是仿真圖有問題嗎
回復(fù)

使用道具 舉報(bào)

地板
ID:298584 發(fā)表于 2018-3-28 21:40 | 只看該作者
感謝分享,想要源碼。。第一次來這個(gè)論壇,不知道回帖有不有黑幣
回復(fù)

使用道具 舉報(bào)

5#
ID:279945 發(fā)表于 2018-4-16 18:18 | 只看該作者

感謝分享
回復(fù)

使用道具 舉報(bào)

6#
ID:308395 發(fā)表于 2018-4-17 18:27 | 只看該作者
zwc456baby 發(fā)表于 2018-3-28 21:40
感謝分享,想要源碼。。第一次來這個(gè)論壇,不知道回帖有不有黑幣

多參與就有黑幣拿
回復(fù)

使用道具 舉報(bào)

7#
ID:319538 發(fā)表于 2018-5-6 14:56 來自手機(jī) | 只看該作者
有心了
回復(fù)

使用道具 舉報(bào)

8#
ID:324922 發(fā)表于 2018-5-8 12:15 | 只看該作者
樓主我愛你,啊啊啊啊,好激動(dòng),我一直搞不出來這個(gè)電路的仿真
回復(fù)

使用道具 舉報(bào)

9#
ID:293762 發(fā)表于 2018-5-8 21:23 | 只看該作者
謝謝樓主的分享!
回復(fù)

使用道具 舉報(bào)

10#
ID:293762 發(fā)表于 2018-5-8 21:23 | 只看該作者
謝謝樓主的分享!
回復(fù)

使用道具 舉報(bào)

11#
ID:325923 發(fā)表于 2018-5-9 23:57 | 只看該作者
感謝分享,下載下來看看
回復(fù)

使用道具 舉報(bào)

12#
ID:340944 發(fā)表于 2018-5-29 21:36 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

13#
ID:339692 發(fā)表于 2018-6-3 16:27 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

14#
ID:346424 發(fā)表于 2018-6-6 20:15 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

15#
ID:350361 發(fā)表于 2018-6-12 16:19 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

16#
ID:361347 發(fā)表于 2018-6-28 21:07 | 只看該作者
怎么獲得黑幣啊,想下載啊
回復(fù)

使用道具 舉報(bào)

17#
ID:361452 發(fā)表于 2018-6-28 23:57 | 只看該作者
感謝分享 然而并沒有黑幣
回復(fù)

使用道具 舉報(bào)

18#
ID:361452 發(fā)表于 2018-6-29 00:06 | 只看該作者
很全面面且詳細(xì)
回復(fù)

使用道具 舉報(bào)

19#
ID:250793 發(fā)表于 2018-7-1 00:43 | 只看該作者
感謝樓主! 剛好課程設(shè)計(jì)需要參考一下!做得挺詳細(xì)的,感謝!
回復(fù)

使用道具 舉報(bào)

20#
ID:403053 發(fā)表于 2018-9-27 11:03 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報(bào)

21#
ID:410800 發(fā)表于 2018-10-16 21:34 來自手機(jī) | 只看該作者
這個(gè)上傳過知網(wǎng)了嗎?
回復(fù)

使用道具 舉報(bào)

22#
ID:410800 發(fā)表于 2018-10-16 21:37 來自手機(jī) | 只看該作者
審核啥時(shí)候通過啊
回復(fù)

使用道具 舉報(bào)

23#
ID:411841 發(fā)表于 2018-10-26 22:11 | 只看該作者
感謝樓主!明天就要弄出來了,還好看到這帖
回復(fù)

使用道具 舉報(bào)

24#
ID:423140 發(fā)表于 2018-11-8 18:04 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

25#
ID:425292 發(fā)表于 2018-11-12 21:15 | 只看該作者
感謝分享 剛好畢業(yè)設(shè)計(jì)用得上
回復(fù)

使用道具 舉報(bào)

26#
ID:66287 發(fā)表于 2018-11-13 09:41 | 只看該作者
程序?qū)懙牟诲e(cuò),按鍵處理部分需要簡化。不能傻傻的出現(xiàn)“按鍵松開后進(jìn)入等待松開按鍵狀態(tài)”這樣的部分。
回復(fù)

使用道具 舉報(bào)

27#
ID:350674 發(fā)表于 2018-12-4 14:49 | 只看該作者
感謝分享 !
回復(fù)

使用道具 舉報(bào)

28#
ID:144634 發(fā)表于 2018-12-23 22:29 | 只看該作者
感謝分享,十分有用
回復(fù)

使用道具 舉報(bào)

29#
ID:251061 發(fā)表于 2018-12-24 10:56 | 只看該作者
寫的不錯(cuò),受益匪淺
回復(fù)

使用道具 舉報(bào)

30#
ID:73182 發(fā)表于 2018-12-24 14:40 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

31#
ID:446595 發(fā)表于 2018-12-26 11:06 | 只看該作者
仿真圖就是全部電路圖嗎、為什么我的只有黃燈亮
回復(fù)

使用道具 舉報(bào)

32#
ID:455578 發(fā)表于 2018-12-26 16:08 | 只看該作者
李學(xué)習(xí) 發(fā)表于 2018-12-26 11:06
仿真圖就是全部電路圖嗎、為什么我的只有黃燈亮

是嗎,我們期末就是做的這個(gè)
回復(fù)

使用道具 舉報(bào)

33#
ID:455578 發(fā)表于 2018-12-26 16:10 | 只看該作者
我們期末考試啊,求回帖
回復(fù)

使用道具 舉報(bào)

34#
ID:455578 發(fā)表于 2018-12-26 16:25 | 只看該作者
#include<reg51.h>

#define uchar unsigned char
#define uint  unsigned int

char code dx516[3] _at_ 0x003b;

sbit out = P1^0;
sbit LED = P1^1;

void delay(uint j)
{
        uint i;
        for(;j>0;j--)
        {
                for(i=0;i<125;i--);
        }
}

void main()
{
        while(1)
        {
                if(out==1)     
                {
                        LED = 0;                         //LED燈亮
                        delay(2000);
                        LED = 1;
                }
        }
}我寫的這個(gè)可以嗎
回復(fù)

使用道具 舉報(bào)

35#
ID:455617 發(fā)表于 2018-12-26 16:28 | 只看該作者
感謝分享,想要源碼。。第一次來這個(gè)論壇,不知道回帖有不有黑幣
回復(fù)

使用道具 舉報(bào)

36#
ID:354236 發(fā)表于 2019-1-1 20:54 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

37#
ID:449256 發(fā)表于 2019-1-3 18:35 | 只看該作者
樓主為什么我們喇叭不響啊
回復(fù)

使用道具 舉報(bào)

38#
ID:470956 發(fā)表于 2019-1-20 18:34 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

39#
ID:474607 發(fā)表于 2019-2-1 20:51 | 只看該作者
謝謝樓主分享!
回復(fù)

使用道具 舉報(bào)

40#
ID:21069 發(fā)表于 2019-2-3 01:52 | 只看該作者
很好的案例,研究研究
回復(fù)

使用道具 舉報(bào)

41#
ID:482215 發(fā)表于 2019-2-28 16:36 | 只看該作者
感謝分享!
回復(fù)

使用道具 舉報(bào)

42#
ID:482215 發(fā)表于 2019-2-28 16:59 | 只看該作者
又看了下,感覺是不錯(cuò)的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 四虎影院在线观看免费视频 | 日韩中文字幕一区 | 欧美一区二区三区视频在线播放 | 九色在线观看 | 国产毛片视频 | 国产一级在线视频 | a级大毛片| 欧美日韩在线精品 | 欧美亚洲综合久久 | 免费午夜视频 | 精品国产精品三级精品av网址 | 久久久久国产一区二区三区四区 | 色偷偷噜噜噜亚洲男人 | 欧美黄色绿像 | 丝袜一区二区三区 | 99只有精品 | 九九九精品视频 | 日韩免费视频一区二区 | 久久亚洲国产 | 亚洲成人三级 | 国产精品久久久久久久久久妇女 | 国产欧美日韩一区二区三区在线 | 中文字幕一区二区三区四区五区 | 亚洲视频在线观看 | 亚洲精品综合一区二区 | 福利视频一区二区 | 一级毛片视频 | 国产精品嫩草影院精东 | 日韩精品四区 | 伊人久久综合 | 欧美激情精品久久久久久变态 | 最新黄色毛片 | 91久久久久久 | 欧美一级免费黄色片 | 九九热精品在线 | 99国产精品99久久久久久粉嫩 | 欧美日韩成人在线 | 久久精品国产99国产精品 | 免费毛片网站在线观看 | 亚洲国产精品一区 | 亚洲成人精品一区 |