ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á

QQ怬

Ö»ÐèÒ»²½£¬¿ìËÙ¿ªÊ¼

ËÑË÷
²é¿´: 7877|»Ø¸´: 8
ÊÕÆð×ó²à

Ò£¿ØÄ£¿é¿ØÖÆËÄÇýС³µc³ÌÐò´úÂë

[¸´ÖÆÁ´½Ó]
ID:129080 ·¢±íÓÚ 2016-7-7 17:46 | ÏÔʾȫ²¿Â¥²ã |ÔĶÁģʽ
  #include <reg52.h>
#define uint  unsigned int   
#define uchar unsigned char


sbit D0 = P0^0;       
sbit D1 = P0^1;       
sbit D2 = P0^2;
sbit D3 = P0^3;       
//sbit VT = P0^4;
sbit MD_L1 = P1^0;         
sbit MD_L2 = P1^1;
sbit MD_L3 = P1^2;
sbit MD_L4 = P1^3;
sbit MD_R1 = P1^4;         
sbit MD_R2 = P1^5;
sbit MD_R3 = P1^6;
sbit MD_R4 = P1^7;         
sbit LENA  = P2^0;
sbit LENB  = P2^1;
sbit RENA  = P2^2;
sbit RENB  = P2^3;


uchar pwm,num = 0, duty = 0, speed = 0,x=0, x1=0,x2=0,x3=0;


void delay(uint ms)
{
        uchar i;
    while(ms--)
        {
        for(i=0;i<200;i++);
        }
}
void advance()
{
    MD_L1=1;
               
    MD_L2=0;
               
        MD_L3=1;
               
        MD_L4=0;
               
        MD_R1=1;
       
        MD_R2=0;
       
        MD_R3=1;
       
        MD_R4=0;
}


void back()       
{
    MD_L1=0;
               
    MD_L2=1;
               
        MD_L3=0;
               
        MD_L4=1;
               
        MD_R1=0;
       
        MD_R2=1;


        MD_R3=0;
       
        MD_R4=1;






}
void left()                 
{
    MD_L1=0;
               
    MD_L2=0;
               
        MD_L3=0;
               
        MD_L4=0;
               
        MD_R1=1;
       
        MD_R2=0;
       
        MD_R3=1;
       
        MD_R4=0;






}
void left1()       
{
    MD_L1=0;
               
    MD_L2=1;
               
        MD_L3=0;
               
        MD_L4=1;
               
        MD_R1=0;
       
        MD_R2=0;
       
        MD_R3=0;
       
        MD_R4=0;


}
void left2()       
{
    MD_L1=0;
               
    MD_L2=1;
               
        MD_L3=0;
               
        MD_L4=1;
               
        MD_R1=1;
       
        MD_R2=0;
       
        MD_R3=1;
       
        MD_R4=0;
}
void right()  
{
    MD_L1=1;
               
    MD_L2=0;
               
        MD_L3=1;
               
        MD_L4=0;
               
        MD_R1=0;
       
        MD_R2=0;
       
        MD_R3=0;
       
        MD_R4=0;




}
void right1()  
{
    MD_L1=0;
               
    MD_L2=0;
               
        MD_L3=0;
               
        MD_L4=0;
               
        MD_R1=0;
       
        MD_R2=1;
       
        MD_R3=0;
       
        MD_R4=1;
}
void right2()  
{
    MD_L1=1;
               
    MD_L2=0;
               
        MD_L3=1;
               
        MD_L4=0;
               
        MD_R1=0;
       
        MD_R2=1;
       
        MD_R3=0;
       
        MD_R4=1;
}
void stop()  
{
    MD_L1=0;
               
    MD_L2=0;
               
        MD_L3=0;
               
        MD_L4=0;
               
        MD_R1=0;
       
        MD_R2=0;
       
        MD_R3=0;
       
        MD_R4=0;




}
void keyscan()
{
   if(D0==0)
   {
     delay(5);
         if(D0==50)
         {
          if(pwm<32)
          {
            pwm++;
                delay(100);
          }
         }
   }
         if(D1==0)
   {
     delay(50);
         if(D1==0)
         {
          if(pwm>1)
          {
            pwm--;
                delay(100);
          }
         }
   }
  if(D2==0)
   {
     delay(50);
         if(D2==0)
         {
          if(pwm<32)
          {
            pwm++;
                delay(100);
          }
         }
   }
         if(D3==0)
     {
     delay(50);
         if(D3==0)
         {
          if(pwm>1)
          {
            pwm--;
                delay(100);
          }
         }
   }
}
void main(void)
{


    TMOD =0x01;
        TH0=(65536-500)/256;
    TL0=(65536-500)%256;                       
    EA = 1;                           
    ET0=1;
        TR0=1;                  


    while(1)
    {
     
   
                if(D0==1)
                {
                 advance();
               
                }   
            else if(D1==1)
                {
                back();
       
                }
                else if(D2==1)
                {
               
                left();
               
                }
                else if(D3==1)
                {
                right();
       
                }
                else if(D0&D2==1)
                {
                 
                 void left2();
         
                }
                else if(D0&D3==1)
                {


                void right2();
                 
                }
                else if(D1&D2==1)
                {
                back();
                left();
                }
                else if(D1&D3==1)
                {
                 back();
                 right();
                }
                        else
                {
                stop();
                }  
               
        }
   
}
   
