版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課程設(shè)計(jì)說(shuō)明書(shū)(論文)</p><p> 設(shè)計(jì)題目: 超聲波避障小車 </p><p> 院 系: 學(xué)院 </p><p> 班 級(jí): </p><p> 設(shè) 計(jì) 者:
2、 </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p> 設(shè)計(jì)時(shí)間: 8.27~9.10 </p><p><b> 課程設(shè)計(jì)任務(wù)書(shū)</b></p><p
3、> *注:此任務(wù)書(shū)由課程設(shè)計(jì)指導(dǎo)教師填寫</p><p><b> 開(kāi)題報(bào)告</b></p><p><b> 緒論</b></p><p><b> 課題目的</b></p><p> 通過(guò)上學(xué)期單片機(jī)課程的學(xué)習(xí),我們基本掌握了51單片機(jī)的基本使用方法,本學(xué)期
4、開(kāi)學(xué)初,單片機(jī)課程設(shè)計(jì)給了我們更大的挑戰(zhàn),課題的目的有以下幾點(diǎn)。</p><p> 進(jìn)一步熟練掌握單片機(jī)的使用方法、提高程序的編寫能力</p><p> 掌握單片機(jī)系統(tǒng)外擴(kuò)器件的連接與使用</p><p> 提高器件說(shuō)明書(shū)以及時(shí)序過(guò)程的閱讀、理解能力</p><p> 掌握軟件和硬件調(diào)試的基本技巧與方法</p><
5、p><b> 項(xiàng)目研究背景及意義</b></p><p> 在當(dāng)今社會(huì),汽車成為了越來(lái)越普遍,人們不可缺少的交通工具。但汽車的不斷增加,隨之而來(lái)就是越來(lái)越多的交通事故。交通事故成為了現(xiàn)在越來(lái)越嚴(yán)重的安全隱患。所以隨著汽車工業(yè)的快速發(fā)展,我們必須加強(qiáng)對(duì)汽車安全性能的考慮。所以,智能汽車概念應(yīng)運(yùn)而生,他既是汽車產(chǎn)業(yè)的機(jī)遇也是汽車產(chǎn)業(yè)的挑戰(zhàn)。汽車的智能化必將是未來(lái)汽車產(chǎn)業(yè)發(fā)展的趨勢(shì),在這
6、樣的背景下,我們開(kāi)展了基于超聲波的智能小車的避障研究。</p><p> 超聲波作為智能車避障的一種重要手段,以其避障實(shí)現(xiàn)方便,計(jì)算簡(jiǎn)單,易于做到實(shí)時(shí)控制,測(cè)量精度也能達(dá)到實(shí)用的要求,在未來(lái)汽車智能化進(jìn)程中必將得到廣泛應(yīng)用。我國(guó)作為一個(gè)世界大國(guó),在高科技領(lǐng)域也必須占據(jù)一席之地,未來(lái)汽車的智能化是汽車產(chǎn)業(yè)發(fā)展必然的,在這種情況下研究超聲波在智能車避障上的應(yīng)用具有深遠(yuǎn)意義,這將對(duì)我國(guó)未來(lái)智能汽車的研究在世界高科技領(lǐng)
7、域占據(jù)領(lǐng)先地位具有重要作用。</p><p><b> 設(shè)計(jì)要求</b></p><p> 采用超聲波模塊實(shí)現(xiàn)小車避障功能,實(shí)現(xiàn)小車自動(dòng)避障任務(wù)。</p><p><b> 主要設(shè)計(jì)內(nèi)容及方案</b></p><p><b> 總體方案設(shè)計(jì)</b></p>
8、<p> 系統(tǒng)采用51單片機(jī)作為核心控制單元用于智能車系統(tǒng)的控制,在超聲波檢測(cè)到障礙物之后,主控芯片根據(jù)距離值控制直流電機(jī)的轉(zhuǎn)動(dòng),在與障礙物距離較大的情況下,快速前進(jìn),在與障礙物距離較小但還未到達(dá)臨界轉(zhuǎn)彎方向值的時(shí)候,慢速前進(jìn)。在與障礙物距離很近需要轉(zhuǎn)向避障時(shí),方案上將嘗試進(jìn)行轉(zhuǎn)向,來(lái)進(jìn)行避障。系統(tǒng)總體的設(shè)計(jì)方框圖如圖2-1所示。</p><p> 圖1.2系統(tǒng)總體方框圖</p>&
9、lt;p> 根據(jù)以上的總體方案設(shè)計(jì),我們進(jìn)行了主程序流程圖的設(shè)計(jì),下面為所設(shè)計(jì)的主程序的流程圖。其中DIS即為小車與障礙物的距離;</p><p> 圖22 主程序流程圖</p><p><b> 主要模塊的基本原理</b></p><p><b> 超聲波探測(cè)模塊</b></p><p
10、> 超聲波探測(cè)模塊的基本原理及使用方法如下:</p><p> IO口觸發(fā),給Sin口至少5~10us的高電平,啟動(dòng)測(cè)量;</p><p> 模塊自動(dòng)發(fā)送8個(gè)40Khz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;</p><p> 有信號(hào)返回,通過(guò)IO口Sin輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間,測(cè)試距離=(高電平時(shí)間*340)/ 2。&l
11、t;/p><p><b> 直流電機(jī)控制模塊</b></p><p> 機(jī)器人的動(dòng)作由伺服電機(jī)控制。</p><p> 伺服電機(jī)與單片機(jī)接口的連接,圖電機(jī)連接原理圖和實(shí)際接線圖,P1_0引腳的控制輸出用來(lái)控制右的伺服電機(jī),而P1_1則用來(lái)控制左邊的伺服電機(jī)。</p><p> 圖2- 4 左、右電機(jī)連接圖</
12、p><p> 控制電機(jī)運(yùn)動(dòng)轉(zhuǎn)速的是高電平持續(xù)的時(shí)間,當(dāng)高電平持續(xù)時(shí)間為1.3ms時(shí),電機(jī)順時(shí)針全速旋轉(zhuǎn),當(dāng)高電平持續(xù)時(shí)間1.7ms時(shí),電機(jī)逆時(shí)針?biāo)傩D(zhuǎn)。</p><p> 圖2- 5 電機(jī)順、逆時(shí)針旋轉(zhuǎn)控制脈沖圖</p><p> 所以可知,若令左、右車輪電機(jī)高電平持續(xù)時(shí)間為1.5ms時(shí),小車將處于靜止?fàn)顟B(tài)。</p><p> 若令左車
13、輪電機(jī)高電平持續(xù)時(shí)間為1.7ms,右車輪電機(jī)高電平持續(xù)時(shí)間為1.3ms時(shí),則左車輪電機(jī)逆時(shí)針,右車輪電機(jī)順時(shí)針,小車將會(huì)以最快的速度前進(jìn)。此時(shí),若想改變小車的前進(jìn)速度,則逐漸減小左電機(jī)的高電平時(shí)間,逐漸增加右電機(jī)的高電平時(shí)間,則可以減小車速。</p><p> 同理可知,若令左車輪電機(jī)高電平持續(xù)時(shí)間為1.3ms,右車輪電機(jī)高電平持續(xù)時(shí)間為1.7ms時(shí),則左車輪電機(jī)順時(shí)針,右車輪電機(jī)逆時(shí)針,小車將會(huì)以最快的速度后
14、退。</p><p> 當(dāng)需要轉(zhuǎn)彎時(shí),通過(guò)分析和測(cè)試我們可以知道,當(dāng)小車想左轉(zhuǎn)時(shí),需令左右兩輪均順時(shí)針旋轉(zhuǎn),而當(dāng)小車想右轉(zhuǎn)時(shí),需令左右兩輪均逆時(shí)針旋轉(zhuǎn)。</p><p> 通過(guò)對(duì)直流電機(jī)模塊的學(xué)習(xí)和了解,我已經(jīng)了解了控制小車運(yùn)動(dòng)的方法。</p><p><b> 需解決的關(guān)鍵問(wèn)題</b></p><p> 關(guān)鍵問(wèn)
15、題首先是要學(xué)會(huì)使用超聲波測(cè)距器件,根據(jù)老師所提供的知識(shí),利用圖像讀懂超聲波器件的工作時(shí)序,根據(jù)時(shí)序以及超聲波測(cè)距器件的工作信號(hào)特點(diǎn),并且結(jié)合單片機(jī)的定時(shí)器/計(jì)數(shù)器等功能,來(lái)順利的完成小車對(duì)于前方障礙物距離的測(cè)量。</p><p> 另一個(gè)比較關(guān)鍵的問(wèn)題就是確定小車的避障方案,根據(jù)上方的主程序流程圖,我們采用一種避障方案,在接下的設(shè)計(jì)中,我們需要對(duì)于該方案能否正確躲避障礙進(jìn)行驗(yàn)證,并且需要不斷思考,提出更多的更好
16、的更有效的避障方案。</p><p><b> 具體實(shí)施方案及程序</b></p><p> 2.4.1 程序初始化</p><p> 初始化函數(shù)中需要對(duì)定時(shí)器/計(jì)數(shù)器的模式進(jìn)行設(shè)定,以及初始值的設(shè)定,流程圖如下</p><p><b> 程序如下:</b></p><p
17、> void IO_init(void)</p><p><b> {</b></p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p> TMOD=0x11;//將T0定時(shí)器/計(jì)數(shù)器設(shè)置為16位計(jì)數(shù)模式<
18、;/p><p> TH0=0x00; //初始值為0</p><p><b> TL0=0x00;</b></p><p> TR0=0; //不開(kāi)始計(jì)數(shù)</p><p><b> }</b></p><p> 2.4.2 測(cè)距函數(shù)</p><
19、p> 測(cè)距函數(shù)是本程序的比較關(guān)鍵的一個(gè)函數(shù),需要根據(jù)儀器的本身特點(diǎn)來(lái)進(jìn)行編程,流程圖如下</p><p><b> 測(cè)距函數(shù)如下:</b></p><p> void getx(unsigned char a) //測(cè)距函數(shù)</p><p><b> { </b></p><p&
20、gt; TH0=TL0=0; //初始值設(shè)置為0</p><p><b> if(a)</b></p><p><b> {</b></p><p> Sin=0; //Sin置0</p><p> Sin=1; //Sin置1,并且
21、延時(shí)一段時(shí)間,提供一個(gè)測(cè)距的觸發(fā)脈沖</p><p> delay_5us();</p><p> Sin=0; //Sin重新置0</p><p><b> }</b></p><p> while(Sin);</p><p> while(!Sin);//SIN信號(hào)從
22、低電平變?yōu)楦唠娖剑藭r(shí)跳出該循環(huán)TR0置1,開(kāi)始計(jì)數(shù)</p><p><b> TR0=1;</b></p><p> while(Sin); /SIN信號(hào)從高電平變?yōu)榈碗娖剑藭r(shí)跳出該循環(huán)TR0置0,停止計(jì)數(shù)</p><p><b> TR0=0;</b></p><p> LTime=T
23、L0;</p><p> HTime=TH0;</p><p> Time=HTime*256+LTime; //將高8位乘以256加上低8位得到總值</p><p> Dis=Time/(2*29); //計(jì)算出所差距離</p><p><b> }</b></p>
24、<p><b> 2.4.3 主函數(shù)</b></p><p><b> 主函數(shù)的流程圖如下</b></p><p><b> 主函數(shù)如下:</b></p><p> void main() //主程序</p><
25、;p><b> {</b></p><p> IO_init(); //初始化</p><p><b> while(1)</b></p><p><b> { </b></p><p> getx(1);
26、 //測(cè)距</p><p> if(Dis>=50) //如果距離大于50</p><p><b> {</b></p><p> Forward_fast();//快速前進(jìn)</p><p><b> }</b></p>&l
27、t;p> else if(Dis>=10&&Dis<50) //如果距離在10與50之內(nèi)</p><p><b> {</b></p><p> Forward_slow(); //慢速前進(jìn)</p><p><b> }</b></p><p&g
28、t; else //否則,小于10,需轉(zhuǎn)向避障</p><p><b> {</b></p><p> Left_90();// 先左轉(zhuǎn)90度</p><p> getx(1);//測(cè)量距離</p><p> if(Dis>=10) //如果距離大
29、于10</p><p><b> {</b></p><p> Forward_slow(); //慢速前進(jìn)</p><p><b> }</b></p><p> else//如果距離依舊小于10</p><p><b> {</b&
30、gt;</p><p> Right_180();//右轉(zhuǎn)180</p><p> getx(1); //測(cè)距</p><p> if(Dis>=10) //如果此時(shí)距離小于10</p><p><b> {</b></p><p
31、> Forward_slow();//慢速前進(jìn)</p><p><b> }</b></p><p> else //否則,繼續(xù)調(diào)試</p><p><b> {</b></p><p> Right_90(); //右轉(zhuǎn)90度</p><
32、;p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p
33、> 2.4.4 完整程序代碼與注釋</p><p> #include<reg51.h></p><p> #include<intrins.h></p><p> sbit Sin=P1^5; //超聲波模塊控制端口</p><p> sbit right=P1^0; //右輪控制信號(hào)<
34、/p><p> sbit left=P1^1; //左輪控制信號(hào)</p><p> unsigned int Dis,Time;</p><p> unsigned char LTime,HTime;</p><p> void IO_init(void)</p><p><b> {</b&
35、gt;</p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p> TMOD=0x11;//將T0定時(shí)器/計(jì)數(shù)器設(shè)置為16位計(jì)數(shù)模式</p><p> TH0=0x00; //初始值為0</p><p><b&
36、gt; TL0=0x00;</b></p><p> TR0=0; //不開(kāi)始計(jì)數(shù)</p><p><b> }</b></p><p> void delay_nus(unsigned int i) //延時(shí)函數(shù)</p><p><b> {</b></p>
37、<p><b> i=i/10;</b></p><p> while(--i);</p><p><b> }</b></p><p> void delay_5us() //短時(shí)間延時(shí)函數(shù),為SIN高電平準(zhǔn)備</p><p><b>
38、 {</b></p><p><b> _nop_();</b></p><p><b> }</b></p><p> void getx(unsigned char a) //測(cè)距函數(shù)</p><p><b> { </b></p>
39、<p> TH0=TL0=0; //初始值設(shè)置為0</p><p><b> if(a)</b></p><p><b> {</b></p><p> Sin=0; //Sin置0</p><p> Sin=1; //
40、Sin置1,并且延時(shí)一段時(shí)間,提供一個(gè)測(cè)距的觸發(fā)脈沖</p><p> delay_5us();</p><p> Sin=0; //Sin重新置0</p><p><b> }</b></p><p> while(Sin);</p><p> while(!Sin);
41、//SIN信號(hào)從低電平變?yōu)楦唠娖?,此時(shí)跳出該循環(huán)TR0置1,開(kāi)始計(jì)數(shù)</p><p><b> TR0=1;</b></p><p> while(Sin); /SIN信號(hào)從高電平變?yōu)榈碗娖?,此時(shí)跳出該循環(huán)TR0置0,停止計(jì)數(shù)</p><p><b> TR0=0;</b></p><p>
42、 LTime=TL0;</p><p> HTime=TH0;</p><p> Time=HTime*256+LTime; //將高8位乘以256加上低8位得到總值</p><p> Dis=Time/(2*29); //計(jì)算出所差距離</p><p><b> }</b><
43、;/p><p> void Forward_fast(void) //快速前進(jìn) </p><p><b> {</b></p><p><b> left=1;</b></p><p> delay_nus(1700);</p><p>
44、<b> left=0;</b></p><p> delay_nus(20000); </p><p><b> right=1; </b></p><p> delay_nus(1300);</p><p><b> right=0;</b></p>
45、<p> delay_nus(20000);</p><p><b> } </b></p><p> void Forward_slow(void) //慢速前進(jìn)</p><p><b> {</b></p><p><b> left=1;<
46、;/b></p><p> delay_nus(1580); //減小左電機(jī)的高電平時(shí)間,增加右電機(jī)的高電平時(shí)間,減小速度</p><p><b> left=0;</b></p><p> delay_nus(20000); </p><p><b> right=1; </b>&l
47、t;/p><p> delay_nus(1420);</p><p><b> right=0;</b></p><p> delay_nus(20000);</p><p><b> }</b></p><p> void Left_90(void)
48、 //左轉(zhuǎn)90度</p><p><b> { </b></p><p> unsigned int i=0;</p><p> while(i<20)</p><p><b> {</b></p><p><b> i++;<
49、;/b></p><p><b> left=1;</b></p><p> delay_nus(1300); //令左、右兩輪均順時(shí)針轉(zhuǎn)動(dòng)</p><p><b> left=0;</b></p><p> delay_nus(20000); </p>
50、<p><b> right=1; </b></p><p> delay_nus(1300);</p><p><b> right=0;</b></p><p> delay_nus(20000);</p><p><b> }</b></p&
51、gt;<p><b> }</b></p><p> void Right_180()</p><p><b> { </b></p><p> unsigned int i=0;</p><p> while(i<38)</p><p><
52、;b> {</b></p><p><b> i++;</b></p><p> left=1; //令左、右兩輪均逆時(shí)針轉(zhuǎn)動(dòng)</p><p> delay_nus(1700);</p><p><b> left=0;</b>&l
53、t;/p><p> delay_nus(20000); </p><p><b> right=1; </b></p><p> delay_nus(1700);</p><p><b> right=0;</b></p><p> delay_nus(20000);&
54、lt;/p><p><b> }</b></p><p><b> }</b></p><p> void Right_90() //令左、右兩輪均逆時(shí)針轉(zhuǎn)動(dòng)</p><p><b> {</b></p><p&
55、gt; unsigned int i=0;</p><p> while(i<20)</p><p><b> {</b></p><p><b> i++;</b></p><p><b> left=1;</b></p><p>
56、delay_nus(1700);</p><p><b> left=0;</b></p><p> delay_nus(20000); </p><p><b> right=1; </b></p><p> delay_nus(1700);</p><p><
57、;b> right=0;</b></p><p> delay_nus(20000);</p><p><b> }</b></p><p><b> } </b></p><p> void main() //主程
58、序</p><p><b> {</b></p><p> IO_init(); //初始化</p><p><b> while(1)</b></p><p><b> { </b></p><p>
59、 getx(1); //測(cè)距</p><p> if(Dis>=50) //如果距離大于50</p><p><b> {</b></p><p> Forward_fast();//快速前進(jìn)</p><p><b> }</b&g
60、t;</p><p> else if(Dis>=10&&Dis<50) //如果距離在10與50之內(nèi)</p><p><b> {</b></p><p> Forward_slow(); //慢速前進(jìn)</p><p><b> }</b><
61、;/p><p> else //否則,小于10,需轉(zhuǎn)向避障</p><p><b> {</b></p><p> Left_90();// 先左轉(zhuǎn)90度</p><p> getx(1);//測(cè)量距離</p><p> if(Dis>=10)
62、 //如果距離大于10</p><p><b> {</b></p><p> Forward_slow(); //慢速前進(jìn)</p><p><b> }</b></p><p> else//如果距離依舊小于10</p><p><
63、;b> {</b></p><p> Right_180();//右轉(zhuǎn)180</p><p> getx(1); //測(cè)距</p><p> if(Dis>=10) //如果此時(shí)距離小于10</p><p><b> {</b>&
64、lt;/p><p> Forward_slow();//慢速前進(jìn)</p><p><b> }</b></p><p> else //否則,繼續(xù)調(diào)試</p><p><b> {</b></p><p> Right_90(); //右轉(zhuǎn)90
65、度</p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>&
66、lt;/p><p><b> 結(jié)題報(bào)告</b></p><p><b> 1課題完成情況</b></p><p> 本超聲波避障小車的設(shè)計(jì)基于單片機(jī)原理和傳感器原理,以51單片機(jī)為主控芯片,采用直流電機(jī)為驅(qū)動(dòng)元件,通過(guò)軟件編程制作了一整套結(jié)構(gòu)完整,功能模塊化,反應(yīng)較為靈敏的超聲波避障小車。經(jīng)過(guò)對(duì)該避障小車的避障測(cè)試實(shí)驗(yàn),
67、實(shí)驗(yàn)結(jié)果證明該避障小車能夠很好的按照預(yù)期完成避障動(dòng)作,并且能夠快速運(yùn)動(dòng)靈敏避障,效果良好,運(yùn)行穩(wěn)定性較好。</p><p> 2 所遇問(wèn)題及解決方案</p><p> 在進(jìn)行小車調(diào)試時(shí),我們遇到的一個(gè)最大困難就是當(dāng)我們前期的程序燒入芯片后,我們的小車運(yùn)行的非常不平穩(wěn),前進(jìn)運(yùn)行的非常不連貫。小車前進(jìn)一會(huì),就會(huì)有一段比較明顯的時(shí)段停止。</p><p> 當(dāng)我遇到
68、這個(gè)問(wèn)題時(shí),我沒(méi)有慌亂,我一步一步的進(jìn)行了分析。首先,我懷疑了前進(jìn)函數(shù)Forward()出現(xiàn)問(wèn)題,檢查Forward()的后,發(fā)現(xiàn)提供給左右車輪的PWM信號(hào)正常,沒(méi)有出現(xiàn)異常,而且出于控制變量思想,為了準(zhǔn)確的找到問(wèn)題的癥結(jié)所在,我單獨(dú)講Forward()函數(shù)燒入小車中,運(yùn)行后可以發(fā)現(xiàn),小車的運(yùn)行非常正常,不存在運(yùn)行不平穩(wěn)的現(xiàn)象。在排除了Forward()函數(shù)的問(wèn)題后,我開(kāi)始懷疑是不是測(cè)速的函數(shù)getx()對(duì)Forward()函數(shù)造成
69、了干擾。我們通過(guò)分析可以知道,forward()函數(shù)提供了一個(gè)非常完美的驅(qū)動(dòng)電機(jī)的PWM信號(hào),但是一旦在程序中,存在著一些其他例如測(cè)距程序,判斷語(yǔ)句等程序時(shí),會(huì)對(duì)其PWM信號(hào)產(chǎn)生一些干擾,應(yīng)盡可能的減少這些程序?qū)τ谛≤囘\(yùn)行程序的干擾。所以我將我之前使用的delay()函數(shù)用系統(tǒng)的庫(kù)函數(shù)_nop()_來(lái)代替,再將更改后的程序下載入小車后,驚奇的發(fā)現(xiàn),小車能夠平穩(wěn)的運(yùn)行了。</p><p> 我們?cè)龠M(jìn)一步的分析這個(gè)
70、問(wèn)題的原因,我們可以看到,在之前的delay()函數(shù)中,我們使用了除法,除法在指令周期最長(zhǎng)的一個(gè)指令,他會(huì)導(dǎo)致PWM信號(hào)在某一電平上停留的時(shí)間過(guò)長(zhǎng),影響信號(hào)的占空比與波形,而系統(tǒng)的庫(kù)函數(shù)運(yùn)行的時(shí)間則比較短,對(duì)其他函數(shù)的影響較小。</p><p> 以上就是我對(duì)這個(gè)問(wèn)題的思考,可能我對(duì)這個(gè)問(wèn)題的分析也存在一些不完善的地方,比如說(shuō),我自己也會(huì)問(wèn)自己,指令的運(yùn)行周期長(zhǎng)短,怎么會(huì)對(duì)毫秒級(jí)的PWM電機(jī)驅(qū)動(dòng)信號(hào)造成如此大的
71、影響等等,課程設(shè)計(jì)結(jié)束后,我也會(huì)繼續(xù)的查找一些資料,多問(wèn)問(wèn)師兄和老師,爭(zhēng)取找到最完整,正確的答案。</p><p><b> 3 心得體會(huì)</b></p><p> 這次課程設(shè)計(jì)給我們提供了一個(gè)非常好的機(jī)會(huì)來(lái)提高我們實(shí)際的應(yīng)用能力。從選題開(kāi)始老師就給予我們很大的自主性,讓我們大家自主選題,這種開(kāi)放式教學(xué)方式也從另一個(gè)方面激發(fā)起了我們?nèi)W(xué)習(xí)的欲望。</p>
72、;<p> 這次課程設(shè)計(jì),給我更多的是一種模塊化的思想,將系統(tǒng)按我們所需的功能和系統(tǒng)所能提供的功能進(jìn)行模塊化的分類,將會(huì)使我們的工作變得一目了然,非常清晰。比如說(shuō)這次我選的避障小車,可以分成超聲波測(cè)速模塊,電機(jī)驅(qū)動(dòng)模塊,單片機(jī)核心模塊三個(gè),三個(gè)部分各司其職,無(wú)論從硬件上還是軟件上,都能夠比較清晰地將他們的功能區(qū)分開(kāi),從而有利于硬件的連接和程序的編寫。對(duì)于這次程序的編寫,我就是分塊編寫,按模塊調(diào)試,從而避免了許多錯(cuò)誤。&l
73、t;/p><p> 從以后工作來(lái)看,這種模塊化處理問(wèn)題的方式將會(huì)更加的有用,在公司和以后得科研項(xiàng)目中,系統(tǒng)一定是越來(lái)越復(fù)雜,不可能一個(gè)人完成所有的任務(wù),一定是一個(gè)團(tuán)隊(duì)來(lái)做這些系統(tǒng)的設(shè)計(jì),所以模塊化之后,能夠?qū)⑷蝿?wù)分配給每個(gè)人,最后大家還能夠很好的綜合到一起,大大的縮短了開(kāi)發(fā)周期。</p><p> 這次課程設(shè)計(jì),提高了我對(duì)于陌生硬件的學(xué)習(xí)能力,超聲波儀器對(duì)我來(lái)說(shuō)非常的陌生,所以通過(guò)這次的學(xué)
74、習(xí),我感覺(jué)我學(xué)習(xí)硬件的能力有所提高,對(duì)于時(shí)序的理解能力也有了進(jìn)步。單片機(jī)主要的功能就是對(duì)各種各樣的外設(shè)進(jìn)行控制,在以后的工作學(xué)習(xí)中,我一定會(huì)遇到非常多的不熟悉的硬件,我相信,通過(guò)不斷地鍛煉積累,應(yīng)該有比較強(qiáng)的學(xué)習(xí)能力。</p><p> 但是該超聲波避障小車還存在著許多的不足,比如說(shuō)只能對(duì)正前方一定角度內(nèi)進(jìn)行探測(cè),使用的是一路超聲波而不是多路超聲波探測(cè),并且為了簡(jiǎn)化,默認(rèn)的只是向同一個(gè)方向轉(zhuǎn)彎等,這些都是有待進(jìn)
75、一步發(fā)展和提高的,這與制作者自身的對(duì)與障礙檢測(cè)距離分析、自動(dòng)控制信號(hào)處理、圖像處理等諸多技術(shù)的有限性分不開(kāi)的,還需要研究制作者的學(xué)習(xí)和探索。</p><p> 本次項(xiàng)目共歷時(shí)兩周,有時(shí)間比較緊張,此外項(xiàng)目的進(jìn)度控制不是很準(zhǔn)確,技術(shù)上本身也有一定難度,但我認(rèn)為這不是主要原因,以后我會(huì)強(qiáng)調(diào)時(shí)間概念,按時(shí)并且爭(zhēng)取有效率的完成規(guī)定階段的任務(wù)。</p><p> 我們遇到的困難主要在于對(duì)超聲波模
76、塊的使用方法不了解,實(shí)驗(yàn)室的模塊并沒(méi)有配套的資料,而網(wǎng)上也比較難找到它的手冊(cè)資料,最后我們選擇參考模板程序,然后對(duì)其進(jìn)行改進(jìn)使之適于自己的需求,這樣也減少了從頭到尾重復(fù)編寫代碼的時(shí)間。</p><p> 最后,感謝胡老師這么多天對(duì)我們的幫助,每次遇到問(wèn)題時(shí),老師都耐性的幫我解答問(wèn)題,正是老師一次有一次的講解才讓我堅(jiān)持下來(lái)。老師耐心細(xì)致的講解也讓我學(xué)到了很多課堂上沒(méi)有學(xué)到的知識(shí)。感謝老師對(duì)我們的幫助。</p
77、><p><b> 4 參考文獻(xiàn)</b></p><p> [1] 邵貝貝. 嵌入式實(shí)時(shí)操作系統(tǒng)[LC/OS-Ⅱ(第2版)[M]. 北京.清華大學(xué)出版社.2004</p><p> [2] 邵貝貝. 單片機(jī)嵌入式應(yīng)用的在線開(kāi)發(fā)方法[M].北京.清華大學(xué)出社.2004</p><p> [3] 王曉明. 電動(dòng)機(jī)的單片機(jī)
78、控制[M].北京. 北京航空航天大學(xué)出版社.2002 </p><p> [4] 臧杰,閻巖. 汽車構(gòu)造[M]. 北京. 機(jī)械工業(yè)出版社.2005 </p><p> [5] 安鵬,馬偉.S12單片機(jī)模塊應(yīng)用及程序調(diào)試[J]. 電子產(chǎn)品世界. 2006.第211期. 162-163</p><p> [7] 童詩(shī)白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京. 高等
79、教育出版社.2000 </p><p> [8] 沈長(zhǎng)生.常用電子元器件使用一讀通[M].北京. 人民郵電出版社.2004 </p><p> [9] 宗光華.機(jī)器人的創(chuàng)意設(shè)計(jì)與實(shí)踐[M].北京. 北京航空航天大學(xué)出社.2004 </p><p> [10] 張偉等.Protel DXP高級(jí)應(yīng)用[M].北京. 人民郵電出版社.2002 </p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)--超聲波避障小車
- 基于51單片機(jī)的超聲波避障小車設(shè)計(jì)
- 基于51單片機(jī)的超聲波避障小車設(shè)計(jì)
- 基于51單片機(jī)的超聲波智能避障小車論文
- 超聲波避障小車設(shè)計(jì)
- 基于51單片機(jī)的超聲波避障小車設(shè)計(jì)-畢業(yè)論文
- 基于at89s52單片機(jī)的超聲波避障智能小車設(shè)計(jì)
- 超聲波避障小車的設(shè)計(jì)書(shū)
- 單片機(jī)課程設(shè)計(jì)--超聲波測(cè)距
- 單片機(jī)課程設(shè)計(jì)-超聲波測(cè)距
- 課程設(shè)計(jì)----基于單片機(jī)的自動(dòng)避障小車
- 單片機(jī)課程設(shè)計(jì)-超聲波測(cè)距
- 避障小車設(shè)計(jì)書(shū) 哈工大 單片機(jī)課程設(shè)計(jì)
- 基于at89s51超聲波避障智能小車課程設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--智能超聲波避障小車
- 基于stc89c52單片機(jī)的智能超聲波跟隨與避障小車
- 單片機(jī)課程設(shè)計(jì)--超聲波測(cè)距系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--超聲波測(cè)距儀
- 超聲波傳感器單片機(jī)課程設(shè)計(jì)
- 智能超聲波避障小車-畢業(yè)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論