2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計(jì)</b></p><p>  題 目 循跡小車設(shè)計(jì) </p><p>  英文題目 The design of car tracking

2、</p><p>  學(xué)生姓名: 申請學(xué)位級別 工學(xué)學(xué)士 </p><p>  學(xué) 號: </p><p>  專 業(yè): 機(jī)械電子工程 </p><p>  系 別: 機(jī)械與電子工程系 </p

3、><p>  指導(dǎo)教師: 職稱: </p><p>  二零一三年六月 三 日</p><p><b>  摘 要</b></p><p>  該設(shè)計(jì)是為一個(gè)簡易的循跡小車軟硬件系統(tǒng),該小車是基于8位的51單片機(jī)進(jìn)行用控制的,循跡小車的研究意義涵蓋了勘探、工業(yè)、生活以及探月工程。循跡是基于自動

4、引導(dǎo)機(jī)器人系統(tǒng),用以實(shí)現(xiàn)小車自動識別路線,以及選擇正確的路線。從設(shè)計(jì)的功能要求出發(fā),設(shè)計(jì)包括了小車控制系統(tǒng)的軟件設(shè)計(jì)和硬件設(shè)計(jì)。小車采用了簡易的三輪構(gòu)架式,用由前兩輪驅(qū)動并控制轉(zhuǎn)向的控制模式。控制系統(tǒng)以STC89C52為控制核心, 由STC89C52產(chǎn)生PWM波,控制小車速度。利用紅外光電傳感器探頭對路面黑色軌跡進(jìn)行檢測,并確定小車當(dāng)前的位置狀態(tài),再將路面檢測信號反饋給STC89C52。STC89C52對采集到的信號予以分析判斷,及時(shí)控

5、制并驅(qū)動電機(jī)以調(diào)整小車轉(zhuǎn)向,從而使小車能夠沿著黑色軌跡自動行駛,實(shí)現(xiàn)小車自動尋跡的目的。</p><p>  關(guān)鍵詞:循跡小車,STC89C52,紅外光電傳感器</p><p><b>  ABSTRACT</b></p><p>  The design is a simple automatically tracing the car sy

6、stem, and its significance covers the industry, life, exploration, and human concern lunar exploration. The design aims to design a can of independent walking in accordance with the trajectory of human default (or comple

7、tely autonomous walking) and to complete the tasks assigned to the car. The design includes control system hardware and software design. Relatively high stability of the four trusses in order to adapt to the complex terr

8、ain, </p><p>  Keywords: car tracking;STC89C52;Infrared sensors</p><p><b>  目 錄</b></p><p><b>  1.緒論1</b></p><p>  1.1循跡小車概述1</p>&l

9、t;p>  1.1.1循跡小車的發(fā)展歷程1</p><p>  1.1.2循跡小車的應(yīng)用2</p><p>  1.2智能循跡小車的關(guān)鍵技術(shù)2</p><p>  2.方案的設(shè)計(jì)與論證4</p><p>  2.1主控系統(tǒng)4</p><p>  2.2驅(qū)動模塊4</p>&l

10、t;p>  2.3循跡模塊5</p><p>  2.4機(jī)械系統(tǒng)5</p><p>  3.主要器件介紹6</p><p>  3.1單片機(jī)STC89C52的介紹6</p><p>  3.2電機(jī)介紹8</p><p>  3.3電機(jī)驅(qū)動模塊L298N的介紹8</p><

11、;p>  3.3.1L298N的引腳功能9</p><p>  3.3.2L298N的工作參數(shù)10</p><p>  3.3.3L298N的邏輯控制10</p><p>  3.4TCRT5000的介紹11</p><p>  3.5LM324的介紹11</p><p>  4.硬件系統(tǒng)設(shè)

12、計(jì)13</p><p>  4.1總體設(shè)計(jì)13</p><p>  4.2主控電路13</p><p>  4.2.1外部時(shí)鐘電路14</p><p>  4.2.2復(fù)位電路14</p><p>  4.2.3P0口外接上拉電阻15</p><p>  4.3軌跡識別電路

13、15</p><p>  4.4電壓比較電路16</p><p>  4.5直流電機(jī)驅(qū)動電路17</p><p>  5.程序設(shè)計(jì)18</p><p>  5.1程序總體框架18</p><p>  5.2主程序模塊20</p><p>  5.3循跡程序模塊21<

14、;/p><p>  5.4電機(jī)程序模塊22</p><p>  5.5定時(shí)器程序模塊24</p><p><b>  結(jié)論26</b></p><p><b>  致 謝27</b></p><p><b>  參考文獻(xiàn)28</b></

15、p><p><b>  附 錄29</b></p><p><b>  緒論</b></p><p><b>  循跡小車概述</b></p><p>  循跡小車是一種能夠根據(jù)人們預(yù)定的路線行走的小車,其應(yīng)用范圍極其廣泛。早在二十世紀(jì)五十年代就研究出一種智能的搬運(yùn)機(jī)器人,其主

16、要功能是根據(jù)預(yù)定的路線進(jìn)行物品搬運(yùn)。</p><p>  循跡小車裝備了一些能夠識別路線的傳感器,其傳感器種類有電磁傳感器、光學(xué)傳感器。智能小車根據(jù)傳感器識別的路徑行進(jìn)。工業(yè)中使用的智能循跡小車主要是以蓄電池為動力來源,可以通過電腦使用程序控制其行走路徑和動作,其具有不需要駕駛員操作就能自動的把指定物品從起始點(diǎn)送到目的地。</p><p>  循跡小車還有另一個(gè)很鮮明的特點(diǎn),那就是智能化和

17、自動化,工業(yè)使用的智能循跡小車能夠根據(jù)倉庫存儲貨位情況以及生產(chǎn)流程的一些情況靈活的改變行走路徑,而且與傳統(tǒng)的運(yùn)輸帶和運(yùn)送線相比改變路徑的費(fèi)用要明顯低很多,降低了企業(yè)的成本。此外工業(yè)使用的智能循跡小車一般都裝備有裝卸機(jī)構(gòu),其能實(shí)現(xiàn)的功能更多,能與其它的物流設(shè)備自動的對接,實(shí)現(xiàn)全自動化的物品裝卸以及搬運(yùn)。此外由于工業(yè)使用的智能小車的動力是由蓄電池提供的,其使用的能源是無污染的電能,且小車行進(jìn)過程中基本沒有噪音,可以在環(huán)境清潔的場地工作。&l

18、t;/p><p><b>  循跡小車的發(fā)展歷程</b></p><p>  隨著社會的發(fā)展,科技水平在不斷的提高,人們迫切希望制造出一種能代替人做一些十分危險(xiǎn)或者精度要求非常高等一些不適合有人來完成的事情的機(jī)器,在這樣的環(huán)境下誕生了機(jī)器人技術(shù)這門學(xué)科。1959年制作出世界上第一臺機(jī)器人,至今已五十多年了,在五十多年中,機(jī)器人技術(shù)一直在飛速發(fā)展和進(jìn)步中,現(xiàn)在的機(jī)器人技術(shù)已

