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

下載本文檔

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

文檔簡(jiǎn)介

智能小車的設(shè)計(jì)與制作《智能電動(dòng)小車》摘要:本課題組設(shè)計(jì)制作了一款具有智能判斷功能的小車,功能強(qiáng)大。小車具有以下幾個(gè)功能:自動(dòng)避障功能;尋跡功能(按路面的黑色軌道行駛);趨光功能(尋找前方的點(diǎn)光源并行駛到位);檢測(cè)路面所放置的鐵片的個(gè)數(shù)的功能;計(jì)算并顯示所走的路程和行走的時(shí)間,并可發(fā)聲發(fā)光。作品可以作為高級(jí)智能玩具,也可以作為大學(xué)生學(xué)習(xí)嵌入式控制的強(qiáng)有力的應(yīng)用實(shí)例。作品以兩電動(dòng)機(jī)為主驅(qū)動(dòng),通過各類傳感器件來采集各類信息,送入主控單元AT89S52單片機(jī),處理數(shù)據(jù)后完成相應(yīng)動(dòng)作,以達(dá)到自身控制。電機(jī)驅(qū)動(dòng)電路采用高電壓,高電流,四通道驅(qū)動(dòng)集成芯片L293D。其中避障采用紅外線收發(fā)來完成;鐵片檢測(cè)部分采用電感式接近開關(guān)LJ18A3-8-Z/BX檢測(cè);黑帶檢測(cè)采用紅外線接收二極管完成;趨光部分通過3路光敏二極管對(duì)光源信號(hào)的采集,再經(jīng)過ADC0809轉(zhuǎn)化為數(shù)字信號(hào)送單片機(jī)處理判別方向。由控制單元處理數(shù)據(jù)后完成相應(yīng)動(dòng)作,實(shí)現(xiàn)了無人控制即可完成一系列動(dòng)作,相當(dāng)于簡(jiǎn)易機(jī)器人。關(guān)鍵字:智能控制避障紅外線收發(fā)尋跡行駛趨光行駛總體方案論證與比較方案一:采用各類數(shù)字電路來組成小車的控制系統(tǒng),對(duì)外圍避障信號(hào),黑帶檢測(cè)信號(hào),鐵片檢測(cè)信號(hào),各路趨光信號(hào)進(jìn)行處理。本方案電路復(fù)雜,靈活性不高,效率低,不利于小車智能化的擴(kuò)展,對(duì)各路信號(hào)處理比較困難。方案二:采用ATM89S52單片機(jī)來作為整機(jī)的控制單元。紅外線探頭采用市面上通用的發(fā)射管與及接收頭,經(jīng)過單片機(jī)調(diào)制后發(fā)射。鐵片檢測(cè)采用電感式接近開關(guān)LJ18A3-8-Z/BX檢測(cè),黑帶采用光敏二極管對(duì)光源信號(hào)采集,再經(jīng)過ADC0809轉(zhuǎn)化為數(shù)字信號(hào)送到單片機(jī)系統(tǒng)處理。此系統(tǒng)比較靈活,采用軟件方法來解決復(fù)雜的硬件電路部分,使系統(tǒng)硬件簡(jiǎn)潔化,各類功能易于實(shí)現(xiàn),能很好地滿足題目的要求。比較以上兩種方案的優(yōu)缺點(diǎn),方案二簡(jiǎn)潔、靈活、可擴(kuò)展性好,能達(dá)到題目的設(shè)計(jì)要求,因此采用方案二來實(shí)現(xiàn)。方案二的基本原理如圖1所示。圖1智能車運(yùn)行基本原理圖框圖避障部分采用紅外線發(fā)射和接受原理。鐵片檢測(cè)采用電感式接近開關(guān)LJ18A3-8-Z/BX檢測(cè),產(chǎn)生的高低電平信號(hào)經(jīng)過處理后,完成相應(yīng)的記錄數(shù)目,驅(qū)動(dòng)蜂鳴器發(fā)聲。黑帶尋跡依靠安裝在車底部左右兩個(gè)光敏二極管對(duì)管來對(duì)地面反射光感應(yīng)。尋光設(shè)計(jì)在小車前端安裝3路(左、中、右)光敏電阻對(duì)光源信號(hào)采集,模擬信號(hào)經(jīng)過ADC0809轉(zhuǎn)化為數(shù)字信號(hào)送到MCU處理。記程通過在車輪上安裝小磁塊,再用霍爾管感應(yīng)產(chǎn)生計(jì)數(shù)脈沖。記時(shí)由軟件實(shí)現(xiàn),顯示采用普通七段LED。此系統(tǒng)比較靈活,采用軟件方法來解決復(fù)雜的硬件電路部分,使系統(tǒng)硬件簡(jiǎn)潔化,各類功能易于實(shí)現(xiàn)。模塊電路設(shè)計(jì)與比較1)避障方案選擇方案一:采用超聲波避障,超聲波受環(huán)境影響較大,電路復(fù)雜,而且地面對(duì)超聲波的反射,會(huì)影響系統(tǒng)對(duì)障礙物的判斷。方案二:采用紅外線避障,利用單片機(jī)來產(chǎn)生38KHz信號(hào)對(duì)紅外線發(fā)射管進(jìn)行調(diào)制發(fā)射,發(fā)射出去的紅外線遇到避障物的時(shí)候反射回來,紅外線接收管對(duì)反射回來信號(hào)進(jìn)行解調(diào),輸出TTL電平。外界對(duì)紅外信號(hào)的干擾比較小,且易于實(shí)現(xiàn),價(jià)格也比較便宜,故采用方案二。紅外線發(fā)射接受電路原理圖如圖2所示。采用紅外線避障方法,利用一管發(fā)射另一管接收,接收管對(duì)外界紅外線的接收強(qiáng)弱來判斷障礙物的遠(yuǎn)近,由于紅外線受外界可見光的影響較大,因此用250Hz的信號(hào)對(duì)38KHz的載波進(jìn)行調(diào)制,這樣減少外界的一些干擾。接收管輸出TTL電平,有利于單片機(jī)對(duì)信號(hào)的處理。采用紅外線發(fā)射與接收原理。利用單片

