久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機自動避障小車
[打印本頁]
作者:
劃水小白
時間:
2019-4-25 18:09
標題:
單片機自動避障小車
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define barrierDis 0.2 //距離障礙物的距離2dm
sbit IN1 =P3^0; //控制第一個電機,從單片機出來后接L298n模塊的IN1
sbit IN2 =P3^1; //控制第一個電機,從單片機出來后接L298n模塊的IN2
sbit IN3 =P3^2; //控制第二個電機,從單片機出來后接L298n模塊的IN3
sbit IN4 =P3^3; //控制第二個電機,從單片機出來后接L298n模塊的IN4
sbit Trig = P1^5; //產生脈沖引腳
sbit Echo = P1^4; //回波引腳
sbit servorControl =P1^6; //舵機的控制引腳
uchar flag=0; //有障礙物
uint jieshoutime; //接收返回障礙信號的時間
float juli; //小車與障礙物距離
uchar control=5;
uchar servorTime=0; //伺服時間
小車 (1).rar
(36.83 KB, 下載次數: 34)
2019-4-25 18:08 上傳
點擊文件名下載附件
智能小車
下載積分: 黑幣 -5
uchar leftFlag=0;//左方向是否有障礙的標志
uchar rightFlag=0;//右方向是否有障礙的標志
void delay_ms(uint ms)//延時函數
{
uchar time;
while(ms--)
for(time=0;time<100;time++);
}
void chufa() //12us脈沖
{
Trig=1;
_nop_(); // _nop_()=1us
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
Trig=0;
}
void stop()
{
IN1=0;
IN2=0;
IN3=0;
IN4=0;
}
void forward()
{
IN1=0;
IN2=1;
IN3=0;
IN4=1;
}
void anticlockwise() //←
{
IN1=0;
IN2=1;
IN3=1;
IN4=0;
}
void backoff ()
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
}
void clockwise() //→
{
IN1=1;
IN2=0;
IN3=0;
IN4=1;
}
uchar getDistance() //利用超聲波模塊判斷有無障礙物
{
TH0=0;
TL0=0;
chufa();
while(!Echo); //接收信號取時
TR0=1;
while(Echo);
TR0=0;
jieshoutime=TH0*256+TL0; //接收信號轉換為10進制
juli=(jieshoutime*0.000001*344)/2; //風速設為344m/s
if(juli<barrierDis&&flag==0) //無障礙
{
return 0;
}
else
{
flag=0; //有障礙
return 1;
}
}
/****************************
void bizhang() //無舵機避障函數
{
if(getDistance()==0)
{
stop();
delay_ms(500);
anticlockwise();
delay_ms(700);
forward();
delay_ms(500);
}
else;
}
****************************/
void main()
{
EA=1;
ET0=1;
ET1=1;
TMOD=0x11;
TH1=0xff;
TL1=0x9c;
servorTime=0;
while(1)
{
stop();
delay_ms(200);
control=10;//控制舵機使超聲波模塊正對前方
servorTime=0;
TR1=1;
delay_ms(100);
TR1=0;
forward();
while(getDistance()==1); //向前行駛,直到前方有障礙物
do
{
stop();
control=15; //使舵機向左擺動
servorTime=0;
TR1=1;
delay_ms(100);
TR1=0;
leftFlag=getDistance();
control=5; //使舵機向右擺動
servorTime=0;
TR1=1;
delay_ms(100);
TR1=0;
rightFlag=getDistance();
control=20;
servorTime=0;
TR1=1;
delay_ms(100);
TR1=0;
backoff ();
delay_ms(200);
}
while(leftFlag==0&&rightFlag==0);
if(rightFlag==0&&leftFlag==1) //左側沒有障礙物
anticlockwise();
else if(rightFlag==1&&leftFlag==0)//右側沒有障礙物
clockwise();
else if(rightFlag==1&&leftFlag==1)//兩側都沒有障礙物,默認向左走
anticlockwise();
delay_ms(1000);
}
}
void T1_int(void) interrupt 3 //產生舵機所需要的脈沖
{
TH1=0xff;
TL1=0x9c;
servorTime++;
if(servorTime<=control)
servorControl=1;
else
servorControl=0;
if(servorTime>=200)
servorTime=0;
}
void T0_int(void) interrupt 1 //超聲波超出測量范圍
{
flag=1;
}
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
91网站视频在线观看
|
欧美成人一区二区
|
日韩精品无码一区二区三区
|
精品在线观看入口
|
亚洲精品一区二区三区蜜桃久
|
午夜在线
|
成年人视频在线免费观看
|
理论片87福利理论电影
|
欧美一区二区三
|
av中文网
|
国产精品av久久久久久毛片
|
免费a v网站
|
亚洲男人网
|
香蕉视频在线播放
|
女女百合av大片一区二区三区九县
|
久久久久国产精品一区三寸
|
日日日日日日bbbbb视频
|
91视频观看
|
国内精品99
|
国产精品亚洲一区
|
97色免费视频
|
亚洲国产精品人人爽夜夜爽
|
欧美久久国产
|
色综合区
|
www.4hu影院
|
欧美中国少妇xxx性高请视频
|
色天堂影院
|
国产资源在线观看
|
中文在线一区二区
|
亚洲在线免费
|
亚洲精品视频在线
|
欧美日韩亚洲在线
|
欧美成人一区二区
|
www.男人天堂.com
|
一区二区三区免费观看
|
高清国产午夜精品久久久久久
|
夜夜夜夜草
|
国产美女h视频
|
国产美女自拍视频
|
亚洲激情一区二区
|
91私密视频
|