标题: 关于L298N电机驱动模块 PWM调速 求解答 [打印本页]

作者: zz661    时间: 2018-3-20 16:37
标题: 关于L298N电机驱动模块 PWM调速 求解答
这段程序哪里错了吗?小车能跑但不能调速,还是我线接错了?
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit pwm1=P2^0;
sbit pwm2=P2^1;
sbit I1=P2^2;
sbit I2=P2^3;
sbit I3=P2^4;
sbit I4=P2^5;
uchar a,t=0,s=20,n=20,pwm;
void init()
   {
     TMOD=0X21;   //?????1???2
     TL0 = 0xff;                //??????
     TH0 = 0xf7;
     TR0 = 1;                //???0????                 //??????
     TH1=0xfd ;     
     TL1=0xfd ;   //???
     TR1=1;       //?????1
     REN=1;       // ????

     SM0=0;
     SM1=1;       //?????????1

     EA=1;       // ???????
     ES=1;       // ????????
   }
         
void main()
    {
        init();
         while(1);
     }
               
void tim0() interrupt 1
                 {
                         TR0=0;
                         TH0=0xff;
                         TL0=0xf7;
                         TR0=1;
                         t++;
                         
                         if(t>=40)
                         { t=0;}
                         if(t<=n)
                         { pwm1=1;}
                         if(n<t<40)
                         {pwm1=0;}
                         
                   if(t>=40)
                         { t=0;}
                         if(t<=s)
                         { pwm2=1;}
                         if(s<t<40)
                         {pwm2=0;}
     }
   void ser() interrupt 4
           {
           ES=0;
         RI=0;   //?????????0;      
          a=SBUF; //??????????a
                          
        switch(a)
    {
      case 65:  I1=1,I2=0,I3=1,I4=0;  break;   //  ????A  ????
      case 66:  I1=0,I2=0,I3=1,I4=0;  break;   //  ????B  ????
      case 67:  I1=1,I2=0,I3=0,I4=0;  break;   //  ????C  ????
      case 68:  I1=0,I2=1,I3=0,I4=1;  break;         //  ????D  ????
      case 69:  n=s=10;  break;  //E
      case 70:  n=s=20;  break;  //F
      case 71:  n=s=30;  break;  //G
                       
      case 97:   I1=I2=I3=I4=0;  break;  //????a   ????
      case 98:   I1=I2=I3=I4=0;  break;  //????b   ????
      case 99:   I1=I2=I3=I4=0;  break;  //????c   ????
      case 100:  I1=I2=I3=I4=0;  break;  //????d   ????

      default: break;
     }
         ES=1;
        }






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1