久久久久久久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精品又粗又猛又爽
|
蜜桃av一区
|
国产一区欧美
|
日韩欧美色图
|
九九精品在线视频
|
九九99久久
|
夜夜嗨av一区二区三区网页
|
中文字幕在线观看一区二区三区
|
日本在线天堂
|
91在线一区二区
|
欧美日韩精品一区
|
国产精品一区二区三区四区
|
久久中文网
|
亚洲一区在线播放
|
成人精品在线观看
|
成 人 黄 色 片 在线播放
|
亚洲香蕉视频
|
中文字幕在线观看日韩
|
毛片毛片毛片
|
天堂网中文字幕
|
一级黄色免费
|
伊人久久在线
|
亚洲综合在线播放
|
丁香六月激情
|
色综合久久88色综合天天
|
www.男人天堂
|
亚洲国产中文字幕
|
日韩欧美在线视频
|
成人黄色免费网站
|
欧美精品日韩少妇
|
一级黄色片网站
|
丁香六月激情
|
欧美日韩国产成人
|
在线日韩av
|
九色自拍
|
av黄色网
|
亚洲视频在线观看一区
|
久久爱影视i
|
天天干天天干天天操
|
亚洲精品视频在线播放
|