專注電子技術學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

智能小車的PWM鍵盤控制電機程序

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2013年07月07日   【字體:

這個是從一個制作成功的智能小車里面提取出來的

全部的制作資料下載:http://www.torrancerestoration.com/bbs/dpj-19526-1.html

下面是程序預覽:
#include<reg52.h>
sbit P00=P0^0;   //循跡口
sbit P01=P0^1;
sbit P02=P0^2;

sbit P04=P0^4;    //電機1  左輪
sbit P05=P0^5;

sbit P06=P0^6;    //電機2
sbit P07=P0^7;
unsigned int i=0,j=0;
void main()
{
   while(1)
  { 
   P04=1;P05=1;P06=1; P07=1;
   TMOD=0X01;
   EA=1;
   ET0=1;  
 
if(P00==0&&P01==1&&P02==0)      // 小車直走           定時0.002ms  
 {
 TH0=0XFF;    //定時0.01ms
 TL0=0xFe;
 TR0=1;
 }
 if(P00==0&&P01==0&&P02==1)    //小車右轉  定時0.005ms  
  {
   TH0=0XFF;
   TL0=0Xfb;
   TR0=1; 
  } 
   if(P00==1&&P01==0&&P02==0)    //小車左轉  定時0.005ms   
  {
   TH0=0XFF;
   TL0=0XFb;
   TR0=1;
  }
    if(P00==1&&P01==1&&P02==1)      //全部檢測到黑線時 車停
   {
    TH0=0XFF;
       TL0=0Xfb;
       TR0=1; } 
 }
}

 xiong() interrupt 1

  if(P00==0&&P01==1&&P02==0)        //小車直線快走  定時0.002ms     
    {
    TH0=0XFF;
    TL0=0xFe;

 P04=0;    //電機1 左輪
 P05=1;
 P06=1;      //電機2  右轉
 P07=0;
  }

  if(P00==0&&P01==0&&P02==1)     //小車右轉  定時0.005ms  
   {     
        
    TH0=0XFF;
    TL0=0Xfb;

 P04=1;    //電機1    左輪
 P05=1;    
 P06=1;         //電機2
 P07=0;
 i=1;
   }
                   if(P00==0&&P01==0&&P02==0&&i==1)    // 特別
                                {TH0=0XFF;
                                 TL0=0Xfb;
                              P04=1;
                              P05=1;
                           P06=1;
                           P07=0;
         j=0;
                          }
       
    if(P00==1&&P01==0&&P02==0)    //小車左轉   定時0.005ms
       {
        TH0=0XFF;
        TL0=0XFb;
        P04=0;    //電機1
      P05=1;
     
     P06=1;      //電機2
     P07=1;
        j=1;        
       }
                           if(P00==0&&P01==0&&P02==0&&j==1)     // 特別
                            { TH0=0XFF;
                                TL0=0Xfb;
                             P04=0;
                             P05=1;
                          P06=1;
                          P07=1;
            i=0;  
             }       
  if(P00==1&&P01==1&&P02==1)
  {              //全部檢測到黑線時 車停
   TH0=0XFF;
      TL0=0Xfb;
   P04=1;   
   P05=1;
      P06=1;
      P07=1;} 
}

關閉窗口

相關文章