找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

關(guān)于L298N電機(jī)驅(qū)動(dòng)模塊 PWM調(diào)速 求解答

[復(fù)制鏈接]
ID:290020 發(fā)表于 2018-3-20 16:37 | 顯示全部樓層 |閱讀模式
這段程序哪里錯(cuò)了嗎?小車能跑但不能調(diào)速,還是我線接錯(cuò)了?
#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;
        }

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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