基于單片機(jī)的自動(dòng)門(mén)控制系統(tǒng)完整_第1頁(yè)
基于單片機(jī)的自動(dòng)門(mén)控制系統(tǒng)完整_第2頁(yè)
基于單片機(jī)的自動(dòng)門(mén)控制系統(tǒng)完整_第3頁(yè)
基于單片機(jī)的自動(dòng)門(mén)控制系統(tǒng)完整_第4頁(yè)
基于單片機(jī)的自動(dòng)門(mén)控制系統(tǒng)完整_第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、畢業(yè)設(shè)計(jì)報(bào)告 題 目: 院 系: 信息與控制學(xué)院 專(zhuān) 業(yè): 班級(jí)學(xué)號(hào): 學(xué)生姓名: 指導(dǎo)教師: 成 績(jī): 2014 年 月 日目 錄1 方案設(shè)計(jì)11.1 設(shè)計(jì)任務(wù)要求11.2 硬件方案設(shè)計(jì)11.3 軟件方案的設(shè)計(jì)11.4 主要設(shè)計(jì)的實(shí)現(xiàn)原理12 硬件設(shè)計(jì)12.1 單片機(jī)的簡(jiǎn)介12.2 硬件器件選擇12.2.1 單片機(jī)選型12.2.2 按鍵部分12.2.3 人體檢測(cè)傳感器12.2.4 光電檢測(cè)傳感器12.3 單片機(jī)最小系統(tǒng)12.4 按鍵部分電路圖12.5 光電檢測(cè)部分12.6 人體熱釋電傳感器12.7 電機(jī)驅(qū)動(dòng)電路13 軟件部分設(shè)計(jì)13.1 總程序設(shè)計(jì)13.2 按鍵程序流程圖13.3 定時(shí)器0中

2、斷13.4 門(mén)控判斷程序1參考文獻(xiàn)1附錄A 系統(tǒng)原理圖1附錄B 程序代碼1附錄C 實(shí)物圖片1I1 方案設(shè)計(jì)1.1 設(shè)計(jì)任務(wù)要求對(duì)于自動(dòng)門(mén)控制系統(tǒng),需要實(shí)現(xiàn)的功能如下所示:(1)自動(dòng)檢測(cè)功能:能夠自動(dòng)檢測(cè)門(mén)的附近是否有人,如果有人則開(kāi)啟該門(mén),在沒(méi)有人體信號(hào)時(shí),延時(shí)數(shù)秒后自動(dòng)關(guān)閉。(2)安全保護(hù)功能:關(guān)門(mén)時(shí),檢測(cè)門(mén)導(dǎo)軌上是否有人,如果有則停止關(guān)門(mén),并迅速打開(kāi)門(mén),防止人被擠住。(3)電機(jī)調(diào)速功能:能夠通過(guò)單片機(jī)控制電機(jī)的速度,開(kāi)門(mén)關(guān)門(mén)時(shí)需要有個(gè)加速與減速的過(guò)程。(4)按鍵輸入功能:能夠通過(guò)按鍵來(lái)控制門(mén)自動(dòng)還是手動(dòng)運(yùn)行,在特殊情況下需要手動(dòng)來(lái)操作該門(mén)。(5)門(mén)開(kāi)關(guān)限位功能:在開(kāi)門(mén)與關(guān)門(mén)的時(shí)候能夠檢測(cè)到

3、門(mén)的限位開(kāi)關(guān),來(lái)檢測(cè)是否到門(mén)的關(guān)門(mén)與開(kāi)門(mén)的限位。1.2 硬件方案設(shè)計(jì)本設(shè)計(jì)選用STC89C52單片機(jī)作為本設(shè)計(jì)的微控制芯片。按鍵部分采用獨(dú)立式按鍵, 人體檢測(cè)部分,使用紅外熱釋電傳感器對(duì)外部人體信號(hào)進(jìn)行檢測(cè)。光電檢測(cè)傳感器使用TCRT5000光電傳感器進(jìn)行檢測(cè)。硬件部分框圖如圖1.1所示。單片機(jī)按鍵輸入電機(jī)驅(qū)動(dòng)晶振電路安全檢測(cè)人體檢測(cè)復(fù)位電路限位開(kāi)關(guān)檢測(cè)圖1.1 硬件部分框圖自動(dòng)門(mén)控制系統(tǒng)的硬件組成如圖1.1所示,本系統(tǒng)主要由STC89C52RC單片機(jī)及其外圍電路、紅外檢測(cè)電路,門(mén)行程檢測(cè)電路、直流電機(jī)控制電路、安全檢測(cè)電路等部分組成,單片機(jī)與晶振復(fù)位電路構(gòu)成最小系統(tǒng)電路,作為主控電路,來(lái)協(xié)調(diào)

