智能小車(chē)實(shí)訓(xùn)報(bào)告_第1頁(yè)
智能小車(chē)實(shí)訓(xùn)報(bào)告_第2頁(yè)
智能小車(chē)實(shí)訓(xùn)報(bào)告_第3頁(yè)
智能小車(chē)實(shí)訓(xùn)報(bào)告_第4頁(yè)
智能小車(chē)實(shí)訓(xùn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

智能小車(chē)實(shí)驗(yàn)報(bào)告目錄1.1項(xiàng)目概述……………………11.2項(xiàng)目要求……………………11.3實(shí)訓(xùn)目的……………………11.4系統(tǒng)設(shè)計(jì)……………………11.4.1框圖設(shè)計(jì)………………11.4.2知識(shí)點(diǎn)…………………11.5硬件設(shè)計(jì)……………………1.5.1總體設(shè)計(jì)……………1.5.2原件清單……………1.5.3元器件介紹…………1.6軟件設(shè)計(jì)……………………1.6.1程序流程圖…………1.6.2程序清單……………1.6.3程序下載調(diào)試………………………1.7智能小車(chē)運(yùn)行效果圖………………………1.8總結(jié)…………………………1.9參考文獻(xiàn)……………………1.1項(xiàng)目概述本次實(shí)訓(xùn)是基于單片機(jī)(STC89C51)智能小車(chē)的設(shè)計(jì)與開(kāi)發(fā),開(kāi)發(fā)中涉及控制、程序設(shè)計(jì)、模式識(shí)別、傳感技術(shù)、電子、計(jì)算機(jī)、機(jī)械等。開(kāi)發(fā)智能小車(chē)的學(xué)習(xí)與發(fā)展,對(duì)促進(jìn)學(xué)習(xí)綜合運(yùn)用所學(xué)的嵌入式知識(shí)以及電子技術(shù)的知識(shí)提高,具有良好的推動(dòng)作用。1.2項(xiàng)目要求(1)理解程序、硬件電路圖,查閱相關(guān)資料;(2)焊接電路板;(3)軟硬件調(diào)試;(4)完成循跡,避障,遙控等功能。1.3實(shí)訓(xùn)目的(1)理解并掌握單片機(jī)控制小車(chē)的循跡,遙控、避障的原理;(2)了解電子路的布局、PCB板的設(shè)計(jì);(3)掌握電路板焊接技術(shù),如何用萬(wàn)用表線(xiàn)判斷元器件的好壞;(4)掌握單片機(jī)C語(yǔ)言的編程及軟硬件調(diào)試。1.4系統(tǒng)設(shè)計(jì)1.4.1框圖設(shè)計(jì)基于STC89C52單片機(jī)智能小車(chē)系統(tǒng)設(shè)計(jì)由STC89C52單片機(jī)、電機(jī)驅(qū)動(dòng)、晶振電路、按鍵電路、數(shù)碼管顯示電路、紅外感應(yīng)電路幾部分組成,系統(tǒng)框圖如圖1-1所示。圖1-1基于STC89C52單片機(jī)智能小車(chē)系統(tǒng)框圖1.4.2知識(shí)點(diǎn)該項(xiàng)目需要了解以下知識(shí)點(diǎn)。(1)+5V電源原理及設(shè)計(jì)。(2)單片機(jī)復(fù)位電路工作原理及設(shè)計(jì)。(3)單片機(jī)晶振電路工作原理及設(shè)計(jì)。(4)案件電路的設(shè)計(jì)。(5)數(shù)碼管的特性及應(yīng)用。(6)電路板焊接技術(shù)。(7)STC89C52單片機(jī)引腳。(8)單片機(jī)C語(yǔ)言程序設(shè)計(jì)(9)紅外線(xiàn)感應(yīng)原理。1.5硬件設(shè)計(jì)1.5.1總體設(shè)計(jì)智能小車(chē)采用前輪驅(qū)動(dòng),前輪左右兩邊各用一個(gè)電機(jī)驅(qū)動(dòng),調(diào)制前面兩個(gè)輪子的轉(zhuǎn)速起停從而達(dá)到控制轉(zhuǎn)向的目的,后輪是萬(wàn)象輪,起支撐的作用。循跡光電對(duì)管分別裝在車(chē)體下的左右。當(dāng)車(chē)身下左邊的傳感器檢測(cè)到黑線(xiàn)為主控芯片控制左輪電機(jī)停止,車(chē)向左修正,當(dāng)車(chē)身下右邊傳感器檢測(cè)到黑線(xiàn)時(shí),主控芯片控制右輪電機(jī)停止,車(chē)向右修正。如圖1-2所示圖1-2智能小車(chē)循跡光電對(duì)管圖避障的原理和循線(xiàn)一樣,在車(chē)身右邊裝一個(gè)光電對(duì)管,當(dāng)其檢測(cè)到障礙物時(shí),主控芯片給出信號(hào)報(bào)警并控制車(chē)子倒退,轉(zhuǎn)向,從而避開(kāi)障礙物。如圖1-3所示。圖1-3智能小車(chē)避障光電對(duì)管圖1.5.2原件清單:基于單片機(jī)STC89C51元器件如表1-4所示。表1-4基于STC89C51智能小車(chē)原件清單1.5.3元器件介紹1)STC89C52單片機(jī)管腳圖及功能如圖1-5為STC89C51的引腳功能圖,其各個(gè)引腳功能概述如下: VCC:供電電壓。 GND:接地圖1-5STC89C52引腳功能圖P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示: 口管腳備選功能 P3.0RXD(串行輸入口) P3.1TXD(串行輸出口) P3.2/INT0(外部中斷0) P3.3/INT1(外部中斷1) P3.4T0(記時(shí)器0外部輸入) P3.5T1(記時(shí)器1外部輸入) P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。2)L293D驅(qū)動(dòng)引腳原理圖圖1-6L293D驅(qū)動(dòng)與電機(jī)相連原理圖圖1-6為L(zhǎng)293D采用16引腳DIP封裝,其內(nèi)部集成了雙極型H-橋電路,所有的開(kāi)量都做成n型。這種雙極型脈沖調(diào)寬方式具有很多優(yōu)點(diǎn),如電流連續(xù);電機(jī)可四角限運(yùn)行;電機(jī)停止時(shí)有微振電流,起到“動(dòng)力潤(rùn)滑”作用,消除正反向時(shí)的靜摩擦死區(qū):低速平穩(wěn)性好等。L293D通過(guò)內(nèi)部邏輯生成使能信號(hào)。H-橋電路的輸入量可以用來(lái)設(shè)置馬達(dá)轉(zhuǎn)動(dòng)方向,使能信號(hào)可以用于脈寬調(diào)整(PWM)。另外,L293D將2個(gè)H-橋電路集成到1片芯片上,這就意味著用1片芯片可以同時(shí)控制2個(gè)電機(jī)。每1個(gè)電機(jī)需要3個(gè)控制信號(hào)EN12、IN1、IN2,其中EN12是使能信號(hào),IN1、IN2為電機(jī)轉(zhuǎn)動(dòng)方向控制信號(hào),IN1、IN2分別為1,0時(shí),電機(jī)正轉(zhuǎn),反之,電機(jī)反轉(zhuǎn)。選用一路PWM連接EN12引腳,通過(guò)調(diào)整PWM的占空比可以調(diào)整電機(jī)的轉(zhuǎn)速。選擇一路I/O口,經(jīng)反向器74HC14分別接IN1和IN2引腳,控制電機(jī)的正反轉(zhuǎn)。L293D驅(qū)動(dòng)器管腳賦值表表1-7為L(zhǎng)293D驅(qū)動(dòng)器小車(chē)電機(jī)轉(zhuǎn)動(dòng)的管腳圖賦值表:表1-7L293D驅(qū)動(dòng)管腳賦值表行進(jìn)引腳停止左轉(zhuǎn)右轉(zhuǎn)前進(jìn)后退原路返回Out1(P2.0)0011001Out2(P2.1)0000110Out3(P2.2)0101010Out4(P2.3)0000101電機(jī)驅(qū)動(dòng)一般采用H橋式驅(qū)動(dòng)電路,L293N內(nèi)部集成了H橋式驅(qū)動(dòng)電路,從而可以采用L293N電路來(lái)驅(qū)動(dòng)電機(jī)。通過(guò)單片機(jī)給予L293N電路PWM信號(hào)來(lái)控制小車(chē)的速度,起停。驅(qū)動(dòng)原理圖如圖1-8所示。圖1-8L298N引腳圖1.6軟件設(shè)計(jì)1.6.1程序流程圖智能循跡避障小車(chē)程序流程圖如圖1-9所示。1.6.2程序清單智能小車(chē)程序清單如下所示:#include<reg52.h>#define ucharunsignedchar#defineuintunsignedintsbitK1=P1^0; //P1.0到P1.4為尋線(xiàn)檢測(cè)端sbitK2=P1^1;sbitK3=P1^2;sbitK4=P1^3;sbitK5=P1^4;sbitKIN1=P1^5; //P1.5P1.6是避障檢測(cè)端sbitKIN2=P1^6;sbitout1=P2^0; //P2.0到P2.3是電機(jī)驅(qū)動(dòng)輸出控制端sbitout2=P2^1;sbitout3=P2^2;sbitout4=P2^3;sbitbeem=P3^7; //蜂鳴器控制引腳unsignedlongxdatarec_code;unsignedlongxdatatime_us;unsignedcharxdatarec_cnt;unsignedcharxdatakbuf;ucharsdata,flag; //sdata是紅外遙控接收鍵值變量flag是啟動(dòng)小車(chē)或停止小車(chē)變量bitrec_b;bitkey_save;bitkeyp;ucharcounter=0;sbitSET1=P2^4 ;sbitSET2=P2^5;sbitSET3=P2^6;sbitSET4=P2^7;ucharcodeseg7code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};voiddelay1(uchart)//延時(shí)程序1{ ucharj;while(t--) {for(j=50;j>0;j--);}}voiddisplay(uchari){ P2=P2|0XF0; P0=~seg7code[i/100]; SET1=0; delay1(10); P2=P2|0XF0; P0=~seg7code[(i/10)%10]; SET2=0; delay1(10); P2=P2|0XF0; P0=~seg7code[i%10]; SET3=0; delay1(10); P2=P2|0XF0; P0=~seg7code[(i+3)%10]; SET4=0; delay1(10); P2=P2|0XF0;}voiddelay(uintt)//延時(shí)程序1{ ucharj;while(t--) {for(j=5;j>0;j--);}}voidbeep() //蜂鳴器提示音{ beem=0; delay(1000); beem=1; delay(1000); beem=0; delay(1000); beem=1; delay(1000); }voidInit() //初始化{ TMOD=0x09; //T/C1采用16位定時(shí)器/計(jì)數(shù)器 ET1=1; //定時(shí)器1開(kāi)中斷TH0=0x00;TL0=0x00;ET0=0;TR0 =1; //定時(shí)計(jì)數(shù)器啟動(dòng)計(jì)數(shù) EX0 =1; //外部中斷0關(guān)中斷 EX1 =0; //外中斷1關(guān)中斷 EA =1; //CPU開(kāi)中斷}//左轉(zhuǎn)voidcomeleft(){ uchari; out1=0; out2=0; out3=1; out4=0; for(i=0;i<10;i++) { out1=!out1; delay(1); }}//左微轉(zhuǎn)voidsleft(){ uchari; out1=0; out2=0; out3=1; out4=0; for(i=0;i<5;i++) { out1=!out1; delay(1); }}//右微轉(zhuǎn)voidsright(){ uchari; out1=1; out2=0; out3=0; out4=0; for(i=0;i<5;i++) { out3=!out3; delay(1); }}//右轉(zhuǎn)voidcomeright(){ uchari; out1=1; out2=0; out3=0; out4=0; for(i=0;i<10;i++) { out3=!out3; delay(1); }}//前進(jìn)加速;voidcomeon(){ out2=0; out4=0; out1=1; out3=1;}voidstop() //停止{ out1=0; out2=0; out3=0; out4=0;}voidinter_x0()interrupt0{TR0=0;time_us=(unsignedlong)(TH0<<8)+TL0;TH0=0;TL0=0;TR0=1;if(time_us>3800&&time_us<4500){rec_cnt=0;rec_code=0;}elseif(time_us>300&&time_us<700){rec_cnt++;rec_code=rec_code<<1;//rec_code=rec_code&0x00000000;}elseif(time_us>1300&&time_us<1750){rec_cnt++;rec_code=rec_code<<1;rec_code=rec_code|0x00000001;//IO_buzz=0;}elseif(time_us>1800&&time_us<2200){rec_code=rec_code;rec_cnt++;//if(rec_cnt>1){rec_cnt=0;key_save=1;}}if(rec_cnt==32){rec_b=1;key_save=0;rec_cnt=0;}}voidGetKeyValue() //紅外遙控鍵值取值{if(rec_b){unsignedcharda;rec_b=0;kbuf=(rec_code&0x0000ff00)>>8;da=rec_code&0x000000ff;if(kbuf==~da){ sdata=da;}}}//避障原路返回voidshunback(){ if(!KIN1) { out1=0; out2=1; out3=1; out4=0; delay(1000); while(K1&&K2&&K3&&K4&&K5); } elseif(!KIN2) { out1=1; out2=0; out3=0; out4=1; delay(1000); while(K1&&K2&&K3&&K4&&K5); } else{;}}//循跡voidscanline(){ P1=0XFF; if(!(K1||K2||K3||K4||K5)) {counter++; if(counter==5)stop(); } if(K5==0){comeleft();} elseif(!K1){ comeright();} elseif(!K4){ sleft();comeon(); } elseif(!K2){ sright();comeon(); } elseif(!K3){ comeon();comeon(); } else{P2=P2;}}voidmain(void){ P1=0XFF; P2=0XFF; P3=0XFF; P0=0XFF; Init(); while(1) {display(counter); GetKeyValue();//紅外遙控鍵值取值 if(sdata==221) //按221鍵則小車(chē)停止運(yùn)行 { flag=0; //小車(chē)停止變量 beep(); //蜂鳴器叫兩聲 stop(); //小車(chē)停止 sdata=0; //紅外遙控鍵變量歸零 } elseif(sdata==93)//按93鍵則小車(chē)啟動(dòng) { flag=1; //小車(chē)啟動(dòng)變量 beep(); //蜂鳴器叫兩聲 comeon(); //小車(chē)啟動(dòng) sdata=0; //紅外遙控鍵變量歸零 } else{;} if(flag==1) // //小車(chē)啟動(dòng),則進(jìn)行尋線(xiàn)避障操作 { shunback(); //避障 scanline(); //尋線(xiàn) } }}1.6.3程序下載調(diào)試圖1-10程序下載軟件界面如圖1-10是STC89C51單片機(jī)程序下載軟件STC-ISP.exe。下載方式步驟如下:(1)首先像2-5連接串口,安裝硬件驅(qū)動(dòng)。右擊“我的電腦”,點(diǎn)擊“屬性”,選擇“硬件/設(shè)備管理器”單擊“端口”查看串口是否被連接。連接成功則顯示com端口號(hào)。(2)首先點(diǎn)擊STC-ISP.exe快捷方式進(jìn)入圖2-4界面。點(diǎn)擊“OpenFile”按鈕選擇要下載的程序確定,在選擇下載點(diǎn)串口COM,下一步點(diǎn)擊“Download/下載”,按“Download/下載”之前小車(chē)處于斷電狀態(tài),按下瞬間必須給小車(chē)供電。1.7智能小車(chē)運(yùn)行效果圖1.8總結(jié)經(jīng)過(guò)為期兩周的實(shí)訓(xùn)讓我有如下幾點(diǎn)的感想和收獲,首先讓

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論