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

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)論文</b></p><p>  題 目 基于單片機(jī)的智能小車的設(shè)計(jì)</p><p>  學(xué) 生 ***</p><p>  指導(dǎo)教師 ***副教授 </p><p>  年 級(jí) </p><p>  專 業(yè) 電子信

2、息科學(xué)與技術(shù)</p><p>  系 別 </p><p><b>  2012年5月</b></p><p><b>  目錄</b></p><p><b>  摘要3</b></p><p><b>  第一章 引言3&l

3、t;/b></p><p>  第二章 方案說明3</p><p>  2.1、方案論證3</p><p>  2.2、總體設(shè)計(jì)方案概述4</p><p>  第三章 硬件電路設(shè)計(jì)5</p><p>  3.1、主控電路5</p><p>  3.1.1、L7805穩(wěn)壓器5&l

4、t;/p><p>  3.1.2、MAX232芯片簡介6</p><p>  3.2、八路紅外傳感器模塊6</p><p>  3.2.1、LM324簡介6</p><p>  3.2.2、74HC14D簡介6</p><p>  3.3、L298N電機(jī)驅(qū)動(dòng)模塊7</p><p>  3.

5、3.1、L298N簡介8</p><p>  3.4、機(jī)械部分9</p><p>  第四章 軟件系統(tǒng)設(shè)計(jì)9</p><p>  4.1、程序流程圖9</p><p>  4.2、程序設(shè)計(jì)方案9</p><p><b>  參考文獻(xiàn)12</b></p><p>

6、  第五章 結(jié)束語12</p><p><b>  致謝12</b></p><p><b>  附錄113</b></p><p><b>  附錄213</b></p><p><b>  外文頁20</b></p><p

7、>  基于單片機(jī)的智能小車的設(shè)計(jì)</p><p>  摘要 本文介紹了基于STC89C52單片機(jī)的智能小車的設(shè)計(jì)與實(shí)現(xiàn)。小車主要能夠識(shí)別黑線并檢測(cè)障礙物從而實(shí)現(xiàn)在固定跑道內(nèi)行駛并且可自動(dòng)避障。小車以STC89C52單片機(jī)控制器;采用八路紅外傳感器及其處理模塊實(shí)現(xiàn)對(duì)黑線及障礙物的檢測(cè);通過單片機(jī)產(chǎn)生PWM波并通過L298N來對(duì)小車的方向和速度進(jìn)行控制。</p><p>  關(guān)鍵字

8、STC89C52 單片機(jī) 紅外傳感器 PWM L298N</p><p><b>  第一章 引言</b></p><p>  社會(huì)的發(fā)展,科技的進(jìn)步,使得人們對(duì)生活中的很多事物都提出了更高的要求,就像人們自己走累了便想到了坐車,所以馬車出現(xiàn)了;而馬車已經(jīng)滿足不了人們對(duì)速度的追求的時(shí)候,便又發(fā)明了汽車,所以科技創(chuàng)新是基于人們的需要而出現(xiàn)的;那么到了現(xiàn)在這個(gè)普通

9、汽車已經(jīng)很普遍的掌控在人們手中的時(shí)候,一個(gè)新的概念便被提了出來,它就是智能車。</p><p>  其實(shí),智能車研究最早都是在一些科技發(fā)達(dá)的國家進(jìn)行的,所以比較早接觸智能車領(lǐng)域的一些國家已經(jīng)對(duì)智能車輛進(jìn)入了深入、系統(tǒng)、大規(guī)模的研究階段[1]。</p><p>  我國智能車的研究起步較晚,所以很多還集中在某個(gè)單項(xiàng)技術(shù)的研究上,不過對(duì)于智能車技術(shù)的探索卻如雨后春筍;各種智能車大賽層出不窮,各

10、高校及研究機(jī)構(gòu)也紛紛加入智能車的研究行列[2]。本設(shè)計(jì)就是根據(jù)前人在智能小車的設(shè)計(jì)的基礎(chǔ)上對(duì)其進(jìn)行的又一次全新的探索。</p><p>  本車的設(shè)計(jì)充分考慮了成本與性能綜合,它以STC89C52單片機(jī)為核心,采用了大扭力的四驅(qū)小車底盤,使小車具有充足的動(dòng)力;除此外小車安裝了八路紅外傳感器用來檢測(cè)黑線和障礙物,所以小車具有較好的反應(yīng)速度與檢測(cè)精度。</p><p><b>  第

