資源簡介
基于51單片機的智能小車避障
該項目包括原理圖電路圖 程序源碼 演示視頻講解文檔全套資料
三分拿去 超值了
代碼片段和文件信息
/*****************ZYDJ-CSB09A舵機控制*****************
*??平臺:ZYDJ-CSB09A舵機控制?+?Keil?U4?+?STC89C52
*??程序名稱:超聲波避障程序+舵機轉向搖頭
*??公司:湖南智宇科教設備有限公司
*??淘寶:http://tmmcu1688.taobao.com???????
*??網站:www.china-zhiyu.com
*??編寫:智宇公司研發一部
*??日期:2015-1-15
*??交流:智能車QQ:1018973181?
*??晶振:11.0592MHZ
*??售后技術說明:免費開源,不支持客戶自己修改程序分析與改正,可以提供我公司程序說明
*??視頻教程:本小車配套學習C語言詳細視頻教程,資料統一網盤下載
******************************************************************/
/*?程序名:左右掃描哪一邊沒有障礙往哪邊走兩邊有退后轉大轉斷續走
??angle=12??舵機?居中????angle=9??剛好右邊???angle=16??剛好左邊
??調試舵機劇中的方法:插入電源,主板工作時,舵機剛好是居中的
??,此時,將舵機底板裝入白色舵機齒輪上面,用螺絲搞緊就可以了。
/*?晶振:11.00592?MHz?CPU型號:STC89C52?*/
/*****************************************************************/?
#include?
#include?
#define?uchar?unsigned?char
#define?uint??unsigned?int
sbit?TRIG=P1^6;
sbit?ECHO=P1^7;
sbit?pwm=P1^6;//PWM信號輸出口
sbit?in1=P1^0;
sbit?in2=P1^1;
sbit?in3=P1^2;
sbit?in4=P1^3;
uchar?ncountangleleftright;//距離標志位,0.5ms次數,角度標識
float?S;//距離變量
void?DelayUs2x(uchar?t)
{???
while(--t);
}
void?DelayMs(uchar?t)
{
while(t--)
{
????//大致延時1mS
DelayUs2x(245);
????DelayUs2x(245);
}
}
void?go()//前進
{
in1=1;
in2=0;
in3=1;
in4=0;
}
void?back()//后退
{
in1=0;
in2=1;
in3=0;
in4=1;
}
void?turnleft()//左轉
{
in1=0;
in2=1;
in3=1;
in4=0;
}
void?turnright()//右轉
{
in1=1;
in2=0;
in3=0;
in4=1;
}
void?stop()//停車
{
in1=0;
in2=0;
in3=0;
in4=0;
}
/*------------------------------------------------
????????????????????定時器01初始化
------------------------------------------------*/
void?TIM0init(void)
{
TMOD|=0x11;//定時器1工作方式1?(超聲波),定時器0舵機
TH1=0x00;????
????TL1=0x00;
????TH0=0xff;
????TL0=0xa3;//11.0592MHz晶振,0.5ms
????ET1=1;
????ET0=1;
????EA=1;
????TR0=1;//定時器開始
????IE=0x82;
}
void?chaoshengbo()
{
TRIG=1;//觸發信號是高電平脈沖,寬度大于10us
????DelayUs2x(10);
????TRIG=0;
????while(!ECHO);//等待高電平
????TR1=1;
????while(ECHO);//等待低電平
????TR1=0;
????S=TH1*256+TL1;//取出定時器值高8位和低8位合并
????S=S/58;???????//為什么除以58等于厘米,??Y米=(X秒*344)/2
??????????????????//?X秒=(?2*Y米)/344?->?X秒=0.0058*Y米?->?厘米=微秒/58?
????if(S>=25)
????{n=1;}
????if(S<25)
????{n=0;}
????TH1=0;
????TL1=0;//清除定時器0寄存器中的值
}
/*------------------------------------------------
????????????????????主函數
------------------------------------------------*/
main()
{
angle=12;//舵機居中
????count=0;
????TIM0init();//初始化定時器
????while(1)
????{??????????
chaoshengbo();
????????DelayMs(20);
????????if(n==1)//如果大于一定距離
????????{go();}//前進
????????
if(n==0)//如果小于一定距離
????????{
stop();//停車
DelayMs(3000);
back();
DelayMs(2000);
turnleft();
DelayMs(2000);
turnright();
DelayMs(2000);
stop();
DelayMs(2000);
go();
????????????
}????????
}
}
/*------------------------------------------------
?????????????????定時器中斷子程序
------------------------------------------------*/
void?Time0_0(v
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????32282??2018-05-02?10:56??原理圖.rar
?????目錄???????????0??2018-10-10?18:51??成品\
?????目錄???????????0??2018-04-29?13:02??成品\70241資料整理\
?????文件??????204288??2018-04-29?12:28??成品\70241資料整理\70241.SchDoc
?????文件???????82022??2018-04-29?12:28??成品\70241資料整理\70241.SchDocPreview
?????文件?????1275153??2018-04-27?16:37??成品\70241資料整理\70241論文(修改).doc
?????文件?????4053563??2018-04-29?12:44??成品\70241資料整理\IMG20180429121841.jpg
?????目錄???????????0??2018-04-29?12:36??成品\70241資料整理\超聲波避障程序\
?????目錄???????????0??2018-04-29?12:36??成品\70241資料整理\超聲波避障程序\hex\
?????文件????????8067??2018-04-29?12:36??成品\70241資料整理\超聲波避障程序\hex\超聲波避障(舵機搖頭)
?????文件????????2320??2018-04-29?12:36??成品\70241資料整理\超聲波避障程序\hex\超聲波避障(舵機搖頭).hex
?????文件?????????120??2018-04-29?12:36??成品\70241資料整理\超聲波避障程序\hex\超聲波避障(舵機搖頭).lnp
?????文件????????8741??2018-04-29?12:36??成品\70241資料整理\超聲波避障程序\hex\超聲波避障(舵機搖頭).obj
?????文件????????8842??2018-04-29?11:00??成品\70241資料整理\超聲波避障程序\超聲波避障(舵機搖頭)
?????文件????????3751??2018-04-29?12:36??成品\70241資料整理\超聲波避障程序\超聲波避障(舵機搖頭).c
?????文件????????2521??2018-04-29?11:00??成品\70241資料整理\超聲波避障程序\超聲波避障(舵機搖頭).hex
?????文件????????7742??2018-04-29?12:36??成品\70241資料整理\超聲波避障程序\超聲波避障(舵機搖頭).LST
?????文件???????12062??2018-04-29?12:36??成品\70241資料整理\超聲波避障程序\超聲波避障(舵機搖頭).M51
?????文件????????9775??2018-04-29?11:00??成品\70241資料整理\超聲波避障程序\超聲波避障(舵機搖頭).OBJ
?????文件?????????248??2015-06-30?22:16??成品\70241資料整理\超聲波避障程序\超聲波避障(舵機搖頭).plg
?????文件???????71178??2018-04-29?12:36??成品\70241資料整理\超聲波避障程序\超聲波避障(舵機搖頭).uvgui.Administrator
?????文件???????71177??2018-04-29?12:29??成品\70241資料整理\超聲波避障程序\超聲波避障(舵機搖頭).uvgui_Administrator.bak
?????文件????????5086??2018-04-29?12:36??成品\70241資料整理\超聲波避障程序\超聲波避障(舵機搖頭).uvopt
?????文件????????5087??2018-04-29?12:19??成品\70241資料整理\超聲波避障程序\超聲波避障(舵機搖頭)_uvopt.bak
?????文件???????13454??2018-04-28?21:32??成品\70241資料整理\超聲波避障程序\超聲波避障(舵機搖頭)_uvproj.bak
?????目錄???????????0??2018-10-10?18:51??視頻\
?????文件????72212947??2018-05-25?18:52??視頻\70241(20180525晚錄制).wmv
?????目錄???????????0??2018-10-10?18:52??需求\
?????文件???????80384??2018-04-12?22:12??需求\70241.doc
評論
共有 條評論