4、外部其他各部分硬件電路,各個(gè)電路的功能如下:(1)晶振電路給單片機(jī)提供時(shí)鐘系統(tǒng),讓單片機(jī)能夠有運(yùn)行的節(jié)拍與動(dòng)力,晶振與單片機(jī)內(nèi)部的電路一同構(gòu)成了一個(gè)波形發(fā)生電路,輸出與晶振頻率相同的時(shí)鐘,該時(shí)鐘用作單片機(jī)的運(yùn)行。(2)復(fù)位電路復(fù)位電路為單片機(jī)提供一個(gè)足夠的開(kāi)機(jī)運(yùn)行的復(fù)位脈沖,能夠讓單片機(jī)在上電時(shí)有足夠的時(shí)間復(fù)位。(3)按鍵輸入部分按鍵輸入部分用來(lái)作為人機(jī)交互界面部分,能夠控制門(mén)的手動(dòng)開(kāi)關(guān),切換自動(dòng)模式與手動(dòng)模式。(4)電機(jī)驅(qū)動(dòng)部分電機(jī)驅(qū)動(dòng)部分,用來(lái)驅(qū)動(dòng)直流電機(jī),單片機(jī)輸出控制信號(hào),來(lái)進(jìn)行對(duì)電機(jī)的調(diào)速(5)安全檢測(cè)安全檢測(cè)部分用來(lái)檢測(cè)是否有人被夾,能夠提供使用者的安全。(6)人體檢測(cè)人體檢測(cè)用來(lái)

5、檢測(cè)是否有人接進(jìn)門(mén)附近,檢測(cè)到信號(hào)后單片機(jī)開(kāi)始驅(qū)動(dòng)外部電路開(kāi)門(mén)。(7)限位開(kāi)關(guān)限位開(kāi)關(guān)主要用來(lái)檢測(cè)開(kāi)關(guān)門(mén)的行程位置。1.3 軟件方案的設(shè)計(jì)C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。隨著微型計(jì)算機(jī)的日益普及,出現(xiàn)了許多C語(yǔ)言版本。由于沒(méi)有統(tǒng)一的標(biāo)準(zhǔn), 使得這些C語(yǔ)言之間出現(xiàn)了一些不一致的地方。為了改變這種情況,美國(guó)國(guó)家標(biāo)準(zhǔn)研究所(ANSI)為C語(yǔ)言制定了一套ANSI標(biāo)準(zhǔn),成為現(xiàn)行的C語(yǔ)言標(biāo)C語(yǔ)言是世界上最流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言之一。在操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語(yǔ)言明顯優(yōu)于其它高級(jí)語(yǔ)言,以前有許多大型應(yīng)用軟件都是用C語(yǔ)言

6、編寫(xiě)的(由于面向?qū)ο缶幊碳夹g(shù)的出現(xiàn),大型軟件轉(zhuǎn)由C+、JAVA、C#再配合C語(yǔ)言開(kāi)發(fā);C語(yǔ)言在面對(duì)大型的軟件開(kāi)發(fā)時(shí),會(huì)顯得有些吃力)C語(yǔ)言繪圖能力強(qiáng),具有可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫(xiě)系統(tǒng)軟件,三維,二維圖形和動(dòng)畫(huà)。它是數(shù)值計(jì)算的高級(jí)語(yǔ)言。對(duì)于編譯軟件則使用Keil C51軟件。Keil C51軟件為目前相當(dāng)流行的51系列單片機(jī)開(kāi)發(fā)軟件,它是一個(gè)基于32位Windows環(huán)境的應(yīng)用程序,支持C語(yǔ)言和匯編語(yǔ)言編程。Keil是目前最好的51單片機(jī)開(kāi)發(fā)應(yīng)用軟件。它是一款通俗易懂易于上手的單片機(jī)程序開(kāi)發(fā)軟件,與其他的單片機(jī)軟件有很好的兼容性。我們?cè)谌粘5膶W(xué)習(xí)中都是使用這個(gè)軟件,所以在本

7、次設(shè)計(jì)中我使用Keil C51軟件進(jìn)行程序的編譯。1.4 主要設(shè)計(jì)的實(shí)現(xiàn)原理本次設(shè)計(jì)是紅外線自動(dòng)門(mén)控制系統(tǒng),使用紅外線傳感器作為感應(yīng)器,檢測(cè)到人體輻射的紅外線能量變化,將其轉(zhuǎn)化為電信號(hào),傳給單片機(jī),單片機(jī)通過(guò)驅(qū)動(dòng)H橋電路來(lái)驅(qū)動(dòng)直流電機(jī),來(lái)使門(mén)開(kāi)關(guān),在關(guān)門(mén)的時(shí)候使用光電傳感器進(jìn)行檢測(cè),是否有人在門(mén)軌道上,如果有則停止關(guān)門(mén),防止有人被夾,通過(guò)單片機(jī)控制交流電機(jī),使門(mén)自動(dòng)打開(kāi),當(dāng)人進(jìn)門(mén)后又可以使門(mén)自動(dòng)關(guān)閉。本課題主要實(shí)現(xiàn)紅外線檢測(cè)和基于STC89C51的單片機(jī)控制系統(tǒng)。2 硬件設(shè)計(jì)2.1 單片機(jī)的簡(jiǎn)介單片機(jī)是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一塊芯片上,它是采用大規(guī)模集成電路技術(shù)把中央處理器CPU、隨機(jī)存儲(chǔ)器R

