基于單片機(jī)智能遙控小車的設(shè)計(jì)_第1頁
基于單片機(jī)智能遙控小車的設(shè)計(jì)_第2頁
基于單片機(jī)智能遙控小車的設(shè)計(jì)_第3頁
基于單片機(jī)智能遙控小車的設(shè)計(jì)_第4頁
基于單片機(jī)智能遙控小車的設(shè)計(jì)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于單片機(jī)智能遙控小車的設(shè)計(jì)摘要智能作為現(xiàn)代的新發(fā)明,也是以后的發(fā)展方向,它可以按照預(yù)先設(shè)定的模式在一個(gè)環(huán)境里自動(dòng)的運(yùn)作,不需要人為的管理,可應(yīng)用于科學(xué)勘探等等的用途。智能小車就是其中的一個(gè)體現(xiàn)。本次設(shè)計(jì)的簡(jiǎn)易智能小車,采用80C51單片機(jī)作為小車的檢測(cè)和控制核心;采用光敏電阻感應(yīng)外部各方向光線強(qiáng)弱,ADC0809處理相關(guān)信息之后,得到與光強(qiáng)相對(duì)應(yīng)的數(shù)字量,并把信號(hào)送到單片機(jī),單片機(jī)接收信號(hào)之后,按照預(yù)定的工作模式控制小車按照預(yù)先設(shè)計(jì)好的路線或軌道行駛;采用超聲波模塊測(cè)量小車與障礙物距離;采用紅外線遙控遠(yuǎn)程人為控制小車行駛狀態(tài);采用gem4561ae實(shí)時(shí)顯示小車障礙物的距離,小車停止行駛后,輪流顯示小車行駛時(shí)間、行駛距離;本設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單,較容易實(shí)現(xiàn),但具有高度的智能化、人性化,一定程度體現(xiàn)了智能。關(guān)鍵詞:?jiǎn)纹瑱C(jī)80C51;超聲波測(cè)距;紅外遙控;自動(dòng)循跡目錄1前言 62方案設(shè)計(jì)與論證 72.1智能行駛方案 72.1.1尋光方案 72.1.2檢障方案 82.2比較器的選擇 102.3遙控方案的選擇 112.4行車距離檢測(cè) 122.5顯示系統(tǒng) 132.6直流調(diào)速系統(tǒng)的選擇 142.7前行與倒車的控制 152.8系統(tǒng)原理圖 163硬件設(shè)計(jì) 183.180C51單片機(jī)硬件結(jié)構(gòu) 183.2最小應(yīng)用系統(tǒng)設(shè)計(jì) 193.2.1時(shí)鐘電路 193.2.2復(fù)位電路 203.2.3燒寫接口電路 203.3前向通道 213.3.1前向通道的含義 213.3.2超聲波障礙檢測(cè) 213.3.4光源檢測(cè)電路 223.4后向通道 223.4.1PWM脈寬調(diào)速 223.4.2邏輯延時(shí)環(huán)節(jié) 233.4.3電源的設(shè)計(jì) 243.5紅外線遙控電路 243.6顯示電路設(shè)計(jì) 244軟件設(shè)計(jì) 204.1設(shè)計(jì)流程 204.2軟件抗干擾技術(shù) 224.2.1數(shù)字濾波技術(shù) 224.2.2軟件陷阱技術(shù) 224.2.3“看門狗”技術(shù) 224.3程序設(shè)計(jì) 244.3.1紅外解碼 24UPD6121G的編碼 24總結(jié) 26附錄 27參考文獻(xiàn) 41致謝 421前言是一個(gè)智能化的時(shí)代,各種智能化設(shè)備正在逐步替代人為的操作。隨著汽車工業(yè)的迅速發(fā)展,關(guān)于智能汽車的研究也就越來越受人關(guān)注。全國電子大賽和省內(nèi)電子大賽幾乎每次都有智能小車這方面的題目,全國各高校也都很重視該題目的研究。設(shè)計(jì)的智能小車能夠?qū)崟r(shí)顯示時(shí)間、速度、里程,具有自動(dòng)尋跡、尋光、避障功能,可程控行駛速度、紅外遙控行駛。本系統(tǒng)能實(shí)現(xiàn)對(duì)小車的運(yùn)動(dòng)狀態(tài)進(jìn)行實(shí)時(shí)控制,控制靈活、可靠,精度高,可滿足對(duì)系統(tǒng)的各項(xiàng)要求。本設(shè)計(jì)采用MCS-51系列中的80C51單片機(jī)。以80C51為控制核心,利用超聲波傳感器檢測(cè)道路上的障礙并測(cè)量與障礙之間的距離,小車能夠的自動(dòng)避障,快慢速行駛,以及自動(dòng)停車,并可以自動(dòng)記錄時(shí)間、里程和速度,自動(dòng)尋跡和尋光功能。通過對(duì)本小車研究,我們可以初步構(gòu)建智能汽車的模型與理論基礎(chǔ)。對(duì)于智能汽車的研究,國內(nèi)外都有很大的成就,谷歌的無人駕駛汽車,已經(jīng)能夠在高速公路上安全行駛數(shù)千公里,在高速行駛下都能有這么好的操控能力,無非是智能汽車領(lǐng)域的一座里程碑。對(duì)于智能泊車系統(tǒng),現(xiàn)在也已經(jīng)進(jìn)入了民用領(lǐng)域,很多車型也裝配了該系統(tǒng),有了他,汽車用超聲波傳感器掃描路面兩側(cè),通過比較停車的空間和車輛的長度,自動(dòng)尋找合適的停車位。找到合適位置后,駕駛者只需控制剎車,車輛自動(dòng)控制轉(zhuǎn)向操作,即可將車停進(jìn)停車位,并且液晶屏?xí)邢鄳?yīng)的顯示。本設(shè)計(jì)選用的80C51單片機(jī)屬于MCS-51系列單片機(jī),由Intel公司開發(fā),其結(jié)構(gòu)是8048的延伸,改進(jìn)了8048的缺點(diǎn),增加了如乘(MUL)、除(DIV)、減(SUBB)、比較(PUSH)、16位數(shù)據(jù)指針、布爾代數(shù)運(yùn)算等指令,以及串行通信能力和5個(gè)中斷源。采用40引腳雙列直插式DIP(DualInLinePackage),內(nèi)有128個(gè)RAM單元及4K的ROM。80C51有兩個(gè)16位定時(shí)計(jì)數(shù)器,兩個(gè)外中斷,兩個(gè)定時(shí)計(jì)數(shù)中斷,及一個(gè)串行中斷,并有4個(gè)8位并行輸入口。80C51內(nèi)部有時(shí)鐘電路,但需要石英晶體和微調(diào)電容外接,本系統(tǒng)中采用12MHz的晶振頻率。由于80C51的系統(tǒng)性能滿足系統(tǒng)數(shù)據(jù)采集及時(shí)間精度的要求,而且產(chǎn)品產(chǎn)量豐富來源廣,應(yīng)用也很成熟,故采用來作為控制核心。新一代單片機(jī)為外部提供了相當(dāng)完善的總線結(jié)構(gòu),為系統(tǒng)的擴(kuò)展與配置打下了良好的基礎(chǔ)。本設(shè)計(jì)主要研究?jī)?nèi)容就是基于80C51設(shè)計(jì)一部智能小車,小車能夠?qū)崿F(xiàn)自動(dòng)循跡,自動(dòng)避障,自動(dòng)跟隨,超聲波測(cè)量距離,和紅外遙控,尋光行駛的智能小車控制系統(tǒng),包括了對(duì)驅(qū)動(dòng)電路,紅外通訊等的探索和研究。本文主要從小車設(shè)計(jì)方案的選取、硬件設(shè)計(jì)、軟件設(shè)計(jì)、測(cè)試結(jié)果方面進(jìn)行主要論述。在第二章,我們就小車的智能行車、壁障方案的、顯示方案、遙控方案、超聲波測(cè)距方案、直流調(diào)速方案、行駛距離測(cè)量和倒車與前行方案的選擇進(jìn)行論述。在第三章,我們從單片機(jī)的最小系統(tǒng)電路、前向通道、后向通道三個(gè)方面對(duì)系統(tǒng)的硬件電路進(jìn)行了論述和分析。在第四章,我們對(duì)小車的軟件編程方面進(jìn)行論述,包括如何自糾錯(cuò),如何提高算法效率。2方案設(shè)計(jì)與論證2.1智能行駛方案2.1.1尋光方案為了檢測(cè)光線的強(qiáng)弱,我們?cè)谛≤囎笄胺?、右前方加?只光敏傳感器,即光敏電阻。光敏傳感器根據(jù)照射在它上面的光線的強(qiáng)弱,阻值發(fā)生變化,輸出電壓隨之變化,通過ADC0809后,得到與光強(qiáng)相對(duì)應(yīng)的數(shù)字量,從而引導(dǎo)小車,向光源靠近。不同型號(hào)的光敏電阻,暗電阻及亮電阻差別較大,需根據(jù)不同參數(shù)的光敏電阻,選用不同大小的分壓電阻。光敏電阻:光敏電阻器是利用半導(dǎo)體的光電效應(yīng)制成的一種電阻值隨入射光的強(qiáng)弱而改變的電阻器;它的特性可以概括為:入射光強(qiáng),電阻減小,入射光弱,電阻增大。光敏電阻大致可以分為表2-1幾類。表2-1光敏電阻的分類類型特點(diǎn)紫外光敏電阻器對(duì)紫外線較靈敏,包括硫化鎘、硒化鎘光敏電阻器等,用于探測(cè)紫外線。紅外光敏電阻器主要有硫化鉛、碲化鉛、硒化鉛。銻化銦等光敏電阻廣泛用于導(dǎo)彈制導(dǎo)、天文探測(cè)、非接觸測(cè)量、人體病變探測(cè)、紅外光譜,紅外通信等國防、科學(xué)研究和工農(nóng)業(yè)生產(chǎn)中??梢姽夤饷綦娮杵靼ㄎ?、硫化鎘、硒化鎘、碲化鎘、砷化鎵、硅、鍺、硫化鋅光敏電阻器等。主要用于各種光電控制系統(tǒng),如光電自動(dòng)開關(guān)門戶,航標(biāo)燈、路燈和其他照明系統(tǒng)的自動(dòng)亮滅,自動(dòng)給水和自動(dòng)停水裝置,機(jī)械上的自動(dòng)保護(hù)裝置和“位置檢測(cè)器”,極薄零件的厚度檢測(cè)器,照相機(jī)自動(dòng)曝光裝置,光電計(jì)數(shù)器,煙霧報(bào)警器,光電跟蹤系統(tǒng)等方面小車行駛時(shí),尋的是自然光源,所以本設(shè)計(jì)的尋光傳感器選擇上面選擇了可見光光敏電阻作為光線傳感器,同時(shí)也排除了紅外遙控對(duì)于尋光行駛的影響。常用的光敏電阻器有MG41~MG45系列,主要參數(shù)如表2-2所示,根據(jù)小車系統(tǒng)的參數(shù)和縮小體積的原則,我們選用了MG44-2型光敏電阻,該型號(hào)體積小,額定功率也能達(dá)到小車的系統(tǒng)要求。表2-2常用光敏電阻的參數(shù)2.1.2檢障方案?jìng)鞲衅鞯谋容^識(shí)別障礙的首要問題是傳感器的選擇,下面對(duì)幾種傳感器的優(yōu)缺點(diǎn)進(jìn)行說明(見表2.2)。探測(cè)障礙的最簡(jiǎn)單的方法是使用超聲波傳感器,它是利用向目標(biāo)發(fā)射超聲波脈沖,計(jì)算其往返時(shí)間來判定距離的。該方法被廣泛應(yīng)用于移動(dòng)機(jī)器人的研究上。其優(yōu)點(diǎn)是價(jià)格便宜,易于使用,且在10m以內(nèi)能給出精確的測(cè)量。表2-2傳感器性能比較傳感器類型優(yōu)