機(jī)產(chǎn)生38KHz信號(hào)對(duì)紅外線發(fā)射管進(jìn)行調(diào)制發(fā)射,發(fā)射距離遠(yuǎn)近由RW調(diào)節(jié),本設(shè)計(jì)調(diào)節(jié)為10CM左右。發(fā)射出去的紅外線遇到避障物的時(shí)候反射回來,紅外線接收管對(duì)反射回來信號(hào)進(jìn)行解調(diào),輸出TTL電平。利用單片機(jī)的中斷系統(tǒng),在遇障礙物時(shí)控制電機(jī)并使小車轉(zhuǎn)彎。由于只采用了一組紅外線收發(fā)對(duì)管,在避障轉(zhuǎn)彎方向上,程序采用遇障礙物往左拐方式。如果要求小車正確判斷左轉(zhuǎn)還是右轉(zhuǎn),需在小車側(cè)邊加多一組對(duì)管。外界對(duì)紅外信號(hào)的干擾比較小,性價(jià)比高。。調(diào)試時(shí)主要是調(diào)制發(fā)射頻率為接收頭能接收的頻率,采用單片機(jī)程序解決。發(fā)射信號(hào)強(qiáng)弱的調(diào)節(jié),由可調(diào)精密電阻調(diào)節(jié)。VCCWVCCW圖2紅外線發(fā)射接受電路原理圖2)檢測(cè)鐵片方案選擇方案一:采用電渦流原理自制的傳感器,取才方便,但難以調(diào)試,輸出信號(hào)也不可靠,成功率比較低,難以準(zhǔn)確輸出傳感信息。方案二:采用市面易購的電感式接近開關(guān),本系統(tǒng)采用市面比較通用LJ18A3-8-Z/BX來完成鐵片檢測(cè)的任務(wù)。雖然電感式接近開關(guān)占的體積大,對(duì)本是可以接受,且輸出信號(hào)較可靠,穩(wěn)定性好,受外界的干擾小,故采用方案二。檢測(cè)鐵片電路原理圖如圖3所示。圖3檢測(cè)鐵片電路原理圖3) 聲音提示方案一:采用單片機(jī)產(chǎn)生不同的頻率信號(hào)來完成聲音提示,此方案能完成聲音提示功能,給人以提示的可懂性比較差,但在一定程度上能滿足要求,而且易于實(shí)現(xiàn),成本也不高,我們出自經(jīng)費(fèi)方面考慮,采用方案一。方案二:采用DS1420可分段錄放音模塊,能夠給人以直觀的提示,但DS1420錄放音模塊價(jià)格比較高,也可以采用此方案來處理,但方案二性價(jià)比不如方案一。4) 黑帶檢測(cè)方案選擇方案一:采用發(fā)光二極管發(fā)光,用光敏二極管接收。由于光敏二極管受可見光的影響較大,穩(wěn)定性差。方案二:利用紅外線發(fā)射管發(fā)射紅外線,紅外線二極管進(jìn)行接收。采用紅外線發(fā)射,外面可見光對(duì)接收信號(hào)的影響較小,再用射極輸出器對(duì)信號(hào)進(jìn)行隔離。本方案也易于實(shí)現(xiàn),比較可靠,因此采用方案二。黑帶檢測(cè)電路圖如圖4所示。輸出信號(hào)進(jìn)入74LS02。穩(wěn)定性能得到提升。當(dāng)小車低部的某邊紅外線收發(fā)對(duì)管遇到黑帶時(shí)輸入電平為高電平,反之為低電平。結(jié)合中斷查詢方式,通過程序控制小車往哪個(gè)方向行走。電路中的可調(diào)電阻可調(diào)節(jié)靈敏度,以滿足小車在不同光度的環(huán)境光中能夠?qū)ほE。由于接收對(duì)管裝在車底,發(fā)射距離的遠(yuǎn)近較難控制,調(diào)節(jié)可調(diào)電阻,發(fā)現(xiàn)靈敏度總是不盡人意,最后采用在對(duì)管上套一塑料管,屏蔽外界光的影響,靈敏度大幅提升。再是轉(zhuǎn)彎的時(shí)間延遲短長(zhǎng)控制。

