資源簡介
51智能小車(紅外避障)
代碼片段和文件信息
/**********************ZYWIFI0939C-WIFI機器人實驗板例程************************
*??平臺:ZYWIFI0939C-WIFI機器人?+?Keil?U4?+?STC89C52
*??名稱:ZY-1智能小車參考程序
*??公司:湖南智宇科教設備有限公司
*??淘寶:https://hnzyrobot1688.taobao.com/?????
*??網站:www.hnzhiyu.cn
*??編寫:智宇公司研發一部
*??日期:2015-1-15
*??交流:智能車QQ:261339276
*??晶振:11.0592MHZ
*??說明:免費開源,不提供源代碼分析
*??硬件設置:要有自己動手能力,才能完成實驗
*??使用說明:根據下面IO口自己用杜邦線連接各種模塊,可以自己修改各種模塊IO口
*??視頻教程:本小車配套學習C語言詳細視頻教程,資料統一網盤下載
???重點提示:本程序只做參考,不提供技術支持,請自己研究吸收。
******************************************************************/
//關閉電源可以停止小車
//注意程序只做參考之用,要達到最理想的效果,還需要同學們細心調試。
#include ??????//包含51單片機頭文件,內部有各種寄存器定義
#include ??//包含HL-1藍牙智能小車驅動IO口定義等函數
???bit??flag_REC=0;
??? bit??flag????=0;??
??? unsigned?char??i=0;
unsigned?char??dat=0;
????unsigned?char??buff[5]=0;?//接收緩沖字節?
//主函數
void?main(void)
{
//unsigned?char?i;
???//?P1=0X00;?//關電車電機
//本實驗學習的按鍵啟動知識
/*
B: for(i=0;i<50;i++)?//判斷K4是否按下
{
???delay(1); //1ms內判斷50次,如果其中有一次被判斷到K0沒按下,便重新檢測
???if(P3_2!=0)//當S1按下時,啟動小車前進
???goto?B;?//跳轉到標號B,重新檢測??
}?
?*/???????//本實驗學習的知識蜂鳴器,注意要在ZY-4WD頭文件里定義IO口
?????BUZZ=0; //50次檢測K0確認是按下之后,蜂鳴器發出“滴”聲響,然后啟動小車。
?????delay(50);
?????BUZZ=1;//響50ms后關閉蜂鳴器
TMOD=0x21;??
????TH1=0xFd;?? ???//11.0592M晶振,9600波特率
????TL1=0xFd;
????SCON=0x50;??
????PCON=0x00;?
????TR1=1;
ES=1;???
???????? TH0=?0XFc; ??//1ms定時
????????? TL0=?0X18;
??????????? TR0=?1;
???????? ET0=?1;
????????EA?=?1; ?????//開總中斷
while(1) //無限循環
{?
?
?//有信號為0??沒有信號為1
??switch(buff[0])
??{
?? case 1: ?run();delay(100);break; ?//調用前進函數
case 2: ??leftrun();?delay(100);break; //調用小車左轉函數?
case 3: ??rightrun();delay(100);break; //調用電機右轉函數?
case 4: ???backrun();delay(100);break; // //后退050毫秒
??}
//??????????????if(Left_1_led==1&&Right_1_led==1)
//
// ??run(); ?//調用前進函數
//
// ??else
// ?{ ??
// ??????if(Left_1_led==1&&Right_1_led==0) ????//右邊檢測到紅外信號
// ? ?{
// ? ???leftrun(); ??//調用小車左轉函數
// ???delay(40);
//
// ?????}
// ???
// ? ??if(Right_1_led==1&&Left_1_led==0) //左邊檢測到紅外信號
// ??{ ??
// ??????
// ?
// ???rightrun(); ?//調用小車右轉函數
// ??delay(40);
//
// ??}
// ?? if(Right_1_led==0&&Left_1_led==0) //兩邊傳感器同時檢測到紅外
// ??{ ??
// ????backrun(); //調用電機后退函數
// delay(40); //后退050毫秒
// rightrun(); //調用電機右轉函數
// delay(90);
// ??}
// } ?
?}
}
void?sint()?interrupt?4 ??//中斷接收3個字節
{?
?
????if(RI) ?????????????????//是否接收中斷
????{
???????RI=0;
???????dat=SBUF;
???buff[i]=dat;
???????flag=1;?
??????if(flag==1)
?????{
?????//?i++;
??????buff[i]=dat;
?????//?if(i>=0)
??????//{i=0;flag=0;flag_REC=1?;}??//?停止接收
flag=0;flag_REC=1?;
?????}
?
?}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-11-15?21:49??紅外避障單獨程序-PWM調速\
?????文件????????3435??2016-01-03?16:30??紅外避障單獨程序-PWM調速\HJ-4WD.plg
?????文件????????3374??2020-11-15?21:48??紅外避障單獨程序-PWM調速\main.c
?????文件????????7754??2020-11-15?21:48??紅外避障單獨程序-PWM調速\main.LST
?????文件???????10521??2020-11-15?21:48??紅外避障單獨程序-PWM調速\main.OBJ
?????文件????????4602??2020-11-15?21:40??紅外避障單獨程序-PWM調速\ZY-4WD_PWM.H
?????文件????????9280??2020-11-15?21:48??紅外避障單獨程序-PWM調速\ZYWIFI0939C紅外避障單獨程序
?????文件????????1542??2020-11-15?21:48??紅外避障單獨程序-PWM調速\ZYWIFI0939C紅外避障單獨程序.hex
?????文件??????????63??2020-11-15?21:48??紅外避障單獨程序-PWM調速\ZYWIFI0939C紅外避障單獨程序.lnp
?????文件???????10677??2020-11-15?21:48??紅外避障單獨程序-PWM調速\ZYWIFI0939C紅外避障單獨程序.M51
?????文件????????1916??2020-11-15?21:49??紅外避障單獨程序-PWM調速\ZYWIFI0939C紅外避障單獨程序.plg
?????文件???????71940??2020-11-15?21:42??紅外避障單獨程序-PWM調速\ZYWIFI0939C紅外避障單獨程序.uvgui.Administrator
?????文件???????71942??2020-11-15?21:42??紅外避障單獨程序-PWM調速\ZYWIFI0939C紅外避障單獨程序.uvgui_Administrator.bak
?????文件???????56108??2020-11-15?21:49??紅外避障單獨程序-PWM調速\ZYWIFI0939C紅外避障單獨程序.uvopt
?????文件???????13648??2020-11-15?21:49??紅外避障單獨程序-PWM調速\ZYWIFI0939C紅外避障單獨程序.uvproj
?????文件????????6076??2020-11-15?21:42??紅外避障單獨程序-PWM調速\ZYWIFI0939C紅外避障單獨程序_uvopt.bak
?????文件???????13803??2020-11-15?21:40??紅外避障單獨程序-PWM調速\ZYWIFI0939C紅外避障單獨程序_uvproj.bak
評論
共有 條評論