专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

智能小车的PWM键盘控制电机程序

作者:佚名   来源:本站原创   点击数:  更新时间:2013年07月07日   【字体:

这个是从一个制作成功的智能小车里面提取出来的

全部的制作资料下载:http://www.51hei.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;} 
}

关闭窗口

相关文章