找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1890|回复: 1
收起左侧

求教:用如下单片机代码及l298n驱动两轮小车,为什么小车动不了

[复制链接]
ID:765385 发表于 2020-6-3 01:18 | 显示全部楼层 |阅读模式


    • #include <reg52.h>
    • //IO引脚定义:
    • sbit IN1=P1^0;
    • sbit IN2=P1^1;
    • sbit IN3=P1^2;
    • sbit IN4=P1^3;
    • //以上为电机驱动板输入引脚定义,
    • //IN1和IN2控制左轮电机,输出对应的OU1和OUT2接左轮电机,
    • //IN3和IN4控制右轮电机,输出对应的OU3和OUT4接右轮电机
    • //宏定义
    • #define L_go IN1=0;IN2=1 //左轮前进
    • #define L_back IN1=1;IN2=0 //左轮后退
    • #define L_stop IN1=0;IN2=0 //左轮停止,两个输出1也可以
    • #define R_go IN3=0;IN4=1 //右轮前进
    • #define R_back IN3=1;IN4=0 //右轮后退
    • #define R_stop IN3=0;IN4=0 //右轮停止,两个输出1也可以
    • #define car_go L_go;R_go; //小车前进
    • #define car_back L_back;R_back //小车后退
    • #define car_left R_go;L_stop //小车左转弯
    • #define car_right L_go;R_stop //小车右转弯
    • #define car_stop L_stop;R_stop //小车停车
    • #define car_left_360 R_go;L_back //小车向左360度转,也可以认为是大转弯
    • #define car_right_360 L_go;R_back //小车向右360度转,也可以认为是大转弯
    • //延时
    • void Delay(unsigned int t)
    • {
    • unsigned int c;
    • while(t--){
    • c=10000;
    • while(c--);
    • }
    • }
    • //入口函数
    • void main(void)
    • {
    • while(1){
    • car_go; //前进
    • Delay(10);
    • car_back; //后退
    • Delay(10);
    • }
49.   }
代码如上图,车轮左转和右转测试正常,想请问大家是不是测试代码有问题?

回复

使用道具 举报

ID:764088 发表于 2020-6-3 08:32 | 显示全部楼层
不是光有软件就可以驱动,电机要转,启动扭矩要达到才行,相应的驱动电流要够电机参数才行。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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