void int0() interrupt 1
{
    num ++;
        duty ++;                           
        x++;
        x1++;
        x2++;
        x3++;
    if(num <=50)
    {
      
           RENA=1;
           RENB=1;
    }
    else  
    {
           RENA=0;
           RENB=0;
    }                                                                                                                                                                                  


    if(num >=52)          
    {
       num = 0;


    }
            if(x3 <= 100)
    {
      
           LENA=1;
           LENB=1;
    }
    else  
    {
       LENA=0;
           LENB=0;
    }                                                                                                                                                                                  


    if(x3 >= 100)          
    {
       x3 = 0;


    }
if(D0&D2==1)
{         
    if(duty<=60)
        {
           RENA=1;
           RENB=1;
       
        }
        else
        {
           RENA=0;
           RENB=0;
       
        }  
   if(duty >= 65)
    {
       duty = 0;
    }
          if(x<=20)
        {
           LENA=1;
           LENB=1;
        }
        else
        {
           LENA=0;
           LENB=0;
        }  
   if(x >= 30)
    {
       x = 0;
    }
         }
          if(D0&D3==1)
{         
    if(x1<=60)
        {
           LENA=1;
           LENB=1;
        }
        else
        {
           LENA=0;
           LENB=0;
        }  
   if(x1 >= 100)
    {
       x1 = 0;
    }
   if(x2<=20)
        {          
           RENA=1;
           RENB=1;
       
        }
        else
        {
           RENA=0;
           RENB=0;
       
        }  
   if(x2>= 100)
    {
       x2 = 0;
    }
         }        
}


ÆÀ·Ö

²ÎÓëÈËÊý 1ºÚ±Ò +50 ÊÕÆð ÀíÓÉ
admin + 50 ¹²Ïí×ÊÁϵĺڱҽ±Àø£¡

²é¿´È«²¿ÆÀ·Ö

»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ID:79544 ·¢±íÓÚ 2016-7-8 17:14 | ÏÔʾȫ²¿Â¥²ã
ÕûµÄÕâô¸´ÔÓ°¡¡£
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ID:129080 ·¢±íÓÚ 2016-7-10 08:26 | ÏÔʾȫ²¿Â¥²ã
ллÄãÃÇ
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ID:129080 ·¢±íÓÚ 2016-7-10 14:43 | ÏÔʾȫ²¿Â¥²ã
ÌڷɵÄÁú ·¢±íÓÚ 2016-7-8 17:14
ÕûµÄÕâô¸´ÔÓ°¡¡£

Òª²»ÄãÀ´¸ö¼òµ¥µÄÎÒ¿´Ò»ÏÂ
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ID:129080 ·¢±íÓÚ 2016-7-10 14:44 | ÏÔʾȫ²¿Â¥²ã
ÌڷɵÄÁú ·¢±íÓÚ 2016-7-8 17:14
ÕûµÄÕâô¸´ÔÓ°¡¡£