11、二章 方案說明</b></p><p><b>  2.1、方案論證</b></p><p><b>  (1)控制系統(tǒng)</b></p><p>  方案一:采用MC9S12DG128單片機(jī),該單片機(jī)以運(yùn)算速度很快的CPU12內(nèi)核為核心的單片機(jī),經(jīng)過鎖相環(huán)后,時(shí)鐘頻率可達(dá)到40MHz,內(nèi)部Flash高至128K

12、B,擁有2組各8路10位A/D、16路I/O口,有功能強(qiáng)大的8位PWM輸出共8路,以及8路16位增強(qiáng)型定時(shí)器(ECT),相比STC89C52單片機(jī)它編程更加簡單,反應(yīng)速度快;但是成本較高且短時(shí)間內(nèi)不易掌握。</p><p>  方案二:采用STC89C52單片機(jī),該單片機(jī)是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flas

13、h,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口 [3] 。其完全可以滿足本設(shè)計(jì)對(duì)小車功能的要求,并且價(jià)格便宜;所以本設(shè)計(jì)最終選用STC89C52單片機(jī)作為其控制芯片。</p><

14、p> ?。?)避障與尋線傳感器</p><p>  方案一:采用US-100超聲波測(cè)距模塊,該模塊可實(shí)現(xiàn)2cm~4.5m的非接觸測(cè)距功能,擁有2.4~5.5V的寬電壓輸入范圍,靜態(tài)工作電流2mA,自帶溫度傳感器對(duì)測(cè)距結(jié)果進(jìn)行校正,同時(shí)具有GPIO,串口等多種通信方式,內(nèi)帶看門狗,工作穩(wěn)定可靠且方向性好但其近距離反射時(shí)干擾較大。</p><p>  方案二:采用八路紅外對(duì)管及處理模塊,

15、該模塊可工作在3.3到5V電壓下檢測(cè)距離在1-6厘米,采用多圈式電阻調(diào)節(jié)檢測(cè)距離,且尺寸較小可方便的搭載在小車上,同時(shí)其平均價(jià)格要比US-100要低;其八路的傳感器可分別用作測(cè)距與檢測(cè)黑線;綜合上述考慮,本設(shè)計(jì)采用八路紅外對(duì)管作為其避障與尋線傳感器。 </p><p>  2.2、總體設(shè)計(jì)方案概述</p><p>  本設(shè)計(jì)以STC89C52單片機(jī)系統(tǒng)為控制中心,通過八路紅外傳感器模塊中的

16、兩路傳感器檢測(cè)障礙物,四路傳感器檢測(cè)黑線,檢測(cè)障礙物的兩路傳感器分別分布在車頭的兩端,使其能夠檢測(cè)車前較大范圍內(nèi)的障礙物,盡量減小檢測(cè)盲區(qū);檢測(cè)黑線的四路傳感器分別分布在小車的四角,從而能夠保證小車在跑道內(nèi)行駛。傳感器在接通電源后會(huì)不斷的發(fā)送和接收紅外線,接收到的信號(hào)經(jīng)過LM324進(jìn)行放大然后由74HC14D施密特觸發(fā)器轉(zhuǎn)換成數(shù)字信號(hào)輸出,而當(dāng)單片機(jī)檢測(cè)到需要轉(zhuǎn)向的傳感器信號(hào)時(shí),單片機(jī)通過改變PWM波的占空比來調(diào)整小車兩側(cè)的電機(jī)轉(zhuǎn)速,從

17、而使其兩側(cè)輪產(chǎn)生速度差,以實(shí)現(xiàn)小車的轉(zhuǎn)向。</p><p>  避障:在小車行駛過程中,若左側(cè)傳感器檢測(cè)到障礙物而右側(cè)傳感器未檢測(cè)到,則小車首先后退之后向右轉(zhuǎn);同理,若右側(cè)檢測(cè)到而左側(cè)未檢測(cè)到,小車先后退之后左轉(zhuǎn);如果左右均檢測(cè)到默認(rèn)小車先后退之后右轉(zhuǎn)。</p><p>  檢測(cè)黑線:安裝在小車四角的紅外傳感器負(fù)責(zé)檢測(cè)黑線,由于小車是向前行駛所以最先駛出黑線的應(yīng)該是小車的前端,當(dāng)左前端傳感