19、經(jīng)是一門包含了電子、機(jī)械、計(jì)算機(jī)、信號處理、自動控制、傳感器等多學(xué)科高端技術(shù)。眾觀循跡小車的發(fā)展歷史,可以將循跡小車的發(fā)展分為三個(gè)階段:</p><p>  第一階段的循跡小車是沒有傳感器,只采用了簡單的開關(guān)來控制,可以通過編程設(shè)置小車的運(yùn)動參數(shù)和路徑,但是這階段的小車在工作過程中,不能夠根據(jù)工作場地的變化而改變自身的行進(jìn)軌跡。</p><p>  第二階段的循跡小車支持離線編程并且具有檢

20、測并適應(yīng)場地的能力,這類的循跡小車裝備了一些簡單的傳感器,可以通過傳感器知道自身所處的位置、速度等一些物理量。其電路系統(tǒng)閉環(huán)控制系統(tǒng),能夠較好的適應(yīng)場地的變化。</p><p>  第三階段的循跡小車是多功能的、智能的,但該類循跡小車目前正在研究和發(fā)展的階段。其具有由各種傳感器組成的感官系統(tǒng),通過感官系統(tǒng)采集外部環(huán)境的信息,能準(zhǔn)確的感知環(huán)境的變化。智能的循跡小車能夠獨(dú)立的完成任務(wù),有智能的信息處理系統(tǒng),在一些結(jié)構(gòu)

21、化和半結(jié)構(gòu)化的工作場地中,能跟據(jù)場地的不同而自動的對自身功能進(jìn)行調(diào)整,有簡單的決策能力和一定的適應(yīng)能力,以及學(xué)習(xí)能力。</p><p><b>  循跡小車的應(yīng)用</b></p><p>  循跡小車的主要應(yīng)用場所如下:</p><p>  危險(xiǎn)的場所與特種行業(yè)</p><p>  在軍事上的戰(zhàn)場偵查以及掃雷排雷等,在核

22、電廠內(nèi)核材料的運(yùn)送等,或在黑暗的環(huán)境中運(yùn)送物料等,像這些工作都是十分不適合有人去完成的,在這種情況下循跡小車就可以出色的完成任務(wù)。</p><p>  郵局、圖書館、港口碼頭和機(jī)場</p><p>  這些場所都是一些人口密集的場所,其需要運(yùn)送的物品量大,而且充滿了不確定性和動態(tài)性,搬運(yùn)的過程也比較單一。智能循跡小車就有智能化、自動化等優(yōu)點(diǎn)可以很好的完成運(yùn)輸任務(wù)。現(xiàn)在越來越多的這類場所開始

23、使用循跡小車了。</p><p>  煙草、醫(yī)藥、化工、食品</p><p>  這些場所都是一些具有安全、清潔、無排放污染等其他一些特殊環(huán)境要求的場所。在這種場所下,使用蓄電池的循跡小車正好能滿足這些要求,所以在這些場所的貨物的搬運(yùn)工作大多數(shù)都是有循跡小車完成的。</p><p><b>  制造業(yè)</b></p><p&

24、gt;  在制造行業(yè)的生產(chǎn)線上,智能循跡小車能夠大顯身手,其能準(zhǔn)確的、靈活的、快速的完成物料運(yùn)送任務(wù)。智能循跡小車比人力搬運(yùn)系統(tǒng)更加靈活,其運(yùn)送路徑可以根據(jù)生產(chǎn)要求及時(shí)調(diào)整,能夠大大提高生產(chǎn)靈活性,提升了企業(yè)競爭力。目前,世界上主要的汽車生存廠,如大眾、豐田、克萊斯勒、通用等,智能循跡小車已經(jīng)得到了廣泛運(yùn)用。</p><p><b>  倉儲業(yè)</b></p><p>

25、;  在世界上有超過2100個(gè)廠家在使用智能循跡小車,這些智能循跡小車的數(shù)量大約有兩萬臺。使用智能循跡小車的數(shù)據(jù)庫處理系統(tǒng),能夠輕松的完成大量的儲存和裝卸物品的任務(wù)。</p><p>  智能循跡小車的關(guān)鍵技術(shù)</p><p>  現(xiàn)在世界各國都在研究著多功能、智能化的汽車自動導(dǎo)航系統(tǒng),并以實(shí)現(xiàn)能夠不需要有人類駕駛就能自動的到達(dá)乘客所指定的目的地為目標(biāo)。汽車自動導(dǎo)航系統(tǒng)是一種非常復(fù)雜的系統(tǒng)

26、,它不僅需要具有普通汽車的運(yùn)動機(jī)構(gòu),還需要能夠識別指令,根據(jù)識別出來的指令來進(jìn)行路徑規(guī)劃,以及對其他事物的感知,能夠做出正確的決策等一些擬人的智能行為。</p><p>  人類就有聽覺、嗅覺、味覺、視覺、觸覺,能夠通過這些感官去感知外部環(huán)境,然后通過大腦對感官感知到的信息進(jìn)行處理、判斷和分析,從而能夠全面的認(rèn)知事務(wù)。這樣一個(gè)認(rèn)知、分析、處理的過程,我們稱之為信息融合。機(jī)器的多傳感器信息融合技術(shù)的基本原理就是在模

27、仿大腦的這系列過程。多傳感器信息融合是一種將分布在不同位置不同功能不同種類的傳感器所測得的數(shù)據(jù)進(jìn)行綜合,然后消除存在的矛盾和冗余,以減小不確定性,從而得出對環(huán)境或物體的一致性描述的過程。</p><p>  多傳感器信息融合有許多的優(yōu)點(diǎn):</p><p>  增加了系統(tǒng)的生存能力;</p><p>  減少了信息的模糊性;</p><p> 

28、 擴(kuò)展了采集數(shù)據(jù)覆蓋范圍;</p><p><b>  增加了可信度;</b></p><p><b>  改善了探測性能;</b></p><p>  提高了空間的分辨力;</p><p><b>  改善了系統(tǒng)的可靠性</b></p><p>  信

29、息的低成本性[1]。</p><p><b>  方案的設(shè)計(jì)與論證</b></p><p><b>  主控系統(tǒng)</b></p><p>  根據(jù)設(shè)計(jì)要求,我選擇以單片機(jī)為整個(gè)系統(tǒng)的核心,由單片機(jī)控制行進(jìn)中的小車,以實(shí)現(xiàn)指定功能。仔細(xì)分析小車要實(shí)現(xiàn)的功能,其關(guān)鍵是在于實(shí)現(xiàn)小車能夠根據(jù)一些條件進(jìn)行自動控制,而單片機(jī)正好能夠滿