VCCJV寶挺職暇號(hào)用屆其歸醐號(hào)用VCCJV寶挺職暇號(hào)用屆其歸醐號(hào)用圖4黑帶檢測(cè)電路圖3)計(jì)量路程方案方案一:利用紅外線對(duì)射方式,在小車的車輪開一些透光孔來計(jì)量車輪轉(zhuǎn)過圈數(shù),從而間接地測(cè)量路程。方案二:利用霍爾元件來對(duì)轉(zhuǎn)過的車輪圈數(shù)來計(jì)程,在車輪子上裝小磁片,霍爾元件靠近磁片一次計(jì)程為車輪周長(zhǎng)。此方案?jìng)鞲械男盘?hào)強(qiáng),電路簡(jiǎn)單,但精度不高。如果想達(dá)到一定的計(jì)量精度,用霍爾傳感元件比較難以實(shí)現(xiàn),因?yàn)樵谲囕喩涎b一定量的小磁片會(huì)相互影響,而利用紅外線對(duì)射方式不會(huì)影響各自的脈沖,可達(dá)到厘米的精度,因此采用方案一來實(shí)現(xiàn)。計(jì)量路程示意圖見圖5。通過計(jì)算車輪的轉(zhuǎn)數(shù)間接測(cè)量距離,利用了霍爾元件感應(yīng)磁塊產(chǎn)生脈沖的原理,再對(duì)脈沖進(jìn)行計(jì)數(shù)。另可采用紅外線原理提高記程精度,其方法為在車輪均勻打上透光小孔,當(dāng)車輪轉(zhuǎn)動(dòng)時(shí),紅外光透射過去,不斷地輸出脈沖,通過單片機(jī)對(duì)脈沖計(jì)數(shù),再經(jīng)過一個(gè)數(shù)據(jù)的處理過程,這樣就可把小車走過的距離計(jì)算出來,小孔越多,計(jì)數(shù)越精密。