18、器檢測(cè)到黑線時(shí),向單片機(jī)發(fā)送信號(hào),小車右轉(zhuǎn);當(dāng)右前端傳感器檢測(cè)到黑線時(shí),小車左轉(zhuǎn);當(dāng)左后端檢測(cè)到黑線而左前端未檢測(cè)到時(shí)小車先右轉(zhuǎn)再左轉(zhuǎn),當(dāng)右后端檢測(cè)到黑線而左前端未檢測(cè)到時(shí)先左轉(zhuǎn)后右轉(zhuǎn),當(dāng)前端兩傳感器同時(shí)檢測(cè)到黑線時(shí)小車先后退之后左轉(zhuǎn)。控制邏輯見 表1</p><p><b>  表 1</b></p><p>  PWM:脈沖寬度調(diào)制(PWM),簡稱脈寬調(diào)制,是利用

19、微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),此處我們主要通過單片機(jī)輸出PWM波同時(shí)通過調(diào)節(jié)其占空比來實(shí)現(xiàn)對(duì)小車的控制。</p><p>  第三章 硬件電路設(shè)計(jì)</p><p><b>  3.1、主控電路</b></p><p>  本模塊主要是采集信號(hào)并進(jìn)行分析,同時(shí)輸出PWM波控制電機(jī)速度,從而控制小車前進(jìn)轉(zhuǎn)彎等動(dòng)作。其中

20、,此處采用STC89C52單片機(jī)作為主控芯片,由9—12V直流電通過78M05穩(wěn)壓芯片后進(jìn)行供電;單片機(jī)讀寫口連接了MAX232芯片,并焊接了串口接口,使其能夠直接使用USB轉(zhuǎn)串口線下載程序;除此之外,單片機(jī)引腳全部通過排針引出,使得此電路連接其他模塊更加方便。復(fù)位及時(shí)鐘電路分別見圖2和圖3,單片機(jī)引腳電路見附錄1 </p><p>  3.1.1、L7805穩(wěn)壓器</p><p>  L

21、7805是我們最常用到的穩(wěn)壓芯片,本設(shè)計(jì)中采用7節(jié)5號(hào)干電池進(jìn)行供電,電容C2、C3對(duì)輸入到L7805前的直流電進(jìn)行濾波,之后輸入到L7805,經(jīng)其穩(wěn)壓后輸出5V直流電,給單片機(jī)供電。如圖4</p><p>  3.1.2、MAX232芯片簡介</p><p>  MAX232芯片是美信(MAXIM)公司專門為RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電;TTL/CM

22、OS數(shù)據(jù)從T1IN、T2IN輸入,轉(zhuǎn)換成RS-232數(shù)據(jù)后從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸入到單片機(jī)的RXD、TXD口;此處MAX232主要在下載程序時(shí)對(duì)由串口發(fā)出來的信號(hào)進(jìn)行轉(zhuǎn)換。其電路如圖5</p><p>  3.2、八路紅外傳感器模塊</p><p>  紅外線在不

23、同顏色的物體表面具有不同的反射性質(zhì),所以我們可以利用紅外對(duì)管對(duì)黑線及障礙物進(jìn)行檢測(cè);此模塊擁有兩個(gè)LM324放大器和兩個(gè)74HC14D,當(dāng)紅外線在不同顏色物體上的反射光被接收管接收到時(shí)會(huì)產(chǎn)生不同幅度的電壓,經(jīng)由模塊的LM324芯片進(jìn)行信號(hào)放大,之后輸入到74HC14D進(jìn)行高低電平的轉(zhuǎn)換。小車在行駛過程中紅外管不斷地向外發(fā)射紅外線,當(dāng)紅外光遇到白色地面時(shí)發(fā)生漫發(fā)射,反射光被接收管接收,模塊輸出低電平;如果遇到黑線則紅外線被吸收,接收管接收