8、AM、只讀存儲(chǔ)器ROM、各種I/O口和中斷系統(tǒng)、定時(shí)器等功能集成到一個(gè)芯片上構(gòu)成的一個(gè)簡(jiǎn)小而完善的微型計(jì)算計(jì)系統(tǒng)。單片機(jī)已成為電子設(shè)計(jì)中使用最多最廣泛的元件,它的體積小、低電壓、低功耗、可靠性高、處理功能強(qiáng)、控制功能強(qiáng)、環(huán)境適應(yīng)能力強(qiáng)、使用方便等優(yōu)點(diǎn),主要在儀器儀表、家用電器和玩具、醫(yī)用設(shè)備、計(jì)算機(jī)通信技術(shù)、智能測(cè)量設(shè)備、航空航天等領(lǐng)域被廣泛應(yīng)用。大概可分如下幾個(gè)方面:在智能儀器儀表中,單片機(jī)的優(yōu)點(diǎn)使它廣泛應(yīng)用于各種儀器儀表中,單片機(jī)通過(guò)不同類(lèi)型的傳感器,可以測(cè)量溫度、頻率、速度、長(zhǎng)度、音量、光亮、電壓、功率等物理量。利用單片機(jī)控制使得儀器儀表準(zhǔn)確率更高,靈敏度更高,測(cè)量速度更快。 在家用電器

9、和玩具中,隨著國(guó)內(nèi)國(guó)外的快速發(fā)展,現(xiàn)在的家用電器各式各樣,其中少不了單片機(jī)控制,例如電視、空調(diào)、洗衣機(jī)、微波爐、電飯鍋等。現(xiàn)在孩子手中的玩具更少不了單片機(jī)控制,例如音樂(lè)盒、遙控車(chē)等等其它智能玩具。這使我們的生活不僅方便而且更加有趣。在計(jì)算機(jī)通信中,單片機(jī)能夠在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備之間提供方便的條件。現(xiàn)如今的通信設(shè)備也在一步一步實(shí)現(xiàn)單片機(jī)智能控制,例如手機(jī)、對(duì)講機(jī)、樓宇門(mén)呼叫對(duì)講系統(tǒng)、列車(chē)和飛機(jī)無(wú)線通信。在汽車(chē)電子產(chǎn)品中,單片機(jī)也實(shí)現(xiàn)了它的價(jià)值,例如汽車(chē)的集中顯示系統(tǒng)、動(dòng)力、速度、壓力監(jiān)測(cè)控制系統(tǒng)、自動(dòng)駕駛系統(tǒng)、導(dǎo)航系統(tǒng)、安全保護(hù)系統(tǒng)等。單片機(jī)在辦公自動(dòng)化設(shè)備,商業(yè)營(yíng)銷(xiāo)設(shè)備等其他領(lǐng)域中中也有著廣

10、泛的應(yīng)用,它使我們的生活變得更加方便快捷,更加豐富多彩,生活工具也越來(lái)越智能化,如今我們的生活離不開(kāi)單片機(jī), 它是我們生活中不可缺少的一部分。2.2 硬件器件選擇2.2.1 單片機(jī)選型方案一:傳統(tǒng)51單片機(jī)AT89C51AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器的低電壓、高性能CMOS8位微處理器,該處理器單指令周期為1us(在12M晶振下),工作頻率0-24MHz,并且該芯片支持仿真,是經(jīng)典51單片機(jī)課程中的芯片,抗干擾能力強(qiáng),但是隨著科技速度的發(fā)展,該芯片慢慢被后繼的芯片所替代,因?yàn)樵撔酒瑑r(jià)格比較高,而且仿真器的成本較高,所以本設(shè)計(jì)不適于使用該芯片。方案二:使用430單片機(jī)TI生產(chǎn)的4

11、30系列單片機(jī)為超低功耗單片機(jī),被廣泛應(yīng)用于各類(lèi)低功耗的產(chǎn)品中,該系列單片機(jī)的優(yōu)點(diǎn)為,功耗非常低,而且具有豐富的外設(shè),能夠直接進(jìn)行ADC采集,高端芯片還可以進(jìn)行DAC輸出,并且外圍電路簡(jiǎn)單,I/O口具有可控的輸入與輸出的方式,由于本設(shè)計(jì)不考慮功耗,所以此單片機(jī)不做考慮使用。方案三:使用STC系列單片機(jī)STC系列單片機(jī)由宏晶公司生產(chǎn),其以低廉的價(jià)格與豐富的內(nèi)部資源,深受廣大使用者的喜愛(ài),他內(nèi)核與AT89S51的功能完全相同,我們采用STC89C52單片機(jī)為主控芯片,這樣更能體現(xiàn)我們此次設(shè)計(jì)的性?xún)r(jià)比。綜上所述,本設(shè)計(jì)使用方案三選用STC89C52單片機(jī)作為本設(shè)計(jì)的微控制芯片。2.2.2 按鍵部分方

