版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
資料.單片機系統(tǒng)課程設(shè)計智能小車(避障及循跡)的設(shè)計摘要智能作為現(xiàn)代社會的新生產(chǎn)物,是未來的發(fā)展的一個重要方向,它可以按照預定的模式在特定的環(huán)境里自動的運作,無需人為管理,便可以完成預期目標。本設(shè)計主要體現(xiàn)多功能小車的智能模式,設(shè)計中的理論方案、分析方法及特色與創(chuàng)新點等對智能化機器人,智能家用電器等自動半自動機器人的設(shè)計與普及有一定的參考意義。
整個智能小車設(shè)計主要以單片機為控制核心,通過紅外遙控實現(xiàn)小車前后左右的移動,以及對小車功能模式的轉(zhuǎn)換;通過紅外傳感器,實現(xiàn)小車的避障功能和循跡功能。設(shè)計采用對比選擇,模塊獨立,綜合處理的研究方法。結(jié)合實際情況對比方案優(yōu)劣選出最優(yōu)方案進行設(shè)計。從紅外遙控,紅外循跡和避障,都嚴格按照科學嚴謹態(tài)度完成。通過調(diào)試檢測各模塊,得到正確的信號輸出,實現(xiàn)其應有的功能。最后將各個調(diào)試成功的模塊結(jié)合到小車的車體上,結(jié)合程序,通過單片機的控制,將各模塊有效整合在一起,達到所預期的目標,完成最終設(shè)計與制作,能使小車在一定的環(huán)境中智能化運轉(zhuǎn)。關(guān)鍵詞:智能小車避障循跡遙控資料.AbstractSmartasanewproductofmodernsociety,itisanimportantdirectionoffuturedevelopment,itcanbeaccordingtothepredeterminedpatterninaspecificenvironmentofautomaticoperation,withouthumanmanagement,canachieveexpectedgoal.Thisdesignmainlyreflectsthemulti-functioncarintelligentmode,thetheoryinthedesignofscheme,analysismethodandspecialfeaturesandinnovationpointofintelligentrobot,intelligenthomeappliancessuchasthedesignofautomaticsemi-automaticrobotandpopularityhavecertainreferencesignificance.Thesmartcardesignmainlybythesinglechipprocessorasthecore,throughinfraredremotecontroltorealizethecarmovingaround,aswellastothecarfunctionmodeconversion;Throughtheinfraredsensor,achievethefunctionofcarobstacleavoidanceandtrackingfunction.IndependentdesignUSEScontrasttochoose,module,integratedprocessingmethods.Combinedwithactualsituationcomparingschemetodesignandchoosetheoptimalsolution.Fromtheinfraredremotecontrol,infraredtrackingandobstacleavoidance,areinstrictaccordancewiththescientificrigorousattitudetocomplete.Throughdebuggingtestmodule,getthecorrectoutputsignal,realizeitsfunction.Finallycombinethemodulesofvariousdebuggingsuccessoncarbody,combinedwiththeprogram,throughthesingle-chipmicrocomputercontrol,toeffectivelyintegratevariousmodulestogether,achievetheexpectedgoals,completethefinaldesignandproduction,canmakethecarintelligentoperationinacertainenvironment.Keywords:intelligentcaravoidancetrackingcontrol資料.TOC\o"1-3"\h\u6294第一章緒論 169931.1設(shè)計的背景和意義 119171.2智能小車的發(fā)展現(xiàn)狀 2106431.3該設(shè)計的主要內(nèi)容和目的 41143第二章系統(tǒng)總體方案設(shè)計與論證 544872.1系統(tǒng)的總體方案設(shè)計 5116662.2主控系統(tǒng) 6313432.3電機驅(qū)動模塊 6124902.4循跡模塊 6304822.5顯示模塊 626526第三章系統(tǒng)硬件電路設(shè)計 734533.1主控模塊的電路設(shè)計 7123623.1.1AT89S52單片機的簡介 7229983.2紅外避障模塊的電路設(shè)計 9311813.2.1LM393雙電壓比較器集成電路 932713.2.2紅外對管工作原理 11248703.2.3紅外避障電路圖及工作原理 12190263.3紅外循跡電路的設(shè)計 1329034第四章系統(tǒng)軟件設(shè)計 15214994.1主程序 1526022第五章總結(jié) 24444附錄1程序清單 25677附錄2硬件原理圖 3426396附錄3實物圖 35資料.第一章緒論1.1設(shè)計的背景和意義隨著電子技術(shù)、計算機技術(shù)和制造技術(shù)的飛速發(fā)展,數(shù)碼相機、DVD、洗衣機、汽車等消費類產(chǎn)品越來越呈現(xiàn)光機電一體化、智能化、小型化等趨勢。各種智能化小車在市場玩具中也占一個很大的比例。根據(jù)美國玩具協(xié)會的調(diào)查統(tǒng)計,近年來全球玩具銷量增幅與全球平均GDP增幅大致相當。而全球玩具市場的內(nèi)在結(jié)構(gòu)比重卻發(fā)生了重大改變:傳統(tǒng)玩具的市場比重正在逐步縮水,高科技含量的電子玩具則蒸蒸日上。美國玩具市場的高科技電子玩具的年銷售額2004年交2003年增長52%,而傳統(tǒng)玩具的年銷售額僅增長3%。英國玩具零售商協(xié)會選出的2001圣誕節(jié)最受歡迎的十大玩具中,有7款玩具配有電子元件。從這些數(shù)字可以看出,高科技含量的電子互動式玩具已經(jīng)成為玩家行業(yè)發(fā)展的主流。如今知識工程、計算機科學、機電一體化和工業(yè)一體化等許多領(lǐng)域都在討論智能系統(tǒng),人們要求系統(tǒng)變得越來越智能化。顯然傳統(tǒng)的控制觀念是無法滿足人們的需求,而智能控制與這些傳統(tǒng)的控制有機的結(jié)合起來取長補短,提高整體的優(yōu)勢更好的滿足人們的需求。隨著人工智能技術(shù)、計算機技術(shù)、自動控制技術(shù)的迅速發(fā)展,智能控制必將迎來它的發(fā)展新時代。計算機控制與電子技術(shù)融合為電子設(shè)備智能化開辟了廣闊前景。因此,遙控加智能的技術(shù)研究、應用都是非常有意義而且有很高市場價值的。1.2智能小車的發(fā)展現(xiàn)狀隨著汽車工業(yè)的迅速發(fā)展,關(guān)于汽車的研究也就越來越受人關(guān)注。全國電子大賽和省內(nèi)電子大賽幾乎每次都有智能小車這方面的題目,全國各高校也都很重視該題目的研究??梢娖溲芯恳饬x很大。智能小車是一個集環(huán)境感知、規(guī)劃決策、自動駕駛等功能于一體的綜合系統(tǒng)。它集中的運用了計算機、傳感器、信息。通信、導航、人工智能及自動控制等技術(shù),是典型的高新技術(shù)綜合體。
一.國外智能車設(shè)計競賽
(1)美國的智能車大賽
美國國防部與院校、企業(yè)和發(fā)明家聯(lián)合開展,全球領(lǐng)先的智能汽車競賽。
2007年11月,美國第三屆智能汽車大賽在加州維克托維爾舉行。本屆智能汽車比賽的目標是對未來科學家的激勵。大學、企業(yè)和發(fā)明家們期望制造出通過洛杉磯和拉斯維加斯間荒地、行程160km的自主控制汽車。
參賽汽車的車頂上有旋轉(zhuǎn)的激光器,兩邊有轉(zhuǎn)動的照相機,完全由電腦控制,利用衛(wèi)星導航、攝像、雷達和激光,人工智能系統(tǒng)可判斷出汽車的位置和去向,隨后將指令傳輸?shù)截撠燅{駛車輛的系統(tǒng),絲毫不受人的干涉,用傳感器策劃和選擇路線。參賽的無人駕駛智能汽車沿著附近公路飛奔。
(2)韓國大學生智能車大賽
韓國漢陽大學汽車控制實驗室在飛思卡爾半導體公司資助下舉辦,以HCS12單片機為核心的大學生智能模型汽車競賽。
組委會提供一個標準的汽車模型、直流電機和可充電式電池,參賽隊伍要制作一個能夠自主識別路線的智能車,在專門設(shè)計的跑道上自動識別道路行駛,誰最快跑完全程而沒有沖出跑道并且技術(shù)報告評分較高,誰就是獲勝者。
二.國內(nèi)智能車輛競賽現(xiàn)狀研究
(1)競賽的起源
2005年11月,中國教育部高等學校自動化專業(yè)指導分委員會與飛思卡爾半導體公司簽署了雙方長期合作協(xié)議書。協(xié)議書規(guī)定從2006年起,飛思卡爾將至少連續(xù)5年協(xié)辦“飛思卡爾”杯全國大學生智能汽車邀請賽,提供參賽隊的標準硬、軟件技術(shù)平臺和競賽優(yōu)勝者獎金,并為主辦單位提供一定的競賽組織經(jīng)費,我國智能車競賽由此開始.
(2)智能車競賽的地位
教育部:與老牌的數(shù)學建模、電子設(shè)計、機械設(shè)計、結(jié)構(gòu)設(shè)計等四大競賽并列,被認定為國家教育部正式承認的五大大學生競賽項目.
各高校:清華、交大、科大等名校均參加,最投入為北京科大,每年均舉行校內(nèi)賽(09年規(guī)模為79支隊伍).
校內(nèi):綜合類競賽(A類)僅3種,分別為智能汽車、機器人、挑戰(zhàn)杯。
(3)競賽歷史——第一屆邀請賽
2006年8月20日至21日在清華大學進行,共有來自全國57所高校的112支參賽隊參加。賽道中只有直道和彎道,沒有上下坡。從賽車尋跡技術(shù)方案來看,賽道檢測方式也大體分
為紅外發(fā)射/接受管檢測方式和CCD/CMOS攝像頭檢測方式兩類。攝像頭方案的成績普遍好于紅外傳感器方案。
(4)競賽歷史——第二屆,賽區(qū)+總決賽
擴大到全國具有以自動化專業(yè)為主的理工類高等本科學校約300余所。采取賽區(qū)和全國總決賽結(jié)合的形式。全國分為5個賽區(qū),總決賽在上海交大舉行??倹Q賽中出現(xiàn)上下坡的限制,比賽變得復雜了。小車的平均速度較比上年有了顯著的提高,采用攝像頭方案的成績更加明顯(決賽前十名的隊伍全為攝像頭隊伍)。同比韓國的智能車大賽,我們的競賽成績已經(jīng)超過了韓國。
(5)競賽歷史——第三屆,賽區(qū)+總決賽
第三屆智能車大賽在東北大學舉行,有551支代表隊伍參加了分區(qū)賽,104支隊伍參加了總決賽。第三屆比賽保留了前兩屆的要求,同時又增加了跑完全部路程起跑線在3米內(nèi)停車的限制,對起跑線的識別又提出了嚴格的要求。與前兩屆攝像頭與光電同條件參加比賽不同,本次競賽分為光電與攝像頭兩個賽題組。
(6)競賽歷史——第四屆,賽區(qū)+總決賽
第四屆智能車總決賽在北京科技大學舉行,有780支代表隊伍參加了分區(qū)賽,120支隊伍參加了總決賽。第四屆比賽保留了前三屆的要求,同時又增加了窄道、更復雜的背景、三角形標識識別等更具有難度的內(nèi)容。增加了創(chuàng)意組,共有10個隊經(jīng)過初選進入復賽。
(7)競賽的發(fā)展—第五屆,更具難度
增加電磁組,擴大創(chuàng)意組規(guī)模;賽道變窄,提高小車控制難度;措施更嚴密。1.3該設(shè)計的主要內(nèi)容和目的智能小車主要由由四大組成部分:紅外避障部分、紅外循跡部分、執(zhí)行部分、CPU。智能小車要實現(xiàn)循跡識別路線,避障后退并選擇其他前進路線。該設(shè)計主要通過對系統(tǒng)硬件電路的設(shè)計,軟件設(shè)計和程序的編寫,然后通過后期軟硬件調(diào)試達到設(shè)計目的,使其具有上述功能。資料.資料.第二章系統(tǒng)總體方案設(shè)計與論證2.1系統(tǒng)的總體方案設(shè)計該系統(tǒng)以AT89S52單片機為核心的控制電路,采用模塊化的設(shè)計方案,利用紅外遙控器代替開關(guān)按鍵控制小的啟動和停止,能夠輕松自如的實現(xiàn)小車的啟動停止、左轉(zhuǎn)、右轉(zhuǎn)和前進后退等功能,假如我們希望小車運行到黑線上來檢測是否有循跡功能,就可以用遙控器控制小車行駛到有黑線的地方,當小車遇到有黑線時,會自動啟動循跡功能模塊,讓小車沿黑線跑,遇到障礙物時會后退并選擇其他路線躲避障礙物。每個模塊都是相互獨立又相互協(xié)調(diào)配合,實現(xiàn)了小車的智能控制。系統(tǒng)控制框圖如圖2.1所示:紅外避障模塊AT89紅外避障模塊AT89S52紅外遙控模塊紅外接收模塊電機驅(qū)動模塊循跡模塊顯示模塊圖2.1系統(tǒng)控制框圖資料.資料.2.2主控系統(tǒng)我們采用單片機作為整個系統(tǒng)的核心,通過其控制行進中的小車,以實現(xiàn)其既定的性能指標。充分分析我們的系統(tǒng),其關(guān)鍵在于實現(xiàn)小車的自動控制,而在這一點上,單片機就顯現(xiàn)出來它的優(yōu)勢——控制簡單、方便、快捷。這樣一來,單片機就可以充分發(fā)揮其資源豐富、有較為強大的控制功能及可位尋址操作功能、價格低廉等優(yōu)點。所以,我們選定了AT89S52單片機作為本設(shè)計的主控裝置。2.3電機驅(qū)動模塊采用功率三極管作為功率放大器的輸出控制直流電機。線性型驅(qū)動的電路結(jié)構(gòu)和原理簡單,加速能力強,采用由達林頓管組成的H型橋式電路。用單片機控制達林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài)下,精確調(diào)整電動機轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡單的實現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開關(guān)速度很快,穩(wěn)定性也極強,是一因此選用L9110。這種調(diào)速方式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過載能力大,能承受頻繁的負載沖擊,還可以實現(xiàn)頻繁的無級快速啟動、制動和反轉(zhuǎn)等優(yōu)點。2.4循跡模塊采用兩只紅外對管,分別置于小車車身左右兩側(cè),根據(jù)兩只對管接受到白線與黑線的情況來控制小車轉(zhuǎn)向來調(diào)整車向。2.5顯示模塊常用的數(shù)碼顯示器件主要有LED數(shù)碼顯管和LCD液晶顯示器。考慮實用性最終選擇了5611BS:0.56英寸一位共陽紅色數(shù)碼管,實用性強且價格低廉。第三章系統(tǒng)硬件電路設(shè)計3.1主控模塊的電路設(shè)計3.1.1AT89S52單片機的簡介AT89C52是一個低電壓,高性能CMOS
8位單片機,片內(nèi)含8kbytes的可反復擦寫的Flash只讀程序存儲器和256bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業(yè)中有著廣泛的應用。AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應不同產(chǎn)品的需求。引腳圖如圖3.1圖3.1AT89S52引腳圖AT89C52為8位通用微處理器,采用工業(yè)標準的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19腳)和XTAL2(18腳)為振蕩器輸入輸出端口,外接12MHz晶振。RST/Vpd(9腳)為復位輸入端口,外接電阻電容組成的復位電路。VCC(40腳)和VSS(20腳)為供電端口,分別接+5V電源的正負端。P0~P3為可編程通用I/O腳,其功能用途由軟件定義,在本設(shè)計中,P0端口(32~39腳)被定義為N1功能控制端口,分別與N1的相應功能管腳相連接,13腳定義為IR輸入端,10腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12腳、27腳及28腳定義為握手信號功能端口,連接主板CPU的相應功能端,用于當前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能。3.2紅外避障模塊的電路設(shè)計3.2.1LM393雙電壓比較器集成電路圖3.2.1-1LM393LM393是高增益,寬頻帶器件,像大多數(shù)比較器一樣,如果輸出端到輸入端有寄生電容而產(chǎn)生耦合,則很容易產(chǎn)生振蕩。這種現(xiàn)象僅僅出現(xiàn)在當比較器改變狀態(tài)時,輸出電壓過渡的間隙,電源加旁路濾波并不能解決這個問題,標準PC板的設(shè)計對減小輸入-輸出寄生電容耦合是有助的。減小輸入電阻至小于10K將減小反饋信號,而且增加甚至很小的正反饋量(滯回1.0~10mV)能導致快速轉(zhuǎn)換,使得不可能產(chǎn)生由于寄生電容引起的振蕩,除非利用滯后,否則直接插入IC(集成電路板integratedcircuit,縮寫:IC)并在引腳上加上電阻將引起輸入-輸出在很短的轉(zhuǎn)換周期內(nèi)振蕩,如果輸入信號是脈沖波形,并且上升和下降時間相當快,則滯回將不需要。圖3.2.1-2特點:工作溫度范圍:0°C--+70°CSVHC(高度關(guān)注物質(zhì)):NoSVHC(18-Jun-2010)器件標號:393工作電源電壓范圍寬,單電源、雙電源均可工作,單電源:2~36V,雙電源:±1~±18V;消耗電流小,ICC=0.8mA;輸入失調(diào)電壓小,VIO=±2mV;共模輸入電壓范圍寬,VIC=0~VCC-1.5V;輸出與TTL,DTL,MOS,CMOS等兼容;輸出可以用開路集電極連接“或”門;表面安裝器件:表面安裝功能:輸出負載電阻能銜接在可允許電源電壓范圍內(nèi)的任何電源電壓上,不受Vcc端電壓值的限制,輸出部分的陷電流被可能得到的驅(qū)動和器件的β值所限制.當達到極限電流(16mA)時,輸出晶體管將退出而且輸出電壓將很快上升。輸出飽和電壓被輸出晶體管大約60ohm的γSAT限制。當負載電流很小時,輸出晶體管的低失調(diào)電壓(約1.0mV)允許輸出箝位在零電平。3.2.2紅外對管工作原理圖3.2.2-1圖3.2.2-2上圖中,紅外光電管有兩種,一種是無色透明的LED,此為發(fā)射管,它通電后能夠產(chǎn)生人眼不可見紅外光,另一部分為黑色的接收部分,它內(nèi)部的電阻會隨著接收到紅外光的多少而變化。無論是一體式還是分離式,其檢測原理都相同,由于黑色吸光,當紅外發(fā)射管照射在黑色物體上時反射回來的光就較少,接收管接收到的紅外光就較少,表現(xiàn)為電阻大,通過外接電路就可以讀出檢測的狀態(tài);同理,當照射在白色表面時發(fā)射的紅外線就比較多,表現(xiàn)為接收管的電阻較小,此時通過外接電路就可以讀出另外一種狀態(tài),如用電平的高低來描述上面兩種現(xiàn)象就會出現(xiàn)高低電平之分,也就是會出現(xiàn)所謂的0和1兩種狀態(tài),此時再將此送到單片機的I/O口,單片機就可以判斷是黑白路面,進而完成相應的功能,如循跡、避障等。3.2.3紅外避障電路圖及工作原理圖3.2.3-1圖3.2.3-2特點:該傳感器模塊對環(huán)境光線適應能力強,其具有一對紅外線發(fā)射與接收管,發(fā)射管發(fā)射出一定頻率的紅外線,當檢測方向遇到障礙物(反射面)時,紅外線反射回來被接收管接收,經(jīng)過比較器電路處理之后,停止一段時間并后退,有效距離范圍2~4cm,工作電壓為3.3V-5V。該傳感器的探測距離可以通過電位器調(diào)節(jié)、具有干擾小、便于裝配、使用方便等特點。1、當模塊檢測到前方障礙物信號時,前方側(cè)位紅色指示燈點亮電平,同時OUT端口持續(xù)輸出低電平信號,該模塊檢測距離2~4cm。2、傳感器主動紅外線反射探測,因此目標的反射率和形狀是探測距離的關(guān)鍵。其中黑色探測距離最小,白色最大;小面積物體距離小,大面積距離大。3、傳感器模塊輸出端口OUT可直接與單片機IO口連接即可,也可以直接驅(qū)動一個5V繼電器;連接方式:VCC-VCC;GND-GND;OUT-IO4、比較器采用LM393,工作穩(wěn)定;5、可采用3-5V直流電源對模塊進行供電。3.3紅外循跡電路的設(shè)計圖3.3-1圖3.3-2圖3.3-3原理與避障基本一致,LM393為內(nèi)部集成了四路比較器的集成電路。因為內(nèi)部的四個比較電路完全相同,這里僅以一路比較電路進行舉例。如圖4所示為單路比較器組成的紅外檢測電路圖,比較器有兩個輸入端和一個輸出端,兩個輸入端一個稱為同輸入端,用“+”號表示,另一個稱為反相輸入端,用“-”表示。用作比較兩個電路時,任意一個輸入端加一個固定電壓作參考電壓(也叫門限電壓),另一端則直接接需要比較的信號電壓。當“+”端電壓高于“-”端電壓時,輸出正電源電壓,當“-”端電壓高于“+”端電壓時,輸出負電源電壓(注意,此處所說的正電源電壓和負電源電壓是指接比較正負極的電壓。第四章系統(tǒng)軟件設(shè)計4.1主程序避障系統(tǒng)主程序#include<REGX52.H>//包含51單片機相關(guān)的頭文件sbitLeftLed=P2^0;//定義前方左側(cè)指示燈端口sbitRightLed=P0^7;//定義前方右側(cè)指示燈端口sbitFontLled=P1^7;sbitLeftIR=P3^5;//定義前方左側(cè)紅外探頭端口sbitRightIR=P3^6;//定義前方右側(cè)紅外探頭端口sbitFontIR=P3^7;//定義前方正前方紅外探頭端口sbitM1A=P0^0;//定義左側(cè)電機驅(qū)動A端sbitM1B=P0^1;//定義左側(cè)電機驅(qū)動B端sbitM2A=P0^2;//定義右側(cè)電機驅(qū)動A端sbitM2B=P0^3;//定義右側(cè)電機驅(qū)動B端sbitB1=P0^4;//定義語音識識別傳感器端口sbitSB1=P0^6;//定義蜂鳴器端口voidtingzhi(){M1A=0;//將M1電機A端初始化為0M1B=0;//將M1電機B端初始化為0M2A=0;//將M2電機A端初始化為0M2B=0;}voidqianjin(){M1A=1;M1B=0;M2A=1;M2B=0;}voidhoutui(){M1A=0;M1B=1;M2A=0;M2B=1;}voidzuozhuan(){M1A=1;M1B=0;M2A=0;M2B=1;}voidyouzhuan(){M1A=0;M1B=1;M2A=1;M2B=0;}voiddelay_nus(unsignedinti)//延時:i>=12,i的最小延時單12us{i=i/10;while(--i);}voiddelay_nms(unsignedintn)//延時nms{n=n+1;while(--n)delay_nus(900);//延時1ms,同時進行補償}voidControlCar(unsignedcharConType)//定義電機控制子程序{tingzhi();switch(ConType)//判斷用戶設(shè)定電機形式{case1://前進//判斷用戶是否選擇形式1{qianjin();break;}case2://后退//判斷用戶是否選擇形式2{houtui();//M2電機反轉(zhuǎn)break;}case3://左轉(zhuǎn)//判斷用戶是否選擇形式3{zuozhuan();//M2電機正轉(zhuǎn) break;}case4://右轉(zhuǎn)//判斷用戶是否選擇形式4{youzhuan();//M1電機正轉(zhuǎn)//M2電機反轉(zhuǎn) break;}case8://停止//判斷用戶是否選擇形式8{tingzhi(); break;//退出當前選擇}}}voidmain()//主程序入口{bitRunFlag=0;//定義小車運行標志位//RunShow=0;//初始化顯示狀態(tài)ControlCar(8);//初始化小車運行狀態(tài)while(1)//程序主循環(huán){Start:LeftLed=LeftIR;//前方左側(cè)指示燈指示出前方左側(cè)紅外探頭狀態(tài)RightLed=RightIR;//前方右側(cè)指示燈指示出前方右側(cè)紅外探頭狀態(tài)FontLled=FontIR;SB1=FontIR;if(FontIR==0)//如果前面避障傳感器檢測到障礙物{ControlCar(8);//停止delay_nms(300); //停止300MS防止電機反相電壓沖擊導致系統(tǒng)復位 ControlCar(2); //后退 delay_nms(1000); //后退1500MS ControlCar(3); // delay_nms(1800); gotoNextRun;}if(FontIR==1){ControlCar(1);//右側(cè)沒有信號時,開始向左轉(zhuǎn)一定的角度delay_nms(10); gotoNextRun;}gotoStart;NextRun:ControlCar(1);}循跡程序#include<REGX52.H>//包含51單片機相關(guān)的頭文件sbitLeftLed=P2^0;//定義前方左側(cè)指示燈端口sbitRightLed=P0^7;//定義前方右側(cè)指示燈端口sbitFontLled=P1^0;sbitLeftIR=P3^5;//定義前方左側(cè)紅外探頭端口sbitRightIR=P3^6;//定義前方右側(cè)紅外探頭端口sbitFontIR=P3^7;//定義前方正前方紅外探頭端口sbitM1A=P0^0;//定義左側(cè)電機驅(qū)動A端sbitM1B=P0^1;//定義左側(cè)電機驅(qū)動B端sbitM2A=P0^2;//定義右側(cè)電機驅(qū)動A端sbitM2B=P0^3;//定義右側(cè)電機驅(qū)動B端sbitB1=P0^4;//定義語音識識別傳感器端口sbitSB1=P0^6;//定義蜂鳴器端口voidtingzhi(){M1A=0;//將M1電機A端初始化為0M1B=0;//將M1電機B端初始化為0M2A=0;//將M2電機A端初始化為0M2B=0;}voidqianjin(){M1A=1;M1B=0;M2A=1;M2B=0;}voidhoutui(){M1A=0;M1B=1;M2A=0;M2B=1;}voidzuozhuan(){M1A=0;M1B=1;M2A=1;M2B=0;}voidyouzhuan(){M1A=1;M1B=0;M2A=0;M2B=1;}voiddelay_nus(unsignedinti)//延時:i>=12,i的最小延時單12us{i=i/10;while(--i);}voiddelay_nms(unsignedintn)//延時nms{n=n+1;while(--n)delay_nus(900);//延時1ms,同時進行補償}voidControlCar(unsignedcharConType)//定義電機控制子程序{tingzhi();switch(ConType)//判斷用戶設(shè)定電機形式{case1://前進//判斷用戶是否選擇形式1{qianjin();break;}case2://后退//判斷用戶是否選擇形式2{houtui();//M2電機反轉(zhuǎn)break;}case3://左轉(zhuǎn)//判斷用戶是否選擇形式3{zuozhuan();//M2電機正轉(zhuǎn) break;}case4://右轉(zhuǎn)//判斷用戶是否選擇形式4{youzhuan();//M1電機正轉(zhuǎn)//M2電機反轉(zhuǎn) break;}case8://停止//判斷用戶是否選擇形式8{tingzhi(); break;//退出當前選擇}}}voidmain()//主程序入口{bitRunFlag=0;//定義小車運行標志位//RunShow=0;//初始化顯示狀態(tài)ControlCar(8);//初始化小車運行狀態(tài)while(1)//程序主循環(huán){Start:LeftLed=LeftIR;//前方左側(cè)指示燈指示出前方左側(cè)紅外探頭狀態(tài)RightLed=RightIR;//前方右側(cè)指示燈指示出前方右側(cè)紅外探頭狀態(tài)FontLled=FontIR;SB1=LeftIR;if(LeftIR==0&&RightIR==0)//三個紅外檢測到黑線,就前進{ControlCar(1);//左側(cè)沒有信號時,開始向右轉(zhuǎn)一定的角度delay_nms(10); gotoNextRun;}if(LeftIR==0&&RightIR==1){ControlCar(3);//右側(cè)沒有信號時,開始向左轉(zhuǎn)一定的角度delay_nms(10); gotoNextRun;}if(LeftIR==1&&RightIR==0){ControlCar(4);//右側(cè)沒有信號時,開始向左轉(zhuǎn)一定的角度delay_nms(10); gotoNextRun;}gotoStart;NextRun:ControlCar(8);}}資料.資料.第五章總結(jié)通過此次課程設(shè)計,使我更加扎實的掌握了有關(guān)智能小車設(shè)計方面的知識,在設(shè)計過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在單片機這方面的知識欠缺和經(jīng)驗不足。實踐出真知,通過親自動手制作,使我們掌握的知識不再是紙上談兵,而是通過自己的雙手去實踐。在課程設(shè)計過程中,我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領(lǐng)悟,不斷獲齲最終的檢測調(diào)試環(huán)節(jié),本身就是在踐行“過而能改,善莫大焉”的知行觀。這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多問題,最后在老師的指導下,終于游逆而解。在今后社會的發(fā)展和學習實踐過程中,一定要不懈努力,不能遇到問題就想到要退縮,一定要不厭其煩的發(fā)現(xiàn)問題所在,然后一一進行解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上劈荊斬棘,而不是知難而退,那樣永遠不可能收獲成功,收獲喜悅,也永遠不可能得到社會及他人對你的認可。參考文獻[1]楊永輝.《現(xiàn)代電子技術(shù)》[J].智能小車的多傳感器數(shù)據(jù)融合.2005[2]何立民.《單片機與嵌入式系統(tǒng)應用》[J].基于HCS12的小車智能控制系統(tǒng)設(shè)計.2007[3]譚浩強.《C程序設(shè)計》.北京:清華大學出版社,2005,7[4]張立.《電子世界》[J].電動小車的循跡.2004[5]武慶生,仇梅.單片機原理與應用(M).電子科技大學出版,1998,12[6]徐科軍.傳感器與檢測技術(shù)[M].電子工業(yè)出版社,2007[7]劉瑞新.單片機原理及應用教程.機械工業(yè)出版社,2003,7[8]劉湘濤,江世明.單片機原理與應用[M].電子工業(yè)出版社,2006[9]何立民.單片機初級教程[M].北京航空航天大學出版社,1999[10]熊建云.Protel99SE.北京:機械工業(yè)出版社,2007[11]鄭郁正.單片機原理及應用.四川大學出版杜,2003[12]盧靜,陳非凡,張高飛等.基于單片機的無刷直流電動機控制系統(tǒng)設(shè)計.北京機械工業(yè)學院學報,2002,10[13]張燕,曾光宇.光電式傳感器的應用與發(fā)展[J].科技情報開發(fā)與經(jīng)濟,2007資料.附錄1程序清單#include<REGX52.H>//包含51單片機相關(guān)的頭文件#include<intrins.h>sbitLeftLed=P2^0;//定義前方左側(cè)指示燈端口sbitRightLed=P0^7;//定義前方右側(cè)指示燈端口sbitFontLled=P1^7;sbitLeftIR=P3^5;//定義前方左側(cè)紅外探頭端口sbitRightIR=P3^6;//定義前方右側(cè)紅外探頭端口sbitFontIR=P3^7;//定義前方正前方紅外探頭端口sbitM1A=P0^0;//定義左側(cè)電機驅(qū)動A端sbitM1B=P0^1;//定義左側(cè)電機驅(qū)動B端sbitM2A=P0^2;//定義右側(cè)電機驅(qū)動A端sbitM2B=P0^3;//定義右側(cè)電機驅(qū)動B端sbitB1=P0^4;//定義語音識識別傳感器端口sbitSB1=P0^6;//定義蜂鳴器端口sbitIRIN=P3^3;//定義紅外接收端口unsignedcharcodeLedShowData[]={0x03,0x9F,0x25,0x0D,0x99,//定義數(shù)碼管顯示數(shù)據(jù)0x49,0x41,0x1F,0x01,0x19};//0,1,2,3,4,5,6,7,8,9unsignedcharcodeRecvData[]={0x19,0x46,0x15,0x43,0x44,0x40,0x0D,0x0E,0x00,0x0F};unsignedcharIRCOM[7];staticunsignedintLedFlash;//定義閃動頻率計數(shù)變量bitEnableLight=0;//定義指示燈使能位#defineShowPortP2//定義數(shù)碼管顯示端口unsignedchartemp=1;voidtingzhi(){M1A=0;//將M1電機A端初始化為0M1B=0;//將M1電機B端初始化為0M2A=0;//將M2電機A端初始化為0M2B=0;}voidqianjin(){M1A=1;M1B=0;M2A=1;M2B=0;}voidhoutui(){M1A=0;M1B=1;M2A=0;M2B=1;}voidzuozhuan(){M1A=0;M1B=1;M2A=1;M2B=0;}voidyouzhuan(){M1A=1;M1B=0;M2A=0;M2B=1;}voidDelay1ms(unsignedinti){unsignedcharj,k;do{j=10;do{k=50;do{_nop_();}while(--k);}while(--j);}while(--i);}voiddelay_nus(unsignedinti)//延時:i>=12,i的最小延時單12us{i=i/10;while(--i);}voiddelay_nms(unsignedintn)//延時nms{n=n+1;while(--n)delay_nus(900);//延時1ms,同時進行補償}voiddelayms(unsignedcharx)//0.14mS延時程序{unsignedchari;//定義臨時變量while(x--)//延時時間循環(huán){for(i=0;i<13;i++){}//14mS延時}}voidDelay()//定義延時子程序{unsignedintDelayTime=30000;//定義延時時間變量while(DelayTime--);//開始進行延時循環(huán)return;//子程序返回}voidControlCar(unsignedcharConType)//定義電機控制子程序{tingzhi();switch(ConType)//判斷用戶設(shè)定電機形式{case1://前進//判斷用戶是否選擇形式1{//tingzhi(); //進入前進之前先停止一段時間防止電機反向電壓沖擊主板導致系統(tǒng)復位 //Delay1ms(50); LeftLed=0; qianjin();break;}case2://后退//判斷用戶是否選擇形式2{//tingzhi(); //進入后退之前先停止一段時間防止電機反向電壓沖擊主板導致系統(tǒng)復位//Delay1ms(50);LeftLed=1; houtui();//M2電機反轉(zhuǎn)break;}case3://左轉(zhuǎn)//判斷用戶是否選擇形式3{//tingzhi(); //進入左轉(zhuǎn)之前先停止一段時間防止電機反向電壓沖擊主板導致系統(tǒng)復位 //Delay1ms(50); zuozhuan();//M2電機正轉(zhuǎn) break;}case4://右轉(zhuǎn)//判斷用戶是否選擇形式4{//tingzhi(); //進入右轉(zhuǎn)之前先停止一段時間防止電機反向電壓沖擊主板導致系統(tǒng)復位// Delay1ms(50); youzhuan();//M1電機正轉(zhuǎn)//M2電機反轉(zhuǎn) break;}case8://停止//判斷用戶是否選擇形式8{tingzhi(); break;//退出當前選擇}}}voidControlCar_yaokong(unsignedcharConType)//定義電機控制子程序 (紅外遙控單獨設(shè)置一個switchcase語句){tingzhi();switch(ConType)//判斷用戶設(shè)定電機形式{case1://前進//判斷用戶是否選擇形式1{tingzhi(); //進入前進之前先停止一段時間防止電機反向電壓沖擊主板導致系統(tǒng)復位 Delay1ms(150); LeftLed=0; qianjin();break;}case2://后退//判斷用戶是否選擇形式2{tingzhi(); //進入后退之前先停止一段時間防止電機反向電壓沖擊主板導致系統(tǒng)復位Delay1ms(150);LeftLed=1; houtui();//M2電機反轉(zhuǎn)break;}case3://左轉(zhuǎn)//判斷用戶是否選擇形式3{tingzhi(); //進入左轉(zhuǎn)之前先停止一段時間防止電機反向電壓沖擊主板導致系統(tǒng)復位 Delay1ms(150); zuozhuan();//M2電機正轉(zhuǎn) break;}case4://右轉(zhuǎn)//判斷用戶是否選擇形式4{tingzhi(); //進入右轉(zhuǎn)之前先停止一段時間防止電機反向電壓沖擊主板導致系統(tǒng)復位 Delay1ms(150);youzhuan();//M1電機正轉(zhuǎn)//M2電機反轉(zhuǎn) break;}case8://停止//判斷用戶是否選擇形式8{tingzhi(); break;//退出當前選擇}}}voidRobot_Avoidance()//機器人避障子程序{LeftLed=LeftIR;//前方左側(cè)指示燈指示出前方左側(cè)紅外探頭狀態(tài)RightLed=RightIR;//前方右側(cè)指示燈指示出前方右側(cè)紅外探頭狀態(tài)FontLled=FontIR;SB1=FontIR;if(FontIR==0)//如果前面避障傳感器檢測到障礙物{ControlCar(8);//停止delay_nms(300); //停止300MS防止電機反相電壓沖擊導致系統(tǒng)復位 ControlCar(2); //后退 delay_nms(1000); //后退1500MS ControlCar(3); // delay_nms(1800); }else{ControlCar(1);//右側(cè)沒有信號時,開始向左轉(zhuǎn)一定的角度delay_nms(10);}ControlCar(1);}//機器人循跡子程序voidRobot_Traction()//機器人循跡子程序{LeftLed=LeftIR;//前方左側(cè)指示燈指示出前方左側(cè)紅外探頭狀態(tài)RightLed=RightIR;//前方右側(cè)指示燈指示出前方右側(cè)紅外探頭狀態(tài)FontLled=FontIR;SB1=LeftIR;if(LeftIR==0&&RightIR==0)//三個紅外檢測到黑線,就前進{ControlCar(1);//左側(cè)沒有信號時,開始向右轉(zhuǎn)一定的角度delay_nms(10);}elseif(LeftIR==0&&RightIR==1){ControlCar(3);//右側(cè)沒有信號時,開始向左轉(zhuǎn)一定的角度delay_nms(10);}elseif(LeftIR==1&&RightIR==0){ControlCar(4);//右側(cè)沒有信號時,開始向左轉(zhuǎn)一定的角度delay_nms(10);}ControlCar(8);}voidmain()//主程序入口{bitRunFlag=0;//定義小車運行標志位LedFlash=3000;//對閃燈數(shù)據(jù)進行初始化//EX1=1;//同意開啟外部中斷1IT1=1;//設(shè)定外部中斷1為低邊緣觸發(fā)類型EA=1;//總中斷開啟ControlCar(8);//初始化小車運行狀態(tài)while(1)//程序主循環(huán){ if(P3_2==0) { delay_nms(10); if(P3_2==0) { temp++; while(!P3_2); } } if(temp>3) { temp=1; } switc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第一單元《口語交際:注意說話的語氣》大單元教案-2022-2023學年二年級語文下冊(部編版)
- 創(chuàng)新教育與個人素質(zhì)提升的關(guān)聯(lián)性研究
- 二零二五年度城市綠化景觀樹種栽植合作協(xié)議2篇
- 2024版培訓保密協(xié)議
- 家庭教育投資策略與消費觀念的融合
- 2024版班組勞務承包合同
- 單元測試4-地貌-22022-2023學年-高一地理(人教版2019必修第一冊)(解析版)
- 2024版商業(yè)秘密保護公司協(xié)議樣本版B版
- 小學數(shù)學教育中的環(huán)境友好型評價模式
- 二零二五年度林業(yè)苗木供應與養(yǎng)護服務合同3篇
- 機電拆除及施工方案0829
- 偉星管-云上裝飾
- 消防安全檢查記錄表(完整詳細版)1
- 腫瘤放射治療技術(shù)-總論課件
- 5S評分基準模板
- 大連市12處縣級以上飲用水水源保護區(qū)區(qū)劃方案
- 蘇教版二年級科學下冊第3課《神奇的新材料》教學設(shè)計
- 二次供水工程施工方案
- 第二章離心風機.ppt
- 中國傳統(tǒng)圖案紋樣
- DLT5210.1-2021電力建設(shè)施工質(zhì)量驗收及評價規(guī)程
評論
0/150
提交評論