30、足這一要求,并且單片機(jī)還具有一定的優(yōu)勢,其價(jià)格較為低廉,控制簡單,編程方便,有比較強(qiáng)大的控制功能以及可以位尋址功能等,因此,選用單片機(jī)比較適合,且單片機(jī)豐富的資源也能得到充分的發(fā)揮,故以單片機(jī)為系統(tǒng)核心是較為合適的方案。</p><p>  由于該設(shè)計(jì)具有多個(gè)輸入量,因此就需要能夠處理多個(gè)輸入量的標(biāo)準(zhǔn)單片機(jī),像那些被精簡了I/O和儲存器的小體積單片機(jī)就不可選用。被設(shè)計(jì)的輸入量都是一些簡單的開關(guān)量,所以就不需選用數(shù)

31、模轉(zhuǎn)換器和模數(shù)轉(zhuǎn)換器,如果選用模數(shù)轉(zhuǎn)化器和數(shù)模轉(zhuǎn)換器不僅會增加設(shè)計(jì)成本,而且還會增加設(shè)計(jì)復(fù)雜度,增加系統(tǒng)的不穩(wěn)定性。根據(jù)以上分析,我從眾多單片機(jī)中最終選用了STC89C52系列單片機(jī)為本設(shè)計(jì)的控制核心。STC的51系列單片機(jī)不僅價(jià)格低廉,而且其功能也十分強(qiáng)大,其輸入輸出口均能按位尋址,且具有強(qiáng)大的位操作尋址功能,并且還能進(jìn)行各種位邏輯運(yùn)算,從而能夠很方便的對輸入輸出口進(jìn)行控制。</p><p>  綜合了對傳感器

32、、電機(jī)驅(qū)動等諸多因素考慮后,我決定選用一片單片機(jī),充分利用了STC89C52單片機(jī)的資源。</p><p><b>  驅(qū)動模塊</b></p><p>  對電機(jī)進(jìn)行控制的方法非常的多,首先可以通過繼電器對電機(jī)進(jìn)行控制,通過控制繼電器的通與斷來控制電機(jī)電路的接通與斷開,從而來調(diào)整小車的方向。此方法的優(yōu)點(diǎn)是電路比較簡單,但此方法有較多缺點(diǎn),如繼電器的響應(yīng)時(shí)間較慢,容易

33、損壞,且繼電器的可靠度不高,故繼電器方案不適合本設(shè)計(jì)的要求。</p><p>  其次,我們可以采用數(shù)字電位器對電動機(jī)進(jìn)行分壓,從而達(dá)到對電動機(jī)進(jìn)行調(diào)速。但是數(shù)字電位器的價(jià)格十分昂貴,更重要的問題是電動機(jī)的內(nèi)阻一般都是十分小的,通過電動機(jī)的電流卻很大,對電動機(jī)進(jìn)行分壓不僅降低了電機(jī)的效率,而且實(shí)現(xiàn)起來也十分的困難。</p><p>  另外,我們可以采用功率放大器對電機(jī)進(jìn)行控制,線性型的驅(qū)

34、動電路結(jié)構(gòu)簡單,加速能力強(qiáng),通過采用達(dá)林頓管組成的 H型橋式電路對電機(jī)進(jìn)行驅(qū)動。利用單片機(jī)控制達(dá)林頓管,使達(dá)林頓管工作在占空比可調(diào)的狀態(tài)下,精確地調(diào)整電機(jī)轉(zhuǎn)速。該電路由于工作在管子的飽和和截止?fàn)顟B(tài)下,效率很高,而且H型橋式電路能夠保證簡單的實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開關(guān)速度非常快,穩(wěn)定性也很強(qiáng),所以這是一種被廣泛采用的 PWM技術(shù)?,F(xiàn)市面上有很多此種芯片,我選用了L298N。</p><p><b>

35、;  循跡模塊</b></p><p>  循跡模塊是用來確定循跡小車確定自身位置的,如果循跡模塊的選擇不當(dāng)將影響整個(gè)系統(tǒng)的穩(wěn)定性。循跡模塊可以采用簡易的光電傳感器并結(jié)合外圍電路進(jìn)行探測,此方案雖然看上去簡單可行,但是在實(shí)際的測試結(jié)果中卻并不是很理想,對小車的穩(wěn)定性要求很高,而且容易引起誤測,也容易受環(huán)境中光線和路面材料影響。在小車測試過程中很容易出現(xiàn)問題,而且會導(dǎo)致小車因循跡模塊的不穩(wěn)定致使整個(gè)循跡

36、小車的不穩(wěn)定,故循跡模塊不適合選用該方案。除此之外,</p><p>  循跡模塊采用三只紅外傳感器,平均的分布在車頭上,相鄰兩傳感器的間距小于或黑色軌跡的寬度,根據(jù)三只紅外傳感器檢查黑線來控制小車能夠循著黑線前進(jìn),測試表明,只要比較合理的安裝好三只紅外傳感器的位置就可以較好的實(shí)現(xiàn)循跡功能。</p><p><b>  機(jī)械系統(tǒng)</b></p><

37、p>  本題目要求小車的機(jī)械系統(tǒng)穩(wěn)定、靈活、簡單,可選用三輪和四輪式,考慮到簡化設(shè)計(jì),我選用了三輪式,驅(qū)動和轉(zhuǎn)向方式都較靈活。</p><p>  驅(qū)動部分:采用玩具小車原有的驅(qū)動電機(jī),由L298N雙通道馬達(dá)驅(qū)動模塊驅(qū)動左右兩個(gè)馬達(dá),其力矩完全可以達(dá)到模擬效果。</p><p>  電池的安裝:將電池放置在車體的下面,降低車體重心,提高穩(wěn)定性,同時(shí)可增加驅(qū)動輪的抓地力,減小輪子空轉(zhuǎn)所

38、引起的誤差。</p><p><b>  主要器件介紹</b></p><p>  單片機(jī)STC89C52的介紹</p><p>  該STC89C52單片機(jī)是由宏晶公司生產(chǎn)的種高性能、低功耗的8位微處理器,其有8K的系統(tǒng)可編程Flash、可擦除壽命可達(dá)1000次程序存儲器。該產(chǎn)品使用的是經(jīng)典的MCS-51內(nèi)核,能夠與8051系列能夠很好的兼容

39、,但是較傳統(tǒng)51單片機(jī)功能跟強(qiáng)大,并且還可支持兩種可以軟件設(shè)置的省電模式。使實(shí)時(shí)處理、實(shí)時(shí)控制的功能更加完善,簡化了硬件的配置。STC89C52具有8k字節(jié)Flash存儲器,512字節(jié)內(nèi)存, 32 個(gè)I/O端口 ,定時(shí)器,內(nèi)置了4KB 大小的EEPROM,16 位定時(shí)器/計(jì)數(shù)器 3個(gè),外部中斷 4個(gè),能全雙工工作的串行輸入輸出口。STC89C52實(shí)物如圖1。</p><p>  STC89C52引腳圖</p