12、案一:行列掃描按鍵行列式按鍵適用于按鍵應(yīng)用數(shù)目比較多的設(shè)計(jì),例如手機(jī)、電子稱(chēng)等需要輸入數(shù)據(jù)較多的設(shè)備,行列式按鍵的優(yōu)點(diǎn)是節(jié)省I/O口資源,使用8個(gè)I/O口就可以實(shí)現(xiàn)16個(gè)按鍵,分為行掃描口與列掃描口,該方案編程比較復(fù)雜,而且必須對(duì)I/O口進(jìn)行實(shí)時(shí)的掃描。方案二:使用獨(dú)立按鍵由于本設(shè)計(jì)使用的按鍵功能較少,只需要清零,計(jì)數(shù)壓力值設(shè)置,需要4個(gè)按鍵,所以本設(shè)計(jì)使用獨(dú)立按鍵,作為按鍵的輸入部分,獨(dú)立按鍵硬件電路設(shè)計(jì)簡(jiǎn)單,并且編程方便簡(jiǎn)單,而且速度快,不需要對(duì)I/O口做頻繁的操作。綜上所述,本設(shè)計(jì)使用按鍵較少,使用方案二作為本設(shè)計(jì)的按鍵部分。2.2.3 人體檢測(cè)傳感器人體檢測(cè)部分,使用紅外熱釋電傳感器對(duì)

13、外部人體信號(hào)進(jìn)行檢測(cè),本設(shè)計(jì)使用人體熱釋電傳感器模塊HC-SR501,對(duì)人體信號(hào)進(jìn)行檢測(cè),當(dāng)檢測(cè)到人體信號(hào)時(shí),模塊返回一個(gè)高電平信號(hào),當(dāng)人體信號(hào)消失時(shí),模塊返回一個(gè)低電平信號(hào),模塊輸入5V直流電壓信號(hào),單片機(jī)的I/O口與模塊返回的信號(hào)直連。2.2.4 光電檢測(cè)傳感器光電檢測(cè)傳感器,用來(lái)檢測(cè)關(guān)門(mén)時(shí)是否有東西在門(mén)軌道上,如果有檢測(cè)到該信號(hào)則打開(kāi)門(mén),延時(shí)一定時(shí)間沒(méi)有人體信號(hào)時(shí)在關(guān)閉,本設(shè)計(jì)使用TCRT5000光電傳感器進(jìn)行檢測(cè)。2.3 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng),或者稱(chēng)為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng),對(duì)本次設(shè)計(jì)使用單片機(jī)來(lái)說(shuō),最小系統(tǒng)一般應(yīng)該包括:?jiǎn)纹瑱C(jī)、晶振電路、復(fù)位

14、電路3。 復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合“電容電壓不能突變”的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,RST腳將會(huì)出現(xiàn)高電平,并且這個(gè)高電平持續(xù)的時(shí)間由電路的RC值來(lái)決定。典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個(gè)機(jī)器周期以上就將復(fù)位,所以,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位。一般教科書(shū)推薦C 取10u,R取8.2K當(dāng)然也有其他取法的,原則就是要讓RC組合可以在RST腳上產(chǎn)生不少于2個(gè)機(jī)周期的高電平至于如何具體定量計(jì)算,可以參考電路分析相關(guān)書(shū)籍。晶振電路:典型的晶振值取11.0592MHz(因?yàn)榭梢詼?zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場(chǎng)合)/12MHz。(1)復(fù)位電

15、路的用途單片機(jī)復(fù)位電路就好比電腦的重啟部分,當(dāng)電腦在使用中出現(xiàn)死機(jī),按下重啟按鈕電腦內(nèi)部的程序從頭開(kāi)始執(zhí)行。單片機(jī)也一樣,當(dāng)單片機(jī)系統(tǒng)在運(yùn)行中,受到環(huán)境干擾出現(xiàn)程序跑飛的時(shí)候,按下復(fù)位按鈕內(nèi)部的程序自動(dòng)從頭開(kāi)始執(zhí)行。單片機(jī)復(fù)位電路如圖2.1所示。圖2.1 89C51最小系統(tǒng)圖(2)復(fù)位電路的工作原理在單片機(jī)系統(tǒng)中,系統(tǒng)上電啟動(dòng)的時(shí)候復(fù)位一次,當(dāng)按鍵按下的時(shí)候系統(tǒng)再次復(fù)位,如果釋放后再按下,系統(tǒng)還會(huì)復(fù)位,所以可以通過(guò)按鍵的斷開(kāi)和閉合在運(yùn)行的系統(tǒng)中控制其復(fù)位。在電路圖中,電容的大小是10uF,電阻的大小是10k。所以根據(jù)公式,可以算出電容充電到電源電壓的0.7倍(單片機(jī)的電源是5V,所以充電到0.

16、7倍即為3.5V),需要的時(shí)間是10K*10UF=0.1S。也就是說(shuō)在電腦啟動(dòng)的0.1S內(nèi),電容兩端的電壓時(shí)在03.5V增加。這個(gè)時(shí)候10K電阻兩端的電壓為從51.5V減少(串聯(lián)電路各處電壓之和為總電壓)。所以在0.1S內(nèi),RST引腳所接收到的電壓是5V1.5V。在5V正常工作的51單片機(jī)中小于1.5V的電壓信號(hào)為低電平信號(hào),而大于1.5V的電壓信號(hào)為高電平信號(hào)。所以在開(kāi)機(jī)0.1S內(nèi),單片機(jī)系統(tǒng)自動(dòng)復(fù)位(RST引腳接收到的高電平信號(hào)時(shí)間為0.1S左右)。在單片機(jī)啟動(dòng)0.1S后,電容C兩端的電壓持續(xù)充電為5V,這時(shí)候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時(shí)

