智能小車循跡、避障、紅外遙控c語言代碼_第1頁
智能小車循跡、避障、紅外遙控c語言代碼_第2頁
智能小車循跡、避障、紅外遙控c語言代碼_第3頁
智能小車循跡、避障、紅外遙控c語言代碼_第4頁
智能小車循跡、避障、紅外遙控c語言代碼_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/智能小車避障、循跡、紅外遙控C語言代碼/實現(xiàn)功能有超聲波避障,紅外遙控智能小車,紅外傳感器實現(xiàn)小車自動循跡,1602顯示小車的工作狀態(tài),另有三個獨立按鍵分別控制三種狀態(tài)的轉(zhuǎn)換/注每個小車的引腳配置都不一樣,要注意引腳的配置,但是我的代碼注釋比較多,看起來比較容易一點INCLUDEINCLUDEINCLUDE“LCDH“INCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTUCHARENCHAR_PUZH18“RUN“/1602顯示數(shù)組UCHARENCHAR_PUZH28“BACK“UCHARENCHAR_PUZH38“STOP“UCHARENCHAR_PUZH48“LEFT“UCHARENCHAR_PUZH58“RIGHT“UCHARENCHAR_PUZH68“XUNJI“UCHARENCHAR_PUZH78“BIZHANG“UCHARENCHAR_PUZH88“YAOKONG“DEFINEHWP2/紅外傳感器引腳配置P2K口DEFINEPWMP1/L298N管腳定義/超聲波引腳控制/SBITECHOP32/超聲波接收引腳定義兼紅外遙控按鍵STATE_TOTAL2SBITTRIGP33/超聲波發(fā)送引腳定義/紅外控制引腳配置SBITKEY2P37/紅外接收器數(shù)據(jù)線兼循跡按鍵STATE_TOTAL0SBITKEY1P34/獨立按鍵P34控制自動避障STATE_TOTAL1UCHARSTATE_TOTAL3,STATE_20/總狀態(tài)控制全局變量0為自動循跡模塊1為自動避障模塊2為紅外遙控UCHARSTATE_1,DAT/紅外掃描標志位UCHARTIME_10,TIME_20/定時器1中斷全局變量TIME_2控制PWM脈沖計數(shù)TIME_1控制轉(zhuǎn)彎延時計數(shù)也做延時一次0005SUCHARTIME,TIMEH,TIMEL,STATE0/超聲波測量緩沖變量STATE為超聲波狀態(tài)檢測控制全局變量UINTCOUNT0/1602顯示計數(shù)/UNSIGNEDCHARIRCOM7/紅外接收頭接收數(shù)據(jù)緩存IRCOM2存放的為數(shù)據(jù)UNSIGNEDCHARNUMBER,DISTANCE4,DATE_DATA80,0,0,0,0,0,0,0/紅外接收緩存變量/VOIDIRDELAYCHARX/X014MS紅外頭專用DELAYVOIDRUNVOIDBACKVOIDSTOPVOIDLEFT_90VOIDLEFT_180VOIDRIGHT_90VOIDDELAYUINTDAT/VOIDINIT_TESTVOIDDELAY_100MSUINTMSVOIDDISPLAYUCHARTEMP/超聲波顯示驅(qū)動VOIDBIZHANG_TESTVOIDXUNJI_TESTVOIDHONGWAI_TESTVOIDDELAY10MSVOIDVOIDINIT_TEST/定時器01外部中斷01延時初始化TMOD0X11/設(shè)置定時器01工作方式116位初值定時器TH10XFE/裝入初值定時一次為00005S2000HZTL10X0CTF00/定時器0方式1計數(shù)溢出標志TF10/定時器1方式1計數(shù)溢出標志ET01/允許定時器0中斷溢出ET11/允許定時器1中斷溢出EA1/開總中斷IFSTATE_TOTAL1/為超聲波模塊時初始化TRIG0/發(fā)射引腳低電平ECHO0/接收引腳低電平EX00/關(guān)閉外部中斷IT01/由高電平變低電平,觸發(fā)外部中斷0IFSTATE_TOTAL2/紅外遙控初始化IT11/外部中斷1為負跳變觸發(fā)EX11/允許外部中斷1TRIG1/33為高電平I/O口初始化DELAY60/等待硬件操作VOIDMAINUINTIDELAY50INIT_TESTTR11/開啟定時器1LCD1602_INITDELAY50WHILESTATE_20IFKEY10/檢測按鍵S1是否按下DELAY10MS/消除抖動IFKEY10STATE_TOTAL0/總狀態(tài)定義0為自動循跡模塊1為自動避障模塊2為紅外遙控WHILEI30EX11RETURN/014MS計數(shù)過長自動離開。/高電平計數(shù)完畢IRCOMJIRCOMJ1/數(shù)據(jù)最高位補“0”IFN8IRCOMJIRCOMJ|0X80/數(shù)據(jù)最高位補“1”N0/ENDFORK/ENDFORJIFIRCOM2IRCOM3/判斷數(shù)據(jù)碼與數(shù)據(jù)反碼是否正確真確返回EX11RETURNEX11VOIDTIME1_SUSPEND1VOIDINTERRUPT3/3為定時器1的中斷號1定時器0的中斷號0外部中斷12外部中斷04串口中斷TH10XEC/裝入初值定時一次為00005S2000HZTL10X78TIME_2/控制PWM脈沖計數(shù)IFSTATE_TOTAL3/判斷進入按鍵是否按下進入狀態(tài)1避障或者0循跡STATE_21/退出按鍵判斷/IFTIME_2100TIME_20ELSEIFTIME_20CFORB38B0BFORA130A0AVOIDDELAYUINTDAT/延時函數(shù)用于初始化UINTIFORIDATI0I_NOP_VOIDDELAY_100MSUINTMS/延時函數(shù)用于超聲波UINTI,JFORIMSI0IFORJ200J0J_NOP_NOP_NOP_NOP_NOP_/小車前進VOIDRUNVOIDPWM0X56/小車后退VOIDBACKVOIDPWM0XA9TR11TIME_20WHILETIME_22/小于15厘米小車后退再左轉(zhuǎn)BACKLEFT_180IFCOUNT20BAITEMP/100/1602顯示數(shù)據(jù)DATE_DATA5BAISHITEMP100/10DATE_DATA6SHIGETEMP10010DATE_DATA7GEFORI0IDISTANCE1ELSEDISTANCE0DISTANCE1IFDISTANCE0DISTANCE2ELSEDISTANCE0DISTANCE2IFDISTANCE0DISTANCE3ELSEDISTANCE0DISTANCE3DISTANCE_DATDISTANCE0J0DISPLAYDISTANCE_DATCOUNTVOIDXUNJI_TESTINTIDELAY50FORI0I8ILCD1602_WRITECOM0X80ILCD1602_WRITEDATAENCHAR_PUZH6IWHILE1/DELAY10STATE_1HWDATSTATE_1/判斷低4位的狀態(tài)每隔5MS檢測一次SWITCHDATCASE0X00RUNBREAKCASE0X01RIGHT_120BREAKCASE0X02RIGHT_90BREAKCASE0X04LEFT_90BREAKCASE0X06RUNBREAKCASE0X03RIGHT_120BREAKCASE0X08LEFT_120BREAKCASE0X0CLEFT_120BREAKDEFAULTRUNBREAKVOIDHONGWAI_TESTINTIDELAY60FORI0I8ILCD1602_WRITECOM0X80ILCD1602_WRITEDATAENCHAR_PUZH8I/TR11WHILE1NUMBERIRCOM2SWITCHNUMBERCASE0X18PWM0X56/前進FORI0I8ILCD1602_WRITECOM0X80ILCD1602_WRITEDATAENCHAR_PUZH1IBREAKCASE0X08PWM0X50/右兩輪正轉(zhuǎn)左轉(zhuǎn)FORI0I8ILCD1602_WRITECOM0X80ILCD1602_WRITEDATAENCHAR_PUZH4IBREAKCASE0X1CPWM0X00FORI0I8ILCD1602_WRITECOM0X80ILCD1602_WRITEDATAENCHAR_PUZH3IBREAKCASE0X5APWM0X06/左兩輪正轉(zhuǎn)右轉(zhuǎn)FO

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論