40、><p>  STC89C52各引腳都有相應(yīng)的功能:</p><p>  P0口:P0口是漏極開路的8位雙向輸入輸出口,即可以作為8位輸入口,也可以作為8位輸出口。當(dāng)作為輸出口,每位都能驅(qū)動8 個(gè)TTL邏輯電平。當(dāng)對P0口寫高電平時(shí),引腳將被用作高阻抗輸入。</p><p>  當(dāng)使用P0口訪問外部的程序或數(shù)據(jù)儲存器時(shí),P0口會被作為低8位地址/數(shù)據(jù)復(fù)用總線。在這種模式

41、下, P0要加上一組上拉電阻。</p><p>  在進(jìn)行Flash燒錄程序時(shí),P0口也被用來接收一些指令字節(jié);在進(jìn)行程序校驗(yàn)時(shí),輸出一些指令字節(jié)。程序校驗(yàn)時(shí),需要在外部加上一組上拉電阻。</p><p>  P1 口: P1 口是一個(gè)由8個(gè)引腳組成的8位數(shù)據(jù)輸入輸出口,且每一位引腳已經(jīng)具有內(nèi)部的上拉電阻的,P1 的輸出緩存器能直接驅(qū)動4 個(gè) TTL 邏輯電平。當(dāng)對P1 端口寫高電平時(shí),內(nèi)

42、部的上拉電阻會把端口電平拉高,此時(shí)P1就可以作為輸入I/O口使用了。當(dāng)P1作為輸入口使用時(shí),將會輸出電流。</p><p>  此外,P1口的個(gè)別引腳還有一些其他功能:</p><p>  P1.0 :T2(芯片內(nèi)的第二個(gè)定時(shí)器/計(jì)數(shù)器)的外部計(jì)數(shù)的輸入或時(shí)鐘的輸出引腳(T2);</p><p>  P1.1 :T2的捕捉或重載的觸發(fā)信號和方向的控制信號引腳(T2E

43、X);</p><p>  P1.5 :在線系統(tǒng)編程使用的MOSI信號引腳;</p><p>  P1.6 :在線系統(tǒng)編程使用的MISO信號引腳;</p><p>  P1.7 :在線系統(tǒng)編程使用的SCK信號引腳;</p><p>  P2 口:P2 口也是一個(gè)由8個(gè)引腳組成的8位數(shù)據(jù)輸入輸出口,且每一位引腳已經(jīng)具有內(nèi)部的上拉電阻的,P2 的

44、輸出緩存器能直接驅(qū)動4 個(gè) TTL 邏輯電平。當(dāng)對P2 端口寫高電平時(shí),內(nèi)部的上拉電阻會把端口電平拉高,此時(shí)P2就可以作為輸入I/O口使用了。當(dāng)P2作為輸入口使用時(shí),將會輸出電流。</p><p>  在訪問一些外部的ROM或用16位地址尋址訪問外部的RAM(例如執(zhí)行指令MOVX @DPTR) 時(shí),P2口會傳送高八位的地址。像在這種的應(yīng)用中,P2 口會使用比較強(qiáng)的內(nèi)部上拉來發(fā)送高電平。在使用 8位地址尋址(如指令

45、MOVX @RI)訪問外部的ROM或RAM時(shí),P2口會輸出P2鎖存器內(nèi)的內(nèi)容。在進(jìn)行Flash燒錄程序和校驗(yàn)時(shí),會由P2口來接收高8位地址的字節(jié)和一些特殊的控制信號。</p><p>  P3 口:P3 口也是一個(gè)由8個(gè)引腳組成的8位數(shù)據(jù)輸入輸出口,且每一位引腳已經(jīng)具有內(nèi)部的上拉電阻,使用輸出緩存器能直接驅(qū)動4 個(gè) TTL 邏輯電平。當(dāng)對P3 端口寫高電平時(shí),內(nèi)部的上拉電阻會把端口電平拉高,此時(shí)P3就可以作為輸入

46、I/O口使用了。當(dāng)P3作為輸入口使用時(shí),將會輸出電流。在進(jìn)行Flash燒錄程序和校驗(yàn)時(shí),P3口也接收一些特殊的控制信號。</p><p>  P3口的許多引腳獨(dú)有第二功能,主要是STC89C52特殊功能的輸入輸出口,如下所示:</p><p>  P3.0:串行輸入口(RXD)</p><p>  P3.1:串行輸出口(TXD)</p><p&g

47、t;  P3.2:外部中斷0(INTO)</p><p>  P3.3:外部中斷1(INT1)</p><p>  P3.4 :定時(shí)/計(jì)數(shù)器0(T0)</p><p>  P3.5 :定時(shí)/計(jì)數(shù)器1(T1)</p><p>  P3.6 :外部ROM或RAM寫選通(WR)</p><p>  P3.7 :外部ROM或R

48、AM讀選通(RD)</p><p>  ALE/PROG:當(dāng)要訪問外部的ROM或RAM時(shí),該引腳為ALE(鎖存允許)功能,該引腳會輸出特定的脈沖用來控制鎖存低8位地址的鎖存器。在一般的情況下,ALE仍會以 晶振頻率輸出一個(gè)固定的脈沖信號,因此它還可以向外輸出脈沖信號或者用于定時(shí)的目的。然而需要注意:每當(dāng)訪問一次外部的ROM或RAM時(shí)都將直接跳過一個(gè)ALE的脈沖。</p><p>  對RO

49、M進(jìn)行編程期間,該引腳還常用于輸入ROM編程脈沖(PROG)信號。</p><p>  如果有必要,也可以通過對特殊功能寄存器區(qū)中的8EH單元中的D0位置位,可禁止ALE引腳的輸出。當(dāng)該位置位后,只有MOVX或MOVC指令才能將ALE引腳重新激活。此外,該引腳還會被微弱的拉高,當(dāng)單片機(jī)需要執(zhí)行外部的程序時(shí),就應(yīng)設(shè)置ALE的禁止位為無效。</p><p>  RST:復(fù)位信號的輸入口。當(dāng)晶振

50、工作時(shí),RST引腳如果出現(xiàn)兩個(gè)機(jī)器周期以上高電平將會使單片機(jī)復(fù)位。</p><p>  PSEN:程序儲存允許信號,輸出的是對外部的ROM的讀選通信號,當(dāng)STC89C52向外部的ROM取指令或數(shù)據(jù)時(shí),會輸出兩個(gè)脈沖。</p><p>  EA/VPP:外部訪問的允許信號,欲使STC89C52只訪問外部的程序存儲器,EA端就必須保持低電平。如果EA端為高電平,STC89C52則執(zhí)行內(nèi)部的程序

