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

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

QQ登錄

只需一步,快速開(kāi)始

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

基于51單片機(jī)的人體紅外模塊的自動(dòng)門(mén)設(shè)計(jì)原理圖+程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:444638 發(fā)表于 2018-12-12 10:22 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

資料包含:論文 + 程序源代碼 + PCB原理圖 + 芯片資料手冊(cè)

目錄

摘 要
一. 方案的選擇與論證
1.驅(qū)動(dòng)電機(jī)
2. 電動(dòng)機(jī)驅(qū)動(dòng)模塊
3. 微處理器模塊
4. 人體檢測(cè)模塊
5. 故障檢測(cè)模塊
二. 系統(tǒng)硬件的具體設(shè)計(jì)與實(shí)現(xiàn)
1. 系統(tǒng)原理和框圖
2. 功能模塊的設(shè)計(jì)
2.1 單片機(jī)介紹
2.1.1 AT89C51管腳說(shuō)明
2.1.2 AT89C51主要特性
2.1.3芯片擦除
2.2  熱釋電紅外傳感器介紹
2.3  BISS0001芯片介紹和典型電路
2.3.1 BISS0001的內(nèi)部結(jié)構(gòu)及特點(diǎn)
2.3.2 BISS001管腳圖及管腳說(shuō)明:
2.3.3 BISS0001工作原理
2.4  步進(jìn)電機(jī)
2.4.1 28BYJ48步進(jìn)電機(jī)參數(shù)
2.4.2 28BYJ48步進(jìn)電機(jī)驅(qū)動(dòng)方式
2.4.3 步進(jìn)電機(jī)驅(qū)動(dòng)電路
三. 系統(tǒng)軟件設(shè)計(jì)
1. 程序描述與設(shè)計(jì)思路
(1)程序描述
(2)程序設(shè)計(jì)思路
2. 程序流程圖
(1)自動(dòng)門(mén)控制主程序
(2)LED燈開(kāi)關(guān)門(mén)控制編碼
(3)步進(jìn)電機(jī)正反轉(zhuǎn)編碼
3. 程序
四. 總結(jié)
五. 致謝
六. 參考文獻(xiàn)
七.附錄
1.原理圖
2.主程序

摘 要
本系統(tǒng)以單片機(jī)AT89C51為核心,使用人體紅外線(xiàn)傳感器作為感應(yīng)器,檢測(cè)到人體輻射的紅外線(xiàn)能量變化,將其轉(zhuǎn)化為電信號(hào),觸發(fā)單片機(jī)中斷。再由單片機(jī)通過(guò)ULN2003驅(qū)動(dòng)步進(jìn)電機(jī)動(dòng)作,電機(jī)的正反轉(zhuǎn)分別表示自動(dòng)門(mén)的開(kāi)啟和閉合,通過(guò)15個(gè)LED燈的逐次亮滅來(lái)模擬開(kāi)關(guān)門(mén)狀態(tài)。

一. 方案的選擇與論證
根據(jù)設(shè)計(jì)要求目的,本系統(tǒng)可以劃分為若干個(gè)基本模塊。為了搭建性能穩(wěn)定的外部電路及實(shí)現(xiàn)較高的性?xún)r(jià)比,使自動(dòng)門(mén)達(dá)到真正的智能控制,針對(duì)各個(gè)模塊的功能要求,分別有以下一些不同的設(shè)計(jì)方案:
1.驅(qū)動(dòng)電機(jī)
方案A:選擇步進(jìn)電機(jī)作為自動(dòng)門(mén)的引擎。步進(jìn)電機(jī)最大的優(yōu)點(diǎn)就是在距離上能夠得到較精確控制,在沒(méi)有行程開(kāi)關(guān)作為電機(jī)停止的信號(hào)時(shí),步進(jìn)電機(jī)是最有選擇。
方案B:采用普通直流電機(jī)。該電機(jī)轉(zhuǎn)速快,針對(duì)本設(shè)計(jì)的情況,電機(jī)過(guò)快運(yùn)轉(zhuǎn)會(huì)造成失去控制甚至出現(xiàn)夾人的缺陷,故此排除。
方案C:利用直流減速電機(jī),該方案雖然能夠限制電機(jī)的速度在一定的方位內(nèi),但是由于沒(méi)有行程開(kāi)關(guān),而且電源帶載能力不穩(wěn)定的情況下,電機(jī)很難在相同時(shí)間內(nèi)走過(guò)相同的距離,這將無(wú)法達(dá)到準(zhǔn)確開(kāi)關(guān)門(mén)的目的。
因此采用第一種方案的步進(jìn)電機(jī)電機(jī)來(lái)作為自動(dòng)門(mén)的引擎。
2. 電動(dòng)機(jī)驅(qū)動(dòng)模塊
方案A:采用繼電器對(duì)電機(jī)的開(kāi)或關(guān)進(jìn)行開(kāi)關(guān)的切換經(jīng)行調(diào)整。這個(gè)方案簡(jiǎn)單但是相應(yīng)時(shí)間慢,機(jī)械結(jié)構(gòu)容易損壞并且壽命不長(zhǎng)。
方案B:利用電阻分壓原理,采用數(shù)字電位器調(diào)整電機(jī)的分壓,從而達(dá)到調(diào)速的目的。缺點(diǎn)是無(wú)法用大電流驅(qū)動(dòng),降低工作效率而且不易實(shí)現(xiàn)。
方案C:使用ULN2003驅(qū)動(dòng)芯片。ULN2003 是高耐壓、大電流復(fù)合晶體管陣列,由七個(gè)硅NPN 復(fù)合晶體管組成,最大輸出電流可達(dá)500mA,用來(lái)驅(qū)動(dòng)本設(shè)計(jì)中用到的四相步進(jìn)電機(jī)非常適合。
因而擬用第三種方案。
3. 微處理器模塊
方案一:采用可編程邏輯器件CPLD。CPLD可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能、規(guī)模大、密度高、IO資源豐富,適合作為大規(guī)?刂葡到y(tǒng)的控制核心。但本系統(tǒng)不需要復(fù)雜的邏輯功能,對(duì)數(shù)據(jù)的處理速度的要求也不是很高,且從使用及經(jīng)濟(jì)的角度考慮,我們放棄了此方案。
方案二:采用51系列單片機(jī)。系統(tǒng)的要求不高,程序的編寫(xiě)也比較簡(jiǎn)單,需要用到的I/O口的數(shù)量用該系列的單片機(jī)來(lái)操作完全能夠?qū)崿F(xiàn),無(wú)需再擴(kuò)展,充分的利用了單片機(jī)資源。另外,經(jīng)典的51系列單片機(jī)的處理速度也能夠滿(mǎn)足系統(tǒng)要求,性?xún)r(jià)比相對(duì)CPLD器件更高。
綜合以上兩種方案,本系統(tǒng)選擇方案二,以AT89C51作為系統(tǒng)的微控制器。
4. 人體檢測(cè)模塊
方案一:微波感應(yīng)器,又稱(chēng)微波雷達(dá),能對(duì)物體的移動(dòng)進(jìn)行反應(yīng),因而反應(yīng)迅速比較快,適合用于行走速度正常的人員通過(guò)場(chǎng)所,它的缺點(diǎn)是一旦有人不想出門(mén)而靜止不動(dòng),雷達(dá)便不再反應(yīng),這時(shí)如果系統(tǒng)給出關(guān)門(mén)信號(hào),那么自動(dòng)門(mén)就會(huì)關(guān)閉,出現(xiàn)夾人現(xiàn)象。
方案二:人體紅外傳感器,能對(duì)物體的存在進(jìn)行反應(yīng),不管人員是否移動(dòng),只要處于感應(yīng)器的掃描范圍,它都會(huì)有反應(yīng),就能阻止自動(dòng)門(mén)關(guān)閉,但是紅外感應(yīng)器的反應(yīng)比微波感應(yīng)器略微慢一點(diǎn)。
綜上,出于安全問(wèn)題的考慮,為了防止自動(dòng)門(mén)出現(xiàn)夾人情況,第二種紅外傳感器比第一種微波傳感器更適合自動(dòng)門(mén)的設(shè)計(jì)與使用。
5. 故障檢測(cè)模塊
方案一:采用霍爾電流傳感器來(lái)檢測(cè)流經(jīng)電機(jī)的電流,再將采到的電流值轉(zhuǎn)換成電壓,經(jīng)過(guò)AD轉(zhuǎn)換,送入單片機(jī)。該方案雖然性抗干擾能力強(qiáng),但是相對(duì)于本系統(tǒng)來(lái)說(shuō),價(jià)格太貴,而且步進(jìn)電機(jī)的電流范圍也比較小。
方案二:采用電阻采樣的方式。在電機(jī)電源輸入串入一個(gè)阻值為1歐姆的合金電阻,由于阻值足夠小,對(duì)電機(jī)的影響可以忽略不計(jì),再由歐姆定律可知,電阻兩端的電壓為流過(guò)該電阻的電流乘以一,最后將該電壓送入電壓比較器的反向輸入端,與預(yù)設(shè)閥值作比較,當(dāng)電流過(guò)大時(shí),比較器輸出會(huì)產(chǎn)生一個(gè)邊沿跳變,此時(shí)觸發(fā)中斷,停止自動(dòng)門(mén)動(dòng)作。
綜合分析,方案二簡(jiǎn)單可靠,比較適合應(yīng)用在本系統(tǒng)設(shè)計(jì)中。

二. 系統(tǒng)硬件的具體設(shè)計(jì)與實(shí)現(xiàn)
1. 系統(tǒng)原理和框圖
人體紅外自動(dòng)門(mén)控制系統(tǒng)的硬件組成如圖2-1所示。本系統(tǒng)主要由AT89C51單片機(jī)及其外圍電路、人體紅外檢測(cè)電路,步進(jìn)電機(jī)控制電路、故障檢測(cè)電路、開(kāi)關(guān)門(mén)狀態(tài)顯示電路等五部分組成。單片機(jī)循環(huán)檢測(cè)人體紅外檢測(cè)電路和故障檢測(cè)電路,據(jù)此產(chǎn)生步進(jìn)電機(jī)控制信號(hào),同時(shí)LED等作對(duì)應(yīng)流動(dòng)。當(dāng)檢測(cè)到有人靠近時(shí),步進(jìn)電機(jī)正轉(zhuǎn)一圈,LED燈由中間向左右兩邊逐漸點(diǎn)亮;完全開(kāi)門(mén)后等待三秒鐘,如果沒(méi)有人靠近,此時(shí)開(kāi)始關(guān)門(mén),步進(jìn)電機(jī)反轉(zhuǎn)一圈,LED燈由兩邊向中間逐漸熄滅。自動(dòng)門(mén)的開(kāi)啟可以分為3個(gè)階段,首先是單片機(jī)在接受到傳感器的信號(hào)后給馬達(dá)一個(gè)快速開(kāi)啟的信號(hào),使馬達(dá)以比較快的速率工作,門(mén)迅速打開(kāi),然后再慢速工作,緩慢打開(kāi),最后保持禁止不動(dòng),相反,當(dāng)自動(dòng)門(mén)關(guān)閉時(shí),是先加速后減速,再到停止的過(guò)程。

圖2-1 系統(tǒng)設(shè)計(jì)框圖


人體紅外模塊探測(cè)到有人靠近時(shí),將脈沖信號(hào)傳給主控器,主控器判斷后通知步進(jìn)電機(jī)運(yùn)行,同時(shí)監(jiān)控步進(jìn)電機(jī)轉(zhuǎn)動(dòng)角度,以便通知其在一定時(shí)候加力和進(jìn)入慢行運(yùn)行。步進(jìn)電機(jī)在ULN2003芯片的下進(jìn)行開(kāi)關(guān)門(mén),一個(gè)開(kāi)門(mén)完整周期是電機(jī)順時(shí)針轉(zhuǎn)過(guò)360°,反之,關(guān)門(mén)則逆時(shí)針轉(zhuǎn)360°。若在關(guān)門(mén)過(guò)程中突然又有人靠近,此時(shí)單片機(jī)馬上相應(yīng)中斷,停止電機(jī)關(guān)門(mén),并在電機(jī)停止的位置又重新開(kāi)門(mén),經(jīng)過(guò)3秒后,自動(dòng)門(mén)才開(kāi)始關(guān)閉,并啟動(dòng)中斷。

2. 功能模塊的設(shè)計(jì)
2.1 單片機(jī)介紹
單片機(jī)是把微型計(jì)算機(jī)主要部分都集成在一個(gè)芯片上的單芯片微型計(jì)算機(jī),即將運(yùn)算器,控制器,輸入輸出接口,部分存儲(chǔ)器以及其他一些邏輯部件集成在一個(gè)芯片上,故可以把單片機(jī)看成是一個(gè)不帶外部設(shè)備的微型計(jì)算機(jī),相當(dāng)于一個(gè)沒(méi)有顯示器,沒(méi)有鍵盤(pán),不帶監(jiān)控程序的單板機(jī)。
由于單片計(jì)算機(jī)具有體積小,重量輕,耗電少,功能強(qiáng)和價(jià)格低等特點(diǎn),又由于數(shù)據(jù)大多是在芯片內(nèi)傳送處理,所以運(yùn)行速度快,抗干擾能力強(qiáng)。單片機(jī)從七十年代問(wèn)世以來(lái),在二十多年的時(shí)間里,發(fā)展異常迅速,并已廣泛應(yīng)用于各種領(lǐng)域。單片機(jī)具有通訊接口,用單片機(jī)進(jìn)行接口的控制與管理,單片機(jī)與主機(jī)可并行工作,大大地提高了系統(tǒng)的運(yùn)行速度,所以在網(wǎng)絡(luò)通訊領(lǐng)域也得到了越來(lái)越多的應(yīng)用。
AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱(chēng)單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。

AT89C51外形及引腳排列如圖2-1所示。


圖2-1 AT89C51外形及引腳圖

2.1.1 AT89C51管腳說(shuō)明
VCC:供電電壓。
GND:接地。
P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。
P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。
P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。
P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。在實(shí)際應(yīng)用中,大多數(shù)情況下都使用P3口的第二功能。
P3.0 —RXD:串行輸入口
P3.1 —TXD:串行輸出口
P3.2 —/INT0:外部中斷0
P3.3 —/INT1:外部中斷1
P3.4 —T0:記時(shí)器0外部輸入
P3.5 —T1:記時(shí)器1外部輸入
P3.6 —/WR:外部數(shù)據(jù)存儲(chǔ)器
P3.7 —/RD:外部數(shù)據(jù)存儲(chǔ)器
P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)
ALE/PROG:當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。
/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。
EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。
XTAL2:來(lái)自反向振蕩器的輸出。容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。
2.1.2 AT89C51主要特性
* 與MCS-51 兼容
* 4K字節(jié)可編程閃爍存儲(chǔ)器
* 壽命:1000寫(xiě)/擦循環(huán)
* 數(shù)據(jù)保留時(shí)間:10年
* 全靜態(tài)工作:0Hz-24Hz
* 三級(jí)程序存儲(chǔ)器鎖定
* 128*8位內(nèi)部RAM
* 32可編程I/O線(xiàn)
* 兩個(gè)16位定時(shí)器/計(jì)數(shù)器
* 5個(gè)中斷源
* 可編程串行通道
* 低功耗的閑置和掉電模式
* 片內(nèi)振蕩器和時(shí)鐘電路
2.1.3芯片擦除
整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦除操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。
此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。
2.2 熱釋電紅外傳感器介紹
熱釋電紅外傳感器是一種能檢測(cè)人或動(dòng)物發(fā)射的紅外線(xiàn)而輸出電信號(hào)的傳感器。早在1938年,有人提出過(guò)利用熱釋電效應(yīng)探測(cè)紅外輻射,但并未受到重視,直到六十年代,隨著激光、紅外技術(shù)的迅速發(fā)展,才又推動(dòng)了對(duì)熱釋電效應(yīng)的研究和對(duì)熱釋電晶體的應(yīng)用。熱釋電晶體已廣泛用于紅外光譜儀、紅外遙感以及熱輻射探測(cè)器,它可以作為紅外激光的一種較理想的探測(cè)器。它目標(biāo)正在被廣泛的應(yīng)用到各種自動(dòng)化控制裝置中。除了在我們熟知的樓道自動(dòng)開(kāi)關(guān)、防盜報(bào)警上得到應(yīng)用外,在更多的領(lǐng)域應(yīng)用前景看好。比如:在房間無(wú)人時(shí)會(huì)自動(dòng)停機(jī)的空調(diào)機(jī)、飲水機(jī)。電視機(jī)能判斷無(wú)人觀(guān)看或觀(guān)眾已經(jīng)睡覺(jué)后自動(dòng)關(guān)機(jī)的機(jī)構(gòu)。開(kāi)啟監(jiān)視器或自動(dòng)門(mén)鈴上的應(yīng)用。結(jié)合攝影機(jī)或數(shù)碼照相機(jī)自動(dòng)記錄動(dòng)物或人的活動(dòng)等等。
熱釋電效應(yīng)同壓電效應(yīng)類(lèi)似,是指由于溫度的變化而引起晶體表面荷電的現(xiàn)象。熱釋電傳感器是對(duì)溫度敏感的傳感器。它由陶瓷氧化物或壓電晶體元件組成,在元件兩個(gè)表面做成電極,在傳感器監(jiān)測(cè)范圍內(nèi)溫度有ΔT的變化時(shí),熱釋電效應(yīng)會(huì)在兩個(gè)電極上會(huì)產(chǎn)生電荷ΔQ,即在兩電極之間產(chǎn)生一微弱的電壓ΔV。由于它的輸出阻抗極高,在傳感器中有一個(gè)場(chǎng)效應(yīng)管進(jìn)行阻抗變換。熱釋電效應(yīng)所產(chǎn)生的電荷ΔQ會(huì)被空氣中的離子所結(jié)合而消失,即當(dāng)環(huán)境溫度穩(wěn)定不變時(shí),ΔT=0,則傳感器無(wú)輸出。當(dāng)人體進(jìn)入檢測(cè)區(qū),因人體溫度與環(huán)境溫度有差別,產(chǎn)生ΔT,則有ΔT輸出;若人體進(jìn)入檢測(cè)區(qū)后不動(dòng),則溫度沒(méi)有變化,傳感器也沒(méi)有輸出了。所以這種傳感器檢測(cè)人體或者動(dòng)物的活動(dòng)傳感。 由實(shí)驗(yàn)證明,傳感器不加光學(xué)透鏡(也稱(chēng)菲涅爾透鏡),其檢測(cè)距離小于2m,而加上光學(xué)透鏡后,其檢測(cè)距離可大于7m。
2.3 BISS0001芯片介紹和典型電路
BISS0001是一款具有較高性能的傳感信號(hào)處理集成電路,它配以熱釋電紅外傳感器和少量外接元器件構(gòu)成被動(dòng)式的熱釋電紅外開(kāi)關(guān)。它能自動(dòng)快速開(kāi)啟各類(lèi)白熾燈、熒光燈、蜂鳴器、自動(dòng)門(mén)、電風(fēng)扇、烘干機(jī)和自動(dòng)洗手池等裝置,特別適用于企業(yè)、賓館、商場(chǎng)、庫(kù)房及家庭的過(guò)道、走廊等敏感區(qū)域,或用于安全區(qū)域的自動(dòng)燈光、照明和報(bào)警系統(tǒng)。它不僅能和熱釋電紅外傳感器的輸出良好地匹配,而且也能和其他多種傳感器進(jìn)行匹配。它的內(nèi)部是由運(yùn)算放大器、電壓比較器、與門(mén)電路、狀態(tài)控制器、定時(shí)控制器、鎖定時(shí)間控制器和禁止電路等組成。
BISS0001采用16腳標(biāo)準(zhǔn)型塑料封裝結(jié)構(gòu)。
1腳(A)為觸發(fā)方式控制端,當(dāng)A=1時(shí),電路可重復(fù)觸發(fā);當(dāng)A=0時(shí),電路不可重復(fù)觸發(fā)。
2腳(V0)為控制信號(hào)輸出端,當(dāng)有傳感信號(hào)輸人時(shí),V0輸出高電平。
3腳(RX)和4腳(CX)為輸出定時(shí)控制器T,的外接元件端,定時(shí)時(shí)間為:TX=50×103RXCX。
5腳(Ri)和6腳Ci)為鎖定時(shí)間控制器Υi的外接元件,鎖定時(shí)間Ti=24RiCi。
7腳(VSS)為電源正端。
8腳(VRF)為參考電壓及復(fù)位端,使用時(shí)一般接VDD,若按ⅤSS,可使定時(shí)器復(fù)位。
9腳(Vc)為觸發(fā)禁止端,當(dāng)VC<VR時(shí)禁止觸發(fā);當(dāng)VC>VR時(shí),允許觸發(fā),VR=0.2VDD.
10腳(IB)為偏置電流設(shè)置端,由外接電阻RB接ⅤSS端,RB一般取1MΩ的電阻。
11腳(VDD)為電源正、負(fù)端。
12腳(OUT2)為第二級(jí)運(yùn)放的輸出端
13腳(IN2-)為第二級(jí)運(yùn)放的反相輸人端。
14腳(IN1+)第一運(yùn)放的同相輸入端。
15凈(IN1-)第一運(yùn)放的反相輸入端。
16腳(OUT1)為第一運(yùn)放的輸出端。
2.3.1 BISS0001的內(nèi)部結(jié)構(gòu)及特點(diǎn)
如圖2-3-1中,運(yùn)算放大器OPl將熱釋電紅外傳感器的輸出信號(hào)作第一級(jí)放大,然后由C3耦合給運(yùn)算放大器01:'2進(jìn)行第二級(jí)放大,再經(jīng)由電壓比較器COPl和ODP2構(gòu)成的雙向鑒幅器處理后,檢出有效觸發(fā)信號(hào)VS去啟動(dòng)延遲時(shí)間定時(shí)器,輸出信號(hào)VO經(jīng)晶體管T1放大驅(qū)動(dòng)繼電器去接通負(fù)載。

圖2-3-1 熱釋紅外傳感器處理芯片


BISS0001的特點(diǎn):
*CMOS工藝,公耗低
*數(shù);旌
*具有獨(dú)立的高輸入阻抗運(yùn)算放大器
*內(nèi)部的雙向鑒幅器可有效抑制干擾
*內(nèi)設(shè)延遲時(shí)間定時(shí)器和封鎖時(shí)間定時(shí)器
*采用16腳DIP封裝
* 內(nèi)置參考電源
    *工作電壓范圍寬(3V~5V)
2.3.2 BISS001管腳圖及管腳說(shuō)明:

圖2-3-2 BISS001管腳圖

BISS001管腳說(shuō)明:

表2-3-2  BISS0001管腳說(shuō)明
引腳
名稱(chēng)
I/O
功能說(shuō)明
1
A
I
可重復(fù)觸發(fā)和不可重復(fù)觸發(fā)選擇端。當(dāng)A為“1”時(shí),允許重復(fù)觸發(fā);反之,不可重復(fù)觸。
2

VO

O

控制信號(hào)輸出端。由VS的上跳變沿觸發(fā),使Vo輸出從低電平跳變到高電平時(shí)視為有效觸發(fā)。在輸出延遲時(shí)間Tx之外和無(wú)VS的上跳變時(shí),Vo保持低電平狀態(tài)。
3
RR1
--
輸出延遲時(shí)間Tx的調(diào)節(jié)端
4
RC1
--
輸出延遲時(shí)間Tx的調(diào)節(jié)端
5
RC2
--
觸發(fā)封鎖時(shí)間Ti的調(diào)節(jié)端
6
RR2
--
觸發(fā)封鎖時(shí)間Ti的調(diào)節(jié)端
7
VSS
--
工作電源負(fù)端
8
VRF
I
參考電壓及復(fù)位輸入端。通常接VDD,當(dāng)接“0”時(shí)可使定時(shí)器復(fù)位
9
VC
I
觸發(fā)禁止端。當(dāng)Vc<VR時(shí)禁止觸發(fā);當(dāng)Vc>VR時(shí)允許觸發(fā)
10
IB
--
運(yùn)算放大器偏置電流設(shè)置端
11
VDD
--
工作電源正端
12
2OUT
O
第二級(jí)運(yùn)算放大器的輸出端
13
2IN-
I
第二級(jí)運(yùn)算放大器的反相輸入端
14
1IN+
I
第一級(jí)運(yùn)算放大器的同相輸入端
15
1IN-
I
第一級(jí)運(yùn)算放大器的反相輸入端
16
1OUT
O
第一級(jí)運(yùn)算放大器的輸出端

2.3.3 BISS0001工作原理
BISS0001是由運(yùn)算放大器、電壓比較器、狀態(tài)控制器、延遲時(shí)間定時(shí)器以及封鎖時(shí)間定時(shí)器等構(gòu)成的數(shù)模混合專(zhuān)用集成電路。當(dāng)熱釋電紅外傳感器接收到人體紅外輻射后輸出檢測(cè)信號(hào),然后由14腳輸入BISS0001,經(jīng)地內(nèi)部電路處理,由2腳輸出探測(cè)信號(hào)(正向脈沖信號(hào))。輸出脈沖信號(hào)的寬度由外接電阻R9和電容C6來(lái)決定。當(dāng) 2腳輸出控制脈沖后,電子開(kāi)關(guān)被接通,數(shù)字編碼電路和無(wú)線(xiàn)電發(fā)射電路由于得到電源而開(kāi)始工作。電源變壓器為5W/15V,E為12V免維護(hù)蓄電池,供停電使用。S1為鎖控電源開(kāi)關(guān),可根據(jù)需要安裝在適當(dāng)處所,用來(lái)接通工作電源,無(wú)必要時(shí)可取消設(shè)置。SCR采用1A的單向可控硅。HFC9301為軟封裝發(fā)聲電路,發(fā)聲為“嘀、嘀”聲。電路的調(diào)試主要是主機(jī)與各分機(jī)之間的統(tǒng)調(diào)。將發(fā)射電路和接收電路組裝好后,先將發(fā)射機(jī)中C10的調(diào)至適當(dāng)位置后固定不動(dòng),接著調(diào)整接收機(jī)中的C1,使接收機(jī)能收到發(fā)射機(jī)發(fā)出的信號(hào)。若為“一對(duì)多”或“多對(duì)一”報(bào)警系統(tǒng),應(yīng)先將主機(jī)“一”(可以是發(fā)射機(jī),也可以是接收機(jī) )調(diào)好固定,然后調(diào)整各分機(jī),使其與主機(jī)統(tǒng)調(diào)。BISS0001 應(yīng)用線(xiàn)路圖如圖2-3-3-1所示。
圖2-3-3-1 BISS0001的熱釋電紅外開(kāi)關(guān)應(yīng)用電路圖

上圖中,R3為光敏電阻,用來(lái)檢測(cè)環(huán)境照度。當(dāng)作為照明控制時(shí),若環(huán)境較明亮,R3的電阻值會(huì)降低,使9腳的輸入保持為低電平,從而封鎖觸發(fā)信號(hào)Vs。SW1是工作方式選擇開(kāi)關(guān),當(dāng)SW1與1端連通時(shí),芯片處于可重復(fù)觸發(fā)工作方式;當(dāng)SW1與2端連通時(shí),芯片則處于不可重復(fù)觸發(fā)工作方式。圖中R6可以調(diào)節(jié)放大器增益的大小,原廠(chǎng)圖紙選10K,實(shí)際使用時(shí)可以用3K,可以提高電路增益改善電路性能。輸出延遲時(shí)間TX由外部的R9和C7的大小調(diào)整,觸發(fā)封鎖時(shí)間Ti由外部的R10和C6的大小調(diào)整,R9/R10可以用470歐姆,C6/C7可以選0.1U。在BISS0001的內(nèi)電路中,運(yùn)放A是一個(gè)獨(dú)立的放大器,由它放大后輸出的信號(hào)電壓通過(guò).
    值得一提的是:本設(shè)計(jì)采用已封裝好的人體紅外檢測(cè)模塊,其基本原理與以上相同。模塊上有三個(gè)引腳,VCC接5V電源,GND接地,OUT接信號(hào)輸出,把信號(hào)引腳直接接到單片機(jī)INT0管腳,這可能會(huì)引起單片機(jī)的誤判斷,因?yàn)闊o(wú)人靠近時(shí),信號(hào)輸出低電平,當(dāng)有人靠近時(shí),輸出跳變?yōu)楦撸鴨纹瑱C(jī)外部中斷邊沿觸發(fā)的模式只能為下降沿,因此需要加入一個(gè)反向電路,即接入一個(gè)NPN型三極管,電路圖如2-3-3-2所示。

圖2-3-3-2 信號(hào)反向電路

   人體紅外模塊信號(hào)為低時(shí),NPN三極管截止,輸出為高,當(dāng)有人靠近時(shí),人體紅外模塊的信號(hào)為高,此時(shí)三極管導(dǎo)通,輸出被拉低,即輸出低電平。這能保證單片機(jī)中斷的及時(shí)響應(yīng),保證系統(tǒng)的順暢。
2.4 步進(jìn)電機(jī)2.4.1 28BYJ48步進(jìn)電機(jī)參數(shù)
步進(jìn)電動(dòng)機(jī)是純粹的數(shù)字控制電動(dòng)機(jī):它將電脈沖信號(hào)轉(zhuǎn)變成角位移。即給一個(gè)脈沖信號(hào),步進(jìn)電動(dòng)機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度.因此作常適合于單片機(jī)控制。設(shè)計(jì)中所用到的28BYJ48步進(jìn)電機(jī),電氣性能如下所示:
* 額定電壓:12VDC(另有電壓:5V、6V、24V)
* 相數(shù):4
* 減速比:1/64(另有減速比:1/16、1/32)
* 步距角:5.625°/64
* 驅(qū)動(dòng)方式:4相8拍
* 直流電阻:200Ω±7%(25℃)(按客戶(hù)要求而定:80、130歐姆)
* 空載牽入頻率:≥600Hz
* 空載牽出頻率:≥1000Hz
* 牽入轉(zhuǎn)矩:≥34.3mN.m(120Hz)
* 自定位轉(zhuǎn)矩:≥34.3mN.m
* 絕緣電阻:>10MΩ(500V)
* 絕緣介電強(qiáng)度:600VAC/1mA/1S
* 絕緣等級(jí):A
* 溫升:<50K(120Hz)
* 噪音:<40dB(120Hz)
2.4.2 28BYJ48步進(jìn)電機(jī)驅(qū)動(dòng)方式
              該步進(jìn)電機(jī)有兩種驅(qū)動(dòng)方式,一種為一相勵(lì)磁,步進(jìn)順序?yàn)椋篈-B-C-D-A,步距角為最小步距角的兩倍,即5.625°/64*2;另外一種稱(chēng)為1-2相勵(lì)磁,步進(jìn)順序?yàn)椋篈-AB-B-BC-C-CD-D-DA-A,步距角為5.625°/64。本設(shè)計(jì)用到第二種驅(qū)動(dòng)方式,其分配順序如表2-4-2所示:

表2-4-2 步進(jìn)電機(jī)驅(qū)動(dòng)方式相序分配情況

只要按照分配順序,依次給該相高電平,電機(jī)就可以按照預(yù)定的方式旋轉(zhuǎn)。

2.4.3 步進(jìn)電機(jī)驅(qū)動(dòng)電路
ULN2003 是高耐壓、大電流復(fù)合晶體管陣列,由七個(gè)硅NPN 復(fù)合晶體管組成,最大輸出電流可達(dá)500mA,其內(nèi)部結(jié)構(gòu)如圖2-4-3-1所示:
圖2-4-3-1 ULN2003內(nèi)部電路

其中第八腳接地,第九腳接VCC,只要將單片機(jī)IO口接入第一至七腳,就可以對(duì)應(yīng)從第十至十六腳輸出較大電流的信號(hào)。由于本設(shè)計(jì)正用到的是四相電機(jī),故只需要用到其中的四對(duì)接口即可,對(duì)應(yīng)的電路圖如圖2-4-3-2所示:

圖2-4-3-2 步進(jìn)電機(jī)驅(qū)動(dòng)電路接線(xiàn)方式


三. 系統(tǒng)軟件設(shè)計(jì)
1. 程序描述與設(shè)計(jì)思路
(1)程序描述
程序中主要用到的知識(shí)點(diǎn)有:?jiǎn)纹瑱C(jī)外部中斷、定時(shí)器、步進(jìn)電機(jī)的驅(qū)動(dòng)方式和角度計(jì)算、LED燈的點(diǎn)亮熄滅等。其中,外部中斷尤為重要,如果單純把人體紅外模塊的檢測(cè)信號(hào)通過(guò)普通IO口檢測(cè),這將會(huì)產(chǎn)生有人接近自動(dòng)門(mén)反應(yīng)遲鈍或夾人的嚴(yán)重后果。另外,計(jì)算步進(jìn)電機(jī)走過(guò)的距離也是一個(gè)要點(diǎn),需要精確計(jì)算才能確保電機(jī)在一個(gè)完成的開(kāi)門(mén)或關(guān)門(mén)動(dòng)作中剛好走過(guò)360°。  
(2)程序設(shè)計(jì)思路
人體紅外模塊一旦檢測(cè)到有人靠近,此時(shí)中斷觸發(fā),程序進(jìn)入外部中斷0,執(zhí)行完整地一次開(kāi)門(mén)信號(hào),等待3秒后,程序跳出中斷服務(wù)程序,開(kāi)始執(zhí)行關(guān)門(mén)函數(shù)。若在關(guān)門(mén)過(guò)程中,又有人靠近的中斷信號(hào)出現(xiàn),則關(guān)門(mén)程序被清除,再次執(zhí)行中斷服務(wù)程序,并從關(guān)門(mén)的位置重新開(kāi)啟,如此循環(huán)。
2. 程序流程圖
(1)自動(dòng)門(mén)控制主程序



圖3-1 自動(dòng)門(mén)控制主程序流程圖
(2)LED燈開(kāi)關(guān)門(mén)控制編碼
根據(jù)硬件接口,低電平0表示點(diǎn)亮LED燈,高電平1表示熄滅LED燈,15個(gè)LED燈的流動(dòng)方式如表3-2-2所示:

表3-2-2  LED燈的流動(dòng)方式編碼表

注:燈從中間向左右逐漸點(diǎn)亮表示開(kāi)門(mén),燈從左右向中間逐漸熄滅表示關(guān)門(mén)。

(3)步進(jìn)電機(jī)正反轉(zhuǎn)編碼
根據(jù)硬件電路接法,當(dāng)該相高電平1時(shí),所在線(xiàn)圈得電,電機(jī)轉(zhuǎn)動(dòng),步進(jìn)電機(jī)轉(zhuǎn)動(dòng)一個(gè)周期的順序編碼如表3-2-3所示:

表3-2-3 步進(jìn)電機(jī)驅(qū)動(dòng)順序編碼表

第一步
第二步
第三步
第四步
第五步
第六步
第七步
第八步
A相
1
1
0
0
0
0
0
1
B相
0
1
1
1
0
0
0
0
C相
0
0
0
1
1
1
0
0
D相
0
0
0
0
0
1
1
1
P0編碼
0x08
0x0c
0x04
0x06
0x02
0x03
0x01
0x09
    步進(jìn)電機(jī)反轉(zhuǎn)則是將第八步變?yōu)榈谝徊剑谄卟阶優(yōu)榈诙,以此?lèi)推。
3. 程序
具體程序見(jiàn)附錄。

四. 總結(jié)
在此次有關(guān)自動(dòng)門(mén)的控制系統(tǒng)的設(shè)計(jì),讓我感覺(jué)到了單片機(jī)的復(fù)雜深度性,它很貼切我們的日常生活,無(wú)所不在,應(yīng)用無(wú)處不有,它并不是想象中的那么簡(jiǎn)單,也并非是無(wú)法克服的堡壘。
設(shè)計(jì)硬件之前,要首先收集好有關(guān)的基礎(chǔ)性資料,應(yīng)備有良好的應(yīng)用類(lèi)參考書(shū)和專(zhuān)業(yè)類(lèi)參考書(shū)。對(duì)于有關(guān)的科技期刊和專(zhuān)利文獻(xiàn),也要經(jīng)常閱讀以便了解最新的發(fā)展情況,借鑒現(xiàn)成的經(jīng)驗(yàn),避免重復(fù)勞動(dòng)。在設(shè)計(jì)中,要充分了解所用芯片的使用條件及輸入輸出的特性,這樣才能避免因使用錯(cuò)誤而多走彎路。
電路設(shè)計(jì)部分應(yīng)該有的精神就是廣集資料。只憑借自己頭腦中的知識(shí)是遠(yuǎn)遠(yuǎn)不夠的。哪里出現(xiàn)了問(wèn)題,就要翻書(shū)本,或上網(wǎng)查資料。當(dāng)然也要開(kāi)動(dòng)自己的腦筋怎樣使系統(tǒng)電路更完美。例如我的設(shè)計(jì)題目是基于單片機(jī)的自動(dòng)門(mén)控制系統(tǒng)設(shè)計(jì)。有自動(dòng)門(mén),自然會(huì)用到電動(dòng)機(jī),每種電機(jī)都有不同的特性和功能,你就要進(jìn)行選擇了。例如對(duì)電機(jī)的選擇,你就要選擇你所熟悉的,所了解的。
在電路設(shè)計(jì)時(shí),應(yīng)充分發(fā)揮單片機(jī)的記憶運(yùn)算、判斷控制能力,避免采用復(fù)雜的、穩(wěn)定性較差的模擬電路。
為了使微機(jī)控制系統(tǒng)各種硬件設(shè)備能夠正常運(yùn)行,有效地實(shí)現(xiàn)電機(jī)各個(gè)控制環(huán)節(jié)的實(shí)時(shí)控制和管理,除了要設(shè)計(jì)合理的硬件電路,還必須要有高質(zhì)量的軟件支持,兩者相輔相成,共同維持系統(tǒng)的正常運(yùn)作。
最后我非常感謝學(xué)校和老師給我們這么好的學(xué)習(xí)機(jī)會(huì),讓我親身去體會(huì)一個(gè)項(xiàng)目開(kāi)發(fā)的艱難性,第一次站在一個(gè)設(shè)計(jì)者的角度去看,體會(huì)到了他們的艱辛,同時(shí)我也感受到了老師對(duì)我們的付出,對(duì)我們的精心指導(dǎo),讓我順利完成這次學(xué)習(xí)任務(wù)。


七.附錄
1.原理圖
圖7-1 單片機(jī)控制自動(dòng)門(mén)系統(tǒng)原理圖




單片機(jī)源程序如下:
  1. #include <reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. bit flag;
  5. int j;                                                //控制電機(jī)關(guān)門(mén)變量
  6. int n;                                                //控制電機(jī)開(kāi)門(mén)變量
  7. unsigned code table[]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};   //1-2相勵(lì)磁方式 最小步距角
  8. //unsigned code table[]={0x80,0x40,0x20,0x10};                                           //1相勵(lì)磁方式         最小步距角*2
  9.                                           //紅線(xiàn)接電源,只要其中一相為高電平,該相導(dǎo)通,動(dòng)作兩拍,轉(zhuǎn)過(guò)兩個(gè)步距角
  10. unsigned code OPEN_P0[]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01}; //LED燈
  11. unsigned code OPEN_P2[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; //LED燈

  12. void delay(unsigned int t);
  13. void Delay_1s(uint y);
  14. void int0init(void);
  15. void Motor_GO(void);
  16. void Motor_BACK(void);

  17. void delay(unsigned int t)
  18. {
  19.         while(t--);
  20. }

  21. void Delay_1s(uint y)                                 //延時(shí)1s
  22. {
  23.         uint a;
  24.         for(a=0;a<200*y;a++)                         //200為1s
  25.         {
  26.                 TH1=(65536-50000)/256;
  27.                 TL1=(65536-50000)%256;
  28.                 TR1=1;
  29.                 while(!TF1);
  30.                 TF1=0;
  31.         }
  32. }
  33. void int0init(void)                                 //外部中斷0初始化
  34. {        
  35.         EA=1;                                                   //打開(kāi)總中斷
  36.          EX0=1;                                                   //中斷允許位
  37.         IT0=1;                                                   //外部中斷0觸發(fā)方式為下降沿觸發(fā)
  38. }

  39. void Motor_GO(void)                                 //電機(jī)正轉(zhuǎn)函數(shù),即開(kāi)門(mén)
  40. {
  41.         uchar m;
  42.         while(n)         
  43.         {
  44.                 for(m=0;m<8;m++)
  45.                 {        
  46.                         n--;                          
  47.                         P1=table[m];
  48.                         if(n>2000)                        
  49.                         delay(280);                        //快速開(kāi)門(mén)半圈
  50.                         if(n<=2000)
  51.                         delay(480);                        //慢速開(kāi)門(mén)半圈
  52.                 }
  53.                 if((n<=4096)&(n>3800))        //LED燈提示
  54.                 {
  55.                         P0=OPEN_P0[0];
  56.                         P2=OPEN_P2[0];
  57.                 }
  58.                 if((n<=3800)&(n>3500))
  59.                 {
  60.                         P0=OPEN_P0[1];
  61.                         P2=OPEN_P2[1];
  62.                 }
  63.                 if((n<=3500)&(n>3200))
  64.                 {
  65.                         P0=OPEN_P0[2];
  66.                         P2=OPEN_P2[2];
  67.                 }
  68.                 if((n<=3200)&(n>2900))
  69.                 {
  70.                         P0=OPEN_P0[3];
  71.                         P2=OPEN_P2[3];
  72.                 }
  73.                 if((n<=2900)&(n>1950))
  74.                 {
  75.                         P0=OPEN_P0[4];
  76.                         P2=OPEN_P2[4];
  77.                 }
  78.                 if((n<=1950)&(n>1000))
  79.                 {
  80.                         P0=OPEN_P0[5];
  81.                         P2=OPEN_P2[5];
  82.                 }
  83.                 if((n<=1000)&(n>50))
  84.                 {
  85.                         P0=OPEN_P0[6];
  86.                         P2=OPEN_P2[6];
  87.                 }
  88.                 if((n<=50)&(n>=0))
  89.                 {
  90.                         P0=OPEN_P0[7];
  91.                         P2=OPEN_P2[7];                        
  92.                 }
  93.                
  94.                 if(n<0)
  95.                 {
  96.                         n=0;                                //跳出死循環(huán)
  97.                 }               
  98.         }
  99. }
  100. void Motor_BACK(void)                        //電機(jī)反轉(zhuǎn)函數(shù),即關(guān)門(mén)
  101. {
  102.         uchar i;
  103.         while(j)         
  104.         {        
  105.                 for(i=0;i<8;i++)
  106.                 {        
  107.                         j--;                                 
  108.                         P1=table[7-i];
  109.                         if(j>2000)                        
  110.                         delay(280);                        //快速關(guān)門(mén)半圈
  111.                         if(j<=2000)
  112.                         delay(480);                        //慢速關(guān)門(mén)半圈                        
  113.                 }
  114.                 if((j<=4096)&(j>3800))        //LED燈提示
  115.                 {
  116.                         P0=OPEN_P0[7];
  117.                         P2=OPEN_P2[7];
  118.                 }
  119.                 if((j<=3800)&(j>3500))
  120.                    {
  121.                         P0=OPEN_P0[6];
  122.                         P2=OPEN_P2[6];
  123.                 }
  124.                 if((j<=3500)&(j>3200))
  125.                 {
  126.                         P0=OPEN_P0[5];
  127.                         P2=OPEN_P2[5];
  128.                 }
  129.                 if((j<=3200)&(j>2900))
  130.                 {
  131.                         P0=OPEN_P0[4];
  132.                         P2=OPEN_P2[4];
  133.                 }
  134.                 if((j<=2900)&(j>1950))
  135.                 {
  136.                         P0=OPEN_P0[3];
  137.                         P2=OPEN_P2[3];
  138.                 }
  139.                 if((j<=1950)&(j>1000))
  140.                 {
  141.                         P0=OPEN_P0[2];
  142.                         P2=OPEN_P2[2];
  143.                 }
  144.                 if((j<=1000)&(j>50))
  145.                 {
  146.                         P0=OPEN_P0[1];
  147.                         P2=OPEN_P2[1];
  148.                 }
  149.                 if((j<=50)&(j>=0))
  150.                 {
  151.                         P0=OPEN_P0[0];
  152.                         P2=OPEN_P2[0];                                 
  153.                 }               
  154.                 if(j<0)                                   //跳出死循環(huán)
  155.                 {
  156.                         j=0;
  157.                 }
  158.         }
  159. }

  160. void main()
  161. {        
  162. ……………………

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


所有資料51hei提供下載:
基于單片機(jī)的自動(dòng)門(mén)控制系統(tǒng).rar (549.71 KB, 下載次數(shù): 555)


評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:434005 發(fā)表于 2019-5-26 19:07 | 只看該作者
請(qǐng)問(wèn)樓主可以分享一下詳細(xì)的元件清單嗎?方便準(zhǔn)備一下器件,還有可以分享一下實(shí)物圖圖片嗎?謝謝樓主
回復(fù)

使用道具 舉報(bào)

板凳
ID:644149 發(fā)表于 2019-11-18 20:24 | 只看該作者
我什么時(shí)候才能怎么牛逼
回復(fù)

使用道具 舉報(bào)

地板
ID:636953 發(fā)表于 2019-11-22 19:36 來(lái)自手機(jī) | 只看該作者
怎么沒(méi)有仿真圖?
回復(fù)

使用道具 舉報(bào)

5#
ID:546381 發(fā)表于 2019-11-25 17:08 | 只看該作者
請(qǐng)問(wèn)樓主可以分享一下詳細(xì)的元件清單嗎?方便準(zhǔn)備器件,實(shí)物圖有嗎?
回復(fù)

使用道具 舉報(bào)

6#
ID:658274 發(fā)表于 2019-12-11 18:33 | 只看該作者
有仿真圖嗎?
回復(fù)

使用道具 舉報(bào)

7#
ID:722671 發(fā)表于 2020-4-14 08:55 來(lái)自手機(jī) | 只看該作者
樓主有零件圖嗎?
回復(fù)

使用道具 舉報(bào)

8#
ID:736231 發(fā)表于 2020-5-16 09:10 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

9#
ID:744853 發(fā)表于 2020-6-21 20:36 | 只看該作者
正想找紅外探測(cè)
回復(fù)

使用道具 舉報(bào)

10#
ID:774633 發(fā)表于 2020-6-22 08:44 | 只看該作者
下載來(lái)學(xué)習(xí),謝謝
回復(fù)

使用道具 舉報(bào)

11#
ID:777587 發(fā)表于 2020-6-22 23:05 來(lái)自手機(jī) | 只看該作者
好想找到能記錄進(jìn)出人數(shù)的自動(dòng)門(mén)控制系統(tǒng)
回復(fù)

使用道具 舉報(bào)

12#
ID:787536 發(fā)表于 2020-6-23 11:57 | 只看該作者
非常感謝 可以發(fā)一下仿真圖碼
回復(fù)

使用道具 舉報(bào)

13#
ID:510700 發(fā)表于 2021-5-21 18:46 | 只看該作者
樓主有實(shí)物圖嗎 能發(fā)一下嗎 感謝
回復(fù)

使用道具 舉報(bào)

14#
ID:988052 發(fā)表于 2022-1-1 13:57 | 只看該作者
我什么時(shí)候才能這么牛
回復(fù)

使用道具 舉報(bào)

15#
ID:1003871 發(fā)表于 2022-2-12 22:50 | 只看該作者
這個(gè)挺實(shí)用的
回復(fù)

使用道具 舉報(bào)

16#
ID:1011702 發(fā)表于 2022-3-24 14:02 來(lái)自手機(jī) | 只看該作者
大佬文檔實(shí)在不會(huì)寫(xiě)了,借鑒一下你的程序去寫(xiě)文檔
回復(fù)

使用道具 舉報(bào)

17#
ID:1021925 發(fā)表于 2022-4-27 18:03 來(lái)自手機(jī) | 只看該作者
有完整的電路圖嗎
回復(fù)

使用道具 舉報(bào)

18#
ID:1029682 發(fā)表于 2022-5-25 18:38 | 只看該作者
amazing
回復(fù)

使用道具 舉報(bào)

19#
ID:1080848 發(fā)表于 2023-5-31 09:52 | 只看該作者
請(qǐng)問(wèn)樓主用的是keil嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲不卡一 | 成人欧美一区二区三区在线播放 | 成人在线视频观看 | 中文字幕成人av | 成人av播放| 日本午夜精品一区二区三区 | 夜夜爽99久久国产综合精品女不卡 | 国产无套一区二区三区久久 | 中文字幕第一页在线 | 欧美黑人一区 | 日韩在线视频一区二区三区 | 精品无码久久久久久国产 | 成人亚洲片 | 午夜欧美一区二区三区在线播放 | 亚洲欧美精品 | 欧美综合一区 | 51ⅴ精品国产91久久久久久 | 国产内谢 | 成人综合一区二区 | 欧美精品在线免费观看 | 精品91久久| 一区二区三区欧美大片 | 日韩久久综合 | 亚洲性在线| 黄a在线观看 | 欧美在线一区二区三区 | 国产成人精品一区二区三区四区 | 蜜桃视频在线观看免费视频网站www | 日日爽| 国产精品视频久久 | 超碰在线人人干 | 99热碰| 色www精品视频在线观看 | 欧美一级艳情片免费观看 | 亚洲精品视频在线看 | 国产成人精品久久二区二区91 | 国产一区二区欧美 | 国产女人与拘做受免费视频 | 日韩在线三级 | 久久久91| 男女爱爱福利视频 |