找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2209|回复: 5
打印 上一主题 下一主题
收起左侧

单片机+L298N驱动控制步进电机正转360度该怎么写程序?

[复制链接]
跳转到指定楼层
楼主
如题 求大佬帮忙:L298N驱动程序该怎么写?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:421308 发表于 2019-7-22 09:04 | 只看该作者
目前还在写
回复

使用道具 举报

板凳
ID:580450 发表于 2019-7-30 16:55 | 只看该作者

请问写完了吗,想参考
回复

使用道具 举报

地板
ID:366214 发表于 2019-7-30 22:04 | 只看该作者
#include<reg52.h>
#include"bjdj.h"
#define uint unsigned int
#define uchar unsigned char

uchar code CCW[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};   //逆时钟旋转相序表
uchar code CW[]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};    //正时钟旋转相序表

void main()
{
        delay_ms(1000);
}

void  delay_ms(uint i)
{
    uint j,k;
   for(j=i;j>0;j--)
           for(k=110;k>0;k--);
}


void delay_us(uint a)
{
   while(a)
   {
     a--;
   }
}
void beep(void)
{
  uchar t;
  for(t=0;t<100;t++)
  {
   delay_us(500);
   FMQ=!FMQ;   //产生脉冲
  }
    FMQ=1;    //关闭蜂鸣器
}

void motor_ccw(void)
{
  uchar i,j;
  for(j=0;j<8;j++)                 //电机旋转一周,不是外面所看到的一周,是里面的传动轮转了一周
  {
   if(k3==0)
{
            delay_ms(10);
        if(k3==0)
   
   break;   //如果K3按下,退出此循环
}
for(i=0;i<8;i++)  //旋转45度
{
   P1=CCW[i];
   delaynms(10);   //调节转速
}
  }
}
这是之前参考的别人的代码,你可以参考一下,希望对你有帮助
回复

使用道具 举报

5#
ID:575020 发表于 2019-7-31 10:10 | 只看该作者
我也正在学习,你看这2个帖子吧
http://www.51hei.com/bbs/dpj-84034-1.html
http://www.51hei.com/bbs/dpj-110724-1.html
我现在正在做7805变压电路,用三节18650电池组合11.1V给298n供电,经过7805变成5V给单片机供电。
还有个疑问,网上看的说l298n内置7805,可以输出5v电压,正好看到298n电路板电源口有+12V、Gnd、+5v,原先以为输入+12v,+5V输出用的,后来感觉+5V是需要输入电压的,给芯片逻辑供电的。还有三个跳线,ena、enb,还有个没标示,不知干啥用的。

回复

使用道具 举报

6#
ID:403064 发表于 2020-4-2 15:52 | 只看该作者
请问写出来了吗?也想咨询一下怎么控制步进电机转动指定圈数
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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