點(diǎn)缺

點(diǎn)超聲波格合理,夜間不受影響。測(cè)量范圍小,對(duì)天氣變化敏感。視覺易于多目標(biāo)測(cè)量和分類,分辨率好。不能直接測(cè)量距離,算法復(fù)雜,處理速度慢。激光雷達(dá)夜間不受影響不受燈光、天氣影響。對(duì)水、灰塵、燈光敏感。

價(jià)格貴視覺傳感器在CW系統(tǒng)中使用得非常廣泛。其優(yōu)點(diǎn)是尺寸小,價(jià)格合理,在一定的寬度和視覺域內(nèi)可以測(cè)量定多個(gè)目標(biāo),并且可以利用測(cè)量的圖像根據(jù)外形和大小對(duì)目標(biāo)進(jìn)行分類。但是算法復(fù)雜,處理速度慢。雷達(dá)傳感器在軍事和航空領(lǐng)域已經(jīng)使用了幾十年。主要優(yōu)點(diǎn)是可以魯棒地探測(cè)到障礙而不受天氣或燈光條件限制。近十年來隨著尺寸及價(jià)格的降低,在汽車行業(yè)開始被使用。但是仍存在性價(jià)比的問題。超聲波是一種在彈性介質(zhì)中的機(jī)械振蕩,其頻率超過20KHz,分橫向振蕩和縱向振蕩兩種,超聲波可以在氣體、液體及固體中傳播,其傳播速度不同。它有折射和反射現(xiàn)象,且在傳播過程中有衰減。利用超聲波的特性,可做成各種超聲波傳感器,結(jié)合不同的電路,可以制成超聲波儀器及裝置,在通訊、醫(yī)療及家電中獲得廣泛應(yīng)用。所以本設(shè)計(jì)采用T/R-40-12小型超聲波傳感器作為探測(cè)前方障礙物體的檢測(cè)元件。測(cè)距方案的選取當(dāng)利用超聲波探測(cè)器測(cè)距時(shí)常用二種方法——強(qiáng)度法和反射時(shí)間法,強(qiáng)度法是利用聲波在空氣中的傳輸損耗值來測(cè)量被測(cè)物的距離,被測(cè)物越遠(yuǎn)其反射信號(hào)越弱,根據(jù)反射信號(hào)的強(qiáng)弱就可以知道被測(cè)物的遠(yuǎn)近,但在使用這種方法時(shí)由于換能器之間的直接耦合信號(hào)很難消除,在放大器增益較高時(shí)這一直接耦合信號(hào)就可使放大器飽和從而使整套系統(tǒng)失效其原理如圖2.2.1示,由于直接耦合信號(hào)的影響強(qiáng)度法測(cè)距只適合較短距離的且精度要求不高的場(chǎng)合。反射時(shí)間法是利用檢測(cè)聲波發(fā)出到接收到被測(cè)物反射回波的時(shí)間來測(cè)量距離其原理,對(duì)于距離較短和要求不高的場(chǎng)合我們可認(rèn)為空氣中的聲速為常數(shù),我們通過測(cè)量回波時(shí)間T利用公式s=v×(t/2)其中,S為被測(cè)距離、V為空氣中聲速、T為回波時(shí)間(),可以計(jì)算出路程,這種方法不受聲波強(qiáng)度的影響,直接耦合信號(hào)的影響也可以通過設(shè)置“時(shí)間門”來加以克服,因此這種方法非常適合較遠(yuǎn)距離的測(cè)距,如果對(duì)聲速進(jìn)行溫度修訂,其精度還可進(jìn)一步提高,本題中我們選用此方法。2.2比較器的選擇小車對(duì)行駛狀態(tài)的判定,都需要經(jīng)過比較器來完成,所有的狀態(tài)比較最終都轉(zhuǎn)換成為電壓的比較。比較器的特點(diǎn):=1\*GB2⑴工作在開環(huán)或正反饋狀態(tài)。放大、運(yùn)算電路為了實(shí)現(xiàn)性能穩(wěn)定并滿足一定的精度要求,這些電路中的運(yùn)放均引入了深度負(fù)反饋;而為了提高比較器的反應(yīng)速度和靈敏度,它所采用的運(yùn)放不但沒有引入負(fù)反饋,有時(shí)甚至還加正反饋。因此比較器的性能分析方法與放大、運(yùn)算電路是不同的。=2\*GB2⑵非線性。由于比較器中運(yùn)放處于開環(huán)或正反饋狀態(tài),它的兩個(gè)輸入端之間的電位差與開環(huán)電壓放大倍數(shù)的乘積通常超過最大輸出電壓,使其內(nèi)部某些管子進(jìn)入飽和區(qū)或截止區(qū),因此在絕大多數(shù)情況下輸出與輸入不成線性關(guān)系,即在放大、運(yùn)算等電路中常用的計(jì)算方法對(duì)于比較器不再適用。=3\*GB2⑶開關(guān)特性。比較器的輸出通常只有高電平和低電平兩種穩(wěn)定狀態(tài),因此它相當(dāng)與一個(gè)受輸入信號(hào)控制的開關(guān),當(dāng)輸入電壓經(jīng)過閾值時(shí)開關(guān)動(dòng)作,使輸出從一個(gè)電平跳變到另一個(gè)電平。由于比較器的輸入信號(hào)是模擬量,而它的輸出電平是離散的,因此電壓比較器可作為模擬電路與數(shù)字電路之間的過渡電路。由于比較器的上述特點(diǎn),在分析時(shí)既不能象對(duì)待放大電路那樣去計(jì)算放大倍數(shù),也不能象分析運(yùn)算電路那樣去求解輸出與輸入的函數(shù)關(guān)系,而應(yīng)當(dāng)著重抓住比較器的輸出從一個(gè)電平跳變到另一個(gè)電平的臨界條件所對(duì)應(yīng)的輸入電壓值(閾值)來分析輸入量與輸出量之間的關(guān)系。如果在比較器的輸入端加理想階躍信號(hào),那么在理想情況下比較器的輸出也應(yīng)當(dāng)是理想的階躍電壓,而且沒有延遲。但實(shí)際集成運(yùn)放的最大轉(zhuǎn)換速率總是有限的,因此比較器輸出電壓的跳變不可能是理想的階躍信號(hào)。電壓比較器的輸出從低電平變?yōu)楦唠娖剿毜臅r(shí)間稱為響應(yīng)時(shí)間。響應(yīng)時(shí)間越短,響應(yīng)速度越快。減小比較器響應(yīng)時(shí)間的主要方法有:(1)盡可能使輸入信號(hào)接近理想情況,使它在閾值附近的變化接近理想階躍且幅度足夠大。(2)選用集成電壓比較器。(3)如果選用集成運(yùn)放構(gòu)成比較器,為了提高響應(yīng)速度可以加限幅措施,以避免集成運(yùn)放內(nèi)部的管子進(jìn)入深飽和區(qū)。具體措施多為在集成運(yùn)放的兩個(gè)輸入端并聯(lián)二極管。如圖2-4電壓比較器電路所示:圖2-4電壓比較器電路在本設(shè)計(jì)中,光電傳感器只輸出一種高低電平信號(hào)且伴有外界雜波干擾,所以我們嘗試采用了一種滯回比較器。簡(jiǎn)單電壓比較器結(jié)構(gòu)簡(jiǎn)單,而且靈敏度高,但它的抗干擾能力差,也就是說如果輸入信號(hào)因受干擾在閾值附近變化,則比較器輸出就會(huì)反復(fù)的從一個(gè)電平跳到另一個(gè)電平。如果用這樣的輸出電壓控制電機(jī)或繼電器,將出現(xiàn)頻繁動(dòng)作或起停現(xiàn)象。這種情況,通常是不允許的。而滯回比較器則解決了這個(gè)問題。滯回比較器有兩個(gè)數(shù)值不同的閾值,當(dāng)輸入信號(hào)因受干擾或其他原因發(fā)生變化時(shí),只要變化量不超過兩個(gè)閾值之差,滯回比較器的輸出電壓就不會(huì)來回變化。所以抗干擾能力強(qiáng)。但是,滯回比較器畢竟是模擬器件,溫度的漂移是它無法消除的。綜合考慮系統(tǒng)的各項(xiàng)性能,最后我們決定采用數(shù)字器件——施密特觸發(fā)器。施密特觸發(fā)器是雙穩(wěn)態(tài)觸發(fā)器的變形,它有兩個(gè)穩(wěn)定狀態(tài),觸發(fā)方式為電平觸發(fā),只要外加觸發(fā)信號(hào)的幅值增加到足夠大,它就從一個(gè)穩(wěn)定狀態(tài)翻轉(zhuǎn)到另一個(gè)穩(wěn)定狀態(tài)。施密特觸發(fā)器具有與滯回比較器相類似的滯回特性,但施密特觸發(fā)器的抗干擾能力比滯回比較器更強(qiáng)。2.3遙控方案的選擇紅外線又稱紅外光波,在電磁波譜中,光波的波長范圍為0.01um~1000um。根據(jù)波長的不同可分為可見光和不可見光,波長為0.38um~0.76um的光波可為可見光,依次為紅、橙、黃、綠、青、藍(lán)、紫七種顏色。光波為0.01um~0.38um的光波為紫外光(線),波長為0.76um~1000um的光波為紅外光(線)。紅外光按波長范圍分為近紅外、中紅外、遠(yuǎn)紅外、極紅外4類。紅外線遙控是利用近紅外光傳送遙控指令的,波長為0.76um~1.5um。用近紅外作為遙控光源,是因?yàn)槟壳凹t外發(fā)射器件(紅外發(fā)光管)與紅外接收器件(光敏二極管、三極管及光電池)的發(fā)光與受光峰值波長一般為0.8um~0.94um,在近紅外光波段內(nèi),二者的光譜正好重合,能夠很好地匹配,可以獲得較高的傳輸效率及較高的可靠性。由于屬于小范圍內(nèi)遙控,小車在小范圍內(nèi)行駛,為了減少設(shè)計(jì)成本,增加便利性,所以采用常用的家用電視紅外遙控器作為紅外遙控發(fā)射部分,只需在小車上加裝紅外接收裝置即可。定義遙控器的音量減小鍵為左轉(zhuǎn)鍵,音量增大鍵為右轉(zhuǎn)鍵,菜單鍵為停止鍵,增臺(tái)健為啟動(dòng)鍵,實(shí)現(xiàn)小車行駛的基本控制。只需要自己解決紅外接收解碼問題即可。紅外遙控系統(tǒng)的組成如圖2-5所示。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。本論文重點(diǎn)從紅外解碼方面對(duì)紅外遙控進(jìn)行論述。圖2-5紅外遙控的流程2.4行車距離檢測(cè)方案一:采用開關(guān)式霍爾元件將磁鐵固定在小汽車的車輪上,當(dāng)車輪轉(zhuǎn)動(dòng)時(shí),磁鐵也跟著轉(zhuǎn)動(dòng),霍爾元件感應(yīng)到磁場(chǎng)的變化時(shí),就會(huì)產(chǎn)生通斷效果,使單片機(jī)的定時(shí)器T0的輸入端產(chǎn)生高低電平的變化,從而使得T0計(jì)數(shù)小汽車車輪轉(zhuǎn)的圈數(shù),假設(shè)為N,并設(shè)車輪的周長為L,通過S=N*L,就可以計(jì)算出小汽車在一段時(shí)間內(nèi)的行程。這種測(cè)量方法的測(cè)量數(shù)據(jù)只能是車輪周長的整數(shù)倍,誤差較大。例如:小汽車的車輪半徑為1cm,那么這種測(cè)量方法的最小誤差就可達(dá)到6cm方案二:采用透光式光電傳感器,硬件電路如圖2-6所示。圖2-6透光式光電傳感器在小汽車的車輪上鉆若干小孔,設(shè)小孔的個(gè)數(shù)為n。在車輪轉(zhuǎn)動(dòng)時(shí),發(fā)光二極管發(fā)射的光被沒有孔的地方遮擋時(shí),光敏三極管不能導(dǎo)通,光敏三極管的集電極輸出為高電平,經(jīng)CD40106反相后,單片機(jī)定時(shí)器T0的輸入端為低電平。在有小孔的地方,發(fā)光二極管發(fā)射的光就會(huì)透過小孔照射到光敏三極管上,使光敏三極管導(dǎo)通,此時(shí)光敏三極管的集電極輸出為低電平。在經(jīng)CD40106反相后,單片機(jī)定時(shí)器T0的輸入為高電平。單片機(jī)定時(shí)器T0就會(huì)準(zhǔn)確記錄下這種高低電平的變化的次數(shù),即通過的小孔的個(gè)數(shù)。假設(shè)為N,并設(shè)車輪的周長與方案一的相同也是L,某段時(shí)間內(nèi)的行程計(jì)算公式為:S=N*L/n,可以看到這種測(cè)量方法的最小誤差為方案一的1/n,可較為精確地測(cè)量出小汽車的行程。并且可以進(jìn)行誤差控制,因?yàn)榭椎膫€(gè)數(shù)與誤差成反比,要想提高準(zhǔn)確度只要增加小孔的個(gè)數(shù)就可以。故采用方案二。2.5顯示系統(tǒng)本設(shè)計(jì)中用兩片4位八段數(shù)碼管gem4561ae作顯示器,并具有雙重功能,在小車不行駛時(shí)其中一片顯示年﹑月,另一片顯示時(shí)﹑分;當(dāng)小車行駛時(shí),分別顯示時(shí)間和行駛距離。為減輕單片機(jī)的運(yùn)算壓力,使用EM78P458作為顯示驅(qū)動(dòng)芯片。管腳如圖2-7所示,用單片機(jī)的并行口控制,一個(gè)數(shù)碼顯示電路用4個(gè)口線。該芯片共有20個(gè)管腳,管腳LED1﹑LED2﹑LED3﹑LED4分別接10k電阻和三極管后與4位八段數(shù)碼管5461中的a1﹑a2﹑a3﹑a4四個(gè)數(shù)位選擇端相連,這四個(gè)數(shù)位選擇端用來產(chǎn)生LED選通信號(hào)。管腳a﹑b﹑c﹑d﹑e﹑f﹑g﹑dp分別接680歐電阻后與四位八段數(shù)碼管4561中的a﹑b﹑c﹑d﹑e﹑f﹑g﹑dp相連,分別控制各段碼和小數(shù)點(diǎn)。管腳d0﹑d1﹑d2﹑d3接單片機(jī)并行口,通過對(duì)單片機(jī)對(duì)芯片進(jìn)行控制。管腳vss串上10k電阻后與vcc管腳相接后再接+5v電源,管腳gnd接地。圖2-7EM78P458的管腳顯示驅(qū)動(dòng)器支持動(dòng)態(tài)顯示,其顯示功能如表2-3真值表所示,0000-1001顯示從0-9數(shù)字,1010是未進(jìn)位時(shí)是小數(shù)點(diǎn)清位,1011是進(jìn)位后加小數(shù)點(diǎn),1100-1111是八段共陰數(shù)碼管的位選。表2-3顯示驅(qū)動(dòng)芯片真值表D3D2D1D0顯示000000001100102001130100401015011060111710008100191010清小數(shù)點(diǎn)1011加小數(shù)點(diǎn)1100a1選通1101a2選通1110a3選通1111a4選通2.6直流調(diào)速系統(tǒng)的選擇旋轉(zhuǎn)變流系統(tǒng)由交流發(fā)電機(jī)拖動(dòng)直流電動(dòng)機(jī)實(shí)現(xiàn)變流,由發(fā)電機(jī)給需要調(diào)速的直流電動(dòng)機(jī)供電,調(diào)節(jié)發(fā)電機(jī)的勵(lì)磁電流即可改變其輸出電壓,從而調(diào)節(jié)電動(dòng)機(jī)的轉(zhuǎn)速。改變勵(lì)磁電流的方向則輸出電壓的極性和電動(dòng)機(jī)的轉(zhuǎn)向都隨著改變,所以G-M系統(tǒng)的可逆運(yùn)行是很容易實(shí)現(xiàn)的。該系統(tǒng)需要旋轉(zhuǎn)變流機(jī)組,至少包含兩臺(tái)與調(diào)速電動(dòng)機(jī)容量相當(dāng)?shù)男D(zhuǎn)電機(jī),還要一臺(tái)勵(lì)磁發(fā)電機(jī),設(shè)備多、體積大、費(fèi)用高、效率低、維護(hù)不方便等缺點(diǎn)。且技術(shù)落后,因此擱置不用。V-M系統(tǒng)是當(dāng)今直流調(diào)速系統(tǒng)的主要形式。但是他有三個(gè)缺點(diǎn):1.晶閘管的單向?qū)щ娦裕辉试S電流反向,給系統(tǒng)的可逆運(yùn)行造成困難.2.運(yùn)行條件要求高,維護(hù)運(yùn)行麻煩。3.系統(tǒng)處于低速運(yùn)行時(shí),他的功率因素很低,產(chǎn)生較大的諧波電流危害附近用電設(shè)備。脈沖寬度調(diào)制(PulseWidthModulation),簡(jiǎn)稱PWM。脈沖周期不變,只改變晶閘管的導(dǎo)通時(shí)間,即通過改變脈沖寬度來進(jìn)行直流調(diào)速。與V-M系統(tǒng)相比,PWM調(diào)速系統(tǒng)有下列優(yōu)點(diǎn):(1)由于開關(guān)頻率高,若與快速響應(yīng)的電機(jī)相配合,系統(tǒng)可以獲得很寬的頻帶,因此快速響應(yīng)性能好,動(dòng)態(tài)抗擾能力強(qiáng)。(2)由于PWM調(diào)速系統(tǒng)的開關(guān)頻率較高,僅靠電樞電感的濾波作用就可以獲得脈動(dòng)很小的直流電流,電樞電流容易連續(xù),系統(tǒng)的低速運(yùn)行平穩(wěn),調(diào)速范圍較寬,可達(dá)1:10000左右。由于電流波形比V-M系統(tǒng)好,在相同的平均電流下,電動(dòng)機(jī)的損耗和發(fā)熱都比較小。(3)由于電力電子器件只工作在開關(guān)狀態(tài),主電路損耗較小,裝置效率較高。根據(jù)以上綜合比較,以及本設(shè)計(jì)中受控電機(jī)的容量和直流電機(jī)調(diào)速的發(fā)展方向,本設(shè)計(jì)采用了H型單極型可逆PWM變換器進(jìn)行調(diào)速。脈寬調(diào)速系統(tǒng)的主電路采用脈寬調(diào)制式變換器,簡(jiǎn)稱PWM變換器。脈寬調(diào)速也可通過單片機(jī)控制繼電器的閉合來實(shí)現(xiàn),但是驅(qū)動(dòng)能力有限。為順利實(shí)現(xiàn)小車的前行與倒車,本設(shè)計(jì)采用了可逆PWM變換器。我們?cè)谠O(shè)計(jì)中采用了常用的雙極式H型變換器。電路圖如圖所示,它是由4個(gè)三極電力晶體管和4個(gè)續(xù)流二極管組成的橋式電路。在不同的控制方式下,調(diào)速系統(tǒng)的電壓、電流各不相同,使電機(jī)的運(yùn)行特性和調(diào)速系統(tǒng)的調(diào)速性能也不同。而在直流調(diào)速系統(tǒng)中對(duì)電機(jī)運(yùn)行特性影響最大的是電流。電流的大小、方向、連續(xù)性直接影響電機(jī)的運(yùn)行性能。2.7前行與倒車的控制要使小車能夠達(dá)到壁障和快速制動(dòng)的效果,必須讓小車配備前行和倒車兩個(gè)行駛方向,我們通過電流方向的改變來改變小車的行駛方向。采用了一個(gè)電橋來控制小車電機(jī)的轉(zhuǎn)向。電路圖如圖2-8所示。電橋一端接電源,另一端接了一個(gè)三極管。三極管導(dǎo)通時(shí),電橋通過三極管接地,電機(jī)電樞中有電流通過;三極管截止時(shí),電橋浮空,電機(jī)電樞中沒有電流通過。系統(tǒng)通過電橋的輸出端為轉(zhuǎn)向電機(jī)供電。通過對(duì)繼電器開閉的控制即可控制電機(jī)的開斷和轉(zhuǎn)速方向進(jìn)而達(dá)到控制玩具車前行與倒車的目的,實(shí)現(xiàn)隨動(dòng)控制系統(tǒng)的糾偏功能。圖2-8前行與倒車控制電路2.8系統(tǒng)原理圖系統(tǒng)原理圖如圖2-9所示:調(diào)速模塊接單片機(jī)P1.4-P1.7口;顯示模塊接P0.0-0.3和P1.0-1.3口;壁障尋光等檢測(cè)模塊接P0.4-0.7、P2.0-P2.2口;紅外遙控接P3.2口;看門狗定時(shí)器接2.7口。圖2-9系統(tǒng)原理圖3硬件設(shè)計(jì)3.180C51單片機(jī)硬件結(jié)構(gòu)80C51單片機(jī)是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個(gè)尺寸有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器、數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器、并行I/O口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對(duì)各種功能部件的控制是采用特殊功能寄存器的集中控制方式。1微處理器該單片機(jī)中有一個(gè)8位的微處理器,與通用的微處理器基本相同,同樣包括了運(yùn)算器和控制器兩大部分,只是增加了面向控制的處理功能,不僅可處理數(shù)據(jù),還可以進(jìn)行位變量的處理。2數(shù)據(jù)存儲(chǔ)器片內(nèi)為128個(gè)字節(jié),片外最多可外擴(kuò)至64k字節(jié),用來存儲(chǔ)程序在運(yùn)行期間的工作變量、運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等,所以稱為數(shù)據(jù)存儲(chǔ)器。3程序存儲(chǔ)器由于受集成度限制,片內(nèi)只讀存儲(chǔ)器一般容量較小,如果片內(nèi)的只讀存儲(chǔ)器的容量不夠,則需用擴(kuò)展片外的只讀存儲(chǔ)器,片外最多可外擴(kuò)至64k字節(jié)。4中斷系統(tǒng)具有5個(gè)中斷源,2級(jí)中斷優(yōu)先權(quán)。5定時(shí)器/計(jì)數(shù)器片內(nèi)有2個(gè)16位的定時(shí)器/計(jì)數(shù)器,具有四種工作方式。6串行口1個(gè)全雙工的串行口,具有四種工作方式??捎脕磉M(jìn)行串行通訊,擴(kuò)展并行I/O口,甚至與多個(gè)單片機(jī)相連構(gòu)成多機(jī)系統(tǒng),從而使單片機(jī)的功能更強(qiáng)且應(yīng)用更廣。7P1口、P2口、P3口、P4口為4個(gè)并行8位I/O口。8特殊功能寄存器共有21個(gè),用于對(duì)片內(nèi)的個(gè)功能的部件進(jìn)行管理、控制、監(jiān)視。實(shí)際上是一些控制寄存器和狀態(tài)寄存器,是一個(gè)具有特殊功能的RAM區(qū)。由上可見,80C51單片機(jī)的硬件結(jié)構(gòu)具有功能部件種類全,功能強(qiáng)等特點(diǎn)。特別值得一提的是該單片機(jī)CPU中的位處理器,它實(shí)際上是一個(gè)完整的1位微計(jì)算機(jī),這個(gè)一位微計(jì)算機(jī)有自己的CPU、位寄存器、I/O口和指令集。1位機(jī)在開關(guān)決策、邏輯電路仿真、過程控制方面非常有效;而8位機(jī)在數(shù)據(jù)采集,運(yùn)算處理方面有明顯的長處。MCS-51單片機(jī)中8位機(jī)和1位機(jī)的硬件資源復(fù)合在一起,二者相輔相承,它是單片機(jī)技術(shù)上的一個(gè)突破,這也是MCS-51單片機(jī)在設(shè)計(jì)的精美之處。3.2最小應(yīng)用系統(tǒng)設(shè)計(jì)用80C51單片機(jī)進(jìn)行構(gòu)成最小應(yīng)用系統(tǒng)時(shí),只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可,如圖3-1所示。由于集成度的限制,最小系統(tǒng)只能用作一些最小的控制單元。但也擁有一些有點(diǎn):有可供用戶使用的大量I/O口線。內(nèi)部存儲(chǔ)器容量有限。應(yīng)用系統(tǒng)開發(fā)具有特殊性。圖3-180C51單片機(jī)最小系統(tǒng)3.2.1時(shí)鐘電路單片機(jī)的時(shí)鐘產(chǎn)生有兩種方法:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。AT89單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值通常取30PF。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。3.2.2復(fù)位電路復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳RST通過一個(gè)觸發(fā)器與復(fù)位電路相連,觸發(fā)器用來抑制噪聲,它的輸出在每個(gè)機(jī)器周期中由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。所謂上電復(fù)位,是指計(jì)算機(jī)加電瞬間,要在RST引腳出現(xiàn)大于10MS的正脈沖,使單片機(jī)進(jìn)入復(fù)位狀態(tài)。按鈕復(fù)位是指用戶按下“復(fù)位”按鈕,使單片機(jī)進(jìn)入復(fù)位狀態(tài)[5]。如圖4-2是上電復(fù)位及按鈕復(fù)位的一種實(shí)用電路。圖4-2復(fù)位電路上電時(shí),+5V電源立即對(duì)單片機(jī)芯片供電,同時(shí)經(jīng)電阻R對(duì)電容C3充電。C3上電壓建立的規(guī)程就產(chǎn)生一定寬度的負(fù)脈沖,經(jīng)反向后,RST上出現(xiàn)正脈沖使單片機(jī)實(shí)現(xiàn)了上電復(fù)位。按鈕按下時(shí),RST上同樣出現(xiàn)高電平,實(shí)現(xiàn)了按鈕復(fù)位。在應(yīng)用系統(tǒng)中,有些外圍芯片也需要復(fù)位。如果這些芯片復(fù)位端的復(fù)位電平和單片機(jī)一致,則可以與單片機(jī)復(fù)位腳相連,因此,非門在這里不僅起了反向作用,還增大了驅(qū)動(dòng)能力,電容C1,C2起慮波作用,防止干擾竄入復(fù)位端產(chǎn)生誤動(dòng)作。3.2.3燒寫接口電路RST置高電平,然后向單片機(jī)串行發(fā)送編程命令。P1.7(SCK)輸入移位脈沖,P1.6(MISO)串行輸出,P1.5(MOSI)串行輸入。被燒寫的單片機(jī)一定是最小系統(tǒng)(單片機(jī)已經(jīng)接好電源,晶振,可以運(yùn)行)。如圖4-3燒寫接口電路。圖4-3燒寫接口電路3.3前向通道3.3.1前向通道的含義在控制系統(tǒng)中,前向通道似乎就是指信號(hào)的輸入通道,例如人機(jī)接口的鍵盤、傳感器信號(hào)輸入等。3.3.2超聲波障礙檢測(cè)本設(shè)計(jì)采用T/R-40-12超聲波傳感器作為壁障模塊的傳感器,它能發(fā)出40KHZ的脈沖超聲波,當(dāng)前面有物體時(shí),超聲波信號(hào)會(huì)被反射回來,由接收器接收,經(jīng)LM318兩級(jí)放大,再經(jīng)帶有鎖相環(huán)的音頻解碼芯片LM567解碼,當(dāng)LM567的輸入信號(hào)大于25mV時(shí),輸出端由高電平變?yōu)榈碗娖剑?0C51單片機(jī)處理。超聲波檢測(cè)電路圖如圖3.3超聲波檢測(cè)電路所示。圖3-3超聲波檢測(cè)電路3.3.4光源檢測(cè)電路圖3-4為光源檢測(cè)電路,光敏傳感器根據(jù)照射在它上面的光線的強(qiáng)弱,阻值發(fā)生變化,輸出電壓隨之變化,通過ADC0809后,得到與光強(qiáng)相對(duì)應(yīng)的數(shù)字量,傳送到單片機(jī),從而引導(dǎo)小車,向光源靠近。圖3-4光源檢測(cè)電路3.4后向通道3.4.1PWM脈寬調(diào)速本設(shè)計(jì)調(diào)速采用PWM調(diào)速,選用了常用的雙極式H型變換器,它是由4個(gè)三極電力晶體管和四個(gè)續(xù)流二極管組成的橋式電路。圖3-5為雙極式H型可逆PWM變換器的電路原理圖。4個(gè)電力晶體管的基極驅(qū)動(dòng)電壓分為兩組。VT1和VT4同時(shí)導(dǎo)通和關(guān)斷,其驅(qū)動(dòng)電路中Ub1=Ub4;VT2和VT3同時(shí)動(dòng)作,其驅(qū)動(dòng)電壓Ub2=Ub3=-Ub1。雙極式PWM變換器的優(yōu)點(diǎn)如下:(1)電流一定連續(xù);(2)可使電動(dòng)機(jī)在四象限中運(yùn)行;(3)電機(jī)停止時(shí)有微振電流,能消除靜摩擦死區(qū);(4)低速時(shí),每個(gè)晶體管的驅(qū)動(dòng)脈沖仍較寬,有利于保證晶體管可靠導(dǎo)通;(5)低速平穩(wěn)性好,調(diào)速范圍可達(dá)20000左右。圖3-5雙極式H型可逆PWM變換器電路原理圖脈寬調(diào)制原理:脈寬調(diào)制器本身是一個(gè)由運(yùn)算放大器和幾個(gè)輸入信號(hào)組成的電壓比較器。運(yùn)算放大器工作在開換狀態(tài),稍微有一點(diǎn)輸入信號(hào)就可使其輸出電壓達(dá)到飽和值,加在運(yùn)算放大器反相輸入端上的有三個(gè)輸入信號(hào)。一個(gè)輸入信號(hào)是鋸齒波調(diào)制信號(hào),另一個(gè)是控制電壓,其極性大小可隨時(shí)改變,與鋸齒波調(diào)制信號(hào)相減,便運(yùn)算放大器的輸出端得到周期不變、脈寬可變的調(diào)制輸出電壓。只要改變控制電壓的極性,也就改變了PWM變換器輸出平均電壓的極性,便改變了電動(dòng)機(jī)的轉(zhuǎn)向。改變控制電壓的大小,則調(diào)節(jié)了輸出脈沖電壓的寬度,便調(diào)節(jié)電動(dòng)機(jī)的轉(zhuǎn)速。只要鋸齒波的線性度足夠好,輸出脈沖的寬度是和控制電壓的大小成正比的。3.4.2邏輯延時(shí)環(huán)節(jié)在可逆PWM變換器中,跨接在電源兩端的上下兩個(gè)晶體管經(jīng)常交替工作。由于晶體管的關(guān)斷過程中有一段存儲(chǔ)時(shí)間和電流下降時(shí)間,總稱關(guān)斷時(shí)間,在這段時(shí)間內(nèi)晶體管并未完全關(guān)斷。如果在此期間另一個(gè)晶體管已經(jīng)導(dǎo)通,則將造成上下兩管之通,從而使電源正負(fù)極短路。為避免發(fā)生這種情況,設(shè)置了由RC電路構(gòu)成的延時(shí)環(huán)節(jié)。3.4.3電源的設(shè)計(jì)本設(shè)計(jì)的電源為車載電源。為保證電源工作可靠,單片機(jī)系統(tǒng)與動(dòng)力伺服系統(tǒng)的電源采用了大功率、大容量的蓄電池;而傳感器的工作電源則采用了小巧輕便的干電池。3.5紅外線遙控電路方便起見,本設(shè)計(jì)直接采用電視遙控器作為紅外遙控的發(fā)射器,只需在小車上加裝紅外接收裝置即可紅外接收器的電路圖如圖3.6所示:圖3-6紅外線遙控接收電路:3.6顯示電路設(shè)計(jì)圖3-7EM78P458集成顯示電4軟件設(shè)計(jì)4.1設(shè)計(jì)流程一個(gè)智能化的系統(tǒng),軟件設(shè)計(jì)必不可少,軟件設(shè)計(jì)是更具系統(tǒng)需求,通過編程語言控制單片機(jī)的行為,實(shí)現(xiàn)智能控制。模塊化的程序設(shè)計(jì)有以下有點(diǎn):?jiǎn)蝹€(gè)模塊比起一個(gè)完整的程序易編寫及調(diào)試;模塊可以共存,一個(gè)模塊可以被多個(gè)任務(wù)在不同條件下調(diào)用;模塊程序允許設(shè)計(jì)者分割任務(wù)和利用已有程序,為設(shè)計(jì)者提供方便。本系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序﹑定時(shí)子程序、避障子程序﹑中斷子程序顯示子程序﹑調(diào)速子程序﹑算法子程序、遙控子程序構(gòu)成。本次設(shè)計(jì)采用的即是模塊化的軟件編程,各程序功能清晰,明確。軟件流程如圖4-1流程圖所示:遙控判斷偏離黑線是否遇障啟動(dòng)自動(dòng)行駛停車NNYNYN是否尋光轉(zhuǎn)向子程序壁障子程序記錄里程/計(jì)時(shí)Y遙控行駛YNY尋光子程序遙控判斷偏離黑線是否遇障啟動(dòng)自動(dòng)行駛停車NNYNYN是否尋光轉(zhuǎn)向子程序壁障子程序記錄里程/計(jì)時(shí)Y遙控行駛YNY尋光子程序圖4-1系統(tǒng)流程圖4.2軟件抗干擾技術(shù)提高小車智能控制的可靠性,僅靠硬件抗干擾是不夠的,需要進(jìn)一步借助于軟件抗干擾技術(shù)來克服某些干擾。在單片機(jī)控制系統(tǒng)中,如能正確的采用軟件抗干擾技術(shù),與硬件干擾措施構(gòu)成雙道抗干擾防線,無疑為了將大大提高控制系統(tǒng)的可靠性。經(jīng)常采用的軟件抗干擾技術(shù)是數(shù)字濾波技術(shù)、指令冗余技術(shù)、軟件陷阱技術(shù)等。4.2.1數(shù)字濾波技術(shù)所謂數(shù)字濾波,就是通過一定的計(jì)算或判斷程序減少干擾在有用信號(hào)中的比重。故實(shí)質(zhì)上它是一種程序?yàn)V波。數(shù)字濾波克服了模擬濾波器的不足,它與模擬濾波器相比,有以下幾個(gè)優(yōu)點(diǎn):數(shù)字濾波是用程序?qū)崿F(xiàn)的,不需要增加硬設(shè)備,所以可靠性高,穩(wěn)定性好。數(shù)字濾波可以根據(jù)信號(hào)的不同,采用不同的濾波方法或?yàn)V波參數(shù),具有靈活、方便,功能強(qiáng)的特點(diǎn)。數(shù)字濾波可以對(duì)頻率很低的信號(hào)實(shí)現(xiàn)濾波,克服了模擬濾波器的缺陷。數(shù)字濾波器具有以上優(yōu)點(diǎn),所以數(shù)字濾波在微機(jī)應(yīng)用系統(tǒng)中得到了廣泛應(yīng)用。4.2.2軟件陷阱技術(shù)軟件陷阱奇數(shù),就是設(shè)定一段代碼,將程序引導(dǎo)到專門對(duì)程序出錯(cuò)進(jìn)行處理的程序。若這段程序的入口標(biāo)簽為ERR,軟件陷阱即為一條無條件轉(zhuǎn)移指令,為了加強(qiáng)其捕捉效果,一般還在它前面加兩條NOP指令,因此真正的軟件陷阱由以下3條指令構(gòu)成:NOPNOPERR軟件陷阱安排在以下3種地方:(1)未使用的中斷向量區(qū)。(2)未使用的大片ROM空間(3)表格由于軟件陷阱都安排在正常程序執(zhí)行不到的地方,故不影響程序執(zhí)行效率,在當(dāng)前EPROM容量不成問題的條件下,還是多多益善。4.2.3“看門狗”技術(shù)“看門狗”技術(shù)就是不斷監(jiān)視程序循環(huán)運(yùn)行時(shí)間,若發(fā)現(xiàn)時(shí)間超過已知的循環(huán)設(shè)定時(shí)間,則認(rèn)為系統(tǒng)陷入了“死循環(huán)”,然后強(qiáng)迫程序返回到0000H入口,在0000H處安排一段出錯(cuò)處理程序,使系統(tǒng)運(yùn)行納入正規(guī)?!翱撮T狗”技術(shù)可由硬件實(shí)現(xiàn),可由軟件實(shí)現(xiàn),也可由兩者結(jié)合實(shí)現(xiàn)。本系統(tǒng)采用硬件“看門狗”電路。1.實(shí)現(xiàn)硬件“看門狗”電路方案較多,目前采用較多的方案有以下幾種:2.采用微處理器監(jiān)控器;3.采用單穩(wěn)態(tài)電路來實(shí)現(xiàn)“看門狗”,單穩(wěn)定電路可采用74LS123;4.采用內(nèi)帶震蕩器的記數(shù)芯片。5.本設(shè)計(jì)采用第三種方案實(shí)現(xiàn)“看門狗”電路,下面就對(duì)該方案作以介紹?;驹鞢D4060是帶震蕩器的14位計(jì)數(shù)器,由該芯片構(gòu)成的看門狗電路如圖4.2看門狗電路圖所示。4060記數(shù)頻率由RT和CT決定。設(shè)實(shí)際的程序所需工作周期為T,分頻器記滿時(shí)間為T’,當(dāng)T’>T且系統(tǒng)正常工作時(shí),程序每隔T對(duì)4060進(jìn)行復(fù)位一次,分頻且永無記滿輸出信號(hào)。如系統(tǒng)工作不正常(如程序跑飛、死循環(huán)等),4060接收不到復(fù)位信號(hào),分頻器記滿輸出一脈沖號(hào)使CPU復(fù)位。參數(shù)選擇4060的振蕩頻率f由RT、CT決定。Rs用于改善振蕩器的穩(wěn)定性,Rs要大于RT。一般取Rs=10RT,且RT>1kΩ,CT≥100pF。如果Rs=450Ω,RT=45Ω,CT=1uF,則f=10HZ。4060的振蕩頻率和Qi(i=6,7,8,9,10,12,13,14)的選擇要根據(jù)情況確定。幾個(gè)原則看門狗電路必須由硬件邏輯組成,不宜由可編程計(jì)數(shù)器充當(dāng),因?yàn)镃PU失控后,可能會(huì)修改可編程器件參數(shù),使看門狗失效。4060的RST線上阻容組成的微分電路很重要,因?yàn)閽呙栎斎胄盘?hào)是CPU產(chǎn)生的正脈沖,若此信號(hào)變“1”后,由于干擾,程序亂飛,微分電路只能讓上跳沿通過,不會(huì)封死4060,看門狗仍能計(jì)數(shù)起作用。若沒有微分電路,掃描輸入信號(hào)上的“1”狀態(tài)封死4060,使之不能記數(shù),看門狗不起作用。圖4-2看門狗電路圖CPU必須在正確完成所有工作后才能發(fā)掃描輸入信號(hào),且程序中發(fā)掃描信號(hào)的地方不能太多。否則,正好在哪里有死循環(huán),看門狗就不產(chǎn)生記滿輸出信號(hào),不能重新啟動(dòng)CPU。4.3程序設(shè)計(jì)軟件設(shè)計(jì)采用模塊化設(shè)計(jì),思路清晰,也便于查找問題。4.3.1紅外解碼UPD6121G的編碼UPD6121G產(chǎn)生的遙控編碼是連續(xù)的32位二進(jìn)制碼組,其中前16位為用戶識(shí)別碼,能區(qū)別不同的電器設(shè)備,防止不同機(jī)種遙控碼互相干擾。芯片廠商把用戶識(shí)別碼固定為十六進(jìn)制的一組數(shù);后16位為8位操作碼(功能碼)及其反碼。UPD6121G最多額128種不同組合的編碼。遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進(jìn)制碼,周期約為108ms。一組碼本身的持續(xù)時(shí)間隨它包含的二進(jìn)制“0”和“1”的個(gè)數(shù)不同而不同,大約在45~63ms之間。當(dāng)一個(gè)鍵按下超過36ms,振蕩器使芯片激活,將發(fā)射一組108ms的編碼脈沖,這108ms發(fā)射代碼由一個(gè)起始碼(9ms),一個(gè)結(jié)果碼(4.5ms),低8位地址碼(9ms~18ms),高8位地址碼(9ms~18ms),8位數(shù)據(jù)碼(9ms~18ms)和這8位數(shù)據(jù)的反碼(9ms~18ms)組成。如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結(jié)束碼(2.5ms)組成。圖4-3為紅外遙控編碼圖(a)和紅外遙控信號(hào)周期性波形(b)。圖4-3(a)紅外遙控解碼圖圖4-3(b)紅外遙控信號(hào)周期性波形根據(jù)UPD6121的編碼規(guī)則,我門可以確定解碼的規(guī)則。解碼的關(guān)鍵是如何識(shí)別“0”和“1”,從位的定義我們可以發(fā)現(xiàn)“0”、“1”均以0.56ms的低電平開始,不同的是高電平的寬度不同,“0”為0.56ms,“1”為1.68ms,如圖4-4所示,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。如果從0.56ms低電平過后,開始延時(shí),0.56ms以后,若讀到的電平為低,說明該位為“0”,反之則為“1”,為了可靠起見,延時(shí)必須比0.56ms長些,但又不能超過1.12ms,否則如果該位為“0”,讀到的已是下一位的高電平,因此取(1.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右均可。圖4-4紅外遙控碼的“0”和“1”由于紅外接收頭得到的是反向的發(fā)射碼,所以當(dāng)我們從接收頭得到紅外碼之后,還需要對(duì)其重新進(jìn)行排序,以得到正確的紅外控制碼??偨Y(jié)本次設(shè)計(jì),綜合了大學(xué)期間所學(xué)的知識(shí),讓我在畢業(yè)前得到了一次知識(shí)的鞏固和一次自我檢查的機(jī)會(huì),通過本次設(shè)計(jì),我的硬件設(shè)計(jì)能力,編程能力都得到了提升。本次設(shè)計(jì)的硬件方面:雖然單片機(jī)能自行驅(qū)動(dòng)顯示器,但是考慮到單片機(jī)系統(tǒng)資源有限,直接驅(qū)動(dòng)的話可能會(huì)導(dǎo)致負(fù)載過高,執(zhí)行效率下降,所以我們加入了顯示驅(qū)動(dòng)芯片,節(jié)約單片機(jī)資源。超聲傳感器電路部分額外加入了單片機(jī)擴(kuò)展了此模塊功能,并且是的輸出信號(hào)有規(guī)律可循,便于80C51單片機(jī)在之后的運(yùn)行中檢測(cè)四周電路,減小80C51負(fù)擔(dān),同時(shí)大大提高了電動(dòng)車載應(yīng)對(duì)障礙物時(shí)候的反應(yīng)時(shí)間。軟件方面:因?yàn)閭鞲衅髟跈z測(cè)到某物體時(shí),輸出信號(hào)會(huì)發(fā)生特定變化,利用這種變化規(guī)律,讓單片機(jī)只對(duì)此類規(guī)律的信號(hào)有所反應(yīng),大大減少了處理數(shù)據(jù),算法,從而加快了系統(tǒng)的反應(yīng)速度,大量使用類似于JB/JNB命令對(duì)相應(yīng)端口進(jìn)行查詢,并且簡(jiǎn)化程序代碼,避免使用繁瑣復(fù)雜的終端控制,確保系統(tǒng)的高精確度。另外,整個(gè)運(yùn)行過程中通過采用等分時(shí)端口查詢思想,只要分時(shí)足夠小,電動(dòng)車就會(huì)對(duì)外界因素有充足的反映空間,即達(dá)到了接近實(shí)時(shí)的信號(hào)檢測(cè)處理效果,又可通過最終等分時(shí)數(shù)目準(zhǔn)確計(jì)算出行駛距離,一舉兩得。附錄附錄1:程序清單bcmequ30h;厘米位secequ31h;秒位bdmequ32h;分米位msecequ33h;分秒位meterequ34h;米位minequ35h;分位pointequ36h;小數(shù)點(diǎn)位tenmeterequ37h;十米位tenminequ38h;十分位speedequ39h;速度控制timerkequ3ah;記時(shí)開始finalequ3bhzhoduequ3chzhonequ3ehplusequ3fhcarrybequ40hbhcsequ41hdpanequ42hminoutequ43hmininequ44hjudgeequ45hfenmcequ51horg0000hajmpmainorg000bhajmpst0org001bhajmpst1org0100hmain:movbcm,#00hmovsec,#00hmovbdm,#00hmovmsec,#00hmovmeter,#00hmovmin,#00hmovpoint,#0bhmovtenmeter,#00hmovtenmin,#00hmovtimerk,#00hmovfinal,#00hmovzhodu,#00hmovzhon,#00hmovplus,#00hmovcarryb,#03hmovbhcs,#00hmovsp,#6fhmovtmod,#21hmovth0,#3chmovtl0,#0b0hmovth1,#9chmovtl1,#9chsetbeasetbet0setbet1movp1,#0aahacalldisplaypoweron:jbp0.0,poweronacalldelayjbp0.0,poweronmovspeed,#03hclrp2.6clrp2.7setbtr1start:jnbp2.3,startacalldelayjnbp2.3,startjbp2.4,redf;跳轉(zhuǎn)紅外控制模式movspeed,#07hsetbtr0movtimerk,#01hcalldelaacalldelaacalldelaacalldelaacalldelaajiance:movc,p2.0mov22h,cmovc,p2.1mov23h,cmovc,p2.2mov24h,cmovc,p2.3mov25h,cmovc,p2.4mov26h,czhangai:jb25h,stopjnb22h,trjnb23h,trjnb24h,tljnb26h,tlajmpjiancetl:clrp0.5clrp0.4movspeed,#05hacalldelaasetbp0.4setbp0.5movspeed,#07hajmpjiancetr:clrp0.6clrp0.7movspeed,#05hacalldelaasetbp0.7setbp0.6movspeed,#07hajmpjiancestop:acalldelayjnb25h,zhangaiclrtr0mova,bdmmovfenmc,amova,#02hadda,fenmcmovfenmc,ahere:cjnea,bdm,hereclrtr1setbp2.6acalldelaasetbp2.7ajmp$st0:pushaccpushpswmovth0,#3chmovtl0,#0b0hincfinalmova,#0ahcjnea,final,outmovfinal,#00hinczhodumova,#02hcjnea,zhodu,miepomovpoint,#0bhmovzhodu,#00hincsecmova,#0ahcjnea,sec,outmovsec,#00hincmsecmova,#06hcjnea,msec,outmovmsec,#00hincminmova,#0ahcjnea,min,outmovmin,#00hinctenminout:calldisplayoutb:poppswpopaccretimiepo:movpoint,#0ahajmpoutst1:pushaccpushpswinczhonmova,speedcjnea,zhon,higsetbp2.7ajmpoutihig:mova,#0ahcjnea,zhon,outimovzhon,#00hclrp2.7outi:mova,#01hcjnea,timerk,outbjbp2.5,gaomovc,p2.5mov21h,corlc,20hclr20hjcyoubhajmpoutbgao:setb20hajmpoutbyoubh:incplusmova,carrybcjnea,plus,outbmovplus,#00hincbhcsmova,#02hcjnea,bhcs,jicimovcarryb,#03hgoon:incbcmmova,#0ahcjnea,bcm,outmovbcm,#00hincbdmcjnea,bdm,outmovbdm,#00hincmetercjnea,meter,outmovmeter,#00hinctenmeterajmpoutjici:movcarryb,#02hajmpgoonredf:movp0,#0ffhmovp1,#0ffhmovp2,#0ffhmovp3,#0ffhjnbp2.4,$;等待遙控信號(hào)出現(xiàn)movr6,#10sb:acallys1;調(diào)用882微秒延時(shí)子程序jbp2.4,start;延時(shí)882微秒后判斷p2.4腳是否出現(xiàn)高電平如果有就退出解碼程序djnzr6,sb;重復(fù)10次,目的是檢測(cè)在8820微秒內(nèi)如果出現(xiàn)高電平就退出解碼程序;以上完成對(duì)遙控信號(hào)的9000微秒的初始低電平信號(hào)的識(shí)別。jnbp2.4,$;等待高電平避開9毫秒低電平引導(dǎo)脈沖acallys2;延時(shí)4.74毫秒避開4.5毫秒的結(jié)果碼movr1,#1ah;設(shè)定1ah為起始ram區(qū)movr2,#4pp:movr3,#8jjjj:jnbp2.4,$;等待地址碼第一位的高電平信號(hào)lcallys1;高電平開始后用882微秒的時(shí)間尺去判斷信號(hào)此時(shí)的高低電平狀態(tài)movc,p2.4;將p2.4引腳此時(shí)的電平狀態(tài)0或1存入c中jncuuu;如果為0就跳轉(zhuǎn)到uuujbp2.4,$;如果為1就等待高電平信號(hào)結(jié)束uuu:mova,@r1;將r1中地址的給arrca;將c中的值0或1移入a中的最低位mov@r1,a;將a中的數(shù)暫時(shí)存放在r1中djnzr3,jjjj;接收地址碼的高8位incr1;對(duì)r1中的值加1,換成下一個(gè)ramdjnzr2,pp;接收完16位地址碼和8位數(shù)據(jù)碼和8位數(shù)據(jù)反碼,存放在1ah/1bh/1ch/1dh的ram中;以下對(duì)代碼是否正確和定義進(jìn)行識(shí)別mova,1ah;比較高8位地址碼xrla,#00000000b;判斷1ah的值是否等于00000000,相等的話a為0jnzexit;如果不相等說明解碼失敗退出解碼程序mova,1bh;

溫馨提示

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