51、存儲器內(nèi)的指令。</p><p><b>  電機(jī)介紹</b></p><p>  本小車的電機(jī)采用了強(qiáng)磁電機(jī),該電機(jī)運(yùn)行穩(wěn)定,無抖動,扭力大。下圖為電機(jī)的參數(shù)。</p><p><b>  電機(jī)參數(shù)</b></p><p>  電機(jī)驅(qū)動模塊L298N的介紹 </p><p>

52、;  L298N是由ST公司生產(chǎn)的,是一種大電流、高電壓電機(jī)驅(qū)動芯片。該芯片采用的是15腳封裝。L298N的主要特點(diǎn)是:工作電壓高,最高的工作電壓可以達(dá)到46V;輸出電流大,瞬間的峰值電流可以達(dá)到3A,持續(xù)工作的電流為2A;額定的功率為25W。其內(nèi)部含兩個(gè)H橋的大電流高電壓的全橋式驅(qū)動器,既可以驅(qū)動直流電動機(jī)也可以驅(qū)動步進(jìn)電動機(jī)、繼電器線圈等;L298N采用的是由標(biāo)準(zhǔn)邏輯電平信號來控制;具有使能控制端兩個(gè),還可以外接檢測電阻,將變化量直

53、接反饋給控制電路。使用L298N芯片來驅(qū)動電機(jī),該芯片可以驅(qū)動直接一臺兩相的步進(jìn)電機(jī)或四相的步進(jìn)電機(jī),也可以直接驅(qū)動兩臺直流電機(jī)。</p><p>  L298N的引腳功能</p><p>  下圖即為L298N芯片的外觀圖。</p><p><b>  L298N芯片圖</b></p><p>  下圖即為L298N的

54、各引腳功能。</p><p>  L298N引腳功能圖</p><p>  L298N的工作參數(shù)</p><p>  下圖即為L298N的工作參數(shù)。</p><p>  L298N的工作參數(shù)</p><p>  L298N的邏輯控制</p><p>  L298的邏輯控制見如下圖5。圖中Ven代

55、表ENA或ENB的輸入電平,C、D代表為IN1、IN2或IN3、IN4;L代表低電平,H代表高電平。</p><p><b>  L298N邏輯控制</b></p><p>  TCRT5000的介紹</p><p>  TCRT5000結(jié)構(gòu)緊湊,發(fā)光光源與探測器排列在同一方向上,通過反射紅外線光束感知對象的存在。TCRT5000的工作波長為9

56、50毫米。該探測器有光電晶體管組成,工作時(shí)由藍(lán)色發(fā)射管來發(fā)射紅外線,紅外線被遮擋物反射回來后被接收管接收。接收到反射光線后的接收管就會呈導(dǎo)通狀態(tài),與一電阻串聯(lián)即可組成一個(gè)由發(fā)射管來控制的分壓電路,由此可實(shí)現(xiàn)對遮擋物反射光線強(qiáng)度進(jìn)行檢測。我們經(jīng)常利用這個(gè)特性去實(shí)現(xiàn)顏色識別。其實(shí)物外觀圖及引腳圖如下。</p><p>  TCRT5000外觀圖</p><p>  TCRT5000引腳定義&l

57、t;/p><p><b>  LM324的介紹</b></p><p>  M324是具有4個(gè)運(yùn)放的集成電路,它采用封裝方法是14腳兩列直插式塑料封裝。它內(nèi)部包含有四個(gè)參數(shù)、功能完全相同的集成運(yùn)算放大器,除了電源是共用的外,四組運(yùn)放是相互獨(dú)立的。每一個(gè)運(yùn)算放大器可以用圖3.4-1中的符號表示,其有5個(gè)引腳,其中“Vi+”、“Vi-”為信號的兩個(gè)輸入端,“V+”、“V-”為

58、正、負(fù)電源輸入端,“Vo”為輸出端。</p><p>  圖10為LM324的引腳圖。</p><p>  單個(gè)運(yùn)放符號 </p><p><b>  LM324引腳</b></p><p><b>  硬件系統(tǒng)設(shè)計(jì)</b></p><p><b>  總體

59、設(shè)計(jì)</b></p><p>  根據(jù)設(shè)計(jì)要求以及初步確定的方案可以確定出總體的框架。下圖即為整個(gè)系統(tǒng)的框架圖。</p><p><b>  系統(tǒng)框架</b></p><p>  由TCRT5000對黑線軌跡進(jìn)行檢測,TCRT5000采集到的信息傳給LM324電壓比較器,經(jīng)過LM324處理后,TCRC5000采集到的信息就變成了可以

60、由單片機(jī)識別的高低電平,單片機(jī)對高低電平進(jìn)行分析,然后發(fā)送相應(yīng)的控制信息給L298N,由L298N控制電機(jī)做出響應(yīng)的動作。</p><p>  循跡紅外發(fā)射管與接收管分別裝在車頭的左中右位置。當(dāng)車頭下左邊的TCRT5000傳感器檢測到黑線時(shí),小車右轉(zhuǎn),當(dāng)車頭下右邊TCRT5000傳感器檢測到黑線時(shí),小車左轉(zhuǎn)。直到小車完全回到黑線。</p><p><b>  主控電路</b

61、></p><p>  單片機(jī)控制電路是由單片機(jī)最小系統(tǒng)組成的,主要作用是處理電壓比較器LM324傳來的高低電平信號,再通過設(shè)定的程序邏輯算法確定并發(fā)出電機(jī)驅(qū)動電路的指令。單片機(jī)的最小系統(tǒng)包括MCU,外部的時(shí)鐘電路,按鍵復(fù)位電路和電源組成。本設(shè)計(jì)采用圖11所示的單片機(jī)最小系統(tǒng)。</p><p>  STC89C52控制電路</p><p><b> 

62、 外部時(shí)鐘電路</b></p><p>  XTAL1和XTAL2是獨(dú)立的輸入和輸出反相放大器,其可以直接由外部的時(shí)鐘信號驅(qū)動,或者使用石英晶振組成片內(nèi)振蕩器。在XTAL1、XTAL2 的引腳上接上定時(shí)元件,其內(nèi)部振蕩器就能夠直接自激振蕩。一般單片機(jī)的晶振頻率在1.2 ~ 12MHz 之間,甚至有些單片機(jī)的晶振頻率可達(dá)到24MHz 或者更高,但是如果晶振頻率越高其功耗就會越大。在本設(shè)計(jì)中所采用是11.

