智能小車的設(shè)計與制作_第1頁
智能小車的設(shè)計與制作_第2頁
智能小車的設(shè)計與制作_第3頁
智能小車的設(shè)計與制作_第4頁
智能小車的設(shè)計與制作_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

智能小車的設(shè)計與制作《智能電動小車》摘要:本課題組設(shè)計制作了一款具有智能判斷功能的小車,功能強(qiáng)大。小車具有以下幾個功能:自動避障功能;尋跡功能(按路面的黑色軌道行駛);趨光功能(尋找前方的點光源并行駛到位);檢測路面所放置的鐵片的個數(shù)的功能;計算并顯示所走的路程和行走的時間,并可發(fā)聲發(fā)光。作品可以作為高級智能玩具,也可以作為大學(xué)生學(xué)習(xí)嵌入式控制的強(qiáng)有力的應(yīng)用實例。作品以兩電動機(jī)為主驅(qū)動,通過各類傳感器件來采集各類信息,送入主控單元AT89S52單片機(jī),處理數(shù)據(jù)后完成相應(yīng)動作,以達(dá)到自身控制。電機(jī)驅(qū)動電路采用高電壓,高電流,四通道驅(qū)動集成芯片L293D。其中避障采用紅外線收發(fā)來完成;鐵片檢測部分采用電感式接近開關(guān)LJ18A3-8-Z/BX檢測;黑帶檢測采用紅外線接收二極管完成;趨光部分通過3路光敏二極管對光源信號的采集,再經(jīng)過ADC0809轉(zhuǎn)化為數(shù)字信號送單片機(jī)處理判別方向。由控制單元處理數(shù)據(jù)后完成相應(yīng)動作,實現(xiàn)了無人控制即可完成一系列動作,相當(dāng)于簡易機(jī)器人。關(guān)鍵字:智能控制避障紅外線收發(fā)尋跡行駛趨光行駛總體方案論證與比較方案一:采用各類數(shù)字電路來組成小車的控制系統(tǒng),對外圍避障信號,黑帶檢測信號,鐵片檢測信號,各路趨光信號進(jìn)行處理。本方案電路復(fù)雜,靈活性不高,效率低,不利于小車智能化的擴(kuò)展,對各路信號處理比較困難。方案二:采用ATM89S52單片機(jī)來作為整機(jī)的控制單元。紅外線探頭采用市面上通用的發(fā)射管與及接收頭,經(jīng)過單片機(jī)調(diào)制后發(fā)射。鐵片檢測采用電感式接近開關(guān)LJ18A3-8-Z/BX檢測,黑帶采用光敏二極管對光源信號采集,再經(jīng)過ADC0809轉(zhuǎn)化為數(shù)字信號送到單片機(jī)系統(tǒng)處理。此系統(tǒng)比較靈活,采用軟件方法來解決復(fù)雜的硬件電路部分,使系統(tǒng)硬件簡潔化,各類功能易于實現(xiàn),能很好地滿足題目的要求。比較以上兩種方案的優(yōu)缺點,方案二簡潔、靈活、可擴(kuò)展性好,能達(dá)到題目的設(shè)計要求,因此采用方案二來實現(xiàn)。方案二的基本原理如圖1所示。避障部分采用紅外線發(fā)射和接受原理。鐵片檢測采用電感式接近開關(guān)U18A3-8-Z/BX檢測,產(chǎn)生的高低電平信號經(jīng)過處理后,完成相應(yīng)的記錄數(shù)目,驅(qū)動蜂鳴器發(fā)聲。黑帶尋跡依靠安裝在車底部左右兩個光敏二極管對管來對地面反射光感應(yīng)。尋光設(shè)計在小車前端安裝3路(左、中、右)光敏電阻對光源信號采集,模擬信號經(jīng)過ADC0809轉(zhuǎn)化為數(shù)字信號送到MCU處理。記程通過在車輪上安裝小磁塊,再用霍爾管感應(yīng)產(chǎn)生計數(shù)脈沖。記時由軟件實現(xiàn),顯示采用普通七段LED。此系統(tǒng)比較靈活,采用軟件方法來解決復(fù)雜的硬件電路部分,使系統(tǒng)硬件簡潔化,各類功能易于實現(xiàn)。模塊電路設(shè)計與比較1)避障方案選擇方案一:采用超聲波避障,超聲波受環(huán)境影響較大,電路復(fù)雜,而且地面對超聲波的反射,會影響系統(tǒng)對障礙物的判斷。方案二:采用紅外線避障,利用單片機(jī)來產(chǎn)生38KHZ信號對紅外線發(fā)射管進(jìn)行調(diào)制發(fā)射,發(fā)射出去的紅外線遇到避障物的時候反射回來,紅外線接收管對反射回來信號進(jìn)行解調(diào),輸出TTL電平。外界對紅外信號的干擾比較小,且易于實現(xiàn),價格也比較便宜,故采用方案二。紅外線發(fā)射接受電路原理圖如圖2所示。采用紅外線避障方法,利用一管發(fā)射另一管接收,接收管對外界紅外線的接收強(qiáng)弱來判斷障礙物的遠(yuǎn)近,由于紅外線受外界可見光的影響較大,因此用250Hz的信號對38KHZ的載波進(jìn)行調(diào)制,這樣減少外界的一些干擾。接收管輸出TTL電平,有利于單片機(jī)對信號的處理。采用紅外線發(fā)射與接收原理。利用單片機(jī)產(chǎn)生38KHZ信號對紅外線發(fā)射管進(jìn)行調(diào)制發(fā)射,發(fā)射距離遠(yuǎn)近由RW調(diào)節(jié),本設(shè)計調(diào)節(jié)為10CM左右。發(fā)射出去的紅外線遇到避障物的時候反射回來,紅外線接收管對反射回來信號進(jìn)行解調(diào),輸出TTL電平。利用單片機(jī)的中斷系統(tǒng),在遇障礙物時控制電機(jī)并使小車轉(zhuǎn)彎。由于只采用了一組紅外線收發(fā)對管,在避障轉(zhuǎn)彎方向上,程序采用遇障礙物往左拐方式。如果要求小車正確判斷左轉(zhuǎn)還是右轉(zhuǎn),需在小車側(cè)邊加多一組對管。外界對紅外信號的干擾比較小,性價比高。。調(diào)試時主要是調(diào)制發(fā)射頻率為接收頭能接收的頻率,采用單片機(jī)程序解決。發(fā)射信號強(qiáng)弱的調(diào)節(jié),由可調(diào)精密電阻調(diào)節(jié)。圖2紅外線發(fā)射接受電路原理圖2)檢測鐵片方案選擇方案一:采用電渦流原理自制的傳感器,取才方便,但難以調(diào)試,輸出信號也不可靠,成功率比較低,難以準(zhǔn)確輸出傳感信息。方案二:采用市面易購的電感式接近開關(guān),本系統(tǒng)采用市面比較通用U18A3-8-Z/BX來完成鐵片檢測的任務(wù)。雖然電感式接近開關(guān)占的體積大,對本是可以接受,且輸出信號較可靠,穩(wěn)定性好,受外界的干擾小,故采用方案二。檢測鐵片電路原理圖如圖3所示。圖3檢測鐵片電路原理圖3) 聲音提示方案一:采用單片機(jī)產(chǎn)生不同的頻率信號來完成聲音提示,此方案能完成聲音提示功能,給人以提示的可懂性比較差,但在一定程度上能滿足要求,而且易于實現(xiàn),成本也不高,我們出自經(jīng)費方面考慮,采用方案一。方案二:采用DS1420可分段錄放音模塊,能夠給人以直觀的提示,但DS1420錄放音模塊價格比較高,也可以采用此方案來處理,但方案二性價比不如方案一。4) 黑帶檢測方案選擇方案一:采用發(fā)光二極管發(fā)光,用光敏二極管接收。由于光敏二極管受可見光的影響較大,穩(wěn)定性差。方案二:利用紅外線發(fā)射管發(fā)射紅外線,紅外線二極管進(jìn)行接收。采用紅外線發(fā)射,外面可見光對接收信號的影響較小,再用射極輸出器對信號進(jìn)行隔離。本方案也易于實現(xiàn),比較可靠,因此采用方案二。黑帶檢測電路圖如圖4所示。輸出信號進(jìn)入74LS02。穩(wěn)定性能得到提升。當(dāng)小車低部的某邊紅外線收發(fā)對管遇到黑帶時輸入電平為高電平,反之為低電平。結(jié)合中斷查詢方式,通過程序控制小車往哪個方向行走。電路中的可調(diào)電阻可調(diào)節(jié)靈敏度,以滿足小車在不同光度的環(huán)境光中能夠?qū)ほE。由于接收對管裝在車底,發(fā)射距離的遠(yuǎn)近較難控制,調(diào)節(jié)可調(diào)電阻,發(fā)現(xiàn)靈敏度總是不盡人意,最后采用在對管上套一塑料管,屏蔽外界光的影響,靈敏度大幅提升。再是轉(zhuǎn)彎的時間延遲短長控制。RW、50PZRW\嚴(yán)RW、50PZRW\嚴(yán)圖4黑帶檢測電路圖3)計量路程方案方案一:利用紅外線對射方式,在小車的車輪開一些透光孔來計量車輪轉(zhuǎn)過圈數(shù),從而間接地測量路程。方案二:利用霍爾元件來對轉(zhuǎn)過的車輪圈數(shù)來計程,在車輪子上裝小磁片,霍爾元件靠近磁片一次計程為車輪周長。此方案傳感的信號強(qiáng),電路簡單,但精度不咼。如果想達(dá)到一定的計量精度,用霍爾傳感元件比較難以實現(xiàn),因為在車輪上裝一定量的小磁片會相互影響,而利用紅外線對射方式不會影響各自的脈沖,可達(dá)到厘米的精度,因此采用方案一來實現(xiàn)。計量路程示意圖見圖5。通過計算車輪的轉(zhuǎn)數(shù)間接測量距離,利用了霍爾元件感應(yīng)磁塊產(chǎn)生脈沖的原理,再對脈沖進(jìn)行計數(shù)。另可采用紅外線原理提高記程精度,其方法為在車輪均勻打上透光小孔,當(dāng)車輪轉(zhuǎn)動時,紅外光透射過去,不斷地輸出脈沖,通過單片機(jī)對脈沖計數(shù),再經(jīng)過一個數(shù)據(jù)的處理過程,這樣就可把小車走過的距離計算出來,小孔越多,計數(shù)越精密。圖5計量路程示意圖3)智能車驅(qū)動電路方案一:采用分立元件組成的平衡式驅(qū)動電路,這種電路可以由單片機(jī)直接對其進(jìn)行操作,但由于分立元件占用的空間比較大,還要配上兩個繼電器,考慮到小車的空間問題,此方案不夠理想。方案二:因為小車電機(jī)裝有減速齒輪組,考慮不需調(diào)速功能,采用市面易購的電機(jī)驅(qū)動芯片L293D,該芯片是利用TTL電平進(jìn)行控制,對電機(jī)的操作方便,通過改變芯片控制端的輸入電平,即可以對電機(jī)進(jìn)行正反轉(zhuǎn)操作,很方便單片機(jī)的操作,亦能滿足直流減速電機(jī)的要求。智能車驅(qū)動電路實現(xiàn)如圖6所示。圖6智能車驅(qū)動電路小車電機(jī)為直流減速電機(jī),帶有齒輪組,考慮不需調(diào)速功能,采用電機(jī)驅(qū)動芯片L293D。L293D是著名的SGS公司的產(chǎn)品。為單塊集成電路,高電壓,高電流,四通道驅(qū)動,設(shè)計用來接收DTL或者TTL邏輯電平,驅(qū)動感性負(fù)載(比如繼電器,直流和步進(jìn)馬達(dá)),和開關(guān)電源晶體管。內(nèi)部包含4通道邏輯驅(qū)動電路。其額定工作電流為1A,最大可達(dá)1.5A,Vss電壓最小4.5V,最大可達(dá)36V;Vs電壓最大值也是36V,經(jīng)過實驗,Vs電壓應(yīng)該比Vss電壓高,否則有時會出現(xiàn)失控現(xiàn)象。表1是其使能、輸入引腳和輸出引腳的邏輯關(guān)系。表1引腳和輸出引腳的邏輯關(guān)系ENA(B)IN1(IN3) IN2(IN4) 電機(jī)運行情況正轉(zhuǎn)HHL H同IN2(IN4)反轉(zhuǎn)同IN1(IN3) 快速停止LX X停止L293D可直接的對電機(jī)進(jìn)行控制,無須隔離電路。通過單片機(jī)的I/O輸入改變芯片控制端的電平,即可以對電機(jī)進(jìn)行正反轉(zhuǎn),停止的操作,非常方便,亦能滿足直流減速電機(jī)的大電流要求。調(diào)試時在依照上表,用程序輸入對應(yīng)的碼值,能夠?qū)崿F(xiàn)對應(yīng)的動作,調(diào)試通過。3)尋找光源功能方案一:在小車前面裝上幾個光電開關(guān),通過不同方向射來的光使光電開關(guān)工作,從而對小車行駛方向進(jìn)行控制,根據(jù)光電開關(guān)特性,只有當(dāng)光達(dá)到一定強(qiáng)度時才能夠?qū)ǎ虼藥в幸欢ǖ木窒扌?。方案二:在小車前面裝上參數(shù)一致的光敏二極管或者光敏電阻,再通過A/D轉(zhuǎn)換電路轉(zhuǎn)換成數(shù)字量送入單片機(jī),單片機(jī)再對讀入的幾路數(shù)據(jù)進(jìn)行存儲、比較,然后發(fā)出命令對外圍進(jìn)操作。對方案一、二進(jìn)行比較,方案二硬件稍為復(fù)雜,但能夠?qū)Σ煌瑥?qiáng)度的光進(jìn)行采集以及比較,操作靈活,所以采用方案二。尋找光源電路圖如圖7所示。圖7尋找光源電路圖