Çó¸ßÊÖ£¬
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ID:79544 ·¢±íÓÚ 2016-7-11 19:19 | ÏÔʾȫ²¿Â¥²ã
4¼üÎÞÏßÒ£¿ØС³µ³ÌÐò
  1. /**********************************************
  2.         ¹¦ÄÜ£º4¼üÎÞÏßÒ£¿ØС³µ³ÌÐò
  3.         µ¥Æ¬»ú£ºSTC12C5A60S2
  4.         ¾§Õñ  £º11.0592M
  5.         ×¢ÊÍ £º Ò£¿ØÆ÷¾ÍÊÇÆÕͨµÄ4¼ü315MÒ£¿ØÆ÷¼Ó½ÓÊÕÄ£¿é¡£
  6.                         µç»úÇý¶¯ÓÃLM298»òÕßLM293D£¬Çý¶¯°åµÄµç»úʹÄܶ˽Ó5v¡£
  7. ********************************************/

  8. #include <reg52.h>
  9. #include <intrins.h>
  10. #define uint unsigned int
  11. #define uchar unsigned char

  12. #define A   P3_4 //Ò£¿Ø°´¼üA  
  13. #define BB  P3_5 //Ò£¿Ø°´¼üB   
  14. #define C   P3_6 //Ò£¿Ø°´¼üC     
  15. #define D   P3_7 //Ò£¿Ø°´¼üD  
  16. sbit in1=P1^0; //С³µ¶Ë¿Ú
  17. sbit in2=P1^1; //С³µ¶Ë¿Ú
  18. sbit in3=P1^2; //С³µ¶Ë¿Ú
  19. sbit in4=P1^3; //С³µ¶Ë¿Ú
  20. sbit P3_4=P3^4;//Ò£¿Ø°´¼üA
  21. sbit P3_5=P3^5;//Ò£¿Ø°´¼üB
  22. sbit P3_6=P3^6;//Ò£¿Ø°´¼üC
  23. sbit P3_7=P3^7;//Ò£¿Ø°´¼üD
  24. sbit xj_l=P2^0;//Ñ­¼£»ò±ÜÕÏ×󴫸ÐÆ÷
  25. sbit xj_r=P2^1;//Ñ­¼£»ò±ÜÕÏÓÒ´«¸ÐÆ÷
  26. void delay10ms(uint z)   
  27. {
  28.         uint a,b;
  29.     for(a=z;a>0;a--)
  30.       for(b=425;b>0;b--);
  31. }
  32. void qianjin()
  33. {
  34.         in1 = 0 ;
  35.     in2 = 1 ;
  36.     in3 = 0;
  37.     in4 = 1;
  38.         delay10ms(100);
  39. }
  40. void houtui()
  41. {
  42.         in1 = 1 ;
  43.     in2 = 0 ;
  44.     in3 = 1;
  45.     in4 = 0;
  46.         delay10ms(100);
  47. }
  48. void zuozhuan()
  49. {
  50.         in1 = 0 ;
  51.     in2 = 1 ;
  52.     in3 = 1;
  53.     in4 = 0;
  54.         delay10ms(100);
  55. }
  56. void youzhuan()
  57. {
  58.         in1 = 1 ;
  59.     in2 = 0 ;
  60.     in3 = 0;
  61.     in4 = 1;
  62.         delay10ms(100);
  63. }
  64. //********************************************************

  65. //********************************************************
  66. void main()
  67. {
  68.     while(1)               
  69.     {
  70.                
  71.         //Ñ­¼£»ò±ÜÕϹ¦ÄÜ,Ñ­¼£µÄʱºò°Ñ´«¸ÐÆ÷³¯Ï°²×°
  72.         //±ÜÕϵÄʱºò°Ñ´«¸ÐÆ÷°²×°ÔÚ³µµÄÇ°Ã泯ǰ°²×°
  73.         if(xj_l==1&&xj_r==1)
  74.                 qianjin();
  75.         if(xj_l==0&&xj_r==1)
  76.                 youzhuan();
  77.         if(xj_l==1&&xj_r==0)
  78.                 zuozhuan();
  79.         if(xj_l==0&&xj_r==0)
  80.                 houtui();
  81.                 delay10ms(1500);
  82.         //ÎÞÏßÒ£¿Ø¹¦ÄÜ
  83.         /*        in1 = 0;
  84.                 in2 = 0 ;
  85.                 in3 = 0 ;
  86.                 in4 = 0;                     
  87.         if(A)  //Ç°½ø
  88.         {                              
  89.             in1 = 0 ;
  90.             in2 = 1 ;
  91.             in3 = 0;
  92.             in4 = 1;
  93.                         delay10ms(100);
  94.         }
  95.         if(BB) //ºóÍË
  96.         {
  97.            in1 = 1;
  98.            in2 = 0 ;
  99.            in3 = 1 ;
  100.            in4 = 0;
  101.                         delay10ms(100);
  102.         }

  103.        if(C) //×óת
  104.        {
  105.            in1 = 0;
  106.            in2 = 1 ;
  107.            in3 = 1 ;
  108.            in4 = 0;
  109.                 delay10ms(100);
  110.        }
  111.        if(D) //ÓÒת
  112.        {
  113.                in1 = 1 ;
  114.                in2 = 0 ;
  115.                in3 = 0 ;
  116.                in4 = 1;
  117.                         delay10ms(100);                     
  118.        }*/
  119.         }
  120. }
