基于51單片機(jī)電子鎖設(shè)計畢業(yè)設(shè)計論文_第1頁
基于51單片機(jī)電子鎖設(shè)計畢業(yè)設(shè)計論文_第2頁
基于51單片機(jī)電子鎖設(shè)計畢業(yè)設(shè)計論文_第3頁
基于51單片機(jī)電子鎖設(shè)計畢業(yè)設(shè)計論文_第4頁
基于51單片機(jī)電子鎖設(shè)計畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計課題:基于51單片機(jī)電子鎖設(shè)計學(xué)生姓名:學(xué)號:專業(yè):電子信息工程班級:電子G31102院(系):機(jī)械與電子信息工程學(xué)院指導(dǎo)教師:職稱:二○15年06月17日畢業(yè)設(shè)計真實性承諾及指導(dǎo)教師聲明學(xué)生畢業(yè)設(shè)計真實性承諾本人鄭重聲明:所提交的畢業(yè)設(shè)計是本人在指導(dǎo)教師的指導(dǎo)下,獨立進(jìn)行研究工作所取得的成果,內(nèi)容真實可靠,不存在抄襲、造假等學(xué)術(shù)不端行為。除文中已經(jīng)注明引用的內(nèi)容外,本設(shè)計不含其他個人或集體已經(jīng)發(fā)表或撰寫過的研究成果。對本文的研究做出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。如被發(fā)現(xiàn)設(shè)計中存在抄襲、造假等學(xué)術(shù)不端行為,本人愿承擔(dān)相應(yīng)的法律責(zé)任和一切后果。學(xué)生(簽名):顏強日期:指導(dǎo)教師關(guān)于學(xué)生畢業(yè)設(shè)計真實性審核的聲明本人鄭重聲明:已經(jīng)對學(xué)生畢業(yè)設(shè)計所涉及的內(nèi)容進(jìn)行嚴(yán)格審核,確定其成果均由學(xué)生在本人指導(dǎo)下取得,對他人論文及成果的引用已經(jīng)明確注明,不存在抄襲等學(xué)術(shù)不端行為。指導(dǎo)教師(簽名):日期:注:此聲明由指導(dǎo)教師和學(xué)生本人親筆簽名。目錄摘要………………2第一章方案論證與選擇………31.1驅(qū)動模塊………………31.2黑線檢測模塊……………41.3碼盤測距模塊……………41.4金屬檢測模塊……………51.5光源追蹤檢測模塊………51.6超聲波模塊……………51.7聲光提示模塊……………61.8.系統(tǒng)供電單元電路……………………6第二章系統(tǒng)理論分析與計算…………………72.1總體設(shè)計方案…………72.2電機(jī)PWM驅(qū)動模塊的設(shè)計與實現(xiàn)……72.3單片機(jī)控制電路………82.4測距模塊設(shè)計…………92.5黑線循跡電路設(shè)計……………………102.6光源檢測電路的設(shè)計…………………11第三章軟件設(shè)計………………123.1系統(tǒng)流程圖……………133.2軟件程序設(shè)計部分源程序……………14第四章系統(tǒng)測試………………204.1硬件調(diào)試……………20第五章結(jié)論…………………21參考文獻(xiàn)………………………22附錄……………23附錄1……………23附錄2……………23附錄3……………23簡易智能電動車摘要本電路系統(tǒng)分為檢測、控制、驅(qū)動三個模塊。首先利用紅外傳感器對地面信號進(jìn)行檢測,然后送給控制模塊進(jìn)行實時控制,輸出相應(yīng)信號給驅(qū)動電機(jī)控制小車的運動。該系統(tǒng)以STC12C5A60S2為主控核心,運用AD轉(zhuǎn)換將光敏二極管采集的信號轉(zhuǎn)換為模擬值進(jìn)行控制,并且采用LCD12864顯示和語音播報,系統(tǒng)測試性能優(yōu)異、穩(wěn)定。關(guān)鍵詞:PWM紅外檢測碼盤超聲波STC12C5A60S2光源追蹤聲光提示模塊金屬檢測AbstractThiscircuitsystemisdividedintotestandcontrol,drivethreemodules.First,theinfraredsensortothegroundsignaldetection,Thensenttocontrolmoduleforreal-timecontrol,Theoutputsignalcorrespondingtothedrivemotorcontrolthemovementofthecar.ThissystemtoSTC12C5A60S2formastercore.UsingtheADconversionwillphotosensitivediodeacquisitionsignalsareconvertedtoanalogvaluetocontrol.AndusingLCD12864displayandvoicebroadcast.Keywords:PWMInfrareddetectionCodediscUltrasonicSTC12C5A60S2LightsourcetrackingAcousto-opticpromptmoduleMetaldetection一:方案論證與選擇根據(jù)賽題要求的功能及指標(biāo),我們將整個系統(tǒng)劃分為七個基本模塊,如圖1-1所示。為了使各個模塊具有較好的性能,分別提出以下不同設(shè)計方案:MCUMCU聲光提示模塊黑線檢測模塊驅(qū)動模塊碼盤測距模塊金屬檢測模塊超聲波模塊光源追蹤模塊圖1-11.1驅(qū)動模塊H橋驅(qū)動電路方案一:采用L298N直流電機(jī)驅(qū)動模塊,一個芯片里面就集成了2路的H橋電路,還帶PWM控制和電流采集。通過單片機(jī)可以精確調(diào)整電動機(jī)的轉(zhuǎn)速,達(dá)到對電機(jī)速度的控制。這個方案的優(yōu)點是控制比較簡單、購買方便。方案二:采用數(shù)控電位器X9313集合NE555多諧振蕩器輸出PWM信號。通過單片機(jī)控制數(shù)控電位器來調(diào)整NE555多諧振蕩器的輸出方波的占空比,達(dá)到對電機(jī)速度的控制。這個方案的優(yōu)點是控制比較方便、軟件資源消耗少。方案一中芯片簡單便于控制,控制精度高。操作簡單。方案二的硬件電路較為復(fù)雜,且驅(qū)動能力不及方案一,功耗大。綜合考慮兩種方案的優(yōu)缺點,我們選擇方案一實現(xiàn)本系統(tǒng)。1.2黑線檢測模塊圖3.3黑線檢測模塊方案一:使用發(fā)光二極管和光敏二極管。此方案缺點在于環(huán)境的其他光源對光敏二極管的工作產(chǎn)生很大的干擾,一旦外界光強改變,很可能造成誤判和漏判,即使采用超高亮發(fā)光管可以降低一定的干擾,但這又增加額外的功耗。 方案二:反射式紅外發(fā)射—接收管。此方案可以降低可見光的干擾,靈敏度高,同時其尺寸小、質(zhì)量輕、價格也低廉。外圍電路簡單,安裝起來方便,電源要求不高,用它作為近距離傳感器是最理想的。方案三:利用激光。此方案雖然抗干擾性強、可靠性高,但其缺點在于體積大、功耗大、價格高。一般用在要求場合非常高的場合,本系統(tǒng)采用方案二已經(jīng)能夠勝任,無須采用此方案。1.3碼盤測距模塊方案一:采用霍爾器件。該器件內(nèi)部由三片霍爾金屬板組成,當(dāng)磁鋼正對金屬片時,由于霍爾效應(yīng),金屬板發(fā)生橫向?qū)ǎ虼丝稍陔姍C(jī)軸上安裝固定有磁片的圓片,而將霍爾器件固定在距圓片上方1cm3的范圍,通過對脈沖的記數(shù)實現(xiàn)對速度的檢測。方案二:采用碼盤。由于該器件是溝槽結(jié)構(gòu),可以將其置于固定軸上,再在電機(jī)軸上安裝圓片,均勻地固定多個遮光片,讓其恰好通過溝槽,產(chǎn)生一個個脈沖。通過脈沖的計數(shù)實現(xiàn)對速度的檢測。兩種方案都是可行性的轉(zhuǎn)速檢測方案。由于霍爾元件互換性差,信號隨溫度變化,非線性輸出,而且采用碼盤較容易獲取較為精確的數(shù)值。故采用方案二。1.4金屬檢測模塊該系統(tǒng)采用LJ183A-8-Z/BX。它由振蕩器和整形放大器組成振蕩器起振后在開關(guān)的感應(yīng)頭上產(chǎn)生一個交變的磁場,當(dāng)金屬體接近感應(yīng)區(qū)時,在金屬體內(nèi)產(chǎn)生了渦流,從而吸收了振蕩的能量,使振蕩幅度減弱以至于停振使接近開關(guān)達(dá)到反轉(zhuǎn)的目的,由整形放大器換成二進(jìn)制的開關(guān)電信號,從而達(dá)到檢測的目的。它無接觸、無壓力、無火花,迅速地發(fā)出檢測信號,而且靈敏度高,頻率響應(yīng)快,重復(fù)定位精度高,舜變過程短,輸出功率大,抗干擾性能好,工作穩(wěn)定性可靠,使用壽命長等優(yōu)點。1.5光源追蹤檢測模塊方案一:光敏電阻器又叫光感電阻,是利用半導(dǎo)體的光電效應(yīng)制成的一種電阻值隨入射光的強弱而改變的電阻器;入射光強,電阻減小,入射光弱,電阻增大。光敏電阻器一般用于光的測量、光的控制和光電轉(zhuǎn)換。方案二:利用光敏二極管對光源變換的敏感反映,檢測外部光源。當(dāng)有光照射時,光敏二極管呈強電阻,經(jīng)比較器輸出一個高電平,反之則輸出低電平。我們可以再外接一個LED作為檢測指示燈,則可以明顯觀察到這個變化。即有光照時LED亮,無時則滅。由于光敏電阻檢測范圍太廣,而本系統(tǒng)有三個光敏器件,分別在不同方向檢測光源信號。而方案一檢測范圍太大,不利于三個器件分別檢測。方案二檢測方便,感應(yīng)靈敏。故選擇方案二。1.6超聲波模塊本系統(tǒng)采用了HC-SR04超聲波測距模塊,該模塊可以提供2cm-400cm的非接觸式距離感測功能,測距精度高達(dá)3mm;并且該模塊包含了超聲波發(fā)射器、接收器和控制電路。本模塊使用方法簡單,一個控制口發(fā)射一個10us以上的高電平,就可以在接收口等待高電平輸出.一有輸出就可以開定時器計時,當(dāng)此口變?yōu)榈碗娖綍r就可以讀定時器的值,此時就為此次測距的時間,方可算出距離.如此不斷的周期測,即可以達(dá)到你移動測量的值。7.聲光提示模塊圖4.4蜂鳴器本系統(tǒng)采用了蜂鳴器和發(fā)光二極管作為聲光提示。本實驗共有3種模式。在各個模式下分別要處理不同的情況。例如在模式一下檢測到金屬時,聲光模塊中蜂鳴器會持續(xù)鳴叫5s鐘,發(fā)光二極管也會不停地閃爍5s鐘。1.8系統(tǒng)供電單元電路智能車控制系統(tǒng)中,芯片需要提供5V的工作電壓,而電機(jī)所需的電壓為12V,本設(shè)計中用到的是12V的電源供電,然后通過三端穩(wěn)壓器LM7805將電壓變換為5V電壓供給電路系統(tǒng)。電源系統(tǒng)的電路圖如圖5.5所示。圖5.5穩(wěn)壓電源提供電路二:系統(tǒng)理論分析與計算2.1總體設(shè)計方案智能小車采用前輪驅(qū)動,前輪左右兩邊各用一個電機(jī)驅(qū)動,調(diào)制兩個輪子的轉(zhuǎn)速從而達(dá)到控制轉(zhuǎn)向的目的,后輪是萬象輪,起支撐的作用。將四個紅外線光電傳感器裝在車體的底盤前端和底盤中間,小車根據(jù)傳感器檢測到的情況執(zhí)行。避障的原理是在車頭裝一個超聲波傳感器,通過軟件可以設(shè)置檢測的距離,當(dāng)傳感器檢測到有障礙物時,小車做出相應(yīng)的反應(yīng)。小車距離的檢測利用的是紅外線,速度檢測的傳感器用的是對射式,把碼盤裝在電機(jī)的軸上,碼盤隨電機(jī)一起轉(zhuǎn)動。通過測定碼盤在一定周期內(nèi)轉(zhuǎn)過的圈數(shù)和相應(yīng)的參數(shù),可以獲取實際的路程值。電機(jī)控制要使用PWM波形,而AT12C5A60S2單片機(jī)本身就能產(chǎn)生PWM,所以通過定時器設(shè)定頻率,通過軟件調(diào)節(jié)PWM。整體原理圖如下圖2-1整體原理電路圖2.2電機(jī)PWM驅(qū)動模塊的設(shè)計與實現(xiàn)由于本實驗采用的是STC12C5A60S2芯片,內(nèi)部就含有pwm調(diào)制,而本實驗用到的電機(jī)驅(qū)動的所需的pwm信號就是由該芯片產(chǎn)生的。首先,電機(jī)的控制采用脈沖寬度調(diào)制技術(shù)(PWM),單片機(jī)輸出一個頻率不變的方波,利用調(diào)制它的脈寬來改變電機(jī)轉(zhuǎn)動的速度,其輸出電壓就是方波的平均值,當(dāng)輸出為低電平時,電機(jī)停轉(zhuǎn),當(dāng)輸出高電平時,電機(jī)最高速。利用定時器1的外部中斷才生3.2khz的方波頻率。如圖2.2,該圖為L298N電機(jī)驅(qū)動圖,當(dāng)INT1、INT3為高電平時,INT2、INT4為低電平時,左邊電機(jī)和右邊電機(jī)均正轉(zhuǎn),反之,反轉(zhuǎn)。ENA、ENB分別為左右電機(jī)的使能端,高電平時電機(jī)工作。此外,ENA、ENB由單片機(jī)pwm輸出P1.3、P1.4構(gòu)成的。圖2.2電機(jī)驅(qū)動電路2.3單片機(jī)控制電路單片機(jī)是控制單元的核心。起著控制小車所有運行狀態(tài)的作用。單片機(jī)控制模塊使用的是宏晶科技公司生產(chǎn)的STC12C5A60S2,使用該芯片很容易實現(xiàn)對其他模塊的控制。通過對單片機(jī)寫入程序,可以方便的用軟件來控制整個過程.控制部分如圖2-3所示。STC12C5A60S2單片機(jī)介紹:STC12C5A60S2/AD/PWM系列單片機(jī)是宏晶科技生產(chǎn)的單時鐘/機(jī)器周期(1T)的單片機(jī),是高速/低功耗/超強抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。片上集成了1280字節(jié)RAM,有EEPROM功能,看門狗定時器,內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S),針對電機(jī)控制,強干擾場合。其引腳排列如圖2-4所示圖2-3片機(jī)最小控制系統(tǒng)圖2-4STC12C5A60S2的引腳圖2.4測距模塊設(shè)計圖2-5測距碼盤示例圖通過開啟一個外部中斷,用于記錄轉(zhuǎn)速傳感器發(fā)出的n個脈沖,我們首先記錄了車輪轉(zhuǎn)動一圈傳感器發(fā)出的脈沖m個,碼盤共有6個格。車輪的直徑為d。由此可計算出每檢測到一個格所走的距離s。2.5黑線循跡電路設(shè)計該智能小車在鋪有約兩厘米寬黑紙的路面行駛,路面可看作白色。由于黑紙和白色路面對光線的反射系數(shù)不同,可以根據(jù)接收的反射光的強弱來判斷道路——黑紙軌跡。本設(shè)計利用紅外線在不同顏色的物表面具有不同的反射性質(zhì)的特點。在小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外線遇到白色地面時發(fā)生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑紙則紅外光被吸收,小車上的接收管接收不到信號??紤]到集成紅外探測頭體積小、簡便易用,性能可靠。所以本設(shè)計選擇了反射式紅外線光電傳感器作為紅外光的發(fā)射和接受器件,一般檢測距離可達(dá)4~10cm,其內(nèi)部結(jié)構(gòu)和外接電路均較為簡單.鑒于小車底部聚地面的距離不超過五厘米,故用紅外光電傳感器足以滿足要求。其內(nèi)部結(jié)構(gòu)和外接電路均較為簡單,檢測電路如圖4所示。圖2-6黑線檢測電路2.6光源檢測電路的設(shè)計光源檢測使用常見的光敏器件,光敏二極管。光敏電阻器(photovaristor)又叫光感電阻,是利用半導(dǎo)體的光電效應(yīng)制成的一種電阻值隨入射光的強弱而改變的電阻器;入射光強,電阻減小,入射光弱,電阻增大。光敏電阻器一般用于光的測量、光的控制和光電轉(zhuǎn)換(將光的變化轉(zhuǎn)換為電的變化)。這里我們就可以利用光敏二極管對光源變換的敏感反映,檢測外部光源。當(dāng)有光照射時,光敏二極管呈強電阻,經(jīng)比較器輸出一個高電平,反之則輸出低電平。我們可以再外接一個LED作為檢測指示燈,則可以明顯觀察到這個變化。即有光照時LED亮,無時則滅。光源小車光源小車圖2-7光源檢測電路圖2-8光敏二極管排布三:軟件設(shè)計3.1系統(tǒng)控制流程啟動初始化程序啟動初始化程序I/O口掃描I/O是否有變化是進(jìn)入程序判斷,輸出相應(yīng)信號控制電機(jī)否終止開始單片機(jī)初始化檢測有無黑線YN終止前進(jìn)方向調(diào)整檢測有無金屬Y計數(shù)N避障檢測光源檢測圖3-1控制系統(tǒng)的流程圖

是是采集尋跡模塊數(shù)據(jù)左側(cè)壓線保持原有轉(zhuǎn)速前進(jìn)結(jié)束右轉(zhuǎn)采集光敏傳感器信號開始右側(cè)壓線都不壓線左轉(zhuǎn)尋線模塊是

開始判斷光源位置無光源有光源前進(jìn)左轉(zhuǎn)右轉(zhuǎn)結(jié)束前

圖3-2尋跡模塊圖3-3光源追蹤模塊3.2軟件程序設(shè)計部分源程序本程序以c語言的形式編輯,結(jié)合硬件實現(xiàn)小車整個系統(tǒng)功能。小車以自動尋跡為主體,不斷檢測黑線信號,實時進(jìn)行調(diào)整,并且加入了超聲波避障模塊。此程序主要以查詢方式實現(xiàn),同時也結(jié)合了語音控制的中斷方式,主體程序如下:/****03年的賽題,車子需要裝有三個黑線傳感器,兩個光源傳感器,一個金屬探測傳感器****//****首先現(xiàn)在直線區(qū)進(jìn)行直線運動,在經(jīng)過2.3m后開始沿黑線進(jìn)行彎道行走****//****其要求做到可產(chǎn)生聲光信號,通過led小燈與揚聲器完成****//****運動區(qū)域現(xiàn)今分為直線區(qū)0、彎道區(qū)1、障礙區(qū)2、光源區(qū)3****/#include<STC12C5A.h>#include<stdio.h>#include"PWM.h"#include"JN12864.h"#include"metal_detect.h"#include"motoruse.h"#include"ultrasonic.h"#include"AD.h"#defineucharunsignedchar#defineuintunsignedintsbitinfrared=P3^2;/************各類計數(shù)變量************/ucharnumber=0;//用于記錄薄鐵片的數(shù)量bitj;charstatus=0;uintcounter; //與計時相關(guān)ucharDIS1[16]; //用于顯示的變量floattime,Venue,location[3]; //時間,距離,位置bitabc;floatrsl,rsm,rsr;//voidmotor(ucharindex,intspeed);voidcompare(){if(rsl<rsm&&rsl<rsr) //左輪的光感最強 { motor(1,70);motor(2,248); }if(rsm<rsl&&rsm<rsr) //中輪的光感最強 { motor(1,256);motor(2,248); }if(rsr<rsm&&rsr<rsl) //右輪的光感最強 { motor(1,256);motor(2,70); }if(rsl<1.0||rsm<1.0||rsr<1.0) { CR=0; CCAPM0=CCAPM1=0; en1=0; en2=0;while(1){EA=0;} } }/*************************初始化函數(shù)***************************/voidinitial(){ EX0=1; ET1=1; IT0=1; EA=1;//用于啟動外部中斷 TMOD|=0x12;//八位自動重裝的 TH0=0xff; //產(chǎn)生的中斷頻率TR0=1;TR1=1; PWM_clock(2);//PCA/PWM時鐘源為定時器0的溢出 TH1=(65536-50000)/256; TL1=(65536-50000)%256; EX1=1;IT1=1;}/****************90S顯示函數(shù)**************/voidfinally(){ if(time>=90) { lcd_wcmd(0x34);//擴(kuò)充指令操作 delayult(5); lcd_wcmd(0x30);//基本指令操作 delayult(5); lcd_wcmd(0x01);//清屏 delayult(5); while(1) { s1=s3=0;EA=0; sprintf(DIS1,"Timer:%5.2fs",time);LCD_PutString(0,1,DIS1); sprintf(DIS1,"N=%d",(uint)number);LCD_PutString(6,1,DIS1); if(location[0]!=0){sprintf(DIS1,"%5.4f",location[0]);LCD_PutString(0,2,DIS1);} if(location[1]!=0){sprintf(DIS1,"%5.4f",location[1]);LCD_PutString(0,3,DIS1);} if(location[2]!=0){sprintf(DIS1,"%5.4f",location[2]);LCD_PutString(0,4,DIS1);} } }}/**************************主函數(shù)***************************/voidmain(){bitj=0;bitk=0;bitp=0;biti=0;bitq=0;floattimestore=300;initial();lcd_init();ADinitial();while(1){distances();sprintf(DIS1,"Timer:%6.3fs",time); //顯示小車跑過的時間 LCD_PutString(0,1,DIS1); sprintf(DIS1,"N=%d",(uint)number); LCD_PutString(6,1,DIS1); sprintf(DIS1,"Venue:%6.3fm",Venue); LCD_PutString(0,2,DIS1); sprintf(DIS1,"S=%d",(uint)status); LCD_PutString(6,2,DIS1); Metal_Detec(); rsl=get_AD_result(0); rsm=get_AD_result(1); rsr=get_AD_result(2); sprintf(DIS1,"S=%3.1f",rsl); LCD_PutString(0,3,DIS1); sprintf(DIS1,"S=%3.1f",rsm); LCD_PutString(0,4,DIS1); sprintf(DIS1,"S=%3.1f",rsr); LCD_PutString(4,4,DIS1); switch(status) { case0://直線區(qū):依賴黑線與三個黑線傳感器行走2.3m { speaker=1;led=1; external_interrupt(256,240,220,220); //直線區(qū)代碼保持不變,直線效果不錯 break; } case1://轉(zhuǎn)彎區(qū):進(jìn)行轉(zhuǎn)彎,待檢測到金屬的存在后進(jìn)行5S的停車 { CR=0; CCAPM0=CCAPM1=0; if(i==0){CR=0;CCAPM0=CCAPM1=0;external_interrupt(98,195,98,195);} if(Metal_Detec()==1&&i==0) { CR=0; CCAPM0=CCAPM1=0; en1=0; en2=0; timestore=time;i=1; } if(i==1&&((time)<=(timestore+5.0))){led=!led;speaker=!speaker;} if((time)>(timestore+5.0)) { CR=0; CCAPM0=CCAPM1=0;motor(1,256);motor(2,248); timestore=0; status=2;i=0;j=0;speaker=1; } break; } case2://障礙區(qū) //初步構(gòu)想先通過超聲波檢測,走到離障礙物0.1m處,而后90度轉(zhuǎn),再直線行走,之后通過紅外避障來判定障礙物是否存在,當(dāng)判定不存在時,再轉(zhuǎn) //難度:90度直線的實現(xiàn) { speaker=1;motor(1,256);motor(2,247); //這個是在無黑線修正情況下的直線 if(distances()<35&&i==0) //遇障轉(zhuǎn)彎 { CR=0;CCAPM0=CCAPM1=0;en1=0;motor(2,256); delay(3800); //實現(xiàn)角度的90度變化 CR=0;CCAPM0=CCAPM1=0;en1=en2=0; i=1;j=1; timestore=Venue; } if((Venue>=(timestore+0.35))&&j==1) //直行點四 //if(infrared==1&&j==1) //紅外檢測到是低電平 { timestore=0; CR=0;CCAPM0=CCAPM1=0;en2=en1=0;motor(1,256);motor(2,5); delay(3400); CR=0;CCAPM0=CCAPM1=0;en1=en2=0; j=0;k=1; led=1;speaker=0; timestore=Venue; } //而后前行0.8m,之后停。 if((Venue>timestore+0.8)&&k==1) { timestore=0; CR=0;CCAPM0=CCAPM1=0;en2=en1=0;motor(1,256);motor(2,5); delay(3350); CR=0;CCAPM0=CCAPM1=0;en1=en2=0; k=0;p=1; led=1;speaker=1; } if(rsl>3.9&&p==1) { CR=0;CCAPM0=CCAPM1=0;en1=0;motor(2,256); delay(3300); //實現(xiàn)角度的90度變化 CR=0;CCAPM0=CCAPM1=0;en1=en2=0; p=0;q=1; } //而后就進(jìn)入了光敏引導(dǎo)區(qū) if(q==1)compare(); /* if(distances()<35&&k==1) { CR=0;CCAPM0=CCAPM1=0;en2=0;motor(1,256); delay(3200); CR=0;CCAPM0=CCAPM1=0;en1=en2=0; k=1;p=1; } if(infrared==1&&p==1) { CR=0;CCAPM0=CCAPM1=0;en2=0;motor(1,256); delay(3200); CR=0;CCAPM0=CCAPM1=0;en1=en2=0; p=0; } */ break; } } finally();// compare();}}/*********************中斷函數(shù)************************/voidPCA_Interrpt(void)interrupt7 { if(CCF0)CCF0=0; if(CCF1)CCF1=0;//軟件清零 if(CF)CF=0;//軟件清零}/*****************外部中斷(留著以后備用)******************/voidwtimer0()interrupt2//用于測距{ Venue=Venue+0.000358;//0.01/30*0.807018*3.4/2.2*198/230; if(Venue>=2.3&&abc==0){status=1;abc=1;} }voidtimer1()interrupt3 //用于計時{ TH1=(65536-50000)/256; TL1=(65536-50000)%256; counter++; time=0.05*counter;}四.系統(tǒng)測試4.1硬件調(diào)試對各個模塊的功能進(jìn)行調(diào)試,主要調(diào)試各模塊能否實現(xiàn)指定的功能。1.電機(jī)控制此模塊調(diào)試實現(xiàn)的功能是結(jié)合軟件共同實現(xiàn),當(dāng)連接單片機(jī)與電機(jī)控制芯片的I/0加上一定的電平可以實現(xiàn)電機(jī)左右轉(zhuǎn)向,前后轉(zhuǎn)向以及停止等功能,同時通過程序延時降低電機(jī)轉(zhuǎn)速。如表5-1為電機(jī)測試記錄。表4-1電機(jī)測試記錄P1.5P2.6小車行駛狀態(tài)11小車向前行駛10小車向前左轉(zhuǎn)01小車向前右轉(zhuǎn)00小車不轉(zhuǎn)光源追蹤調(diào)試光源追蹤是該系統(tǒng)最后的階段,在光源的引導(dǎo)下,小車會追隨光源的移而移動小車的光敏二極管接收一定的光照,并將數(shù)據(jù)返回給單片機(jī),本實驗用到了單片機(jī)內(nèi)置的A/D轉(zhuǎn)換,將光源的能量轉(zhuǎn)換模擬值,通過轉(zhuǎn)換光強以后,到達(dá)一定光強(即小車非常接近光源后)單片機(jī)便會發(fā)出指令,讓小車停止。表4-2光源強度檢測測試次數(shù)第1次第2次第3次第4次第5次第6次放置距離30cm25cm20cm15cm10cm5cm左側(cè)光照值右側(cè)光照值中間光照值

由于在測量之前,我們已經(jīng)知道我們所需要的測量距離,根據(jù)本實驗要求和自身小車限制,我們所需的測量值為20cm。表4-2超聲波距離控制測試次數(shù)第1次第2次第3次第4次第5次第6次軟件預(yù)設(shè)值對應(yīng)測量值與所需值之差五.結(jié)論各模塊都調(diào)試通過之后,將各個模塊連接起來與硬件結(jié)合進(jìn)行聯(lián)合調(diào)試。在進(jìn)行聯(lián)合調(diào)試時,經(jīng)過反復(fù)的實驗,不斷的來修改參數(shù)來完善結(jié)果。使程序按照要求設(shè)計的要求進(jìn)行。參考文獻(xiàn):[1]李建忠.單片機(jī)原理及應(yīng)用[M].西安:西安科技大學(xué)出版社,2002,2.[2]趙負(fù)圖.光電檢測控制電路手冊[M].北京:化學(xué)工業(yè)出版社,2001,1.[3]趙廣林.輕松跟我學(xué)Protel99SE電路設(shè)計與制版[M].北京:電子工業(yè)出版社,2005,2.[4]王東鋒、董冠強.單片機(jī)C語言應(yīng)用100例[M].北京:電子工業(yè)出版社,2009,3.[5]陳繼榮.智能電子制作創(chuàng)新制作——機(jī)器人制作入門[M].北京:科學(xué)出版社,2007,10.[6]夏美云,張鴻彥.人工智能發(fā)展探討[J].焦作大學(xué)學(xué)報,2005年4期,49~66.[7]張金.電子設(shè)計與制作100例[M].北京,2009,10.[8]王曉明.電動機(jī)的單片機(jī)控制[J].學(xué)術(shù)期刊,2002,13(15):1322-1755.

附錄:附1:元器件明細(xì)表:STC12C5A60S2LCD12864LJ18A3-8-7JBXL298NHC-SR04附2:使用的儀器設(shè)備及軟件數(shù)字萬用表穩(wěn)壓電源數(shù)字示波器電烙鐵畫圖制板軟件編譯軟件燒寫器附3:部分功能代碼/*用于STC12C5A的內(nèi)置AD轉(zhuǎn)換*/#include"AD.h"#defineucharunsignedchar#defineuintunsignedintfloatget_AD_result(ucharchannel){ inti; uintmyRS; ucharmyRSL; floatanswer; ucharAD_finished=0;//存儲AD轉(zhuǎn)化標(biāo)志 ADC_RES=0; ADC_CONTR

溫馨提示

  • 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

提交評論