圖5計(jì)量路程示意圖3)智能車驅(qū)動(dòng)電路方案一:采用分立元件組成的平衡式驅(qū)動(dòng)電路,這種電路可以由單片機(jī)直接對(duì)其進(jìn)行操作,但由于分立元件占用的空間比較大,還要配上兩個(gè)繼電器,考慮到小車的空間問題,此方案不夠理想。方案二:因?yàn)樾≤囯姍C(jī)裝有減速齒輪組,考慮不需調(diào)速功能,采用市面易購的電機(jī)驅(qū)動(dòng)芯片L293D,該芯片是利用TTL電平進(jìn)行控制,對(duì)電機(jī)的操作方便,通過改變芯片控制端的輸入電平,即可以對(duì)電機(jī)進(jìn)行正反轉(zhuǎn)操作,很方便單片機(jī)的操作,亦能滿足直流減速電機(jī)的要求。智能車驅(qū)動(dòng)電路實(shí)現(xiàn)如圖6所示。圖6智能車驅(qū)動(dòng)電路小車電機(jī)為直流減速電機(jī),帶有齒輪組,考慮不需調(diào)速功能,采用電機(jī)驅(qū)動(dòng)芯片L293D。L293D是著名的SGS公司的產(chǎn)品。為單塊集成電路,高電壓,高電流,四通道驅(qū)動(dòng),設(shè)計(jì)用來接收DTL或者TTL邏輯電平,驅(qū)動(dòng)感性負(fù)載(比如繼電器,直流和步進(jìn)馬達(dá)),和開關(guān)電源晶體管。內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路。其額定工作電流為1A,最大可達(dá)1.5A,Vss電壓最小4.5V,最大可達(dá)36V;Vs電壓最大值也是36V,經(jīng)過實(shí)驗(yàn),Vs電壓應(yīng)該比Vss電壓高,否則有時(shí)會(huì)出現(xiàn)失控現(xiàn)象。表1是其使能、輸入引腳和輸出引腳的邏輯關(guān)系。表1引腳和輸出引腳的邏輯關(guān)系ENA(B)IN1(IN3)IN2(IN4) 電機(jī)運(yùn)行情況正轉(zhuǎn)

HL H反轉(zhuǎn)H同IN2(IN4)同IN1(IN3)快速停止LX X停止L293D可直接的對(duì)電機(jī)進(jìn)行控制,無須隔離電路。通過單片機(jī)的I/O輸入改變芯片控制端的電平,即可以對(duì)電機(jī)進(jìn)行正反轉(zhuǎn),停止的操作,非常方便,亦能滿足直流減速電機(jī)的大電流要求。調(diào)試時(shí)在依照上表,用程序輸入對(duì)應(yīng)的碼值,能夠?qū)崿F(xiàn)對(duì)應(yīng)的動(dòng)作,調(diào)試通過。3)尋找光源功能方案一:在小車前面裝上幾個(gè)光電開關(guān),通過不同方向射來的光使光電開關(guān)工作,從而對(duì)小車行駛方向進(jìn)行控制,根據(jù)光電開關(guān)特性,只有當(dāng)光達(dá)到一定強(qiáng)度時(shí)才能夠?qū)?,因此帶有一定的局限性。方案二:在小車前面裝上參數(shù)一致的光敏二極管或者光敏電阻,再通過A/D轉(zhuǎn)換電路轉(zhuǎn)換成數(shù)字量送入單片機(jī),單片機(jī)再對(duì)讀入的幾路數(shù)據(jù)進(jìn)行存儲(chǔ)、比較,然后發(fā)出命令對(duì)外圍進(jìn)操作。對(duì)方案一、二進(jìn)行比較,方案二硬件稍為復(fù)雜,但能夠?qū)Σ煌瑥?qiáng)度的光進(jìn)行采集以及比較,操作靈活,所以采用方案二。尋找光源電路圖如圖7所示。圖7尋找光源電路圖