63、0592MHz 的石英晶振。和晶振相連的兩個(gè)電容,其大小對晶振的振蕩頻率有輕微的影響,可以起到微調(diào)頻率作用。當(dāng)采用的晶振是石英晶振時(shí),則電容可以在20 ~ 40pF 之間選擇;當(dāng)采用陶瓷諧振器時(shí),電容就應(yīng)適當(dāng)?shù)卦龃笠恍?0 ~ 50pF 之間。通常都是選取33pF左右的陶瓷電容就可以了。另外值得一提的是如果在設(shè)計(jì)單片機(jī)系統(tǒng)的印刷電路板(PCB) 時(shí),晶振和電容應(yīng)盡可能的與單片機(jī)芯片靠近,以減少由于引線而寄生的電容,保證振蕩器可靠工作

64、。用示波器檢測晶振是否起振,可以觀察到XTAL2 輸出了十分漂亮的正弦波,使用萬用表測量檢測時(shí)( 把擋位打到直流擋,這個(gè)時(shí)候測得的是有效值)XTAL2 和地之間的電壓時(shí),可以看到萬用表示數(shù)為2V 左右</p><p><b>  復(fù)位電路</b></p><p>  在單片機(jī)中,復(fù)位電路是很關(guān)鍵的,當(dāng)程序運(yùn)行不正?;蛘咚罊C(jī)(停止運(yùn)行)時(shí),就需要進(jìn)行復(fù)位。5l系列單片機(jī)

65、的復(fù)位引腳RST如果出現(xiàn)兩個(gè)機(jī)器周期以上的高電平,單片機(jī)就會執(zhí)行復(fù)位操作。如果RST引腳一直為高電平,單片機(jī)就會處于循環(huán)復(fù)位狀態(tài)。復(fù)位操作一般有兩種基本形式:手動復(fù)位和上電自動復(fù)位。圖4.4中所示的復(fù)位電路中,這兩種復(fù)位方式都包含在內(nèi)。在上電的一瞬間,電容兩端的電壓不能發(fā)生突變,由于電容的負(fù)極是和RST引腳相連的,電源電壓會全部的加在電容下面的電阻上,RST引腳的電平為高,芯片就會被復(fù)位。電路穩(wěn)定后,電源會給電容充電,電阻上的電壓就會逐

66、漸減小,最后約為0V,芯片便能開始正常的工作。并聯(lián)在該電容兩端的按鈕為復(fù)位按鈕,當(dāng)沒有按下復(fù)位按鈕的時(shí)候,電路可以實(shí)現(xiàn)上電自動復(fù)位,在芯片進(jìn)入正常的工作后,通過按下復(fù)位按鈕使RST引腳為高電平從而達(dá)到手動去復(fù)位的效果。就一般情況來說,只要RST 引腳上保持有大約10ms以上高電平,就能夠使單片機(jī)有效的進(jìn)行復(fù)位。電路圖中復(fù)位所用電阻的大小和電容的大小為經(jīng)典值,實(shí)際制作時(shí)可以使用同一數(shù)量級的電阻和電容來代替,也可以通過自行計(jì)算RC 的充電時(shí)

67、間或在工作環(huán)境實(shí)際</p><p><b>  P0口外接上拉電阻</b></p><p>  STC89C51的P0口內(nèi)部并沒有上拉電阻。所以當(dāng)P0口僅作為普通輸入輸出口要實(shí)現(xiàn)輸出數(shù)據(jù)時(shí),由于V1 截止,輸出級的電路是漏極開路的電路,要使正常輸出高電平,就必須外接一個(gè)上拉電阻。</p><p>  P0口其中1位的電路結(jié)構(gòu)</p>

68、<p>  另外,為了避免輸入時(shí)讀取數(shù)據(jù)出現(xiàn)錯(cuò)誤,也需要外接上拉電阻。</p><p><b>  軌跡識別電路</b></p><p>  循跡的原理是小車在畫有黑線的白紙上行駛,由于黑線和白紙對光線的反射程度不同,可以根據(jù)接收到的反射光線的強(qiáng)弱來判斷是否是黑線。本設(shè)計(jì)規(guī)定正常行駛時(shí)三個(gè)紅外探頭只有中探頭在黑線的范圍以內(nèi),左右探頭分別位于黑線的左右,如

69、果中探頭檢測不到黑線說明小車已經(jīng)偏離了軌道,需要進(jìn)行校正,此時(shí),系統(tǒng)會讀取左右探頭的狀態(tài),如果左探頭檢測到黑線,說明小車向左邊偏了,此時(shí)小車就應(yīng)該向右轉(zhuǎn)。若果右探頭檢測到黑線,說明小車向右偏了,此時(shí)小車應(yīng)該向左轉(zhuǎn)。</p><p>  此電路模塊是用于檢測小車是否偏離軌道并以特定信號給傳下一級電路。這一方法就是紅外探測。紅外探測,即利用由于紅外線在顏色不同的物體表面具有的反射性質(zhì)不同的特點(diǎn)。在小車行進(jìn)過程中,紅發(fā)

70、發(fā)射管會不斷地向軌跡所在的地面上發(fā)射紅外線,當(dāng)紅外線遇到了白色的地面時(shí)發(fā)生漫發(fā)射,反射光線會被反射到裝在小車上的紅外接收管,并接收;如果遇到的是黑線,則紅外光會被吸收,則小車上的紅外接收管就會接收不到足夠的信號。</p><p><b>  電壓比較電路</b></p><p>  電壓比較器是在集成運(yùn)算放大器的基礎(chǔ)上去掉反饋電阻從而使放大倍數(shù)趨于無窮大。這時(shí)運(yùn)算放大

71、器就形成了一個(gè)電壓比較器。當(dāng)同相端的電壓大于反相端的電壓時(shí)比較器就會輸出高電平,當(dāng)反相端的電壓高于同相端的電壓時(shí)輸出端就會輸出低電平。如下圖所示。</p><p>  單紅外探頭黑線識別電路及LM324電壓比較電路</p><p>  用了LM324內(nèi)部的3個(gè)單獨(dú)的運(yùn)算放大器外接一個(gè)可調(diào)電阻來輸入基準(zhǔn)電壓?;鶞?zhǔn)電壓輸入在反相輸入端上,黑先識別電路反饋過來的電壓從電壓比較器的同相端輸入。當(dāng)T

72、CRT5000反饋的電壓比基準(zhǔn)電壓高時(shí),比較器輸出高電平。當(dāng)TCRT5000反饋的電壓比基準(zhǔn)電壓低時(shí),比較器輸出低電平。這樣就可以使紅外探頭把地面反射光線的程度變成了可以被單片機(jī)識別的開關(guān)量。由于考慮到地面粗超程度不同,我們通過可調(diào)電位器去調(diào)節(jié)基準(zhǔn)電壓,經(jīng)過實(shí)際測量后確定基準(zhǔn)電壓的值。</p><p><b>  直流電機(jī)驅(qū)動電路</b></p><p>  電機(jī)驅(qū)動

