找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1777|回復(fù): 1
收起左側(cè)

基于51單片機(jī)的兩路避障小車程序

[復(fù)制鏈接]
ID:723182 發(fā)表于 2020-4-27 18:16 | 顯示全部樓層 |閱讀模式
  1. //每次的轉(zhuǎn)向角度可以通過(guò)延時(shí)的時(shí)間來(lái)控制
  2. #include<reg51.h>
  3. sbit cgl=P1^2;//左傳感器
  4. sbit cgr=P1^1;//右傳感器
  5. sbit l1=P0^1;//左邊輪子
  6. sbit l2=P0^2;
  7. sbit r3=P0^3;//右邊輪子
  8. sbit r4=P0^4;
  9. unsigned int m;
  10. void delay(unsigned int t)//延時(shí)tms
  11. {
  12.    unsigned i,j;
  13.    for(i=0;i<t;i++)
  14.       for(j=0;j<120;j++);
  15. }
  16. void left() //左邊有障礙物,往右拐
  17.        {
  18.          l1=0;l2=0;r3=0;r4=0;delay(300);//保護(hù)電機(jī),急停然而改變轉(zhuǎn)向
  19.                l1=0;l2=1; //后退
  20.         r3=0;r4=1;
  21.               delay(400);//拐彎的延時(shí)控制拐彎的幅度
  22.               l1=0;l2=0;r3=0;r4=0;delay(300);            
  23.          l1=1;l2=0;//向右拐
  24.                r3=0;r4=1;
  25.                delay(600);
  26.                l1=0;l2=0;r3=0;r4=0;delay(300);
  27.        }
  28. void right() //右邊有障礙物,往左拐
  29.        {
  30.             l1=0;l2=0;r3=0;r4=0;delay(300);
  31.                l1=0;l2=1; //后退
  32.         r3=0;r4=1;
  33.               delay(400);
  34.               l1=0;l2=0;r3=0;r4=0;delay(300);
  35.                l1=0;l2=1;//向左拐
  36.                r3=1;r4=0;
  37.                delay(600);
  38.                l1=0;l2=0;r3=0;r4=0;delay(300);
  39.        }
  40. void cg()interrupt 0 //與門輸出控制中斷
  41. {
  42.        if (cgl==0)m=1;
  43.        if (cgr==0)m=2;   
  44. }
  45. void main()
  46. {  
  47.    //P1=0xff;//初始化P1
  48.    EA=1;
  49.    EX0=1;
  50.    IT0=1;
  51.    while(1)
  52.      {   
  53.                  l1=1;l2=0; //前進(jìn)
  54.            r3=1;r4=0;
  55.                   switch(m)
  56.                  {
  57.                    case(1):left(); m=0;break;//右拐
  58.                       case(2):right();m=0;break;//左拐
  59.                       default:l1=1;l2=0; //前進(jìn)
  60.                                  r3=1;r4=0; break;
  61.                  }
  62.         }
  63. }      
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2020-4-28 14:08 | 顯示全部樓層
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說(shuō)明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表