資源描述:
《基于51單片機(jī)智能小車(chē)循跡程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、#include#include#defineuintunsignedint#defineucharunsignedchar/**********************************/ucharled_data[9]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80};ucharcircle=0,cir_comp=0,cir_count=0;//設(shè)定圈數(shù),實(shí)際圈數(shù)ucharturn_count=0;bitend=0;//圈數(shù)跑完標(biāo)志/**************
2、*******************/sbitxg0=P1^0;//左尋軌對(duì)管sbitxg1=P1^1;//中間尋軌對(duì)管sbitxg2=P1^2;//右尋軌對(duì)管sbitxz=P1^3;//感應(yīng)擋板對(duì)管/*********************************/sbitQ_IN1=P2^0;//車(chē)前左輪控制sbitQ_IN2=P2^1;sbitQ_IN3=P2^2;//車(chē)前右輪控制sbitQ_IN4=P2^3;sbitH_IN1=P2^4;//車(chē)尾左輪控制sbitH_IN2=P2^5;sbitH_IN3=P2^6;//車(chē)尾右輪控制sbitH
3、_IN4=P2^7;sbitQ_ENA=P3^0;//車(chē)前左輪使能,PWMsbitQ_ENB=P3^1;//車(chē)前右輪使能,sbitH_ENA=P3^6;//車(chē)尾左輪使能,sbitH_ENB=P3^7;//車(chē)尾右輪使能,/****************************************/#definestra_q_l100//直線行走時(shí),四個(gè)輪子占空比調(diào)試#definestra_q_r100#definestra_h_l100#definestra_h_r100#defineturn_q_l100//轉(zhuǎn)彎時(shí)四個(gè)輪子的占空比調(diào)試#defi
4、neturn_q_r100#defineturn_h_l100#defineturn_h_r100#defineturnr_time2900//右轉(zhuǎn)彎時(shí)的延時(shí)常數(shù)#defineturnl_time3000//左轉(zhuǎn)彎時(shí)的延時(shí)常數(shù)#definedt_time5800//原地掉頭時(shí)延時(shí)常數(shù)#defineover_time1000//停止延時(shí)#defineback_time2500//走完環(huán)形,回到直道延時(shí)轉(zhuǎn)彎#defineblack_time1500//過(guò)黑線的時(shí)間#definecorrect_l_time700//左矯正時(shí)間#definecorrect_
5、r_time700//右矯正時(shí)間#definehou_time200/***************************************/ucharq_duty_l,q_duty_r,h_duty_l,h_duty_r,//車(chē)前后左右輪占空比i=0,j=0,k=0,m=0;/**************************************/voiddelay_cir(uintn){ucharx;while(n--){for(x=0;x<250;x++);};}/*********************************
6、**/voiddelay(uintct)//延時(shí)函數(shù){uintt;t=ct;while(t--);}/***************************************/voidstraight()//直走{q_duty_l=stra_q_l;q_duty_r=stra_q_r;h_duty_l=stra_h_l;h_duty_r=stra_h_r;Q_IN1=1;Q_IN2=0;Q_IN3=1;Q_IN4=0;H_IN1=1;H_IN2=0;H_IN3=1;H_IN4=0;}/******************************
7、*********/voidhoutui()//后退{(lán)q_duty_l=stra_q_l;q_duty_r=stra_q_r;h_duty_l=stra_h_l;h_duty_r=stra_h_r;Q_IN1=0;Q_IN2=1;Q_IN3=0;Q_IN4=1;H_IN1=0;H_IN2=1;H_IN3=0;H_IN4=1;}/***************************************/voidturn_left()//左轉(zhuǎn){q_duty_l=turn_q_l;q_duty_r=turn_q_r;h_duty_l=turn_h_l
8、;h_duty_r=turn_h_r;Q_IN1=0;//左輪反轉(zhuǎn)Q_IN2=1;H_IN1=0;H_IN2