¸´ÖÆ´úÂë
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ID:129080 ·¢±íÓÚ 2016-7-12 09:41 | ÏÔʾȫ²¿Â¥²ã
ÌڷɵÄÁú ·¢±íÓÚ 2016-7-11 19:19
4¼üÎÞÏßÒ£¿ØС³µ³ÌÐò

лл´óÉñ£¬»¹ÓÐÎÒÏÖÔÚÒ»¸öÑ°ºÚÏߣ¬¾ÍÊÇÑ°¼£µÄ³ÌÐò×ÜÊǸ㲻³öÀ´°ïÎÒ¿´¿´£¬ÓÐËĸöÑ°¼£ºìÍ⣬ÖмäÓÐÁ½¸ö¡£
ÎÒдµÄ³ÌÐòÊÇÕâÑùµÄ£¬´óÉñ°ïÎÒ¸ÄÒ»¸ÄÊÔһϣ¬¶àл´óÉñ#include<AT89X52.H>                            //reg52.h
#define uchar unsigned char
#define uint unsigned int
sbit QL1 =  P1^0;
sbit QL2 =  P1^1; // Ç°Ãæ×ó±ß Ç°½ø£¨Õýת£©
sbit HL1 =        P1^2; // Ç°Ãæ×ó±ß ºóÍË£¨·´×ª£©
sbit HL2 =  P1^3;
sbit QR1 =  P1^4;
sbit QR2 =  P1^5;
sbit HR1 =        P1^6;  
sbit HR2 =  P1^7;

sbit EN1 =        P2^0;   // ¸ßµçƽʹÄÜ
sbit EN2 =  P2^1;        // ¸ßµçƽʹÄÜ
sbit EN3 =        P2^2;   // ¸ßµçƽʹÄÜ
sbit EN4 =  P2^3;        // ¸ßµçƽʹÄÜ
                  
#define Left_go      {QL1=1,QL2=0,HL1=1,HL2=0;}        //×ó±ßµç»úÏòÇ°×ß
#define Left_back    {QL1=0,QL2=1,HL1=0,HL2=1;}        //×ó±ßµç»úÏòºó×ß
#define Left_Stop    {QL1=1,QL2=1,HL1=1,HL2=1;}          //×ó±ßµç»úͣת                     
#define Right_go     {QR1=1,QR2=0,HR1=1,HR2=0;}        //Óұߵç»úÏòÇ°×ß
#define Right_back   {QR1=0,QR2=1,HR1=0,HR2=1;}        //Óұߵç»úÏòºó×ß
#define Right_Stop   {QR1=1,QR2=1,HR1=1,HR2=1;}          //Óұߵç»úͣת

#define XL    P2_3         // ×󴫸ÐÆ÷
#define XML   P2_4         // ÖÐ×󴫸ÐÆ÷      
#define XMR   P2_5         // ÖÐÓÒ´«¸ÐÆ÷      
#define XR    P2_6         // ÓÒ´«¸ÐÆ÷
                                                 
#define Left_pwm1          P2_0         //PWMÐźŶË
#define Left_pwm2          P2_1         //PWMÐźŶË
#define Right_pwm1          P2_2          //PWMÐźŶË
#define Right_pwm2          P2_3          //PWMÐźŶË

uchar pwmleft  =0;//±äÁ¿¶¨Òå
uchar pushleft1 =0;// ×óµç»ú1Õ¼¿Õ±ÈN/20
uchar pushleft2 =0;// ×óµç»ú2Õ¼¿Õ±ÈN/20
uchar pwmright =0;
uchar pushright1=0;// ÓÒµç»ú1Õ¼¿Õ±ÈN/20
uchar pushright2=0;// ÓÒµç»ú2Õ¼¿Õ±ÈN/20
bit Right_stop=1;

bit Left_stop =1;

uint  time=0;


//ÑÓʱº¯Êý       
   void delay(unsigned int k)
{   
     unsigned int x,y;
         for(x=0;x<k;x++)
           for(y=0;y<2000;y++);
}
   
   
//go
     void  run(void)
{
     pushleft1=7;         //Ëٶȵ÷½Ú±äÁ¿ 0-20,0×îС£¬20×î´ó
         pushleft2=7;
         pushright1=7;
         pushright2=7;
         Left_go ;   //×óµç»úÍùÇ°×ß
         Right_go ;  //ÓÒµç»úÍùÇ°×ß
}