17、候,開(kāi)關(guān)導(dǎo)通,這個(gè)時(shí)候電容兩端形成了一個(gè)回路,電容被短路,所以在按鍵按下的這個(gè)過(guò)程中,電容開(kāi)始釋放之前充的電量。隨著時(shí)間的推移,電容的電壓在0.1S內(nèi),從 5V釋放到變?yōu)榱?.5V甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個(gè)時(shí)候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平,單片機(jī)系統(tǒng)自動(dòng)復(fù)位。2.4 按鍵部分電路圖按鍵電路主要分為兩種,一種為掃描式按鍵,所謂掃描式按鍵就是對(duì)按鍵進(jìn)行定期的逐個(gè)或者逐行的掃描,然后通過(guò)判斷掃描處的高低電平,判斷按鍵是否按下,這種按鍵被廣泛應(yīng)用在移動(dòng)設(shè)備與電氣設(shè)備中;另外一種按鍵的檢測(cè)方式為AD檢測(cè),每個(gè)按鍵串一個(gè)電阻,組成一個(gè)電阻串聯(lián)的網(wǎng)絡(luò)

18、,每個(gè)按鍵按下,對(duì)AD檢測(cè)口所分的的電壓就不相同,通過(guò)檢測(cè)AD值的變化來(lái)達(dá)到按鍵檢測(cè)的目的,該方式的優(yōu)點(diǎn)是,使用的I/O口少,在單片機(jī)外圍I/O資源不充足時(shí)比較適宜使用,但是該方法容易受到干擾,并且按鍵的個(gè)數(shù)受到ADC檢測(cè)的精度約束,對(duì)于本設(shè)計(jì)由于使用的按鍵較少,并且單片機(jī)的I/O口資源比較豐富,所以使用獨(dú)立式按鍵作為本設(shè)計(jì)按鍵的輸入部分,其按鍵電路圖如圖2.2所示。如圖2.2所示,本設(shè)計(jì)使用四個(gè)獨(dú)立按鍵,每個(gè)獨(dú)立按鍵占用單片機(jī)的一個(gè)I/O口,單片機(jī)在檢測(cè)時(shí),先將K1K4的I/O口的狀態(tài)全都置為高電平,然后不斷的檢測(cè)這四個(gè)I/O口的狀態(tài),通過(guò)if語(yǔ)句判斷是否有I/O口為低電平,如果為低電平證明

19、有按鍵按下,然后單片機(jī)需要做消除抖動(dòng)的程序,因?yàn)橛行r(shí)候從單片機(jī)的線上會(huì)進(jìn)入一些干擾,這些干擾會(huì)使單片機(jī)誤認(rèn)為是按鍵動(dòng)作,所以根據(jù)機(jī)械彈性的反彈接觸曲線,做20ms的延時(shí)是最理想的,延時(shí)后再次檢測(cè)按鍵,如果按鍵還是為低電平,則證明有按鍵按下,如果不是低電平則此按鍵信號(hào)為干擾信號(hào),跳出程序,如果有按下則while(1)等待按鍵釋放,這樣就完成了整個(gè)獨(dú)立按鍵功能的判斷。圖2.2 按鍵電路圖2.5 光電檢測(cè)部分光電檢測(cè)部分電路圖如圖2.3所示,光電檢測(cè)模塊,接口如圖所示,輸入電壓為5V直流信號(hào)輸入,3、4引腳為地,2引腳為輸出,模塊中輸出使用的是LM358運(yùn)放做的比較器輸出,輸出具有一定的驅(qū)動(dòng)能力,

20、所以不需要加上拉電阻,使用簡(jiǎn)單方便,當(dāng)有信號(hào)擋道傳感器前面時(shí),INT1引腳返回高電平信號(hào),否則返回低電平信號(hào),INT1引腳接到單片機(jī)的P3.5上。圖2.3 光電檢測(cè)電路圖2.6 人體熱釋電傳感器人體熱釋電傳感器模塊使用HC-SR501,該模塊的參數(shù)如下:1、全自動(dòng)感應(yīng):人進(jìn)入其感應(yīng)范圍則輸出高電平, 人離開(kāi)感應(yīng)范圍則自動(dòng)延時(shí)關(guān)閉高電平,輸出低電平。2、光敏控制(可選擇,出廠時(shí)未設(shè))可設(shè)置光敏控制,白天或光線強(qiáng)時(shí)不感應(yīng)。3、溫度補(bǔ)償(可選擇,出廠時(shí)未設(shè)):在夏天當(dāng)環(huán)境溫度升高至3032,探測(cè)距離稍變短,溫度補(bǔ)償可作一定的性能補(bǔ)償。4、兩種觸發(fā)方式:(可跳線選擇)a、不可重復(fù)觸發(fā)方式:即感應(yīng)輸出高