24、不到信號(hào),此時(shí)模塊輸出高電平;單片機(jī)通過程序控制不斷檢測(cè)模塊輸出引腳的高低電平從而實(shí)現(xiàn)信號(hào)的檢測(cè)。小車的避障原理與此類似,當(dāng)紅外管不斷發(fā)出紅外線,而在距小車前方6cm無障礙物時(shí),紅外線不發(fā)生反射,此時(shí)接收管接收不到反射光,模塊輸出低電平;當(dāng)小車前方6cm內(nèi)有障礙物時(shí),紅外管發(fā)出的紅外線將會(huì)被反射回來,接收管接受到反射光,模塊輸出高電平。</p><p>  3.2.1、LM324簡介</p><

25、;p>  LM324內(nèi)部包括有兩個(gè)獨(dú)立的、高增益、內(nèi)部頻率補(bǔ)償?shù)倪\(yùn)算放大器,適合于電源電壓范圍很寬的單電源使用, 也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關(guān)。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運(yùn)算放大器的場(chǎng)合。</p><p>  3.2.2、74HC14D簡介</p><p>  74HC14D是6路施密特觸發(fā)器件,內(nèi)含6

26、個(gè)獨(dú)立的出發(fā)倒相器,在正邏輯中它們執(zhí)行波形整形和倒相功能;它也是5V電源供電且不需要外圍元件。</p><p>  3.3、L298N電機(jī)驅(qū)動(dòng)模塊</p><p>  該模塊采用了L298N雙H橋直流電機(jī)驅(qū)動(dòng)芯片,驅(qū)動(dòng)電機(jī)部分VIN采用+9V直流電源供電,同時(shí)模塊上安裝了L78M05穩(wěn)壓器對(duì)vin的輸入進(jìn)行穩(wěn)壓,邏輯部分VCC采用+5V供電,小車運(yùn)行時(shí)通過單片機(jī)向該模塊1、2、3、4腳輸入

27、控制信息來控制小車電機(jī)的轉(zhuǎn)速。其電路如圖6 、7、8 </p><p>  3.3.1 、L298N簡介</p><p>  L298N內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路??梢苑奖愕尿?qū)動(dòng)兩個(gè)直流電機(jī),或一個(gè)兩相步進(jìn)電機(jī)。輸出電壓最高可達(dá)50V,可以直接通過電源來調(diào)節(jié)輸出電壓;用單片機(jī)的IO口提供信號(hào);而且電路簡單,使用比較方便。L298N可接受標(biāo)準(zhǔn)TTL邏輯電平信號(hào)VSS,VSS可接

28、4.5~7 V電壓。4腳VS接電源電壓,VS電壓范圍VIH為+2.5~46 V。輸出電流可達(dá)2 A,可驅(qū)動(dòng)電感性負(fù)載。1腳和15腳下管的發(fā)射極分別單獨(dú)引出以便接入電流采樣電阻,形成電流傳感信號(hào)。L298可驅(qū)動(dòng)2個(gè)電動(dòng)機(jī),OUT1,OUT2和OUT3,OUT4之間可分別接電動(dòng)機(jī)??刂七壿嬕姳?[8]</p><p><b>  3.4、機(jī)械部分</b></p><p>

29、  小車采用了四個(gè)直流電機(jī)為其提供動(dòng)力,這使其具有較大動(dòng)力,可以在較大的坡道上行駛;同時(shí),小車的四輪底盤設(shè)計(jì),使得小車的直線行駛性能較強(qiáng),不會(huì)出現(xiàn)方向跑偏的現(xiàn)象,同時(shí)轉(zhuǎn)向時(shí)的方向感較好;小車的電路部分均用銅柱及螺絲固定在底盤上,使其具有很好的穩(wěn)定性;除此之外,在接線方面,各模塊之間均采用杜邦線進(jìn)行連接,主控板上焊接了單片機(jī)插座,這些為小車提供了充足的再開發(fā)空間。</p><p>  第四章 軟件系統(tǒng)設(shè)計(jì)</

30、p><p>  4.1、程序流程圖如圖9</p><p>  4.2、程序設(shè)計(jì)方案</p><p>  本系統(tǒng)編程部分采用C語言編寫完成,應(yīng)用模塊化的設(shè)計(jì)方法,各子程序做為實(shí)現(xiàn)各部分功能和過程,通過主程序不斷對(duì)子程序的調(diào)用完成PWM脈寬控制、延時(shí)以及電機(jī)轉(zhuǎn)動(dòng)方向控制等部分的設(shè)計(jì)。</p><p>  單片機(jī)資源分配如下表3:</p>

