智能小車的功能設(shè)計(jì)與實(shí)現(xiàn)_第1頁
智能小車的功能設(shè)計(jì)與實(shí)現(xiàn)_第2頁
智能小車的功能設(shè)計(jì)與實(shí)現(xiàn)_第3頁
智能小車的功能設(shè)計(jì)與實(shí)現(xiàn)_第4頁
智能小車的功能設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

課程名稱:單片機(jī)實(shí)訓(xùn)任務(wù)書實(shí)訓(xùn)(習(xí))題目:智能小車的功能設(shè)計(jì)與實(shí)現(xiàn)實(shí)訓(xùn)(習(xí))目的:(1)、鞏固、加深和擴(kuò)大單片機(jī)應(yīng)用的知識面,提高綜合及靈活運(yùn)用所學(xué)知識解決工業(yè)控制的能力;(2)培養(yǎng)針對課程需要。鍛煉學(xué)生查閱有關(guān)手冊、圖標(biāo)及文獻(xiàn)資料的自學(xué)能力,提高組成系統(tǒng)、編程、調(diào)試的動(dòng)手能力;(3)對課程的方案分析、選擇、比較、熟悉單片機(jī)系統(tǒng)開發(fā)、研制的過程,軟硬件設(shè)計(jì)的方法、內(nèi)容及步驟。實(shí)訓(xùn)(習(xí))內(nèi)容:安裝智能小車及相關(guān)功能設(shè)計(jì)、調(diào)試實(shí)訓(xùn)(習(xí))要求:1.本實(shí)訓(xùn)要求由一個(gè)團(tuán)隊(duì)完成,團(tuán)隊(duì)人員不超過8個(gè)人。2.通過所學(xué)知識并利用智能小車、計(jì)算機(jī)、keil軟件、燒寫軟件等完成實(shí)訓(xùn)項(xiàng)目,并擬定實(shí)訓(xùn)報(bào)告。3.能正確組裝和調(diào)試智能小車。4.實(shí)訓(xùn)完成后,根據(jù)實(shí)訓(xùn)內(nèi)容撰寫實(shí)訓(xùn)報(bào)告書一份。實(shí)訓(xùn)報(bào)告應(yīng)包括的主要內(nèi)容(參考)1系統(tǒng)硬件組成與工作原理1.1控制器與最小系統(tǒng)1.2顯示模塊與按鍵模塊1.3報(bào)警模塊1.4電機(jī)與驅(qū)動(dòng)模塊的工作原理與接口1.5循跡模塊的工作原理與接口1.6避障模塊的工作原理與接口2功能方案及軟件設(shè)計(jì)2.1功能設(shè)計(jì)2.2軟件設(shè)計(jì)(結(jié)合某一賽道、障礙設(shè)置說明程序設(shè)計(jì)思路,給出流程圖、程序代碼)3功能調(diào)試與總結(jié)3.1功能調(diào)試排版要求:正文小4宋體;段首縮進(jìn)2字,行間距固定值18磅。內(nèi)容展開可以按3級標(biāo)題形式,如:按1……、1.1……、1.1.1形式(如果需要)。每個(gè)1級標(biāo)題另起一頁,1級標(biāo)題三號黑體居中,題序和標(biāo)題之間空兩個(gè)空格,不加標(biāo)點(diǎn),段前、段后均為1行,固定值22磅。2級標(biāo)題:四號黑體左起,四號黑體,段前、段后均為12磅。三級標(biāo)題:小四號黑體左起,段前、段后均為6磅。圖名、表名五號黑體,英文、數(shù)字字體為TimesNewRoman頁邊距:上、下、左3厘米,右2厘米,A4紙打印。系統(tǒng)硬件組成與工作原理1.1.1控制器與最小系統(tǒng)最小系統(tǒng):要使一塊單片機(jī)芯片工作起來最簡陋的接線方式就是單片機(jī)的最小系統(tǒng)。下面STC89C52單片機(jī)的最小系統(tǒng)(注意:不同封裝的單片機(jī)引腳位置不同,下圖是DIP40封裝)。將一塊單片機(jī)芯片接成這樣就能工作了。下面分析一下電路中各個(gè)部分的作用:供電電路:40腳接電源+5V,20腳接地,這樣便完成了單片機(jī)的供電。選擇使用內(nèi)部ROM:我們下載程序的時(shí)候是將程序下載的單片機(jī)內(nèi)部的ROM里面存放的,將EA/VPP端接到高電平(+5V),就告訴單片機(jī)系統(tǒng)我們選擇的是內(nèi)部的ROM,這樣單片機(jī)工作的時(shí)候就會(huì)執(zhí)行內(nèi)部ROM里面的代碼了。如果將EA/VPP接地,單片機(jī)就會(huì)執(zhí)行擴(kuò)展的外部ROM,我們沒有擴(kuò)展ROM呀,以后在沒有擴(kuò)展ROM的時(shí)候我們都將它接高電平就OK。復(fù)位電路:復(fù)位電路由電阻R1和電容C1組成。復(fù)位電路是用以完成單片機(jī)的復(fù)位初始化操作的(復(fù)位單片機(jī)RAM和各個(gè)寄存器的值的)。也就是說,在單片機(jī)還沒工作之前,我們先把寄存器的值全部復(fù)位成初始的默認(rèn)值然后再開始工作,避免執(zhí)行程序的時(shí)候發(fā)生錯(cuò)亂。那復(fù)位電路的工作原理是怎樣的呢?在單片機(jī)沒上電的時(shí)候,電容C1兩個(gè)極板沒有電荷,在單片機(jī)上電的瞬間,電容C1兩端獲得電壓開始充電,既然C1要充電那么就必定有電流通過R1,所以在R1兩端產(chǎn)生了瞬時(shí)電壓,這個(gè)電壓被加到了單片機(jī)的RST端,單片機(jī)的RST端得到了一個(gè)高電平便復(fù)位了。隨著時(shí)間的推移,C1充滿電了,再也沒電流通過R1了,R1兩端便沒有了電壓,單片機(jī)的RST引腳又由高電平變成了低電平,這時(shí),單片機(jī)便開始工作了。值得注意的是,要引起單片機(jī)的復(fù)位,加在RST端的高電平必須保持在一定的時(shí)間以上(連續(xù)2個(gè)機(jī)器周期以上高電平)。時(shí)鐘電路:時(shí)鐘電路由C2、C3和晶振Y1組成。時(shí)鐘電路的作用是給單片機(jī)提供時(shí)鐘脈沖,只有給單片機(jī)提供時(shí)鐘脈沖單片機(jī)才會(huì)執(zhí)行程序。1.2顯示模塊與按鍵模塊1.2.1顯示模塊學(xué)習(xí)目標(biāo)認(rèn)識數(shù)碼管是什么東西?用HJ-1G點(diǎn)亮第一個(gè)數(shù)碼管,認(rèn)識一個(gè)新的芯片HJ573集成電路的應(yīng)用。1.2.4單個(gè)數(shù)碼管原理圖如果需要顯示“3”字符,則“E”“F”“DP”段都不顯示,其他段點(diǎn)亮可以根據(jù)上圖算出需要的8位段碼值:共陰16進(jìn)制:0x4F共陽16進(jìn)制:0xB0本開發(fā)板使用共陰數(shù)碼管1.2.5開發(fā)板數(shù)碼管模塊原理圖1.3源碼編寫開始寫程序之前認(rèn)識一下鎖存器(74HC573):顧名思義,就是把輸入端的數(shù)據(jù)鎖存(或送)到輸出端,請看下圖中的U3元件,第11角(鎖存端)為高電平的時(shí)候,右邊D0-D7的輸入與左邊Q0-Q7的輸出是直通的,就是說,輸入端是什么電平,輸出端就是什么電平,可以把它當(dāng)作不存在。當(dāng)?shù)?1角為低電平的時(shí)候,左右兩端就被斷開了,無論輸入端怎么變化,輸出端都不會(huì)變化,當(dāng)?shù)?1角由低電平變?yōu)楦唠娖降囊凰查g,輸入端的數(shù)據(jù)立刻被傳送到輸出端,并且在11角保持為高電平期間,輸出端數(shù)據(jù)始終與輸入端數(shù)據(jù)相同,如果此時(shí)我們再次把第11角設(shè)置為低電平,那么以后當(dāng)輸入端無論再怎么變化,輸出端都不會(huì)變化而是保持剛才第11角在下降沿(由高電平到低電平跳變)之間時(shí)輸入端的值,這樣就達(dá)到了鎖存數(shù)據(jù)的目的,這也就是所謂的總線設(shè)計(jì)思路,一個(gè)8位的數(shù)據(jù)線加一個(gè)鎖存器后就可以擴(kuò)接多個(gè)元件,當(dāng)選通哪個(gè)元件的片選信號,就送數(shù)據(jù)給那個(gè)元件。先說這個(gè)元件,以后用到別的元件我們再解釋。74HC57311腳接高電平,鎖存不起作用,相當(dāng)于直通。相應(yīng)的段賦值“1”有效。74HC138A、B、C賦值0~7,則輸出端分別是Y0~Y7置“0”,如P2=0,則Y0=0;P2=6;則Y6=0;即選通第七個(gè)數(shù)碼管。程序如下/*-----------------------------------------------內(nèi)容:數(shù)碼管使用動(dòng)態(tài)掃描顯示,所以可以同時(shí)看到數(shù)碼管同時(shí)顯示數(shù)字或者字符,掃描原理可以參#include<reg51.h>#defineuintunsignedint#defineucharunsignedcharsbitdula=P2^6;sbitwela=P2^7;voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidmain(void)//每一個(gè)C語言程序有且只有一個(gè)主函數(shù),{while(1)//循環(huán)條件永遠(yuǎn)為真,以下程序一直執(zhí)行下去。{dula=1;P0=0x5b;//顯示一個(gè)2dula=0;wela=1;P0=0xfe;//顯示一位數(shù)碼管?可以自己修改顯示位數(shù)wela=0;delay(1);}}多個(gè)數(shù)碼管同時(shí)顯示上一節(jié)單個(gè)數(shù)碼管顯示,實(shí)際使用中單個(gè)數(shù)碼管往往不能滿足要求,這就需要多個(gè)數(shù)碼管組合使用,單個(gè)數(shù)碼管一般用靜態(tài)顯示,占用IO口線較多,如果使用普通的靜態(tài)顯示,單片機(jī)的IO口是不夠用的。所以就需要使用動(dòng)態(tài)掃描。通過程序讓任意一位數(shù)碼管顯示任意一種字符,這樣我們可以以時(shí)間為軸,循環(huán)顯示每個(gè)數(shù)碼管需要的數(shù)值,當(dāng)循環(huán)顯示的時(shí)間比較小時(shí),眼睛就不能分辨出閃爍,而是看到一個(gè)靜態(tài)的數(shù)值顯示,可以通過下載“數(shù)碼管動(dòng)態(tài)掃描”和“數(shù)碼管動(dòng)態(tài)掃描演示”,就可以深入了解這個(gè)原理,以后使用的數(shù)碼管顯示的部分都是基于這個(gè)原理的。1.4總結(jié)數(shù)碼管是最常用的顯示輸出模塊,可以顯示溫度,時(shí)間,步進(jìn)電機(jī)轉(zhuǎn)速等,數(shù)碼管里面簡單一點(diǎn)說是集成了8個(gè)發(fā)光管,由點(diǎn)變成線,由7條線1個(gè)點(diǎn)組成1個(gè)數(shù)碼管,發(fā)光管我們會(huì)寫程序控制它了,這個(gè)數(shù)碼管一定難不到我們,原理方法是一樣的,這次不是單片機(jī)IO口直接驅(qū)動(dòng)的,是加了573還有138共同來控制數(shù)碼管的點(diǎn)亮,主要是為了節(jié)省單片機(jī)IO口,一口多用,一個(gè)8位IO口實(shí)現(xiàn)多功能控制。1.5.1學(xué)習(xí)目標(biāo)獨(dú)立按鍵是區(qū)別于矩陣鍵盤的一種按鍵方式,主要是按鍵直接連接到IO口,另外一端連接VCC或者GND,一般情況連接到GND(地),也就是按鍵按下的時(shí)候,IO口的電平被強(qiáng)制拉低,即0,而通過IO輸入檢測該端口電平就可以判斷按鍵是否按下。1.5.2硬件電路1.6原理圖1.6.1觸點(diǎn)存在抖動(dòng)現(xiàn)象說明由于按鍵本身都存在不同的機(jī)械抖動(dòng),單片機(jī)屬于高速檢測器件,可以很容易檢測出抖動(dòng),但抖動(dòng)并不是我們需要的,容易造成誤操作,所以正常使用過程中需要添加去抖動(dòng)程序,主要用于跳過抖動(dòng),避免造成干擾。1.6.2開發(fā)板獨(dú)立按鍵模塊原理圖1.7源碼編寫?yīng)毩存I軟件操作簡單,主要檢測按鍵連接的IO口是否為“0”,為“0”表示按鍵按下。用以下語句:SbitKEY1=P3^0;If(!KEY1){//添加按鍵按下時(shí)需要執(zhí)行的操作}實(shí)際使用中按鍵有固定的機(jī)械抖動(dòng),根據(jù)不同按鍵抖動(dòng)時(shí)間不同,一般4-15mS,根據(jù)這個(gè)特點(diǎn),需要延時(shí)躲避抖動(dòng),由于按下和釋放都會(huì)存著抖動(dòng),實(shí)際使用程序需要進(jìn)行2次去抖。具體程序如下:#include<reg52.h>sbitBY1=P3^4;//定義按鍵的輸入端S2鍵unsignedcharcount;//按鍵計(jì)數(shù),每按一下,count加1unsignedchartemp;unsignedchara,b;voiddelay10ms(void)//延時(shí)程序{unsignedchari,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}key()//按鍵判斷程序{if(BY1==0)//判斷是否按下鍵盤{delay10ms();//延時(shí),軟件去干擾if(BY1==0)//確認(rèn)按鍵按下{count++;//按鍵計(jì)數(shù)加1if(count==8)//計(jì)8次重新計(jì)數(shù){count=0;//將count清零}}while(BY1==0);//按鍵鎖定,每按一次count只加1.}}move()//廣告燈向左移動(dòng)移動(dòng)函數(shù){a=temp<<count;b=temp>>(8-count);P1=a|b;}main(){count=0;//初始華參數(shù)設(shè)置temp=0xfe;P1=0xff;P1=temp;while(1)//永遠(yuǎn)循環(huán),掃描判斷按鍵是否按下{key();//調(diào)用按鍵識別函數(shù)move();//調(diào)用廣告燈移動(dòng)函數(shù)}}//如果有干擾請加去抖程序//紅外接收頭部分用黑色物質(zhì)遮光,防止干擾按鍵,因?yàn)榧t外接收和按鍵使用同一個(gè)端口1.3報(bào)警模塊一、蜂鳴器介紹蜂鳴器有兩種:一種是有源蜂鳴器,只要給它加上恒定的電壓,就能發(fā)聲,另一種是無源蜂鳴器,必須給它加上一定頻率的方波或正弦波才能發(fā)聲,一般實(shí)驗(yàn)板配的是無源蜂鳴器,HJ-1G開發(fā)板也不例外,由于驅(qū)動(dòng)蜂鳴器電流要求比較大,所以我們使用8550三極管來放大驅(qū)動(dòng),電路如下:FMIO口為P2.3圖2蜂鳴器外形圖注意:喇叭和蜂鳴器不同,如果蜂鳴器直接加5V電源則發(fā)出固定頻率的聲音。掉電后會(huì)消失。喇叭不同,加5V電壓后是不發(fā)聲的,但是器件處于最大功耗狀態(tài),會(huì)有非常大的熱功耗。長時(shí)間會(huì)燒毀喇叭。所以使用的時(shí)候要注意,如果不是專門針對它操作,請斷開它的輸入信號端子,防止誤操作導(dǎo)致意外損壞。二、蜂鳴器編程實(shí)例具體編程時(shí)我們間隔一段時(shí)間將BZ線置反,就能輸出一個(gè)固定頻率的方波,讓蜂鳴器響起來。大家可能會(huì)問,給蜂鳴器多少頻率的方波呢?首先這個(gè)頻率必須在音頻范圍內(nèi),也就是20Hz到20KHZ之間,但是20Hz到20KHZ的頻率送給蜂鳴器后,只有某一點(diǎn)的頻率是最響的,這個(gè)頻率稱為蜂鳴器的諧振頻率,離它越遠(yuǎn),蜂鳴器發(fā)出的聲音越輕。1G/3G開發(fā)板配的蜂鳴器的諧振頻率是2KHZ,其半周期是250us,這樣我們就確定了BZ口線每延時(shí)250us就要變反。下面是一個(gè)蜂鳴器發(fā)聲的實(shí)例程序:/*以下程序?yàn)镕M程序,晶振頻率為11.0592MHz*/#include<reg52.h>sbitSPK=P2^3;//定義蜂鳴器端口voiddelay(unsignedintcnt)//延時(shí){while(--cnt);}main(){unsignedinti;while(1){for(i=0;i<200;i++)//喇叭發(fā)聲的時(shí)間循環(huán),改變大小可以改變發(fā)聲時(shí)間長短{delay(80);//參數(shù)決定發(fā)聲的頻率,估算值SPK=!SPK;}SPK=1;//喇叭停止工作,間歇的時(shí)間,可更改delay(20000);}}1.4電機(jī)與驅(qū)動(dòng)模塊的工作原理與接口電機(jī)驅(qū)動(dòng)原理圖電機(jī)驅(qū)動(dòng)接口圖1.4.1電機(jī)驅(qū)動(dòng)模塊采用功率三極管作為功率放大器的輸出控制直流電機(jī)。線性型驅(qū)動(dòng)的電路結(jié)構(gòu)和原理簡單,加速能力強(qiáng),采用由達(dá)林頓管組成的H型橋式電路。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài)下,精確調(diào)整電動(dòng)機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡單的實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開關(guān)速度很快,穩(wěn)定性也極強(qiáng),是一種廣泛采用的PWM調(diào)速技術(shù)。這種調(diào)速方式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過載能力大,能承受頻繁的負(fù)載沖擊,還可以實(shí)現(xiàn)頻繁的無級快速啟動(dòng)、制動(dòng)和反轉(zhuǎn)等優(yōu)點(diǎn)。因此決定采用使用功率三極管作為功率放大器的輸出控制直流電機(jī)。1.5循跡模塊的工作原理與接口避障模塊的工作原理與接口2功能方案及軟件設(shè)計(jì)2.1功能設(shè)計(jì)本次功能設(shè)計(jì)為智能小車循跡加避障,循跡指尋黑線走,避障指遇到障礙物小車會(huì)自動(dòng)避開,尋找無障礙路線走下去;以及小車快速前進(jìn)走直線后慢速后退走直線功能。2.2軟件設(shè)計(jì)2.2.1程序設(shè)計(jì)要求賽道一:小車循跡黑線,在桌子上用黑線畫出一個(gè)橢圓賽道,小車將沿著黑線做循跡運(yùn)動(dòng);中間會(huì)設(shè)置障礙物,看小車能否自動(dòng)避障。2.2.4程序代碼#include<AT89X52.H> //包含51單片機(jī)頭文件,內(nèi)部有各種寄存器定義#include<HJ-4WD_PWM.H> //包含HL-1藍(lán)牙智能小車驅(qū)動(dòng)IO口定義等函數(shù)#ifndef_LED_H_#define_LED_H_//定義小車驅(qū)動(dòng)模塊輸入IO口 sbitIN1=P1^2; sbitIN2=P1^3; sbitIN3=P1^6; sbitIN4=P1^7; sbitEN1=P1^4; sbitEN2=P1^5; /***蜂鳴器接線定義*****/sbitBUZZ=P2^3; #defineLeft_1_ledP3_3 //左傳感器(循跡) #defineRight_1_ledP3_2 //右傳感器(循跡)#defineLeft_2_ledP3_5 //左傳感器(避障) #defineRight_2_ledP3_4 //右傳感器(避障) #defineLeft_moto_pwm P1_5 //PWM信號端 #defineRight_moto_pwm P1_4 //PWM信號端 #defineLeft_moto_go{P1_2=0,P1_3=1;}//左電機(jī)向前走 #defineLeft_moto_back{P1_2=1,P1_3=0;} //左邊電機(jī)向后轉(zhuǎn) #defineLeft_moto_Stop{P1_5=0;}//左邊電機(jī)停轉(zhuǎn) #defineRight_moto_go{P1_6=1,P1_7=0;} //右邊電機(jī)向前走 #defineRight_moto_back{P1_6=0,P1_7=1;} //右邊電機(jī)向后走 #defineRight_moto_Stop{P1_4=0;} //右邊電機(jī)停轉(zhuǎn) unsignedcharpwm_val_left=0;//變量定義 unsignedcharpush_val_left=0;//左電機(jī)占空比N/20 unsignedcharpwm_val_right=0; unsignedcharpush_val_right=0;//右電機(jī)占空比N/20 bitRight_moto_stop=1; bitLeft_moto_stop=1; unsignedinttime=0;/************************************************************************/ //延時(shí)函數(shù) voiddelay(unsignedintk){unsignedintx,y; for(x=0;x<k;x++) for(y=0;y<2000;y++);}/************************************************************************///前速前進(jìn)voidrun(void){push_val_left=6; //速度調(diào)節(jié)變量0-20。。。0最小,20最大 push_val_right=6; Left_moto_go;//左電機(jī)往前走 Right_moto_go;//右電機(jī)往前走}//后退函數(shù)如果看不明白,請看慧凈電子51智能小車視頻教程voidbackrun(void){push_val_left=6; //速度調(diào)節(jié)變量0-20。。。0最小,20最大 push_val_right=6; Left_moto_back;//左電機(jī)往后走 Right_moto_back;//右電機(jī)往后走}//左轉(zhuǎn)voidleftrun(void){ push_val_left=5; push_val_right=5; Right_moto_go;//右電機(jī)往前走Left_moto_back;//左電機(jī)往后走}//右轉(zhuǎn)voidrightrun(void){ push_val_left=5; push_val_right=5;Left_moto_go;//左電機(jī)往前走 Right_moto_back;//右電機(jī)往后走 }/************************************************************************//*PWM調(diào)制電機(jī)轉(zhuǎn)速*//************************************************************************//*左電機(jī)調(diào)速*//*調(diào)節(jié)push_val_left的值改變電機(jī)轉(zhuǎn)速,占空比*/ voidpwm_out_left_moto(void){if(Left_moto_stop){if(pwm_val_left<=push_val_left) { Left_moto_pwm=1;// Left_moto_pwm1=1; } else { Left_moto_pwm=0;// Left_moto_pwm1=0; } if(pwm_val_left>=20) pwm_val_left=0;}else{Left_moto_pwm=0;//Left_moto_pwm1=0; }}/******************************************************************//*右電機(jī)調(diào)速*/voidpwm_out_right_moto(void){if(Right_moto_stop){if(pwm_val_right<=push_val_right) { Right_moto_pwm=1;// Right_moto_pwm1=1; } else { Right_moto_pwm=0;// Right_moto_pwm1=0; } if(pwm_val_right>=20) pwm_val_right=0;}else{Right_moto_pwm=0;//Right_moto_pwm1=0; }}/***************************************************////*TIMER0中斷服務(wù)子函數(shù)產(chǎn)生PWM信號*/ voidtimer0()interrupt1using2{TH0=0XFc; //1Ms定時(shí) TL0=0X18; time++; pwm_val_left++; pwm_val_right++; pwm_out_left_moto(); pwm_out_right_moto();} /*********************************************************************/ #endif//主函數(shù) voidmain(void){ unsignedchari;P1=0X00;//關(guān)電車電機(jī) //本實(shí)驗(yàn)學(xué)習(xí)的按鍵啟動(dòng)知識 B: for(i=0;i<50;i++)//判斷K4是否按下 { delay(1); //1ms內(nèi)判斷50次,如果其中有一次被判斷到K4沒按下,便重新檢測 if(P3_7!=0)//當(dāng)K4按下時(shí),啟動(dòng)小車前進(jìn),如有不明,請看慧凈51單片機(jī)視頻教程 gotoB;//跳轉(zhuǎn)到標(biāo)號B,重新檢測 }//本實(shí)驗(yàn)學(xué)習(xí)的知識蜂鳴器,注意要在HJ-4WD頭文件里定義IO口 BUZZ=0; //50次檢測K4確認(rèn)是按下之后,蜂鳴器發(fā)出“滴”聲響,然后啟動(dòng)小車。 delay(50); BUZZ=1;//響50ms后關(guān)閉蜂鳴器 TMOD=0X01; TH0=0XFc; //1ms定時(shí) TL0=0X18; TR0=1; ET0=1; EA=1; //開總中斷 while(1) //無限循環(huán) { //有信號為0沒有信號為1if(Left_1_led==0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論