73、一般都是采用H橋式驅(qū)動電路,L298N內(nèi)部就集成了H橋式驅(qū)動電路,從而可以采用L298N電路來直接驅(qū)動電機(jī)。通過STC89C52給予L298N電路PWM信號來控制直接小車的速度、起停。為了設(shè)計(jì)上的方便我采用了市面上已有的L298N電機(jī)驅(qū)動模塊,其不僅便宜而且穩(wěn)定性高。其原理圖如下圖所示。</p><p>  L298N模塊電路圖</p><p><b>  程序設(shè)計(jì)</b&

74、gt;</p><p>  本程序設(shè)計(jì)采用了模塊化程序編程思路。許多程序太長或太復(fù)雜,很難寫在單一單元中。如果把代碼分為較小的功能單元,將大大簡化編程過程。模塊化程序一般比單塊程序容易編寫、調(diào)試和修改。模塊化編程方法類似于包含大量電路的硬件設(shè)計(jì)。器件或程序在邏輯上被分為多個(gè)“黑箱子”,這些黑箱子都有指定的輸入和輸出。只要把各個(gè)單元之間的接口定義好,各個(gè)單元的詳細(xì)設(shè)計(jì)就可以獨(dú)立進(jìn)行了。</p><

75、;p>  模塊化編程的優(yōu)點(diǎn)如下:</p><p>  有效率的程序開發(fā):使用模塊化方法可以更快地開發(fā)程序,因?yàn)檩^小的子程序比大程序更容易理解、設(shè)計(jì)和測試。定義好模塊的輸入和輸出之后,程序員可以給模塊提供需要的輸入,通過檢測輸出來判斷模塊的正確性。然后由連接器把分立的模塊連接、定位,生成一個(gè)單一的絕對地址的可執(zhí)行的程序模塊。最后,測試整個(gè)模塊。</p><p>  子程序可以重用:為一

76、個(gè)程序編寫的代碼經(jīng)??梢杂糜谄渌某绦?。在模塊化編程中,可以把這些部分保存起來,以備將來使用。因?yàn)榇a可以被重定位,所以保存的模塊可以連接到滿足其輸入和輸出要求的任意程序中。而在單塊程序編程中,這樣的部分深埋在整個(gè)程序中,不易被其它的程序使用。</p><p>  便于調(diào)試和修改:模塊化程序一般比單塊程序易于調(diào)試。因?yàn)榫亩x了程序的模塊接口,很容易把問題定位到特定的模塊。一旦找到了有問題的模塊,更正問題就相當(dāng)容

77、易了。模塊化編程可以簡化程序修改的工作。我們可以很有信心地把新的或調(diào)試過的模塊連接到一個(gè)已有的程序,而不用更改程序的其余部分。</p><p><b>  程序總體框架</b></p><p>  程序總體流程圖如下圖所示。</p><p><b>  程序總體流程圖</b></p><p>  程

78、序讀取循跡模塊的信息后確定的小車位置狀態(tài)與對應(yīng)輸出的驅(qū)動指令對應(yīng)關(guān)系如圖16,其中黑色代表探頭檢測到黑色軌跡。</p><p>  循跡模塊的狀態(tài)與小車位置的對應(yīng)關(guān)系</p><p><b>  主程序模塊</b></p><p>  主程序模塊要實(shí)現(xiàn)的功能主要是先對單片機(jī)進(jìn)行初始化,然后再進(jìn)入循跡模塊的循跡程序。</p><

79、;p>  源文件(mian.c):</p><p>  #include<reg52.h></p><p>  #include<absacc.h></p><p>  #include"dianji.h"</p><p>  #include"xunji.h"</p

80、><p>  #include"dingshiqi.h"</p><p>  void main()</p><p><b>  {</b></p><p><b>  EA = 1;</b></p><p>  DingShiQi_QiDong(1);<

81、;/p><p>  DianJi_QiDong();</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  XunJi(); //進(jìn)入循跡模塊的循跡程序</p><p><b>  }</b>

82、</p><p><b>  }</b></p><p><b>  循跡程序模塊</b></p><p>  循跡程序模塊的功能為:讀取黑線檢測電路的狀態(tài),然后進(jìn)行判斷小車位置,進(jìn)而進(jìn)入電機(jī)驅(qū)動模塊中前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)程序</p><p>  頭文件(xunji.h):</p><

83、;p>  #ifndef __XUNJI_H__</p><p>  #define __XUNJI_H__</p><p>  extern void XunJi();</p><p><b>  #endif</b></p><p>  源文件(xunji.c):</p><p>  #

84、include <reg52.h></p><p>  #include <absacc.h></p><p>  #include "xunji.h"</p><p>  #include "dianji.h"</p><p>  sbit Zuo= P1^0;</p&g

85、t;<p>  sbit Zhong = P1^1;</p><p>  sbit You = P1^2;</p><p>  void XunJi() //循跡程序</p><p><b>  {</b></p><p>  P1 = 0x00;</p><p>  if(Zhon

86、g == 1) //中探頭檢測到黑線</p><p>  XiangQian(); //小車前進(jìn)函數(shù)</p><p><b>  else</b></p><p><b>  {</b></p><p>  if((Zuo == 1)&&(You == 0)) //左探頭

87、檢測到黑線,右探頭沒有檢測到黑線</p><p>  XiangZuo(); //小車左轉(zhuǎn)函數(shù)</p><p>  if((Zuo == 0)&&(You == 1)) //左探頭檢測到黑線,右探頭沒有檢測到黑線</p><p>  XiangYou(); //小車右轉(zhuǎn)函數(shù)</p><p>  if(((Zuo =

88、= 1)&&(You == 1))||((Zuo == 0)&&((You == 0)))) //其他情況</p><p>  TingZhi(); //小車停止函數(shù)</p><p><b>  }</b></p><p><b>  }</b></p><p&

89、gt;<b>  電機(jī)程序模塊</b></p><p>  電機(jī)驅(qū)動程序模塊實(shí)現(xiàn)的主要功能為:提供了小車前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)函數(shù),將對電機(jī)的控制抽象為小車位置的改變。</p><p>  頭文件(dianji.h):</p><p>  #ifndef __DIANJI_H__</p><p>  #define __DIA

90、NJI_H__</p><p>  extern unsigned int ZhanKongBi_Zuo;</p><p>  extern unsigned int ZhanKongBi_You;</p><p>  sbit ENA = P0^4;</p><p>  sbit ENB = P0^5;</p><p&g

91、t;  extern void DianJi_QiDong();</p><p>  extern void XiangZuo();</p><p>  extern void XiangYou();</p><p>  extern void XiangQian();</p><p>  extern void TingZhi();<

92、/p><p><b>  #endif</b></p><p>  源文件(dianji.h):</p><p>  #include<reg52.h></p><p>  #include<absacc.h></p><p>  #include"dianji.h&

