找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機用L298N驅(qū)動的智能坦克資料

[復(fù)制鏈接]
ID:265598 發(fā)表于 2018-3-15 21:51 | 顯示全部樓層 |閱讀模式
51單片機用L298N驅(qū)動的智能小車資料
0.png

0.jpg
1.jpg 2.jpg 3.jpg

單片機源程序如下:
  1. #include<reg52.h>
  2. unsigned int i=0;
  3. sbit P36=P3^6;

  4. sbit P10=P1^0;         //循跡口
  5. sbit P11=P1^1;
  6. sbit P12=P1^2;

  7. sbit P14=P1^4;         //電機口
  8. sbit P15=P1^5;
  9. sbit P16=P1^6;                          
  10. sbit P17=P1^7;
  11. unsigned char j,time;
  12. unsigned int kop,dr;
  13. unsigned char a[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  14. unsigned char c[4]={0xff,0xff,0xff,0xff},d[4];

  15. void delay(unsigned char z)          //延時子程序
  16. {
  17. unsigned char j;
  18. while(z--)
  19. for(j=123;j>0;j--);
  20. }

  21.    void main()
  22.   {       
  23.     TMOD=0x15;              // 打開定時器和計數(shù)器
  24.         TH0=0x00;
  25.         TL0=0x00;
  26.                    
  27.           TH1=0XFc;               //1ms
  28.         TL1=0X18;
  29.         EA = 1;
  30.     ET0=1;
  31.         ET1=1;
  32.     TR1 = 1;
  33.         TR0 = 1;

  34.    while(1)
  35.       {  
  36.               if(P10==0&&P11==0&&P12==0)
  37.              {
  38.                   TR0=0;                                  //顯示時間          停
  39.               P0=d[0];                  
  40.               P2=0XFE;
  41.               delay(1);
  42.               P0=d[3];                  
  43.               P2=0XFB;
  44.               delay(3);

  45.              P0=d[2];                                 //顯示測速                   停
  46.              P2=0XFD;
  47.              delay(3);
  48.              P0=d[3];               
  49.              P2=0XF7;
  50.              delay(3);
  51.              P14=1;P15=1;P16=1; P17=1;
  52.         }
  53.       }
  54.   }
  55.    void timer1() interrupt 3    //中斷 服務(wù)程序
  56. {
  57.    unsigned int qq=0,ww=0;
  58.    TH1=0XFc;
  59.    TL1=0X18;//1ms
  60.    i++;
  61.     switch(i%4)
  62.     {                       
  63.     case 0:P0=c[0],P2=0XFE;d[0]=c[0];break;
  64.     case 1:P0=c[1],P2=0XFD;d[1]=c[1];break;
  65.     case 2:P0=c[2],P2=0XFB;d[2]=c[2]; break;
  66.     case 3:P0=c[3],P2=0XF7;d[3]=c[3]; break;
  67.     default:break;
  68.     }                  
  69.     P14=1;P15=1;P16=1; P17=1;
  70.        
  71.         if(P10==0&&P11==0&&P12==0)                //全測到
  72.         dr=0;
  73.         if(P10==1&&P11==0&&P12==1)                //中間測到
  74.         dr=1;
  75.         if(P10==0&&P11==1&&P12==1)                 //左邊測到
  76.         dr=2;
  77.     if(P10==1&&P11==1&&P12==0)                 //右邊測到
  78.         dr=3;
  79.         if(P10==0&&P11==0&&P12==1)                 //左兩測到
  80.         dr=4;
  81.         if(P10==1&&P11==0&&P12==0)                 //右兩測到       
  82.         dr=5;
  83.    
  84.         switch(dr)
  85.          {
  86.      case 0:P14=1,P15=1,P16=1,P17=1,TR1=0;break;              //全測到     停
  87.           
  88.      case 1:P14=0,P15=1,P16=0,P17=1;break;              //直走
  89.          
  90.          case 2:P14=1,P15=1,P16=0,P17=1,ww=1;break;    //左拐
  91.           
  92.          case 3:P14=0,P15=1,P16=1,P17=1,qq=1;break;           //右拐
  93.           
  94.          case 4:P14=1,P15=0,P16=0,P17=1,ww=1;break;           //左兩測到   左拐

  95.          case 5:P14=0,P15=1,P16=1,P17=0,qq=1;break;           //右兩測到   右拐
  96.          }
  97.          /*跑出跑道外記憶 回到跑道內(nèi) */
  98.          if(dr==2&&ww==1||dr==4&&ww==1)                          //單邊或雙邊 測到跑出去
  99.             {
  100.                         qq=0;
  101.                          P14=1;P15=1;P16=0;P17=1;
  102.                 }
  103.           if(dr==3&&qq==1||dr==5&&qq==1)
  104.                 {
  105.                      ww=0;
  106.                   P14=0;P15=1;P16=1;P17=1;
  107.             }

  108.            if(i==1000) //1s
  109. ……………………

  110. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
51單片機用L298N驅(qū)動智能小車資料.zip (10.98 MB, 下載次數(shù): 28)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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