3)顯示部分方案一:采用LCD顯示,用單片機(jī)可實現(xiàn)顯示數(shù)據(jù),但顯示亮度和字體大小在演示時不盡人意,價格也比較昂貴。方案二:采用LED七段數(shù)碼管,采用經(jīng)典電路譯碼和驅(qū)動,電路結(jié)構(gòu)簡單,并且可以實現(xiàn)單片機(jī)I/O口的并用,顯示效果直觀,明亮,調(diào)試容易。故采用LED數(shù)碼管顯示。4)顯示電路如圖8所示。[di Hifig

fig

空滬H

:QM-

Tow-

Tou呎-El EQ DFi.UEl} [IFi'JEJ DFi'.lEJ- Lfi.l-EU [fildEll LFi'UcD圖8顯示電路系統(tǒng)原理及理論分析1) 單片機(jī)最小系統(tǒng)組成單片機(jī)系統(tǒng)是整個智能系統(tǒng)的核心部分,它對各路傳感信號的采集、處理、分析及對各部分整體調(diào)整。主要是組成是:單片機(jī)AT89S52、模數(shù)轉(zhuǎn)換芯片ADC0809、小車驅(qū)動系統(tǒng)芯片L293D、數(shù)碼管顯示的譯碼芯片74LS47、74LS138及各路的傳感器件。2) 避障原理采用紅外線避障方法,利用一管發(fā)射另一管接收,接收管對外界紅外線的接收強(qiáng)弱來判斷障礙物的遠(yuǎn)近,由于紅外線受外界可見光的影響較大,因此用25OHz的信號對38KHZ的載波進(jìn)行調(diào)制,這樣減少外界的一些干擾。接收管輸出TTL電平,有利于單片機(jī)對信號的處理。3) 計程原理通過計算車輪的轉(zhuǎn)數(shù)間接測量距離,在車輪均勻打上透光小孔,當(dāng)車輪轉(zhuǎn)動時,紅外光透射過去,不斷地輸出脈沖,通過單片機(jī)對脈沖計數(shù),再經(jīng)過一個數(shù)據(jù)的處理過程,這樣就可把小車走過的距離計算出來。4)黑帶檢測原理利用光的反射原理,當(dāng)光線照射在白紙上,反射量比較大,反之,照在黑色

物體上,由于黑色對光的吸收,反射回去的量比較少,這樣就可以判斷黑帶軌道

的走向。由于各路傳感器會對單片機(jī)產(chǎn)生一定的干擾,使信號發(fā)生錯誤。因此,

采用一級射極輸出方式對信號進(jìn)行隔離,這樣系統(tǒng)對信號的判斷就比較準(zhǔn)確。系統(tǒng)程序設(shè)計用單片機(jī)定時器T0產(chǎn)生38KHZ的方波,再用定時器T1產(chǎn)生250Hz的方波對38KHZ方波進(jìn)行調(diào)制。為了提高小車反應(yīng)靈敏度,對紅外線接收信號及黑帶檢測信號都采用中斷法來處理。用定時方法對鐵片檢測、計量路程、倒車、拐彎及數(shù)碼管動態(tài)掃描進(jìn)行處理。主程序流程圖見圖9,各子程序圖見圖10、圖11、圖12。圖9主程序流程圖

圖12定時器1中斷子程序調(diào)試及性能分析整機(jī)焊接完畢,首先對硬件進(jìn)行檢查聯(lián)線有無錯誤,再逐步對各模塊進(jìn)行調(diào)試。首先寫入電機(jī)控制小程序,控制其正反轉(zhuǎn),停機(jī)均正常。加入避障子程序,小車運轉(zhuǎn)正常,調(diào)整靈敏度達(dá)最佳效果。加入顯示時間子程序,顯示正常。鐵片檢測依靠接近開關(guān),對檢測信號進(jìn)行處理并實時顯示和發(fā)出聲光信息,無異常狀況。路程顯示部分是對霍爾管脈沖進(jìn)行計數(shù),為了盡量達(dá)到精確,車輪加裝小磁片。接著對黑帶檢測模塊調(diào)試,發(fā)現(xiàn)有時小車會跑出黑帶,經(jīng)判斷是因為紅外線收發(fā)對管靈敏度不高,調(diào)整靈敏度后仍然達(dá)不到滿意效果,疑是受環(huán)境光影響,利用塑料套包圍紅外線收發(fā)后問題解決。趨光電路主要由三個光敏電阻構(gòu)成,調(diào)整三個光敏電阻的角度同時測試軟件,以最佳效果完成趨光功能。整機(jī)綜合調(diào)試,上電后對系統(tǒng)進(jìn)行初始化,接著控制電機(jī)使小車向前行駛,突然發(fā)現(xiàn)系統(tǒng)即刻進(jìn)入外部中斷1,重復(fù)多次測試,結(jié)果都是自動進(jìn)入該中斷。推斷是由剛上電時電機(jī)起動所引起,為了避免上電瞬間的影響,在啟動小車后延時幾毫秒,再開外部中斷,結(jié)果問題解決。允許的話應(yīng)采用雙電源供電,即電機(jī)和電路應(yīng)分開供電,L293D與單片機(jī)之間采用隔離信號控制。這樣就不會出現(xiàn)小車啟動時程序出錯和數(shù)碼管顯示閃動的問題。在計程精度上,可用紅外線原理獲得較高精度。結(jié)論通過各種方案的討論及嘗試,再經(jīng)過多次的整體軟硬件結(jié)合調(diào)試,不斷地對系統(tǒng)進(jìn)行優(yōu)化,智能小車能夠完成各項功能到達(dá)車庫。參考文獻(xiàn)《單片機(jī)應(yīng)用技術(shù)》《周立功單片機(jī)》《單片機(jī)原理與應(yīng)用》《8051單片機(jī)程序設(shè)計與實例》《MCS-51單片機(jī)實驗指導(dǎo)》次 源程序:ORG0000HAJMPMAINORG0003HAJMPINT0ORG000BHAJMPTIM0ORG0013HAJMPINT1ORG0023HAJMPTIM1MAIN:MOVSP,#60HMOVP2,#00HSETBP2.7MOV45H,#00HMOV46H,#00HMOV47H,#00HMOV48H,#00HMOV49H,#2MOV4AH,#00MOV4BH,#00MOV4CH,#00;MOVIP,#0DH;設(shè)置中斷優(yōu)先級;SETBP2.3CLR00H;各標(biāo)志位清零CLR01HCLR02HCLR03HCLR04HCLR05HCLR06HCLR07HCLR08H

CLR09HCLR0AHCLR0BHCLR0CHCLR0DHCLR0EH0CLR0FHCLR10HCLR11H;進(jìn)入C點后停計鐵片標(biāo)志位;CLR12H;開尋光標(biāo)志位MOV53H,#20MOV30H,#0;數(shù)碼管設(shè)置初值MOV31H,#0MOV32H,#0MOV33H,#0MOV34H,#00H;數(shù)碼管位選通碼MOV35H,#10HMOV36H,#20HMOV37H,#30HMOV38H,#40H;數(shù)碼管位選通碼MOV39H,#50HMOV3AH,#60HMOV3BH,#70HMOV3CH,#0;數(shù)碼管設(shè)置初值MOV3DH,#0MOV3EH,#0MOV3FH,#0MOV50H,#250;60H,61H軟件定時Is初值MOV51H,#2MOV52H,#2;62H軟件定時2ms初值MOVP3,#0FFHMOVP1,#17H;啟動小車MOVR7,#20DDEL:ACALLDISP1ACALLDISP2ACALLDISP3;啟動小車后延時ACALLDISP4DJNZR7,DDELSETBP3.2SETBP3.3MOVTMOD,#12H;設(shè)定定時器工作模式MOVMOVTH1,#0F8HTL1,#30H;定時1裝2ms初值MOVTH0,#0F3H;定時0裝12uS初值MOVTL0,#0F3H;SETBIT0;;SETBEX0CLRIT0;SETBIT1;開外部中斷1CLRIT1SETBEX1SETBET0;開定時0SETBTR0SETBET1;開定時1SETBTR1;SETBP3.3SETBEA;SETBP3.3ACALLDISP1ACALLDISP2ACALLDISP3;啟動小車后延時ACALLDISP4主控MAIN1:ACALLDISP1ACALLDISP2ACALLDISP3MAIN1:ACALLDISP1ACALLDISP2ACALLDISP3ACALLDISP4JB0CH,MAIN1ACALLFRJCACALLDIVFRACALLTERSUOACALLREADCENACALLDIVDILLACALLSIMPLEACALLBIJAOACALLQEIKUJNB11H,MAIN1ACALLPANDUAN;ACALLDIVV;ACALLTERSUO;調(diào)用顯示子程序;是否入了車庫后;調(diào)用霍爾傳感子程序;調(diào)用路程處理子程序;調(diào)用鐵片計數(shù)子程序;ADC電壓采樣;ADC采樣電壓比較;是否到達(dá)車庫;尋光行駛方向判斷AJMPMAIN1紅外線發(fā)射與黑帶檢測I J ―~;~~~~~~~~~~~~~~~~顯示子程序;顯示AJMPMAIN1紅外線發(fā)射與黑帶檢測I J ―~;~~~~~~~~~~~~~~~~顯示子程序;顯示8位數(shù)碼管分4組顯示DISP1:MOV5EH,#2MOVR0,#30HMOVR1,#34H;1顯示1、2位DIS1:MOVA,@R0ADDA,@R1MOVP0,AACALLDELAYINCR0INCR1DJNZ5EH,DIS1RETDISP2:MOV5EH,#1MOVR0,#33HMOVR1,#37HDIS2:MOVA,@R0ADDA,@R1MOVP0,AACALLDELAYINCR0INCR1DJNZ5EH,DIS2RET;2顯示3、4位;3顯示;3顯示5、6位MOVR0,#38HMOVR1,#3CHDIS3:MOVA,@R0ADDA,@R1MOVP0,AACALLDELAYINCR0INCR1DJNZ5EH,DIS3CHU3:RET;4顯示;4顯示7、8位DIS4:MOVA,@R0ADDA,@R1MOVP0,AACALLDELAYINCR0INCR1DJNZ5EH,DIS4CHU4:RET采樣電壓子程序SIMPLE:MOVA,#00H;MOVDPTR,#0000H;選IN0通道CLRP2.0MOVDPH,#P2MOVDPL,#00HMOVX@DPTR,A;啟動ADC0809JNBP1.7,$;判斷ADC是否轉(zhuǎn)換完畢;MOVDPTR,#0000HMOVXA,@DPTRMOV40H,A;轉(zhuǎn)換結(jié)果暫存40H單元ACALLDELAY;考慮ADC轉(zhuǎn)換速度MOVA,#00H;MOVDPTR,#0001H;選小1通道CLRP2.0MOVDPH,P2MOVDPL,#01HMOVX@DPTR,A;啟動ADC0809JNBP1.7,$;判斷ADC是否轉(zhuǎn)換完畢;MOVDPTR,#0001HMOVXA,@DPTRMOV41H,A;轉(zhuǎn)換結(jié)果暫存41H單元ACALLDELAY;考慮ADC轉(zhuǎn)換速度MOVA,#00H;MOVDPTR,#0002H;選IN2通道CLRP2.0

MOVDPH,P2MOVDPL,#07HMOVX@DPTR,A;啟動ADC0809JNBP1.7,$;判斷ADC是否轉(zhuǎn)換完畢;MOVDPTR,#0002HMOVXA,@DPTRMOV42H,A;轉(zhuǎn)換結(jié)果暫存42H單元ACALLDELAY;考慮ADC轉(zhuǎn)換速度ACALLDISP1;調(diào)用顯示子程序ACALLDISP2ACALLDISP3ACALLDISP4MOVA,#00H;MOVDPTR,#0002H;選IN3通道CLRP2.0MOVDPH,P2MOVDPL,#02HMOVX@DPTR,A;啟動ADC0809JNBP1.7,$;判斷ADC是否轉(zhuǎn)換完畢MOVXA,@DPTRMOV43H,A;轉(zhuǎn)換結(jié)果暫存43H單元ACALLDELAY;考慮ADC轉(zhuǎn)換速度RET電壓比較子程序BIJAO:CLR20HCLR21HCLR22HMOVA,40HCJNEA,41H,BJBJ:JNBCY,IN0MOVA,41HCJNEA,42H,BJ5BJ5:JNBCY,IN1SETB22HAJMPEXITIN1:SETB21HAJMPEXITIN0:CJNEA,42H,BJ3BJ3:JNBCY,BJ4SETB22HAJMPEXIT;標(biāo)志位清零;比較IN0通道大或IN1通道大;比較IN1通道大或IN2通道大;比較IN0通道大或IN2通道大BJ4:SETB20HEXIT:RETPANDUAN:JB20H,ZUOJB21H,PEXITJB22H,YOUZUO:CLRP1.0MOVR3,#100ZZ:ACALLDISP1ACALLDISP2ACALLDISP3ACALLDISP4DJNZR3,ZZ;轉(zhuǎn)彎時間;調(diào)用顯示子程序SETBP1.0AJMPPEXITYOU:CLRP1.1;轉(zhuǎn)彎時間;調(diào)用顯示子程序;轉(zhuǎn)彎時間;調(diào)用顯示子程序YY:ACALLDISP1ACALLDISP2ACALLDISP3ACALLDISP4DJNZR3,YYSETBP1.1PEXIT:RETINT0:CLREAJB00H,RETERSETB00H;SETB12H;MOVP1,#6BHSETB03HMOV5AH,#23MOV5BH,#16RETER:SETBEARETI;是否處于中斷中外部中斷0服務(wù)子程序;是否處于中斷中;反轉(zhuǎn);設(shè)03H為反轉(zhuǎn)標(biāo)志位;倒車延時寄存器6BH*40MS;轉(zhuǎn)彎延時寄存器6CH*40MS外部中斷1服務(wù)INT1:CLREAJB00H,INT1EXITSETB00H

;MOVNOPNOPJNBJNBAJMPP2,#0FFHP2.1,HDZP2.2,HDYINT1EXIT;掃描左黑帶信號;掃描右黑帶信號HDZ:SETB01H;左黑帶檢測CLRP1.0MOV59H,#7;轉(zhuǎn)彎延時寄存器AJMPINT1EXITHDY:SETB02H;右黑帶檢測CLRP1.1MOV58H,#7;轉(zhuǎn)彎延時寄存器AJMPINT1EXITINT1EXIT:SETBEAREDEXQ:RETI;***********定時器1之,1秒計時,250Hz紅外線波,倒車延時,車轉(zhuǎn)彎子程序?*******************250Hz外線波產(chǎn)牛***********************************TIM1:PUSHACCPUSHPSWMOVTH1,#0F8HMOVTL1,#40HDJNZ52H,HINGCLRP1.6CLRET0MOV52H,#2AJMPTTIMEHING:SETBP1.6SETBET0定時掃描法計鐵片數(shù)標(biāo)志位TTIME:JB11H,FR;有鐵片否;鐵片計數(shù)單元;有鐵片否;鐵片計數(shù)單元JB05H,FRSETB07SETB08HSETB0DH

SETB0AH;是否處于鐵片中SETB09HSETB05HMOV4AH,#15;發(fā)聲控制長短MOV4BH,#20;發(fā)聲控制長短AJMPFRTETPIN:CLR05H;$$$$$$$$$$$$$$$$$霍爾元件計路程標(biāo)志位$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$FR:JBP2.4,ZDSETB06H40MS延時ZD:JNB00H,HDAIDJNZ53H,HDAIZD:JNB00H,HDAIDJNZ53H,HDAIMOV53H,#20;40MS定時是否到;40MS再送初值;********************黑帶轉(zhuǎn)彎延時****************************JNB01H,HDZCDJNZ59H,ALLEXSETBP1.0;左黑帶CLRAJMP01HQLHDZC:JNB02H,HDYC;右黑帶DJNZ58H,ALLEXSETBP1.1CLR02HAJMPQL;###############倒車延時########################################HDYC:JNB03H,REDEXMOVP1,#6BHCLR07HDJNZ5AH,ALLEX;紅外線倒車延時是否到CLRP1.0;倒車時轉(zhuǎn)彎CLR03HSETB04HNOPREDEX:JNB04H,ALLEX;車轉(zhuǎn)彎延時標(biāo)志位DJNZ5BH,ALLEX;車轉(zhuǎn)彎延時是否到

MOVP1,#17H;車轉(zhuǎn)彎后直行CLR04HSETB11H04H11H00HMOVP1,#17H;車轉(zhuǎn)彎后直行CLR04HSETB11H04H11H00H;設(shè)尋光標(biāo)志位QL:CLR00H

ALLEX:AJMPHDAI發(fā)聲長短控制HDAI:JB10H,ONESJNB0DH,YELMOV4CH,33HSETB0EHYEL:JNB0EH,ONESJB0FH,CCLLCLRP2.7DJNZ4AH,ONESDJNZ4BH,ALARMCLR0DHMOV4AH,#15MOV4BH,#20SETB0FHAJMPONESCCLL:SETBP2.7DJNZ4AH,ONESDJNZ4BH,ALARMCLR0FHMOV4AH,#15MOV4BH,#20DJNZ4CH,ONESCLR0EHAJMPONESALARM:MOV4AH,#20;######################借助1秒計代C點停車延時##############################ONES:DJNZ50H,PP1DJNZ51H,PP12 ;1秒到否??JNBOBH,ONEMI ;是否已在C點DJNZ48H,0NEMI ;48H*1秒時間到否??SETBP1.0 ;是,則再次啟動小車SETBP1.1SETBP2.7;關(guān)鋒鳴器;;SETB11H;設(shè)尋光標(biāo)志位CLR10HCLR0DHCLR0EH;清用過標(biāo)志位CLR0BHCLREX1;關(guān)黑帶尋軌SETBEX0;開避障功能;#############################1秒計時########################ONEMI:INC3FHMOVA,3FHCJNEA,#10,PPMOV3FH,#0INC3EHMOVA,3EHCJNEA,#10,PPMOV3EH,#0PP:MOV51H,#2PP12:MOV50H,#250PP1:POPPSWPOPACCRETI;~~~~~~~~~~定時0中斷服務(wù)TIM0:CPLP1.6RETUR:RETIDELAY:MOVR5,#21KK1:MOVR6,#11DJNZR6,$DJNZR5,KK1RETDELAY1:MOVR2,#65;100,921usQQ:LCALLDISP1LCALLDISP2JNBP3.1,KK111MOVR2,#1AJMPKK11KK111:ACALLDISP3ACALLDISP4JNBP3.1,KK11MOVR2,#1KK11:DJNZR2,QQRETDELAY2:MOVR2,#65KKK:LCALLDISP1LCALLDISP2JNBP3.0,KK22MOVR2,#1AJMPKK2KK22:ACALLDISP3ACALLDISP4JNBP3.0,KK2MOVR2,#1KK2:DJNZR2,KKKRETCLJL:INC3FHMOVA,3FHCJNEA,#0AH,LCCMOV3FH,#0INC

溫馨提示

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

評論

0/150

提交評論