找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2106|回复: 2
收起左侧

多电机同步转速问题

[复制链接]
ID:88716 发表于 2015-10-11 22:47 | 显示全部楼层 |阅读模式
#include <reg52.h>       
#include <intrins.h>
typedef unsigned char uchar;
typedef unsigned int uint;
/*****按照原图接线定义******/  

sbit L293D_IN1=P0^0;   //左电机
sbit L293D_IN2=P0^1;
sbit L293D_IN3=P0^2;  //右电机
sbit L293D_IN4=P0^3;

sbit L293D_EN1=P0^4;
sbit L293D_EN2=P0^5;
sbit BUZZ=P0^6;                        //蜂鸣器

sbit S4=P3^2;

uchar pwm,count;                          
void Delay1ms(unsigned int x)
{
        uchar y,z;
        for(y=x;y>0;y--)
        for(z=120;z>0;z--);
}
//=========================================================================================================================
void Forward()//           前进
{
         L293D_IN1=1;
         L293D_IN2=0;
         L293D_IN3=1;
         L293D_IN4=0;
}
void stop()  //停止
{
         L293D_IN1=0;
         L293D_IN2=0;
         L293D_IN3=0;
         L293D_IN4=0;
}
void keyscan()
{                                                                                          
        if(S4==0)
        {
                Delay1ms(10);
                if(S4==0)
                {
                        TR0=1;
                        Forward();
                        BUZZ=0;        //50次检测K3确认是按下之后,蜂鸣器发出“滴”声响,然后启动小车。
                        Delay1ms(50);
                        BUZZ=1;//响50ms后关闭蜂鸣器                                          f
                }       
        }
}

/*************主程序********************/
void main(void)
{
        stop();
        TMOD=0x02;
        TH0=210;          //50us进入中断
        TL0=210;
        ET0=1;
        EA=1;
        pwm=200;

        while(1)
        {
           keyscan();
           }
}
void time0() interrupt 1
{
        count++;
        if(count==pwm)
        {
                L293D_IN2=1;
                L293D_IN4=1;
        }
        if(count==250)
        {
                count=0;
                L293D_IN2=0;
                L293D_IN4=0;
        }
}
利用PWM波控制转速,结果左右轮胎总是无法同步,求解




回复

使用道具 举报

ID:76227 发表于 2015-10-11 23:21 | 显示全部楼层
使用邮件PWM看看  不要用软件模拟PWM  STC12和15都有硬件PWM
回复

使用道具 举报

ID:88716 发表于 2015-10-11 23:37 | 显示全部楼层
905377346 发表于 2015-10-11 23:21
使用邮件PWM看看  不要用软件模拟PWM  STC12和15都有硬件PWM

用的是STC89C52没有硬件PWM哎。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表