版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 自動泊車系統(tǒng)</b></p><p><b> 摘要</b></p><p> 對于許多駕駛員而言,順列式駐車是一種痛苦的經(jīng)歷,大城市停車空間有限,將汽車駛?cè)氇M小的空間已成為一項(xiàng)必備技能。 很少有不費(fèi)一番周折就停好車的情況,停車可能導(dǎo)致交通阻塞、神經(jīng)疲憊和保險(xiǎn)杠被撞彎。 幸運(yùn)的是,技術(shù)的發(fā)展為之提供了解決之道,這
2、就是自動泊車功能。 設(shè)想一下,您找到了一個理想的停車地點(diǎn),不必再來回折騰,而只需輕輕啟動按鈕、坐定、放松,其他一切即可自動完成。 自動泊車技術(shù)同樣適用于主動避撞系統(tǒng),并最終實(shí)現(xiàn)汽車的自動駕駛。</p><p> 不同的自動泊車系統(tǒng)采用不同的方法來檢測汽車周圍的物體。有些在汽車前后保險(xiǎn)杠四周裝上了感應(yīng)器,它們既可以充當(dāng)發(fā)送器,也可以充當(dāng)接收器。這些感應(yīng)器會發(fā)送信號,當(dāng)信號碰到車身周邊的障礙物時會反射回來。然后,車
3、上的計(jì)算機(jī)會利用其接收信號所需的時間來確定障礙物的位置。其他一些系統(tǒng)則使用安裝在保險(xiǎn)杠上的攝像頭或雷達(dá)來檢測障礙物。但最終結(jié)果都是一樣的:汽車會檢測到已停好的車輛、停車位的大小以及與路邊的距離,然后將車子駛?cè)胪\囄弧?lt;/p><p> 汽車自動泊車系統(tǒng)為很多不熟悉倒車停車入位的新手提供了便利,隨著未來科技的發(fā)展,相信不久的將來汽車自動泊車系統(tǒng)一定會進(jìn)入一個全新時代。</p><p>
4、關(guān)鍵詞: 自動泊車;傳感器;單片機(jī);C語言</p><p> Automatic parking system</p><p><b> Abstract</b></p><p> For many drivers, along the column parking is a painful experience, big city pa
5、rking space is limited, and the car into a small space has become an essential skill.Rarely does not cost a lot of trouble parked car, parking may lead to traffic congestion, nervous exhaustion and bumper knocked bend. F
6、ortunately, the development of technology to provide them a solution, which is the automatic parking feature. Imagine you find a parking place, do not have to toss back and forth, with just the start b</p><p&g
7、t; Automatic parking system takes a different approach to detect objects around the car. Some around the front and rear bumper fitted with sensors, they can either act as a transmitter, and can also act as a receiver. T
8、hese sensors send a signal when the signal encountered the body around the obstacles will be reflected back. Then, the car's computer will use the time needed to receive signals to determine the location of obstructi
9、ons. Some other system is installed in the bumper on the camera or r</p><p> Automatic car parking system for many novice not familiar with reverse parking into place provides a convenient, with the develop
10、ment of technologies of the future, I believe the near future automobile automatic parking system will enter a new era.</p><p> Keywords: automatic parking; sensor; microcontroller; the C language</p>
11、<p><b> 目 錄</b></p><p> 第0章 前言……………………………………………………………1</p><p> 第1章 軟件開發(fā)工具…………………………………………………3</p><p> 1.1 keil軟件簡介…………………………………………………………3</p><p>
12、; 1.1.1簡介……………………………………………………………3</p><p> 1.2 STC_ISP軟件介紹………………………………………………………5</p><p> 1.2.1 軟件簡介…………………………………………………………5</p><p> 第2章 硬件元器件介紹………………………………………………8</p><p
13、> 2.1紅外線傳感器……………………………………………………………8</p><p> 2.2超聲波傳感器……………………………………………………………8</p><p> 2.3無線電遙控模塊…………………………………………………………9</p><p> 2.3電機(jī)驅(qū)動模塊……………………………………………………………9</p>&
14、lt;p> 2.3 51單片機(jī)………………………………………………………………9</p><p> 第3章 軟、硬件的各部分功能測試…………………………………10</p><p> 3.1 硬件檢測………………………………………………………………10</p><p> 3.1.1 遙控模塊的檢測………………………………………………11</p>
15、;<p> 3.1.2 超聲波模塊的檢測……………………………………………12</p><p> 3.1.3 紅外線模塊的檢測……………………………………………12</p><p> 3.1.4 電機(jī)驅(qū)動模塊的檢測…………………………………………12</p><p> 3.1.5 蜂鳴器的檢測…………………………………………………12</
16、p><p> 3.2 軟件調(diào)試………………………………………………………………11</p><p> 3.2.1 遙控模塊的測試(是否同時按多個鍵)……………………11</p><p> 3.2.2 超聲波模塊的測試(不同距離)……………………………12</p><p> 3.2.3 電機(jī)驅(qū)動模塊的測試(轉(zhuǎn)速)………………………………12
17、</p><p> 3.2.4 蜂鳴器的測試(不同頻率)…………………………………12</p><p> 第4章 遇到的問題及解決方案………………………………………18</p><p> 4.1 如何連接電路板與底盤電路…………………………………………18</p><p> 4.2 為什么在開關(guān)關(guān)閉狀態(tài)下單片機(jī)仍有電………………………
18、……18</p><p> 4.3 為什么在左右轉(zhuǎn)時會出現(xiàn)“卡頓”現(xiàn)象……………………………19</p><p> 4.4 如何解決小車高轉(zhuǎn)速的問題…………………………………………20</p><p> 4.5 為什么前輪電機(jī)會被燒………………………………………………20</p><p> 4.6 如何用超聲波進(jìn)行測距……………………
19、…………………………20</p><p> 4.7 如何用紅外線傳感器測空擋車位的長度……………………………20</p><p> 4.8 泊車程序的設(shè)計(jì)………………………………………………………20</p><p> 第5章 后期作品………………………………………………………18</p><p> 5.1 硬件……………………………
20、………………………………………18</p><p> 5.2.1 硬件電路………………………………………………………18</p><p> 5.2.2 電路說明………………………………………………………19</p><p> 5.2 軟件……………………………………………………………………19</p><p> 5.3.1 主程
21、序部分……………………………………………………19</p><p> 5.3.2 泊進(jìn)車位操作…………………………………………………20</p><p> 5.3.2 泊出車位操作…………………………………………………20</p><p> 參考文獻(xiàn)………………………………………………………………23</p><p> 致謝………
22、……………………………………………………………23</p><p> 附錄……………………………………………………………………23</p><p><b> 第0章 前言</b></p><p> 自動泊車系統(tǒng),可以使汽車自動地以正確的??课徊窜?該系統(tǒng)包括一環(huán)境數(shù)據(jù)采集系統(tǒng)、一中央處理器和一車輛策略控制系統(tǒng),所述的環(huán)境數(shù)據(jù)采集系統(tǒng)包括一
23、圖像采集系統(tǒng)和一車載距離探測系統(tǒng),可采集圖像數(shù)據(jù)及周圍物體距車身的距離數(shù)據(jù),并通過數(shù)據(jù)線傳輸給中央處理器;所述的中央處理器可將采集到的數(shù)據(jù)分析處理后,得出汽車的當(dāng)前位置、目標(biāo)位置以及周圍的環(huán)境參數(shù),依據(jù)上述參數(shù)作出自動泊車策略,并將其轉(zhuǎn)換成電信號;所述的車輛策略控制系統(tǒng)接受電信號后,依據(jù)指令作出汽車的行駛?cè)缃嵌取⒎较蚣皠恿χг矫娴牟倏亍?lt;/p><p> 第1章 軟件開發(fā)工具</p><p
24、> 1.1 keil軟件簡介</p><p><b> 基礎(chǔ)</b></p><p> Keil C51開發(fā)系統(tǒng)基本知識Keil C51開發(fā)系統(tǒng)基本知識</p><p><b> 1. 系統(tǒng)概述</b></p><p> Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工
25、具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細(xì)介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。</p><p> 2. Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)</p><p> C51工具包的整體結(jié)構(gòu),uVisio
26、n與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tSc
27、ope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。</p><p> 使用獨(dú)立的Keil仿真器時,注意事項(xiàng)</p><p> * 仿真器標(biāo)配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。</p><p> * 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。<
28、/p><p> * 仿真芯片的31腳(/EA)已接至高電平,所以仿真時只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴(kuò)展有外部ROM(其CPU的/EA引腳接至低電平)的目標(biāo)系統(tǒng)中使用。</p><p><b> 優(yōu)點(diǎn)</b></p><p> 1.Keil C51生成的目標(biāo)代
29、碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。</p><p> 2.與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。</p><p> 1.2 STC_ISP軟件介紹&
30、lt;/p><p> STC-ISP 是一款單片機(jī)下載編程燒錄軟件,是針對STC系列單片機(jī)而設(shè)計(jì)的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機(jī),使用簡便,現(xiàn)已被廣泛使用。</p><p><b> 第2章 硬件元器件</b></p><p><b> 2.1紅外線傳感器</b></
31、p><p><b> 規(guī)格參數(shù):</b></p><p> 1.工作電壓:DC 3.3V-5V</p><p> 2.工作電流:≥10MA</p><p> 3.工作溫度:-10℃—+50℃</p><p> 4.檢測距離:2-80CM</p><p> 5.IO接
32、口:3線制接口(+/-/S)</p><p> 6.輸出信號:TTL電平(有障礙物低電平,無障礙物高電平)</p><p> 7.調(diào)節(jié)方式:多圈電阻式調(diào)節(jié)</p><p> 8.有效角度:35°</p><p> 7.尺寸大小:24mm×20mm</p><p> 8.安裝孔徑:3.3MM
33、</p><p><b> 一些說明:</b></p><p> 數(shù)字信號輸出,傳感器含必要的調(diào)制和解調(diào),邏輯處理.</p><p> 工作原理:傳感器主動發(fā)射紅外線,根據(jù)反射光探測,如果探測到障礙,OUT腳輸出0,否則1.工作電壓:3.3v-5.5v工作電流(5V時):典型電流10MA</p><p> 輸
34、入輸出信號(4線):VCC (+)。GND(-) OUT(sig)</p><p> GND,VCC是電源,VCC的范圍是3.3V-5.5v。OUT為信號輸出引腳,接于控制器。EN為使能端,可以通過控制器控制,低電平有效,也可以直接插上跳線帽使用。</p><p> 板上有多圈精密可調(diào)電位器,可根據(jù)使用環(huán)境調(diào)節(jié).調(diào)節(jié)范圍從3cm-80cm.因?yàn)槭欠瓷湓?跟具體的反射目標(biāo)相關(guān),可根據(jù)
35、情況調(diào)節(jié).</p><p> 電路板上有一個發(fā)光LED,探測到障礙時發(fā)光.OUT輸出持續(xù)低電平.無障礙是OUT輸出持續(xù)高電平.</p><p> 傳感器主動紅外線反射探測,因此目標(biāo)的反射率和形狀是探測距離的關(guān)鍵,其中黑色探測距離最小,白色最大;小面積物體距離小,大面積距離大.</p><p><b> 2.2超聲波傳感器</b></
36、p><p><b> 主要技術(shù)參數(shù):</b></p><p> 1:使用電壓:DC5V 2:靜態(tài)電流:小于2mA</p><p> 3:電平輸出:高5V 4:電平輸出:底0V</p><p> 5:感應(yīng)角度:不大于15度 6:探測距離:2cm-450cm </p>
37、<p> 7:高精度:可達(dá)0.3cm</p><p> 接線方式,VCC、trig(控制端)、 echo(接收端)、 GND</p><p> 使用方法:一個控制口發(fā)一個10US以上的高電平,就可以在接收口等待高電平輸出.一有輸出就可以開定時器計(jì)時,當(dāng)此口變?yōu)榈碗娖綍r就可以讀定時器的值,此時就為此次測距的時間,方可算出距離.如此不斷的周期測,就可以達(dá)到你移動測量的值了
38、~~ </p><p><b> 模塊工作原理:</b></p><p> (1)采用IO觸發(fā)測距,給至少10us的高電平信號;</p><p> (2)模塊自動發(fā)送8個40khz的方波,自動檢測是否有信號返回;</p><p> (3)有信號返回,通過IO輸出一高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時
39、間.測試距離=(高電平時間*聲速(340M/S))/2;</p><p> 2.3無線電遙控模塊</p><p> 四鍵遙控器和超再生固定碼接收模塊可以組成四路無線發(fā)射接收電路,遙控器的四位數(shù)據(jù)碼對應(yīng)模塊的四路輸出,可以方便的組成無線遙控發(fā)射接收電路,該產(chǎn)品廣泛適用于廣大電子愛好者的家庭、工業(yè)遙控類電子產(chǎn)品的設(shè)計(jì)和開發(fā),可很好的作為單片機(jī)的信號輸入源,特別適合大中院校學(xué)生電子電路設(shè)計(jì)、
40、畢業(yè)設(shè)計(jì)中的遙控電路部分。</p><p> 超再生帶解碼四路遙控接收模塊可以和發(fā)射器組成四路無線發(fā)射接收電路。該模塊廣泛適用于廣大電子愛好者對家庭、工業(yè)遙控類電子產(chǎn)品的設(shè)計(jì)和開發(fā),可很好的作為單片機(jī)的信號輸入源,特別適合大中院校學(xué)生電子電路設(shè)計(jì)、畢業(yè)設(shè)計(jì)中的遙控電路部分。接收模塊有自鎖、非鎖、互鎖三種型號。</p><p> 非鎖、自鎖、互鎖三種工作方式說明
41、 非鎖型輸出又稱點(diǎn)動輸出,數(shù)據(jù)腳輸出的電平是瞬時的而且和發(fā)射端是否發(fā)射相對應(yīng),可以用于類似點(diǎn)動的控制,有遙控信號時數(shù)據(jù)腳是高電平,遙控信號消失時數(shù)據(jù)腳立即恢復(fù)為低電平,適用于如電動門、電動門鎖、與單片機(jī)對接等只需要一個高電平的電路等電路等。 自鎖型輸出的數(shù)據(jù)腳能實(shí)現(xiàn)觸發(fā)翻轉(zhuǎn)工作邏輯,數(shù)據(jù)只要成功接收就能一直保持對應(yīng)的電平狀態(tài),直到下次遙控?cái)?shù)據(jù)發(fā)生變化時改變。自鎖型四路相互獨(dú)立互不影響,可同
42、時遙控四路,如燈具的控制等。 互鎖型輸出就是任意一路收到信號則該路就能一直保持對應(yīng)的高電平狀態(tài),接收到任意其它路的數(shù)據(jù)則恢復(fù)到原始狀態(tài),四路互鎖只能有一路接通,實(shí)際應(yīng)用如電風(fēng)扇檔位開關(guān)電路等。</p><p> 接收板主要參數(shù) 工作頻率:315M 工作電壓:DC5V
43、0; 工作電流:≤3mA(5.0VDC) 工作原理:超再生 調(diào)制方式:ASK 編碼芯片:SC2272(PT2272、PT2294),芯片兼容 靈敏度:優(yōu)于-105dBm(50Ω) 輸出信號:互鎖(L)或非鎖(M)或自鎖(T),賣家在訂貨前要說明選擇哪
44、款 遙控距離:20~50米以上(開闊地)</p><p> 接收模塊的七根引腳分別為D3、D2、D1、D0、GND、VT、VCC,其中VCC為DC5V的供電端,GND為接地端,VT端為解碼有效輸出端,只要發(fā)射器的數(shù)據(jù)碼有輸出,VT都能同步輸出高電平;D3、D2、D1、D0是2262解碼芯片的四位數(shù)據(jù)輸出端,有信號時能輸出5V左右的高電平,驅(qū)動電流約2mA,與發(fā)射器的四位數(shù)據(jù)
45、碼輸出一一對應(yīng)。接收模塊不焊天線也能接收信號,為提高接收靈敏度,可以用一根長度約為23厘米的軟導(dǎo)線直接焊接到天線孔處,圖中RC所指的是振蕩電阻,接收模塊和發(fā)射器的震蕩電阻需要匹配才能工作,我店接收模塊用的是270K或者820K電阻,可以分別和1.5M或者4.7M振蕩電阻的發(fā)射器配套使用。發(fā)射器可以用我店固定碼四鍵遙控器或者帶編碼四路發(fā)射模塊,如與其他發(fā)射器配套,則必須提供發(fā)射器相關(guān)參數(shù)。</p><p> 下圖
46、是帶解碼的超再生接收模塊等效電路圖</p><p> 固定編碼接收模塊測試圖(此圖為原理圖,以模塊上的管腳位置為準(zhǔn),10、11、12、13即為上圖中的D3、D2、D1、D0引腳)注:發(fā)光二極管后加個1K左右的限流電阻</p><p><b> 2.4電機(jī)驅(qū)動模塊</b></p><p><b> 產(chǎn)品參數(shù):</b>&
47、lt;/p><p> 1.驅(qū)動芯片:L298N雙H橋直流電機(jī)驅(qū)動芯片</p><p> 2.驅(qū)動部分端子供電范圍Vs:+5V~+35V ; 如需要板內(nèi)取電,則供電范圍Vs:+7V~+35V</p><p> 3.驅(qū)動部分峰值電流Io:2A</p><p> 4.邏輯部分端子供電范圍Vss:+5V~+7V(可板內(nèi)取電+5
48、V)</p><p> 5.邏輯部分工作電流范圍:0~36mA</p><p> 6.控制信號輸入電壓范圍: 低電平:-0.3V≤Vin≤1.5V 高電平:2.3V≤Vin≤Vss</p><p> 7.使能信號輸入電壓范圍: 低電平:-0.
49、3≤Vin≤1.5V(控制信號無效) 高電平:2.3V≤Vin≤Vss(控制信號有效)</p><p> 8.最大功耗:20W(溫度T=75℃時)</p><p> 9.存儲溫度:-25℃~+130℃</p><p> 10.驅(qū)動板尺寸:55mm*49mm*33mm(帶固定銅柱和散熱片高度)</p><p
50、> 11.驅(qū)動板重量:33g</p><p> 12.其他擴(kuò)展:控制方向指示燈、邏輯部分板內(nèi)取電接口。</p><p><b> 使用說明:</b></p><p> 步進(jìn)電機(jī)的驅(qū)動: 板上的ENA與ENB為高電平時有效,這里的電平指的是TTL電平。ENA為A1和A2的使能端,ENB為B1和IB2的使能端。BJ接步進(jìn)電機(jī)
51、公共端。步進(jìn)電機(jī)控制邏輯如下所示,其中A、B、C、D為步進(jìn)電機(jī)的四個線圈,為1表示有電流通過,為0表示沒有電流流過。線圈連線圖如下圖所示(以四相步進(jìn)電機(jī)為例)。</p><p><b> 2.5 51單片機(jī)</b></p><p> 51單片機(jī)是對目前所有兼容Intel 8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列單片機(jī)的始祖是Intel的8031單片機(jī),后來隨著F
52、lash rom技術(shù)的發(fā)展,8031單片機(jī)取得了長足的進(jìn)展,成為目前應(yīng)用最廣泛的8位單片機(jī)之一,其代表型號是ATMEL公司的AT89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。目前很多公司都有51系列的兼容機(jī)型推出,在目前乃至今后很長的一段時間內(nèi)將占有大量市場。51單片機(jī)是基礎(chǔ)入門的一個單片機(jī),還是應(yīng)用最廣泛的一種。需要注意的是52系列的單片機(jī)一般不具備自編程能力。</p><p> ·8位CPU·
53、4kbytes 程序存儲器(ROM) (52為8K)</p><p> ·256bytes的數(shù)據(jù)存儲器(RAM) (52有384bytes的RAM)</p><p> ·32條I/O口線·111條指令,大部分為單字節(jié)指令</p><p><b> ·21個專用寄存器</b></p>&
54、lt;p> ·2個可編程定時/計(jì)數(shù)器·5個中斷源,2個優(yōu)先級(52有6個)</p><p> ·一個全雙工串行通信口</p><p> ·外部數(shù)據(jù)存儲器尋址空間為64kB</p><p> ·外部程序存儲器尋址空間為64kB</p><p> ·邏輯操作位尋址功能
55、183;雙列直插40PinDIP封裝</p><p> ·單一+5V電源供電</p><p> CPU:由運(yùn)算和控制邏輯組成,同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器;</p><p> RAM:用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);</p><p> ROM:用以存放程序、一些原始數(shù)據(jù)和表格
56、;</p><p> I/O口:四個8位并行I/O口,既可用作輸入,也可用作輸出;</p><p> T/C:兩個定時/記數(shù)器,既可以工作在定時模式,也可以工作在記數(shù)模式;</p><p> 五個中斷源的中斷控制系統(tǒng);</p><p> 一個全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行
57、通信;</p><p> 片內(nèi)振蕩器和時鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。最高振蕩頻率為12M。</p><p> 知識上,其實(shí)不需要多少東西,會簡單的C語言,知道51單片機(jī)的基本結(jié)構(gòu)就可以了。一般的大學(xué)畢業(yè)生都可以了,自學(xué)過這2門課程的高中生也夠條件。設(shè)備上,一般是建議購買一個仿真器,例如,目前的“雙功能下載線”就具有良好的穩(wěn)定性和較快的下載速度,上位機(jī)可擴(kuò)展,可以下載更多的單
58、片機(jī)及嵌入式芯片。通過實(shí)驗(yàn),這樣才可以進(jìn)行實(shí)際的,全面的學(xué)習(xí)。日后在工作上,仿真器也大有用處。還有,一般光有仿真器是不行,還得有一個實(shí)際的電路,即學(xué)習(xí)板,如圖,即為,單片機(jī)最小系統(tǒng)。</p><p> 單片機(jī)是一種可通過編程控制的微處理器,單片機(jī)芯片自身不能單獨(dú)應(yīng)用與某項(xiàng)工程或產(chǎn)品上,它必須要靠外圍數(shù)字器件或者是模擬器件的協(xié)調(diào)才能發(fā)揮其自身的強(qiáng)大功能。</p><p> 單片機(jī)屬于控制
59、類數(shù)字芯片,目前其應(yīng)用于領(lǐng)域已非常廣泛。主要如下:</p><p> 1.工業(yè)自動化。如數(shù)據(jù)采集,測控技術(shù)等</p><p> 2.智能儀器儀表。如數(shù)字示波器,數(shù)字信號源,數(shù)字萬用表,感應(yīng)電流表等</p><p> 3.消費(fèi)類電子產(chǎn)品。如洗衣機(jī),電冰箱,空調(diào),電視機(jī),微波爐,IC卡,汽車電子設(shè)備</p><p> 4.通信方面。如調(diào)制
60、協(xié)調(diào)器,程控交換技術(shù),手機(jī),小靈通等</p><p> 5.武器裝備。如飛機(jī),軍艦,坦克,導(dǎo)彈,航天飛機(jī)等</p><p> 第3章 軟、硬件的各部分功能測試</p><p><b> 3.1 硬件檢測</b></p><p> 3.1.1 遙控模塊的檢測</p><p> 3.1.2
61、超聲波模塊的檢測</p><p> 3.1.3 紅外線模塊的檢測</p><p> 3.1.4 電機(jī)驅(qū)動模塊的檢測</p><p> 3.1.5 蜂鳴器的檢測</p><p><b> 3.2 軟件調(diào)試</b></p><p> 3.2.1 遙控模塊的測試(是否同時按多個鍵)</p
62、><p> 3.2.2 超聲波模塊的測試(不同距離)</p><p> 3.2.3 電機(jī)驅(qū)動模塊的測試(轉(zhuǎn)速)</p><p> 3.2.4 蜂鳴器的測試(不同頻率)</p><p> 第4章 遇到的問題及解決方案</p><p> 4.1 如何連接電路板與底盤電路</p><p> 4
63、.2 為什么在開關(guān)關(guān)閉狀態(tài)下單片機(jī)仍有電</p><p> 4.3 為什么在左右轉(zhuǎn)時會出現(xiàn)“卡頓”現(xiàn)象</p><p> 4.4 如何解決小車高轉(zhuǎn)速的問題</p><p> 4.5 為什么前輪電機(jī)會被燒</p><p> 4.6 如何用超聲波進(jìn)行測距</p><p> 4.7 如何用紅外線傳感器測空擋車位的長
64、度</p><p> 4.8 泊車程序的設(shè)計(jì)思路</p><p><b> 第5章 最終</b></p><p> 5.1 硬件部分 </p><p><b> 5.1.1</b></p><p><b> 5.2.2</b></p&
65、gt;<p><b> 5.2 軟件部分</b></p><p> 5.2.1 主程序部分</p><p><b> main()</b></p><p><b> {</b></p><p> P2_1=0; /* 由于若不對P2_1置位,
66、它的初始值便為"1",這會使buzzer一直工作,所以一開始應(yīng)對P2_1置0 */</p><p><b> while(1)</b></p><p><b> {</b></p><p> if(P2_2==0) /* 進(jìn)行泊車操作 */</p><p><b
67、> {</b></p><p> P0_4=0; /* 開泊車模式提示燈 */</p><p> while(P2_2==0)</p><p><b> {</b></p><p> int mark=0;</p><p> if(P1_0==1)</p&g
68、t;<p><b> {</b></p><p><b> mark=1;</b></p><p><b> } </b></p><p> if(P1_1==1)</p><p><b> {</b></p><
69、;p><b> mark=2;</b></p><p><b> } </b></p><p> switch(mark)</p><p><b> {</b></p><p><b> case 1:</b></p>&l
70、t;p> PrepareCarParkingIn(); /* 泊車進(jìn)車位操作 */</p><p><b> break;</b></p><p><b> case 2:</b></p><p> PrepareCarParkingOut(); </p><p> bre
71、ak; </p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p> else /* 進(jìn)行遙控操作 */</p><p><b> {<
72、;/b></p><p> while(P2_2!=0) /* 當(dāng)撥碼開關(guān)斷開(即為遙控模式)時,循環(huán) */</p><p><b> {</b></p><p> P0_4=1; /* 關(guān)泊車提示燈 */</p><p> if(
73、P1_0==1)</p><p><b> {</b></p><p> Goahead(); /* 對于前進(jìn)的程序,其實(shí)就是對P2.4、P2.5進(jìn)行賦值 */ </p><p><b> }</b></p><p> if(P1_1==1)<
74、/p><p><b> {</b></p><p> Backoff(); /*后退同樣為對P2.4、P2.5進(jìn)行賦值,但要注意的是:前進(jìn)、后退按鍵不能同時按!*/</p><p><b> } </b></p><p> if(P1_2==1) </
75、p><p><b> {</b></p><p> Turnleft(); /* 和前進(jìn)、后退一樣,左轉(zhuǎn)、右轉(zhuǎn)為對P2.6、P2.7進(jìn)行賦值 */</p><p><b> }</b></p><p> if(P1_3==1)</p><p>&l
76、t;b> {</b></p><p> Turnright();</p><p><b> }</b></p><p> MeasureAndAlarm(); /* 因?yàn)檫@是在遙控模式中,所以這個測量只測后面的雷達(dá),同時也只是報(bào)警,而不制止運(yùn)動 */</p><p><b>
77、; } </b></p><p> } /* else的結(jié)束 */</p><p> } /* 最大的while循環(huán)的結(jié)束 */</p><p> } /* main函數(shù)的結(jié)束 */</p>
78、;<p> 5.2.2 泊進(jìn)車位操作</p><p> void PrepareCarParkingIn() /* 泊車進(jìn)車位 */</p><p><b> {</b></p><p> long int i,j; </p><p> int m=
79、0; /* m用來存放泊車位所測得距離 */ </p><p> int A=4; /* A的值為符合泊進(jìn)操作條件的距離 */</p><p> int n; /* 用來存放泊進(jìn)結(jié)束條件距離 */</p><p> for(i=0;i<3;i++) /* 泊車提示燈閃
80、爍,表示進(jìn)入準(zhǔn)備進(jìn)入泊進(jìn)模式 */</p><p><b> {</b></p><p> for(j=0;j<10000;j++)</p><p><b> {</b></p><p><b> P0_4=0;</b></p><p>&
81、lt;b> }</b></p><p> for(j=0;j<10000;j++)</p><p><b> {</b></p><p><b> P0_4=1;</b></p><p><b> }</b></p><p&
82、gt;<b> }</b></p><p> while(P0_7==1) /* 無論在什么情況下,都先前進(jìn)車,直到接觸到障礙物(即說明有另一輛車) */</p><p><b> {</b></p><p> Goslowly(); </p><p><b>
83、; }</b></p><p> while(P0_7==0) /* P0_7==1時等待 */ </p><p><b> {</b></p><p> Goslowly();</p><p><b> }</b></p><p
84、> while(P0_7==1) /* P0_7==0時,開始對車位距離進(jìn)行計(jì)算,測量值存放在m中 */ </p><p><b> {</b></p><p> Goslowly();</p><p><b> m++;</b></p><p><b> if
85、(m>=A)</b></p><p><b> {</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> i
86、f(m>=A) /* 若所測得的距離m大于泊車要求距離A,則開始泊車 */</p><p><b> {</b></p><p> for(i=0;i<100;i++) /* 等待一段時間 */</p><p><b> { </b></p><
87、;p> for(j=0;j<200;j++) </p><p><b> {</b></p><p><b> _nop_();</b></p><p><b> } </b></p><p><b> } </b><
88、;/p><p> for(i=0;i<5;i++)</p><p><b> { </b></p><p> P2_4=0; /* 泊進(jìn)操作一(右轉(zhuǎn),后退) */</p><p><b> P2_5=1; </b></p><p> backsl
89、owly();</p><p><b> P2_4=0;</b></p><p><b> P2_5=0;</b></p><p><b> }</b></p><p> for(i=0;i<4;i++)</p><p><b>
90、 {</b></p><p> P2_4=1; /* 泊進(jìn)操作二(左轉(zhuǎn),前進(jìn)) */</p><p><b> P2_5=0;</b></p><p> Goslowly();</p><p><b> P2_4=0;</b></p><p&
91、gt;<b> P2_5=0;</b></p><p><b> } </b></p><p> for(i=0;i<3;i++)</p><p><b> {</b></p><p> P2_4=0; /* 泊進(jìn)操作三(右轉(zhuǎn),后退) *
92、/</p><p><b> P2_5=1;</b></p><p> backslowly();</p><p><b> P2_4=0;</b></p><p><b> P2_5=0;</b></p><p><b> }
93、</b></p><p> n= measure();</p><p> while(n>40)</p><p><b> { </b></p><p> P2_4=1; /* 泊進(jìn)操作四(左轉(zhuǎn),后退) */</p><p><b> P2_5
94、=0;</b></p><p> n= measure();</p><p> backslowly();</p><p><b> P2_4=0;</b></p><p><b> P2_5=0;</b></p><p><b> } &l
95、t;/b></p><p> for(i=0;i<2;i++)</p><p><b> {</b></p><p> P2_4=0; /* 泊進(jìn)操作五(右轉(zhuǎn),前進(jìn)) */</p><p><b> P2_5=1;</b></p><p>
96、 Goslowly();</p><p><b> P2_4=0;</b></p><p><b> P2_5=0;</b></p><p><b> } </b></p><p> n= measure(); /* 泊進(jìn)操作六(左轉(zhuǎn),后退) */<
97、;/p><p> while(n>30)</p><p><b> { </b></p><p> n= measure();</p><p> P2_4=1; </p><p><b> P2_5=0;</b></p><p>
98、; backslowly();</p><p><b> P2_4=0;</b></p><p><b> P2_5=0;</b></p><p><b> }</b></p><p><b> }</b></p><p>
99、; else /* 此時條件不符合泊車條件,buzzer響,提示無法泊車 */</p><p><b> {</b></p><p> for(i=0;i<10;i++) /* 這個for語句用于buzzer的發(fā)聲時間長短控制 */</p><p><b> {</b></p>
100、<p> for(j=0;j<10000;j++)</p><p><b> {</b></p><p><b> P2_1=1;</b></p><p><b> }</b></p><p> for(j=0;j<10000;j++)<
101、/p><p><b> {</b></p><p><b> P2_1=0;</b></p><p><b> }</b></p><p><b> } </b></p><p><b> }</b>
102、;</p><p><b> }</b></p><p> 5.2.3 泊出車位操作</p><p> void PrepareCarParkingOut() /* 泊車出車位 */</p><p><b> {</b></p><p><
103、;b> int i,j;</b></p><p> int B=50; /* 這里的B用來表示符合泊出條件的距離,50對應(yīng)15cm左右 */</p><p> long int m;</p><p> for(i=0;i<5;i++) /* 泊車提示燈閃爍,表示進(jìn)入準(zhǔn)備進(jìn)入泊出模式 */</
104、p><p><b> {</b></p><p> for(j=0;j<10000;j++)</p><p><b> {</b></p><p><b> P0_4=0;</b></p><p><b> }</b>&
105、lt;/p><p> for(j=0;j<10000;j++)</p><p><b> {</b></p><p><b> P0_4=1;</b></p><p><b> }</b></p><p><b> }</b&
106、gt;</p><p> m=parkingoutmeasure();</p><p> if(m>B) /* 符合條件,進(jìn)行泊出操作 */</p><p><b> {</b></p><p> for(i=0;i<100;i++) /* 等待一段時間 */</p>
107、<p><b> { </b></p><p> for(j=0;j<200;j++) </p><p><b> {</b></p><p><b> _nop_();</b></p><p><b> } </b>&
108、lt;/p><p><b> }</b></p><p> for(i=0;i<3;i++)</p><p><b> {</b></p><p> while(P2_0==0)</p><p><b> {</b></p>&
109、lt;p><b> _nop_();</b></p><p> P0_6=0; /* 左邊有障礙物時,開提示燈 */</p><p><b> }</b></p><p> P2_4=1; /* 泊進(jìn)操作一(左轉(zhuǎn),前進(jìn)) */</p><p><b&g
110、t; P2_5=0;</b></p><p> Goslowly();</p><p><b> P2_4=0;</b></p><p><b> P2_5=0; </b></p><p> P0_6=1; /* 無障礙物時,提示燈關(guān)閉 */ </p>
111、;<p><b> } </b></p><p> for(i=0;i<2;i++)</p><p><b> {</b></p><p> while(P2_0==0)</p><p><b> {</b></p><
112、p><b> _nop_();</b></p><p> P0_6=0; /* 左邊有障礙物時,開提示燈 */ </p><p><b> }</b></p><p> P2_4=0; /* 泊進(jìn)操作二(右轉(zhuǎn),后退) */</p><p><b>
113、 P2_5=1;</b></p><p> backslowly();</p><p><b> P2_4=0;</b></p><p><b> P2_5=0;</b></p><p> P0_6=1; /* 無障礙物時,提示燈關(guān)閉 */ <
114、/p><p><b> } </b></p><p> for(i=0;i<7;i++)</p><p><b> { </b></p><p> P2_4=1; /* 泊進(jìn)操作三(左轉(zhuǎn),前進(jìn)) */</p><p><b> P2
115、_5=0;</b></p><p> Goslowly();</p><p><b> P2_4=0;</b></p><p><b> P2_5=0; </b></p><p><b> } </b></p><p>
116、while(P0_7==1)</p><p><b> { </b></p><p> P2_4=0; /* 泊進(jìn)操作四(右轉(zhuǎn),前進(jìn)) */</p><p><b> P2_5=1;</b></p><p> Goslowly();</p><p>&
117、lt;b> P2_4=0;</b></p><p><b> P2_5=0;</b></p><p><b> } </b></p><p><b> }</b></p><p> else /* 不符合條件,buzzer
118、響,提示不滿足條件 */</p><p><b> {</b></p><p> for(i=0;i<5;i++) /* 這個for語句用于buzzer的發(fā)聲時間長短控制 */</p><p><b> {</b></p><p> for(j=0;j<10000;j++)&l
119、t;/p><p><b> {</b></p><p><b> P2_1=1;</b></p><p><b> }</b></p><p> for(j=0;j<10000;j++)</p><p><b> {</b&g
120、t;</p><p><b> P2_1=0;</b></p><p><b> }</b></p><p><b> } </b></p><p><b> }</b></p><p><b> }<
121、;/b></p><p> 5.2.3 遙控操作</p><p> void Goahead() /* 前進(jìn)功能 :前進(jìn)一段時間后停止,注意得加入停止指令,因?yàn)樗谥鞒绦蛑袥]有 */</p><p><b> {</b></p><p><b> int i,j;</b>&
122、lt;/p><p> for(i=0;i<100;i++)</p><p><b> {</b></p><p> for(j=0;j<500;j++)</p><p><b> {</b></p><p><b> P2_6=1;</b&g
123、t;</p><p><b> P2_7=0;</b></p><p><b> }</b></p><p> for(j=0;j<500;j++)</p><p><b> {</b></p><p><b> P2_6=0;
124、</b></p><p><b> P2_7=0;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void Back
125、off()</p><p><b> {</b></p><p><b> int i,j;</b></p><p> for(i=0;i<40;i++) </p><p><b> {</b></p><p> for(j=0;j<
126、;500;j++)</p><p><b> {</b></p><p><b> P2_6=0;</b></p><p><b> P2_7=1;</b></p><p><b> }</b></p><p> for(
127、j=0;j<500;j++)</p><p><b> {</b></p><p><b> P2_6=0;</b></p><p><b> P2_7=0;</b></p><p><b> }</b></p><p&g
128、t;<b> }</b></p><p><b> }</b></p><p> void Turnleft()</p><p><b> {</b></p><p><b> int i,j;</b></p><p>
129、 for(i=0;i<50;i++)</p><p><b> {</b></p><p> for(j=0;j<500;j++)</p><p><b> {</b></p><p><b> P2_4=1;</b></p><p>
130、;<b> P2_5=0;</b></p><p><b> P2_6=1;</b></p><p><b> P2_7=0;</b></p><p><b> }</b></p><p> for(j=0;j<500;j++)</p
131、><p><b> { </b></p><p><b> P2_6=0;</b></p><p><b> P2_7=0;</b></p><p><b> P2_4=0;</b></p><p><b> P
132、2_5=0;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void Turnright()</p><p><b> {<
133、;/b></p><p><b> int i,j;</b></p><p> for(i=0;i<100;i++)</p><p><b> {</b></p><p> for(j=0;j<500;j++)</p><p><b>
134、{</b></p><p><b> P2_4=0;</b></p><p><b> P2_5=1;</b></p><p><b> P2_6=1;</b></p><p><b> P2_7=0;</b></p>&
135、lt;p><b> }</b></p><p> for(j=0;j<500;j++)</p><p><b> { </b></p><p><b> P2_6=0;</b></p><p><b> P2_7=0;</b>&
136、lt;/p><p><b> P2_4=0;</b></p><p><b> P2_5=0;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }<
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 側(cè)方位自動泊車小車設(shè)計(jì)畢業(yè)論文
- 測控技術(shù)與儀器畢業(yè)論文側(cè)方位自動泊車小車設(shè)計(jì)
- 自動稱重系統(tǒng)畢業(yè)論文
- 自動供料系統(tǒng)畢業(yè)論文
- 自動打鈴系統(tǒng)畢業(yè)論文
- 畢業(yè)論文--基于單片機(jī)控制的泊車輔助系統(tǒng)設(shè)計(jì)
- 基于matlab軟件的自動泊車控制系統(tǒng)設(shè)計(jì)與仿真-本科生畢業(yè)論文設(shè)計(jì)
- 自動門禁系統(tǒng)畢業(yè)論文
- 郵件自動分揀系統(tǒng)畢業(yè)論文
- 試卷自動生成系統(tǒng)畢業(yè)論文
- [畢業(yè)論文]溫控自動風(fēng)扇系統(tǒng)論文
- 數(shù)學(xué)建模結(jié)課論文-自動泊車
- 自動澆花系統(tǒng)的設(shè)計(jì)畢業(yè)論文
- 陽臺花卉自動養(yǎng)護(hù)系統(tǒng)畢業(yè)論文
- 電梯自動語音提示系統(tǒng)畢業(yè)論文
- 陽臺花卉自動養(yǎng)護(hù)系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-自動控制澆花系統(tǒng)
- 樓宇自動配電監(jiān)控系統(tǒng)【畢業(yè)論文】
- plc物料自動分揀系統(tǒng)畢業(yè)論文
- 自動平行泊車系統(tǒng)的研究.pdf
評論
0/150
提交評論