久久久久久久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://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品视频免费看
|
美美女高清毛片视频免费观看
|
黄色一级大片在线免费看产
|
免费一级做a爰片久久毛片潮喷
|
精品1区2区
|
www.日韩
|
香蕉大人久久国产成人av
|
成人在线免费观看视频
|
欧美激情国产日韩精品一区18
|
黑人巨大精品欧美一区二区免费
|
av网站在线看
|
桃花av在线
|
欧美精品一区在线
|
亚洲综合在线视频
|
亚洲精品久久久久中文字幕二区
|
亚州av
|
激情欧美一区二区三区中文字幕
|
男人的天堂一级片
|
国产综合久久久久久鬼色
|
日韩一区二区三区在线观看
|
中文字幕11页
|
播放一级毛片
|
国产精品成人在线
|
日本免费一区二区三区四区
|
久久亚洲一区二区三区四区
|
999热精品视频
|
国产精品伦一区二区三级视频
|
香蕉久久a毛片
|
女生羞羞网站
|
久久a久久
|
欧美激情一区
|
精品久久香蕉国产线看观看亚洲
|
日本三级视频
|
www.日本国产
|
国产视频亚洲视频
|
欧美精品乱码99久久影院
|
久久久毛片
|
免费看一区二区三区
|
91麻豆蜜桃一区二区三区
|
中文字幕 在线观看
|
日日艹夜夜艹
|