欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機小車避障程序與電路原理圖
[打印本頁]
作者:
njz123
時間:
2023-4-26 11:42
標題:
51單片機小車避障程序與電路原理圖
電路原理圖如下:
51hei.png
(225 KB, 下載次數: 38)
下載附件
2023-4-26 15:23 上傳
單片機源程序如下:
/********** 循跡程序 ************************/
// 接口連接:
// P0.0和P0.1-----右電機
// P0.2和P0.3-----左電機
// P1.0-----------右光電管
// P1.1-----------前光電管
// P1.2-----------左光電管
/*****************************************************/
#include<reg52.h>//包含必要頭文件
sbit you1=P0^0;//定義單片機控制右邊電機的引腳
sbit you2=P0^1;//定義單片機控制右邊電機的引腳
sbit zuo1=P0^2;//定義單片機控制左邊電機的引腳
sbit zuo2=P0^3;//定義單片機控制左邊電機的引腳
sbit q=P1^1;//定義單片機連接循跡板前邊光電管的引腳
sbit y=P1^0;//定義單片機連接循跡板右邊光電管的引腳
sbit z=P1^2;//定義單片機連接循跡板左邊光電管的引腳
void delay(int z)//pwm中使用的延時函數
{
int i,j;
for(i=2;i>0;i--)
for(j=z;j>0;j--);
}
void qian()//左右輪協同前進子函數
{
you1=0;
you2=1;
zuo1=0;
zuo2=1;
delay(8);//pwm調速 此為pwm有效值,前進時速度為全速的90%
you1=1;
you2=1;
zuo1=1;
zuo2=1;
delay(10-8);
}
void you()//左右輪協同 右轉子函數
{
you1=0;
you2=1;
zuo1=1;
zuo2=0;
delay(7);//pwm調速 此為pwm有效值,前進時速度為全速的80%
you1=1;
you2=1;
zuo1=1;
zuo2=1;
delay(10-7);
}
void zuo()//左右輪協同 左轉子函數
{
you1=1;
you2=0;
zuo1=0;
zuo2=1;
delay(7);//pwm調速 此為pwm有效值,前進時速度為全速的80%
you1=1;
you2=1;
zuo1=1;
zuo2=1;
delay(10-7);
}
void ting()//左右輪都停止轉動
{
you1=1;
you2=1;
zuo1=1;
zuo2=1;
delay(50000);
}
//下面是后退函數,這里沒有用到,注釋掉了
/*
void hou()//左右輪協同前進子函數
{
you1=1;
you2=0;
zuo1=1;
zuo2=0;
}
*/
void main()//主函數
{
z=1;
q=1;
y=1;
while(1)//單片機不間斷監測 (是個死循環)
{
qian();//調用前進子函數,使小車光電管不滿足以下幾個條件時都處于前進狀態
while((z==0)&&(y==1))//判斷當左邊光電管遇到黑線時
{
zuo();//調用左轉子函數
}
while((z==1)&&(y==0))//判斷當右邊光電管遇到黑線時
{
you();//調用右轉子函數
}
while((z==0)&&(q==0)&&(y==0))//判斷當左、前、右光電管均遇到黑線時
{
qian(); //即遇到十字路口時 繼續前進
}
while((z==0)&&(q==1)&&(y==0))//判斷當左、右光電管均遇到黑線,前光電管時
{
ting(); //即遇到T字路口時 停止
}
}
}
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1