31、<p><b>  表3</b></p><p> ?、貾WM脈寬控制:本設(shè)計(jì)中采用定時(shí)器0產(chǎn)生定時(shí)中斷來控制P1.0與P1.1的輸出從而生成PWM波。中斷程序如下:</p><p>  void time0(void)interrupt 1</p><p><b>  {</b></p><

32、;p><b>  i++;</b></p><p><b>  j++;</b></p><p>  if(i<=pro_right) {en1=1;} </p><p>  else en1=0;</p><p>  if(i==40) {en1=~en1;i=0;}</p>

33、;<p>  if(j<=pro_left) {en2=1;}</p><p>  else en2=0;</p><p>  if(j==40) {en2=~en2;j=0;}</p><p>  TH0=(65536-100)/256;</p><p>  TL0=(65536-100)%256;</p>

34、<p><b>  }</b></p><p> ?、谧笥肄D(zhuǎn)向子程序:通過改變左右PWM波的占空比,來實(shí)現(xiàn)電機(jī)的速度控制;當(dāng)小車需要左轉(zhuǎn)彎時(shí),將控制左側(cè)電機(jī)的PWM波占空比設(shè)置為0,右側(cè)設(shè)置為20;當(dāng)小車需要右轉(zhuǎn)時(shí)則相反。</p><p><b>  左轉(zhuǎn)彎子程序:</b></p><p>  void tur

35、n_left(){</p><p>  pro_right=0;</p><p>  pro_left=20;</p><p><b>  left1=1;</b></p><p><b>  left2=0;</b></p><p><b>  right1=1;

36、</b></p><p>  right2=0; </p><p><b>  }</b></p><p><b>  右轉(zhuǎn)彎子程序:</b></p><p>  void turn_right()</p><p><b>  {</b>&l

37、t;/p><p>  pro_right=40;</p><p>  pro_left=0;</p><p><b>  left1=1;</b></p><p><b>  left2=0;</b></p><p><b>  right1=1;</b>&

38、lt;/p><p><b>  right2=0;</b></p><p><b>  }</b></p><p> ?、坌≤囋谟龅秸系K物時(shí)將首先運(yùn)行后退程序,之后轉(zhuǎn)向;后退子程序是通過改變電機(jī)正反轉(zhuǎn)控制位而實(shí)現(xiàn)的。程序如下:</p><p>  void turn_back()</p>

39、<p><b>  {</b></p><p><b>  left1=0;</b></p><p><b>  left2=1;</b></p><p><b>  right1=0;</b></p><p>  right2=1; </

40、p><p>  pro_right=20;</p><p>  pro_left=20;</p><p><b>  }</b></p><p><b>  第五章 結(jié)束語</b></p><p>  本系統(tǒng)采用MSC-51系列單片機(jī)STC89C52、L298N電機(jī)控制芯片和紅外

41、傳感器來設(shè)計(jì)智能小車,實(shí)現(xiàn)了小車的自動(dòng)避障與檢測(cè)黑線。系統(tǒng)不足之處為避障的檢測(cè)距離較短。這是由于所選紅外傳感器的檢測(cè)距離所限,若要進(jìn)行提高需更換檢測(cè)距離更遠(yuǎn)的傳感器即可;除此之外,可見光對(duì)于本系統(tǒng)也有影響,不過一般影響不大,但是若要精確的采集數(shù)據(jù),可以利用濾波器將紅外光之外的其他頻率的光線濾除。</p><p><b>  參考文獻(xiàn):</b></p><p>  [1

42、] 徐友春,王榮本,世界智能車輛近況綜述, 汽車工程[J], Vol.23, No.5, 2001.10</p><p>  [2] 國防科大研制出第四代無人駕駛汽車,計(jì)算機(jī)自動(dòng)測(cè)量與控制[J]第8卷,p22 </p><p>  [3] 郭天祥.新概念51單片機(jī)C語言教程——入門、提高、開發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社,2009</p><p>  [

43、4] 蔡美琴 MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用[M].北京:高等教育出版社,2002</p><p>  [5] 馮建華,趙亮 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與產(chǎn)品開發(fā)[M].北京:人民郵電出版社 2004</p><p>  [6] 胡漢才,單片機(jī)原理及接口技術(shù)[M].北京:清華大學(xué)出版社,1996</p><p>  [7] 童詩白,華成,模擬電子技術(shù)基礎(chǔ)(第四版)[M]