21、電平后,延時(shí)時(shí)間段一結(jié)束,輸出將自動(dòng)從高電平變成低電平;b、可重復(fù)觸發(fā)方式:即感應(yīng)輸出高電平后,在延時(shí)時(shí)間段內(nèi),如果有人體在其感應(yīng)范圍活動(dòng),其輸出將一直保持高電平,直到人離開(kāi)后才延時(shí)將高電平變?yōu)榈碗娖剑ǜ袘?yīng)模塊檢測(cè)到人體的每一次活動(dòng)后會(huì)自動(dòng)順延一個(gè)延時(shí)時(shí)間段,并且以最后一次活動(dòng)的時(shí)間為延時(shí)時(shí)間的起始點(diǎn))。5、具有感應(yīng)封鎖時(shí)間(默認(rèn)設(shè)置:2.5S 封鎖時(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)用于間隔探測(cè)產(chǎn)品;同時(shí)此功能可有效抑制負(fù)載切換過(guò)程中產(chǎn)生的各

22、種干擾。(此時(shí)間可設(shè)置在零點(diǎn)幾秒幾十秒鐘)。6、工作電壓范圍寬:默認(rèn)工作電壓DC4.5V-20V。7、微功耗:靜態(tài)電流<50 微安,特別適合干電池供電的自動(dòng)控制產(chǎn)品。8、輸出高電平信號(hào):可方便與各類(lèi)電路實(shí)現(xiàn)對(duì)接。其電路圖如圖2.4所示,接口電壓為5V,INT0接入到單片機(jī)的P3.2引腳,高電平為有人體熱釋電信號(hào),低電平為無(wú)人體信號(hào)。圖2.4 紅外熱釋電接口電路圖2.7 電機(jī)驅(qū)動(dòng)電路電動(dòng)機(jī)驅(qū)動(dòng)部分使用驅(qū)動(dòng)模塊,該驅(qū)動(dòng)模塊使用的驅(qū)動(dòng)芯片為L(zhǎng)9110,該芯片一個(gè)可以驅(qū)動(dòng)一個(gè)電動(dòng)機(jī),輸入部分為兩個(gè)引腳,其電路圖如圖2.5所示,其中控制信號(hào)Control_A與Control_B來(lái)控制電機(jī)運(yùn)行,當(dāng)C

23、ontrol_A為0,Control_B為1時(shí)電機(jī)正傳,此時(shí)通過(guò)PWM信號(hào)控制Control_A可以調(diào)整速度,當(dāng)Control_A為1,Control_B為0時(shí)電動(dòng)機(jī)反轉(zhuǎn),此時(shí)通過(guò)PWM控制Control_B來(lái)調(diào)整速度。圖2.5 驅(qū)動(dòng)接口電路圖3 軟件部分設(shè)計(jì)程序設(shè)計(jì)的基本概念有程序、數(shù)據(jù)、子程序、子例程、協(xié)同例程、模塊以及順序性、并發(fā)性、并行性、和分布性等。程序是程序設(shè)計(jì)中最為基本的概念,子程序和協(xié)同例程都是為了便于進(jìn)行程序設(shè)計(jì)而建立的程序設(shè)計(jì)基本單位,順序性、并發(fā)性、并行性和分布性反映程序的內(nèi)在特性。 在硬件系統(tǒng)設(shè)計(jì)好以后,就要設(shè)計(jì)相應(yīng)的程序?qū)崿F(xiàn)系統(tǒng)功能。把整個(gè)過(guò)程分成若干個(gè)部分,每一部分

24、叫做一個(gè)模塊。把一個(gè)程序分成具有多個(gè)明確任務(wù)的程序模塊,分別編制、調(diào)試后再把它們連接在一起形成一個(gè)完整的程序,這樣的程序設(shè)計(jì)方法稱(chēng)為模塊化程序設(shè)計(jì)。所謂“模塊”,實(shí)質(zhì)上就是能完成一定功能,并相對(duì)獨(dú)立的程序段,這種程序設(shè)計(jì)方法稱(chēng)為模塊程序設(shè)計(jì)法。模塊程序設(shè)計(jì)法的主要優(yōu)點(diǎn)是:(1)單個(gè)模塊比起一個(gè)完整的程序易編寫(xiě)、調(diào)試及修改。(2)程序的易讀性好。(3)程序的修改可局部化。(4)模塊可以共存,一個(gè)模塊可以被多個(gè)任務(wù)在不同條件下調(diào)用。(5)模塊程序允許設(shè)計(jì)者分割任務(wù)和利用已有程序,為設(shè)計(jì)者提供方便。3.1 總程序設(shè)計(jì)本設(shè)計(jì)為基于單片機(jī)的自動(dòng)門(mén)控制,程序控制部分較為復(fù)雜的是PWM驅(qū)動(dòng)輸出功能,因?yàn)殡姍C(jī)

25、在運(yùn)行時(shí),啟動(dòng)時(shí)需要有個(gè)加速的過(guò)程,停止時(shí)要有一個(gè)減速的過(guò)程,所以電機(jī)運(yùn)行時(shí)需要PWM控制電機(jī)運(yùn)行的加速與減速,這樣需要使用到單片機(jī)的定時(shí)器作為PWM定時(shí)的功能定時(shí)器,然后是按鍵功能與門(mén)控的判斷控制部分。主函數(shù)程序設(shè)計(jì)流程圖如圖3.1所示,單片機(jī)上電后,對(duì)定時(shí)器進(jìn)行初始化設(shè)置,配置定時(shí)器0,工作模式1,16位定時(shí)器,手動(dòng)裝入初始計(jì)時(shí)值,將定時(shí)時(shí)間定位1ms,這樣PWM的調(diào)整度為20,則PWM調(diào)整的頻率為50Hz,然后打開(kāi)定時(shí)器0中斷,由于定時(shí)運(yùn)行的PWM需要有個(gè)時(shí)間周期來(lái)維護(hù)運(yùn)行,所以需要將定時(shí)器1配置為定時(shí)器,定時(shí)時(shí)間配置為50ms,開(kāi)啟中斷,然后開(kāi)啟總中斷,進(jìn)入while循環(huán)函數(shù),該函數(shù)里