3)顯示部分方案一:采用LCD顯示,用單片機(jī)可實(shí)現(xiàn)顯示數(shù)據(jù),但顯示亮度和字體大小在演示時(shí)不盡人意,價(jià)格也比較昂貴。方案二:采用LED七段數(shù)碼管,采用經(jīng)典電路譯碼和驅(qū)動(dòng),電路結(jié)構(gòu)簡(jiǎn)單,并且可以實(shí)現(xiàn)單片機(jī)I/O口的并用,顯示效果直觀,明亮,調(diào)試容易。故采用LED數(shù)碼管顯示。4)顯示電路如圖8所示。[dl Hi Dll g 51; [dlrDrD電fig:QM-a?To也-El EQ DFi.UEl} [IFi'JEJ DFi'.lEJ- Lfi.l-EU [fildEll LFi'UcD系統(tǒng)原理及理論分析1) 單片機(jī)最小系統(tǒng)組成單片機(jī)系統(tǒng)是整個(gè)智能系統(tǒng)的核心部分,它對(duì)各路傳感信號(hào)的采集、處理、分析及對(duì)各部分整體調(diào)整。主要是組成是:?jiǎn)纹瑱C(jī)AT89S52、模數(shù)轉(zhuǎn)換芯片ADC0809、小車驅(qū)動(dòng)系統(tǒng)芯片L293D、數(shù)碼管顯示的譯碼芯片74LS47、74LS138及各路的傳感器件。2) 避障原理采用紅外線避障方法,利用一管發(fā)射另一管接收,接收管對(duì)外界紅外線的接收強(qiáng)弱來判斷障礙物的遠(yuǎn)近,由于紅外線受外界可見光的影響較大,因此用250Hz的信號(hào)對(duì)38KHz的載波進(jìn)行調(diào)制,這樣減少外界的一些干擾。接收管輸出TTL電平,有利于單片機(jī)對(duì)信號(hào)的處理。3) 計(jì)程原理通過計(jì)算車輪的轉(zhuǎn)數(shù)間接測(cè)量距離,在車輪均勻打上透光小孔,當(dāng)車輪轉(zhuǎn)動(dòng)時(shí),紅外光透射過去,不斷地輸出脈沖,通過單片機(jī)對(duì)脈沖計(jì)數(shù),再經(jīng)過一個(gè)數(shù)據(jù)的處理過程,這樣就可把小車走過的距離計(jì)算出來。4)黑帶檢測(cè)原理利用光的反射原理,當(dāng)光線照射在白紙上,反射量比較大,反之,照在黑色

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

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

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

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

CLR09HCLR0AHCLR0BHCLR0CHCLR0DHCLR0EH0CLR0FHCLR10HCLR11H;進(jìn)入C點(diǎn)后停計(jì)鐵片標(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軟件定時(shí)1s初值MOV51H,#2MOV52H,#2;62H軟件定時(shí)2ms初值MOVP3,#0FFHMOVP1,#17H;啟動(dòng)小車MOVR7,#20DDEL:ACALLDISP1ACALLDISP2ACALLDISP3;啟動(dòng)小車后延時(shí)ACALLDISP4DJNZR7,DDELSETBP3.2SETBP3.3MOVTMOD,#12H;設(shè)定定時(shí)器工作模式MOVMOVTH1,#0F8HTL1,#30H;定時(shí)1裝2ms初值MOVTH0,#0F3H;定時(shí)0裝12uS初值MOVTL0,#0F3H;SETBIT0;;SETBEX0CLRIT0;SETBIT1;開外部中斷1CLRIT1SETBEX1SETBET0;開定時(shí)0SETBTR0SETBET1;開定時(shí)1SETBTR1;SETBP3.3SETBEA;SETBP3.3ACALLDISP1ACALLDISP2ACALLDISP3;啟動(dòng)小車后延時(shí)ACALLDISP4主控MAIN1:ACALLDISP1ACALLDISP2ACALLDISP3ACALLDISP4JB0CH,MAIN1ACALLFRJCACALLDIVFRACALLTERSUOACALLREADCENACALLDIVDILLACALLSIMPLEACALLBIJAOACALLQEIKUJNB11H,MAIN1ACALLPANDUAN;ACALLDIVV;ACALLTERSUO;調(diào)用顯示子程序;是否入了車庫后;調(diào)用霍爾傳感子程序;調(diào)用路程處理子程序;調(diào)用鐵片計(jì)數(shù)子程序;ADC電壓采樣;ADC采樣電壓比較;是否到達(dá)車庫;尋光行駛方向判斷AJMPMAIN1紅外線發(fā)射與黑帶檢測(cè); 顯示子程序;顯示8位數(shù)碼管分4組顯示DISP1:MOV5EH,#2 ;1顯示1、2位MOVR0,#30HMOVR1,#34HDIS1:MOVA,@R0ADDA,@R1MOVP0,AACALLDELAYINCR0INCR1DJNZ5EH,DIS1RETDISP2:MOV5EH,#1MOVR0,#33HMOVR1,#37HDIS2:MOVA,@R0ADDA,@R1MOVP0,AACALLDELAYINCR0INCR1DJNZ5EH,DIS2RETDISP3:MOV5EH,#2MOVR0,#38HMOVR1,#3CHDIS3:MOVA,@R0ADDA,@R1MOVP0,AACALLDELAYINCR0INCR1;2顯示3、4位;3顯示5、6位DJNZ5EH,DIS3CHU3:RET;4顯示7、;4顯示7、8位MOVR0,#3AHMOVR1,#3EHDIS4:MOVA,@R0ADDA,@R1MOVP0,AACALLDELAYINCR0INCR1DJNZ5EH,DIS4CHU4:RET采樣電壓子程序SIMPLE:MOVA,#00H;MOVDPTR,#0000H;選IN0通道CLRP2.0MOVDPH,#P2MOVDPL,#00HMOVX@DPTR,A;啟動(dòng)ADC0809JNBP1.7,$;判斷ADC是否轉(zhuǎn)換完畢;MOVDPTR,#0000HMOVXA,@DPTRMOV40H,A;轉(zhuǎn)換結(jié)果暫存40H單元ACALLDELAY;考慮ADC轉(zhuǎn)換速度MOVA,#00H;MOVDPTR,#0001H;選51通道CLRP2.0MOVDPH,P2MOVDPL,#01HMOVX@DPTR,A;啟動(dòng)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;啟動(dòng)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;啟動(dòng)ADC0809JNBP1.7,$;判斷ADC是否轉(zhuǎn)換完畢MOVXA,@DPTRMOV43H,A;轉(zhuǎn)換結(jié)果暫存43H單元ACALLDELAY;考慮ADC轉(zhuǎn)換速度RET電壓比較子程序BIJAO:CLR20HCLR21HCLR22HBIJAO:CLR20HCLR21HCLR22HMOVA,40HCJNEA,41H,BJBJ:JNBCY,IN0MOVA,41HCJNEA,42H,BJ5BJ5:JNBCY,IN1SETB22HAJMPEXITIN1:SETB21HAJMPEXITIN0:CJNEA,42H,BJ3BJ3:JNBCY,BJ4SETB22HAJMPEXIT;比較IN0通道大或IN1通道大;比較IN1通道大或IN2通道大;比較IN0通道大或IN2通道大BJ4:SETB20HEXIT:RETPANDUAN:JB20H,ZUOJB21H,PEXITJB22H,YOUZUO:CLRP1.0;轉(zhuǎn)彎時(shí)間;調(diào)用顯示子程序;轉(zhuǎn)彎時(shí)間;調(diào)用顯示子程序ZZ:ACALLDISP1ACALLDISP2ACALLDISP3ACALLDISP4DJNZR3,ZZSETBP1.0AJMPPEXITYOU:CLRP1.1;轉(zhuǎn)彎時(shí)間;調(diào)用顯示子程序;轉(zhuǎn)彎時(shí)間;調(diào)用顯示子程序YY:ACALLDISP1ACALLDISP2ACALLDISP3ACALLDISP4DJNZR3,YYSETBP1.1PEXIT:RET外部中斷0服務(wù)子程序INT0:CLREAJB00H,RETER;是否處于中斷中SETB00H;SETB12H;MOVP1,#6BH;反轉(zhuǎn)SETB03H;設(shè)03H為反轉(zhuǎn)標(biāo)志位MOV5AH,#23;倒車延時(shí)寄存器6BH*40MSMOV5BH,#16;轉(zhuǎn)彎延時(shí)寄存器6CH*40MSRETER:SETBEARETI外部中斷1服務(wù)INT1:CLREAJB00H,INT1EXITSETB00H

;MOVP2,#0FFHNOPNOPJNBP2.1,HDZ;掃描左黑帶信號(hào)JNBP2.2,HDY;掃描右黑帶信號(hào)AJMPINT1EXITHDZ:SETB01H;左黑帶檢測(cè)CLRP1.0MOV59H,#7;轉(zhuǎn)彎延時(shí)寄存器AJMPINT1EXITHDY:SETB02H;右黑帶檢測(cè)CLRP1.1MOV58H,#7;轉(zhuǎn)彎延時(shí)寄存器AJMPINT1EXITINT1EXIT:SETBEAREDEXQ:RETI;***********定時(shí)器1之,1秒計(jì)時(shí),250Hz紅外線波,倒車延時(shí),車轉(zhuǎn)彎子程序""""""""""""""""個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè);*******************250Hz紅外線波產(chǎn)生***********************************TIM1:PUSHACCPUSHPSWMOVTH1,#0F8HMOVTL1,#40HDJNZ52H,HINGCLRP1.6CLRET0MOV52H,#2AJMPTTIMEHING:SETBP1.6SETBET0; 定時(shí)掃描法計(jì)鐵片數(shù)標(biāo)志位~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~TTIME:JB11H,FR;有鐵片否;;有鐵片否;鐵片計(jì)數(shù)單元JB05H,FRSETB07SETB08HSETB0DH

SETB0AHSETB09HSETB05HMOV4AH,#15MOV4BH,#20AJMPFRSETB0AHSETB09HSETB05HMOV4AH,#15MOV4BH,#20AJMPFR;是否處于鐵片中;發(fā)聲控制長(zhǎng)短;發(fā)聲控制長(zhǎng)短TETPIN:CLR05H;$$$$$$$$$$$$$$$$$霍爾元件計(jì)路程標(biāo)志I位$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$FR:JBP2.4,ZDSETB06H ?一r????????????????????????40MS延時(shí)ZD:JNB00H,HDAIDJNZ53H,HDAIZD:JNB00H,HDAIDJNZ53H,HDAIMOV53H,#20;40MS定時(shí)是否到;40MS再送初值;********************黑帶轉(zhuǎn)彎延時(shí)****************************JNB01H,HDZC;左黑帶DJNZ59H,ALLEXSETBP1.0CLR01HAJMPQLHDZC:JNB02H,HDYC;右黑帶DJNZ58H,ALLEXSETBP1.1CLR02HAJMPQL;###############倒車延時(shí)########################################HDYC:JNB03H,REDEXMOVP1,#6BHCLR07HDJNZ5AH,ALLEX;紅外線倒車延時(shí)是否到CLRP1.0;倒車時(shí)轉(zhuǎn)彎CLR03HSETB04HNOPREDEX:JNB04H,ALLEX;車轉(zhuǎn)彎延時(shí)標(biāo)志位DJNZ5BH,ALLEX;車轉(zhuǎn)彎延時(shí)是否到

MOVP1,#17HMOVP1,#17HCLR04HSETB11HQL:CLR00HALLEX:AJMPHDAI;車轉(zhuǎn)彎后直行;設(shè)尋光標(biāo)志位wwwwwwwwwww八、〔.\?f—-t,>.,rt發(fā)聲長(zhǎng)短控制HDAI:JB10H,ONESJNB0DH,YELMOV4CH,33HSETB0EHYEL:JNB0EH,ONESJB0FH,CCLLCLRP2.7DJNZ4AH,ONESDJNZ4BH,ALARMCLR0DHMOV4AH,#15MOV4BH,#20SETB0FHAJMPONESCCLL:SETBP2.7DJNZ4AH,ONESDJNZ4BH,ALARMCLR0FHMOV4AH,#15MOV4BH,#20DJNZ4CH,ONESCLR0EHAJMPONESALARM:MOV4AH,#20;######################借助1秒計(jì)代C點(diǎn)停車延時(shí)##############################ONES:DJNZ50H,PP1DJNZ51H,PP12;1秒到否??JNB0BH,ONEMI;是否已在C點(diǎn)DJNZ48H,ONEMI;48H*1秒時(shí)間到否??SETBP1.0;是,則再次啟動(dòng)小車SETBP1.1SETBP2.7;關(guān)鋒鳴器;;SETB11H;設(shè)尋光標(biāo)志位CLR10HCLR0DHCLR0EH;清用過標(biāo)志位CLR0BHCLREX1;關(guān)黑帶尋軌SETBEX0;開避障功能;#############################1秒計(jì)時(shí)########################ONEMI:INC3FHMOVA,3FHCJNEA,#10,PPMOV3FH,#0INC3EHMOVA,3EHCJNEA,#10,PPMOV3EH,#0PP:MOV51H,#2PP12:MOV50H,#250PP1:POPPSWPOPACCRETIJ?rh|rHr-,R~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; 定時(shí)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,#0INC3EHMOVA,3EHCJN

溫馨提示

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

評(píng)論

0/150

提交評(píng)論