44、.高等教育出版社,2006.5</p><p>  [8] 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第五版)[M].北京:高等教育出版社,2005</p><p>  [9] http://ishare.iask.sina.com.cn/f/15395661.html?from=like</p><p><b>  致 謝</b></p>&l

45、t;p>  歷時(shí)三個(gè)月的畢業(yè)設(shè)計(jì)已經(jīng)告一段落。經(jīng)過自己不斷的搜索努力以及老師的耐心指導(dǎo)和熱情幫助,本設(shè)計(jì)已經(jīng)基本完成。在這個(gè)過程中老師以及曾做過此類設(shè)計(jì)的同學(xué)給予了我很大的幫助,給我提供了大量的硬件和軟件資料,也給我的設(shè)計(jì)提出了寶貴的意見和建議。在此,對(duì)大家表示衷心的感謝!</p><p>  這次設(shè)計(jì)不僅是對(duì)我們大學(xué)四年專業(yè)知識(shí)的一次集中地檢驗(yàn),同時(shí)也為我們提供了一個(gè)進(jìn)入職場(chǎng)前的實(shí)戰(zhàn)機(jī)會(huì);通過這次在老師指

46、導(dǎo)下做設(shè)計(jì)的機(jī)會(huì),我對(duì)于技術(shù)實(shí)踐方面有了更深刻的認(rèn)識(shí),也進(jìn)一步夯實(shí)了所學(xué)的專業(yè)知識(shí)。雖然在設(shè)計(jì)中對(duì)于知識(shí)的運(yùn)用和銜接還不夠熟練。但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力、不斷完善。這三個(gè)月的設(shè)計(jì)是對(duì)過去所學(xué)知識(shí)的系統(tǒng)提高和擴(kuò)充的過程,為今后的發(fā)展打下了良好的基礎(chǔ)。</p><p>  由于自身水平有限,設(shè)計(jì)中一定存在很多不足之處,敬請(qǐng)各位老師批評(píng)指正。</p><p>  最后,再次向給予我指

47、導(dǎo)和幫助的老師和各位同學(xué)表示最誠摯的謝意!</p><p><b>  附錄1:</b></p><p><b>  附錄2:</b></p><p>  #include<reg51.h></p><p>  #define uchar unsigned char</p>

48、<p>  #define uint unsigned int</p><p>  uchar pro_left=35,pro_right=35,i,j; //左右占空比標(biāo)志 </p><p>  sbit left1=P2^1;</p><p>  sbit left2=P2^0;</p><p>  sbit right1=P

49、2^3;</p><p>  sbit right2=P2^2;</p><p>  sbit pleft=P2^7;</p><p>  sbit pright=P2^6; </p><p>  sbit en1=P1^0; </p><p>  sbit en2=P1^1;</p>&

50、lt;p>  //循跡口 三個(gè)紅外傳感器</p><p>  sbit left_red=P1^2; //白線位置</p><p>  sbit right_red=P1^4; //白線位置</p><p>  void delay(uint z)</p><p><b>  {</b></p>&l

51、t;p><b>  uchar i;</b></p><p>  while(z--)</p><p>  {for(i=0;i<121;i++);}</p><p><b>  }</b></p><p>  void init()</p><p><b&

52、gt;  {</b></p><p>  left_red=0; //白線位置</p><p>  right_red=0;</p><p>  TMOD=0X01;</p><p>  TH0=(65536-100)/256;</p><p>  TL0=(65536-100)%256;</p>

53、;<p><b>  EA=1;</b></p><p><b>  ET0=1;</b></p><p><b>  TR0=1;</b></p><p><b>  en1=1;</b></p><p><b>  en2=1;

54、</b></p><p><b>  }</b></p><p>  void time0(void)interrupt 1</p><p><b>  {</b></p><p><b>  i++;</b></p><p><b&g

55、t;  j++;</b></p><p>  if(i<=pro_right) {en1=1;} </p><p>  else en1=0;</p><p>  if(i==40) {en1=~en1;i=0;}</p><p>  if(j<=pro_left) {en2=1;}</p><p&

56、gt;  else en2=0;</p><p>  if(j==40) {en2=~en2;j=0;}</p><p>  TH0=(65536-100)/256;</p><p>  TL0=(65536-100)%256;</p><p><b>  }</b></p><p>  void