//left
     void  leftrun(void)
{         
     pushleft1=7;
         pushleft2 =7;
         pushright1=7;
         pushright2=7;
         Right_go ;  //ÓÒµç»úÍùÇ°×ß
     Left_Stop ;  //×óµç»úÍ£Ö¹
}

//right
     void  rightrun(void)
{
         pushleft1=7;
         pushleft2=7;
         pushright1=7;
         pushright2=7;
     Left_go;   //×óµç»úÍùÇ°×ß
         Right_Stop;  //ÓÒµç»úÍùÇ°×ß       
}


                       

//                    ×óµç»úµ÷ËÙ                                       
//µ÷½Úpush_val_leftµÄÖµ¸Ä±äµç»úתËÙ,Õ¼¿Õ±È           
void pwm_out_left(void)
{  
   if(Left_stop&&Left_stop)
   {
    if(pwmleft<=pushleft1&&pwmleft<=pushleft2)
               {
                     Left_pwm1=1;
                         Left_pwm2=1;

                   }
        else
               {
                 Left_pwm1=0;
                         Left_pwm2=0;

                   }
        if(pwmleft>=20)
               pwmleft=0;
   }
   else   
          {
           Left_pwm1=0;
                   Left_pwm2=0;

                  }
}

//    ÓÒµç»úµ÷ËÙ         
   void pwm_out_right(void)
{
  if(Right_stop)
   {
    if(pwmright<=pushright1&&pwmright<=pushright2)
              {
               Right_pwm1=1;
                   Right_pwm2=1;
                   }
        else
              {
                   Right_pwm1=0;
                   Right_pwm2=0;
                  }
        if(pwmright>=20)
               pwmright=0;
   }
   else   
          {
           Right_pwm1=0;
                   Right_pwm2=0;

              }
}
      




void main(void)
{       

       
    P1=0X00;
        delay(100);
        run();
       
        TMOD=0X01;
    TH0= 0XFc;                  //1ms¶¨Ê±
    TL0= 0X18;
    TR0= 1;
    ET0= 1;
        EA = 1;                           //¿ª×ÜÖжÏ

        while(1)       
         {
              //ÓÐÐźÅΪ0  Ã»ÓÐÐźÅΪ1
       if(XL==0&&XR==0&&XML==0&&XMR==0)
              run();   
                  else
                   {                          
                        if(XL==1&&XR==0)          //×ó±ß¼ì²âµ½ºÚÏß
                                 {
                                         leftrun();                  
                                }
                         if(XR==1&&XL==0)      //Óұ߼ì²âµ½ºÚÏß
                                     {          
                                        rightrun();                  
                                      }
                        }         
         }
}



//TIMER0ÖжϷþÎñ×Óº¯Êý²úÉúPWMÐźÅ
        void timer0()interrupt 1   using 2
{
     TH0=0XFc;          //1Ms¶¨Ê±
         TL0=0X18;
         time++;
         pwmleft++;
         pwmright++;
         pwm_out_left();
         pwm_out_right();
}        C:\Documents and Settings\Administrator\×ÀÃæ
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ID:312000 ·¢±íÓÚ 2018-4-19 21:00 | ÏÔʾȫ²¿Â¥²ã
ÄúÕâÒ£¿ØÊÇÓõÄÀ¶ÑÀÂð
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ID:46065 ·¢±íÓÚ 2018-4-19 21:24 | ÏÔʾȫ²¿Â¥²ã
µ¥Æ¬ÐÂÊÖ ·¢±íÓÚ 2018-4-19 21:00
ÄúÕâÒ£¿ØÊÇÓõÄÀ¶ÑÀÂð

4¼üÒ£¿Ø¾Í¿ÉÒÔ£¬Ä³±¨ÉÏ10ÔªÒÔÄÚ
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ÄúÐèÒªµÇ¼ºó²Å¿ÉÒÔ»ØÌû µÇ¼ | Á¢¼´×¢²á

±¾°æ»ý·Ö¹æÔò

ÊÖ»ú°æ|СºÚÎÝ|51ºÚµç×ÓÂÛ̳ |51ºÚµç×ÓÂÛ̳6Ⱥ QQ ¹ÜÀíÔ±QQ:125739409;¼¼Êõ½»Á÷QQȺ281945664

Powered by µ¥Æ¬»ú½Ì³ÌÍø

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí