找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2650|回復: 2
收起左側

新人調這個循跡代碼有點問題,小車動不了,請大神幫忙看看

[復制鏈接]
ID:201167 發(fā)表于 2017-5-15 23:05 | 顯示全部樓層 |閱讀模式
#include <reg52.h>  

sbit P1_0= P1^0;   
sbit P1_1= P1^1;  

sbit P1_2= P1^2;  
sbit P1_3= P1^3;  

sbit P1_4= P1^4;  
sbit P1_5= P1^5;

sbit P1_6= P1^6;  
sbit P1_7= P1^7;

sbit L1 = P3^4;  
sbit L2 = P3^5;  
sbit L3 = P3^6;

unsigned char leftspeed        =0;
unsigned char rightspeed=0;
unsigned char left_pwm=0 ;
unsigned char right_pwm=0;
unsigned  int  time=0;
bit leftext=1 ;
bit rightext=1;
void leftmoto_qianjin()
{
leftspeed=7;
P1_0=1;
P1_1=0;
P1_2=1;
P1_3=0;
}
void leftmoto_houtui()
{
leftspeed=7;
P1_0=0;
P1_1=1;
P1_2=0;
P1_3=1;
}
void rightmoto_qianjin()
{
rightspeed=5;
P1_4=1;
P1_5=0;
P1_6=1;
P1_7=0;
}
void rightmoto_houtui()
{
rightspeed=5;
P1_4=0;
P1_5=1;
P1_6=0;
P1_7=1;
}
void left_moto_speed()
{
if(leftext)
{
  if(left_pwm<=leftspeed)
  {
   P1_5=1;
   P1_7=1;
  }
  else
  {
   P1_5=0;
   P1_7=0;
  }
}
else
{
  P1_5=0;
  P1_7=0;

}
}
void right_moto_speed()
{
   if(rightext)
{
  if(right_pwm<=rightspeed)
  {
   P1_1=1;
   P1_3=1;
  }
  else
  {
   P1_1=0;
   P1_3=0;
  }
}
else
{
  P1_1=0;
  P1_3=0;

}
}
        void timer0()interrupt 1   using 2
{
     TH0=0XFc;          
         TL0=0X18;
         time++;
         left_pwm++;
         right_pwm++;
         left_moto_speed();
         right_moto_speed();
}
void main(void)
{
        TMOD=0X01;
        TH0= 0XFc;       
        TL0= 0X18;
        TR0= 1;
        ET0= 1;
        EA = 1;

while(1)
{                         
leftmoto_houtui();
rightmoto_houtui();
}   
}

回復

使用道具 舉報

ID:123289 發(fā)表于 2017-5-16 08:06 | 顯示全部樓層
單片機走一步1個us左右,電機轉動一步是個加速的過程序,學過F=M*a吧。在1us內(nèi)要將電機轉動一格,用多大的力呢?
現(xiàn)在知道問題出在哪兒了嗎?
回復

使用道具 舉報

ID:201220 發(fā)表于 2017-5-16 10:06 | 顯示全部樓層
你這個是三極管控制的小車嗎。直接兩個邏輯信號就控制了。是否可以把圖和工程貼上來這樣更有助于分析問題。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表