26、完成所有功能函數(shù)的動(dòng)作,主要包括,按鍵查詢(xún)與執(zhí)行函數(shù),自動(dòng)手動(dòng)模式指示燈函數(shù),門(mén)控指示燈控制函數(shù),自動(dòng)門(mén)控函數(shù)。開(kāi) 始初始化定時(shí)器0初始化定時(shí)器1停止電機(jī)輸出按鍵處理函數(shù)模式指示燈門(mén)控指示燈自動(dòng)門(mén)控判斷圖3.1 總體設(shè)計(jì)流程圖3.2 按鍵程序流程圖按鍵掃描程序?yàn)楠?dú)立按鍵的掃描程序,主要完成按鍵的判斷,延時(shí)去抖動(dòng),判斷是否有按鍵確實(shí)按下,然后對(duì)對(duì)應(yīng)的按鍵的功能做詳細(xì)的介紹,其按鍵掃描程序的流程圖如圖3.2所示,首先使用if語(yǔ)句判斷是否按鍵1按下,如果按下則為低電平,然后進(jìn)入20mS延時(shí)函數(shù),防止抖動(dòng),然后再次判斷該按鍵是否按下,如果確實(shí)按下則進(jìn)入對(duì)應(yīng)的按鍵的執(zhí)行函數(shù)。開(kāi) 始延時(shí)20mS按鍵1按下

27、按鍵1按下延時(shí)20mS按鍵2按下按鍵2按下延時(shí)20mS按鍵3按下按鍵3按下延時(shí)20mS按鍵4按下按鍵4按下結(jié) 束限位信號(hào)工作模式切換手動(dòng)開(kāi)門(mén)手動(dòng)關(guān)門(mén)YNYNYNYNYNYNYNYN圖3.2 按鍵掃描程序流程圖3.3 定時(shí)器0中斷定時(shí)器0中斷主要用來(lái)負(fù)責(zé)對(duì)PWM信號(hào)的產(chǎn)生,每次進(jìn)入中斷首先裝入定時(shí)器的初始值,然后將定時(shí)累加值Timer0_Com加1,因?yàn)镻WM的頻率定為50Hz,所以當(dāng)累加值大于19時(shí),定時(shí)時(shí)間為20Ms,為一個(gè)判斷周期,需要將Timer0_Com清0,然后判斷累計(jì)值與PWM調(diào)節(jié)值的帶下,如果小于PWM則輸出電機(jī)驅(qū)動(dòng)信號(hào)低電平,否則為高電平,這樣就將PWM信號(hào)輸出到單片機(jī)驅(qū)動(dòng)模塊

28、端了,其定時(shí)器0中斷流程圖如圖3.3所示。中斷入口裝入定時(shí)初始值定時(shí)累計(jì)值加1累計(jì)值>19定時(shí)累計(jì)清0累計(jì)值<pwm值如果是開(kāi)門(mén)A=0;B=1A=1;B=0A=1;B=1返 回YNYNYN圖3.3 定時(shí)器0中斷函數(shù)流程圖3.4 門(mén)控判斷程序進(jìn)入該程序先判斷是否為自動(dòng)模式,如果不是則跳出函數(shù),否則檢測(cè)是否有紅外信號(hào),如果有則檢測(cè)當(dāng)前狀態(tài),如果為靜止或者關(guān)門(mén)狀態(tài)則開(kāi)門(mén),如果沒(méi)有紅外信號(hào),檢測(cè)門(mén)是否有光電信號(hào),如果有則將門(mén)打開(kāi),其門(mén)控判斷程序流程圖如圖3.4所示。開(kāi) 始如果為自動(dòng)模式Y(jié)N如果有紅外信號(hào)YN如果靜止?fàn)顟B(tài)YN開(kāi)門(mén)如果關(guān)門(mén)狀態(tài)YN開(kāi)門(mén)如果關(guān)門(mén)狀態(tài)YN如果有光電信號(hào)YN開(kāi)門(mén)返 回

29、圖3.4 門(mén)控函數(shù)流程圖參考文獻(xiàn)1傳感器及其應(yīng)用.張金鐸 金歡陽(yáng)名編著.西安電子科技大學(xué)出版社,2002.2傳感器及其應(yīng)用實(shí)例.何希才編著.機(jī)械工業(yè)出版社.2003.3傳感器的理論與設(shè)計(jì)基礎(chǔ)及其應(yīng)用,單成祥 編著.國(guó)際工業(yè)出版社 .2002.4傳感器技術(shù)與應(yīng)用.金慶發(fā)編著.機(jī)械工業(yè)出版社.1994.5單片微行計(jì)算機(jī)原理、應(yīng)用及接口技術(shù).張迎新編著.國(guó)防工業(yè)出版社.2000.6電子技術(shù)基礎(chǔ)康華光.陳大欽編著.高等教育出版社,1998.7單片機(jī)原理及其接口技術(shù).胡漢才編著.北京:清華大學(xué)出版社.2004.8紅外線探測(cè)與控制電路. 陳永甫編著.北京:人民郵電出版社.2004.9傳感器工作原理及應(yīng)用實(shí)