57、 straight() //走直線函數(shù)</p><p><b>  {</b></p><p>  pro_right=20;</p><p>  pro_left=20;</p><p><b>  left1=1;</b></p><p><b>  left2

58、=0;</b></p><p><b>  right1=1;</b></p><p><b>  right2=0;</b></p><p><b>  }</b></p><p>  void turn_left() //左轉(zhuǎn)彎函數(shù)</p><

59、;p><b>  {</b></p><p>  pro_right=0;</p><p>  pro_left=20;</p><p><b>  left1=1;</b></p><p><b>  left2=0;</b></p><p>&

60、lt;b>  right1=1;</b></p><p>  right2=0; </p><p><b>  }</b></p><p>  void turn_right() //右轉(zhuǎn)彎函數(shù)</p><p><b>  {</b></p><p>  p

61、ro_right=40;</p><p>  pro_left=0;</p><p><b>  left1=1;</b></p><p><b>  left2=0;</b></p><p><b>  right1=1;</b></p><p>&l

62、t;b>  right2=0;</b></p><p><b>  }</b></p><p>  void turn_back() //后退(反轉(zhuǎn))函數(shù)</p><p><b>  {</b></p><p><b>  left1=0;</b></p

63、><p><b>  left2=1;</b></p><p><b>  right1=0;</b></p><p>  right2=1; </p><p>  pro_right=20;</p><p>  pro_left=20;</p><p>

64、<b>  }</b></p><p>  void infrared() //循跡和避障</p><p><b>  { </b></p><p>  uchar flag;</p><p>  if((pright==1)||(pleft==1))</p><p><

65、;b>  {</b></p><p>  if((left_red==1)&(right_red==0))</p><p>  {flag=1;} </p><p><b>  else</b></p><p>  if((right_red==1)&(left_red==0))<

66、/p><p><b>  {flag=2;}</b></p><p><b>  else</b></p><p>  if((left_red==0)&(right_red==0))</p><p><b>  {flag=3;}</b></p><p

67、>  else {flag=0;}</p><p><b>  }</b></p><p>  else if((pright==0)&(pleft==1))</p><p><b>  {flag=4;}</b></p><p>  else if((pright==1)&(

68、pleft==0))</p><p><b>  {flag=5;}</b></p><p>  else if((pright==0)&(pleft==0))</p><p><b>  {flag=6;}</b></p><p>  else {flag=0;}</p>&

69、lt;p>  switch (flag)</p><p><b>  {</b></p><p>  case 0:straight();</p><p><b>  break;</b></p><p>  case 1:turn_right();</p><p> 

70、 delay(1000);</p><p><b>  break;</b></p><p>  case 2:turn_left();</p><p>  delay(1000); </p><p><b>  break;</b></p><p>  case 3:st

71、raight();</p><p>  delay(1000);</p><p><b>  break;</b></p><p>  case 4:turn_back();</p><p>  delay(1000);</p><p>  turn_left();</p><

72、p>  delay(1000);</p><p><b>  break;</b></p><p>  case 5:turn_back();</p><p>  delay(1000);</p><p>  turn_right();</p><p>  delay(1000);</

73、p><p><b>  break;</b></p><p>  case 6:turn_back();</p><p>  delay(1000);</p><p>  turn_left();</p><p>  delay(1000);</p><p><b>

74、  break; </b></p><p><b>  default:</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p

75、><b>  main ()</b></p><p><b>  {</b></p><p><b>  init();</b></p><p><b>  delay(1);</b></p><p><b>  while(1)</

76、b></p><p><b>  {</b></p><p>  infrared(); </p><p><b>  }</b></p><p><b>  }</b></p><p>  The design of smart car desi

77、gned based on the STC89C52</p><p>  xialongwei Directed By JiangLifei</p><p>  Abstract This article introduced a smart car designed based on the STC89C52. The car is capable of identifying

78、black and obstacle, so it can run in a fixed area and automatic obstacle avoidance. The car take STC89C52 as it’s controller; the six infrared sensors and their processing modules make it can identify the black line and

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論