93、quot;</p><p>  #define Da 90</p><p>  #define Xiao 10</p><p>  #define Zhong 50</p><p>  unsigned ZhanKongBi_Zuo;</p><p>  unsigned ZhanKongBi_You;</p&g

94、t;<p>  sbit IN1 = P0^0;</p><p>  sbit IN2 = P0^1;</p><p>  sbit IN3 = P0^2;</p><p>  sbit IN4 = P0^3;</p><p>  void DianJi_QiDong() //啟動定時(shí)器函數(shù)</p><p

95、><b>  {</b></p><p><b>  IN1 = 1;</b></p><p><b>  IN2 = 0;</b></p><p><b>  IN3 = 1;</b></p><p><b>  IN4 = 0;<

96、/b></p><p><b>  }</b></p><p>  void XiangZuo() //小車左轉(zhuǎn)函數(shù)</p><p><b>  {</b></p><p>  ZhanKongBi_Zuo = Xiao;</p><p>  ZhanKongBi

97、_You = Da; </p><p><b>  }</b></p><p>  void XiangYou() //小車右轉(zhuǎn)函數(shù)</p><p><b>  {</b></p><p>  ZhanKongBi_Zuo = Da;</p><p>  ZhanKo

98、ngBi_You = Xiao;</p><p><b>  }</b></p><p>  void XiangQian() //小車前進(jìn)函數(shù)</p><p><b>  {</b></p><p>  ZhanKongBi_Zuo = Zhong;</p><p>

99、  ZhanKongBi_You = Zhong;</p><p><b>  }</b></p><p>  void TingZhi() //小車停止函數(shù)</p><p><b>  {</b></p><p>  ZhanKongBi_Zuo = 0;</p><p

100、>  ZhanKongBi_You = 0;</p><p><b>  }</b></p><p><b>  定時(shí)器程序模塊</b></p><p>  定時(shí)器模塊實(shí)現(xiàn)的功能為:設(shè)置單片機(jī)的定時(shí)器,對單片機(jī)出的PWM進(jìn)行控制,從而控制小車的速度。</p><p>  頭文件(dingshi

101、qi.h):</p><p>  #ifndef __DINGSHIQI_H__</p><p>  #define __DINGSHIQI_H__</p><p>  extern void DingShiQi_QiDong(int);</p><p><b>  #endif</b></p><p

102、>  源文件(dingshiqi.c):</p><p>  #include<reg52.h></p><p>  #include<absacc.h></p><p>  #include "dingshiqi.h"</p><p>  #include "dianji.h&qu

103、ot;</p><p>  #include "xunji.h"</p><p>  unsigned char ShiJian;</p><p>  unsigned char ShiJianShu = 0;</p><p>  void DingShiQi_QiDong(int ShiJian) // 設(shè)置time毫秒

104、定時(shí)中斷,并啟動定時(shí)器。</p><p><b>  {</b></p><p>  if(ShiJian > 60)</p><p>  ShiJian = 60;</p><p>  ShiJianShu = ShiJian;</p><p>  TMOD = 0x01;</p&g

105、t;<p>  TH0 = (65536-ShiJianShu*1000)/256;</p><p>  TL0 = (65536 - ShiJianShu*1000)%256;</p><p><b>  ET0 = 1;</b></p><p>  TR0 = 1; </p><p><b>

106、;  }</b></p><p>  void DingShiQI() interrupt 1</p><p><b>  {</b></p><p>  TH0 = (65536-ShiJianShu*1000)/256;</p><p>  TL0 = (65536 - ShiJianShu*1000)%

107、256;</p><p>  if(ShiJian < ZhanKongBi_Zuo)</p><p><b>  ENA = 1;</b></p><p><b>  else</b></p><p><b>  ENA = 0;</b></p><

108、p>  if(ShiJian < ZhanKongBi_You)</p><p><b>  ENB = 1;</b></p><p><b>  else</b></p><p><b>  ENB = 0;</b></p><p>  ShiJian ++;&l

109、t;/p><p>  if(ShiJian >= 100)</p><p><b>  {</b></p><p>  ShiJian = 0;</p><p><b>  }</b></p><p><b>  結(jié)論</b></p>

110、<p>  整個(gè)軟硬件系統(tǒng)的設(shè)計(jì)是以51單片機(jī)為核心,利用了傳感器,綜合了軟件和硬件。本系統(tǒng)能完美實(shí)現(xiàn)如下功能:</p><p>  小車能夠自動沿著預(yù)設(shè)軌道行進(jìn),在行進(jìn)過程中,能夠自動通過傳感器檢測預(yù)先設(shè)好的黑色軌跡,實(shí)現(xiàn)在直線和弧形軌跡上行進(jìn)。如有偏離,小車能自動糾正位置,返回到預(yù)設(shè)軌道上來。</p><p>  從運(yùn)行的情況來看小車的循跡效果比較好,由于沒有對電源進(jìn)行很好的

111、設(shè)計(jì),使得電源不夠穩(wěn)定,以至于小車的速度不好控制,這也是我這次設(shè)計(jì)最大的誤區(qū),沒有選取穩(wěn)定的電源設(shè)計(jì)方案。但是我相信如果在時(shí)間的允許下我肯定能解決這一問題。</p><p>  通過本次設(shè)計(jì)我學(xué)會了很多以前不知道的知識,加深了對很多以前不熟悉得東西的認(rèn)識,這使我在個(gè)人認(rèn)知上又進(jìn)了一步,也認(rèn)識到自己的很多不足。</p><p><b>  參考文獻(xiàn)</b></p&

112、gt;<p>  [1]郭惠,吳迅.單片機(jī)C語言程序設(shè)計(jì)完全自學(xué)手冊[M].電子工業(yè)出版社,2008.10:1-200.</p><p>  [2]王東鋒,王會良,董冠強(qiáng). 單片機(jī)C語言應(yīng)用100例[M]. 電子工業(yè)出版社,2009.3:145-300.</p><p>  [3]韓毅,楊天. 基于HCS12單片機(jī)的智能尋跡模型車的設(shè)計(jì)與實(shí)現(xiàn)[J].學(xué)術(shù)期刊,2008,29(

113、18):1535-1955.</p><p>  [4] 王曉明. 電動機(jī)的單片機(jī)控制[J]. 學(xué)術(shù)期刊,2002,13(15):1322-1755.</p><p>  [5]Yamato I , et al 1 New conversion system for UPS using high fre2 quency link[J]1 EEE PESC ,1988 :210-320.&l

114、t;/p><p>  [6]Yamato I , et al 1 High frequency link DC/ AC converter for UPS with a new voltage clamper[J]1IEEE PESC ,1990 :52-105.</p><p><b>  附 錄</b></p><p>  附圖1 循跡小車仿

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論