30、例.黃繼昌.徐巧魚(yú)等編著.人民郵電出版社.2002.10基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).沈紅衛(wèi)編著.北京.電子工業(yè)出版社.2005.11現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用.陽(yáng)憲惠編著.清華大學(xué)出版社.1999.12單片機(jī)原理應(yīng)用與實(shí)驗(yàn).張友德,等編著.復(fù)旦大學(xué)出版社.2000.13單片機(jī)原理及接口技術(shù).李朝青編著.北京航空航天大學(xué)出版社.1996.14數(shù)字電子技術(shù)基礎(chǔ).閻石編著.高等教育出版社.1998.15向鳳紅.自動(dòng)控制原理.陳玉宏編著.重慶:重慶大學(xué)出版社.2003.附錄A 系統(tǒng)原理圖附錄B 程序代碼#include "delay.h"uchar Timer0_Com = 0;uc

31、har Pwm_Val = 0;uint Timer1_Com = 0;void Deal_AutoJudge( void ); /DistancValue SpeedValuevoid KeyBoard_Deal( void );sbit KEY_1 = P03;sbit KEY_2 = P02;sbit KEY_3 = P01;sbit KEY_4 = P00;sbit KEY_5 = P37;sbit KEY_6 = P36;sbit JC_DOOR = P20;sbit JC_INFR = P32;sbit MOTOR_A = P26;sbit MOTOR_B = P27;sbit L

32、ED1 = P06;sbit LED2 = P05;sbit LED3 = P04;bit WORK_FLAGE = 0; /-工作模式 默認(rèn)為手動(dòng)模式 bit SINGEL_FLAGE = 0; /-開(kāi)關(guān)門(mén)限位信號(hào)uchar DOOR_STAT = 0;uchar Work_Mode = 0;void Init_Timer( void )TMOD = 0x11;TH0 = 0XFC;TL0 = 0X17;ET0 = 1; TH1 = 0X3C;TL1 = 0Xb0;ET1 = 1; EA = 1;TR0 = 0;TR1 = 0;void main( void )/-定時(shí)器初始化Init_Ti

33、mer( );MOTOR_A = 1;MOTOR_B = 1;while(1)/-按鍵掃描KeyBoard_Deal( );/-自動(dòng)與手動(dòng)模式判斷if( WORK_FLAGE )LED1 = 0;else LED1 = 1;/-是否開(kāi)啟門(mén)控判斷if( DOOR_STAT = 0 )LED2 = 1, LED3 = 1, Work_Mode = 0, TR1 = 0, TR0 = 0;else LED2 = 1;LED3 = 1;if( DOOR_STAT = 1 )LED2 = 0;else if( DOOR_STAT = 2 )LED3 = 0;/-自動(dòng)檢測(cè)判斷Deal_AutoJudge(

34、 );void Deal_AutoJudge( void )/-處理自動(dòng)檢測(cè)if( WORK_FLAGE = 0 )return;if( JC_INFR = 1 )if( DOOR_STAT = 0 )DOOR_STAT = 1; /-開(kāi)門(mén)Work_Mode = 0;Pwm_Val = 0;TR1 = 1;else if( DOOR_STAT = 2 )DOOR_STAT = 0; /-停止關(guān)門(mén)delay_ms(500);DOOR_STAT = 1; /-開(kāi)門(mén)Work_Mode = 0;Pwm_Val = 0;TR1 = 1;else /-如果沒(méi)有感應(yīng)信號(hào)/-如果在開(kāi)門(mén)狀態(tài),則關(guān)門(mén)if( DO

35、OR_STAT = 1 )if( JC_DOOR = 0 )DOOR_STAT = 0; /-停止關(guān)門(mén)delay_ms(500);DOOR_STAT = 2; /-關(guān)門(mén)Work_Mode = 0;Pwm_Val = 0;TR1 = 1;else if( DOOR_STAT = 2 )if( JC_DOOR = 1 )DOOR_STAT = 0; /-停止關(guān)門(mén)delay_ms(500);DOOR_STAT = 1; /-開(kāi)門(mén)Work_Mode = 0;Pwm_Val = 0;TR1 = 1;/*函數(shù)名稱(chēng):void Int_Timer1( void ) interrupt 3*函數(shù)功能:定時(shí)器1中

36、斷函數(shù) 100HZ PWM 輸出*入口函數(shù): *出口函數(shù):*/void Int_Timer1( void ) interrupt 3TH1 = 0X3c;TL1 = 0Xb0;Timer1_Com +;if( Timer1_Com > 3 )Timer1_Com = 0;switch( Work_Mode )case 0:TR0 = 1;Work_Mode = 1; /-開(kāi)始加速break;case 1:Pwm_Val+;if( Pwm_Val > 19 )Work_Mode = 2;break;case 2: /-勻速運(yùn)行 直到檢測(cè)到門(mén)限位信號(hào)if( SINGEL_FLAGE )SINGEL_FLAG

溫馨提示

  • 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)論