arduino单片机 l298n驱动模块使用指南
新手接触arduino,想要做一个四驱小车。使用电机驱动模块产生了问题。首先,一个这样的模块需要占用几个io接口,pmw可以用来调节转速吗?另外,一个模块上可以驱动的两个...
新手接触arduino ,想要做一个四驱小车。使用电机驱动模块产生了问题。首先,一个这样的模块需要占用几个io接口,pmw可以用来调节转速吗?另外,一个模块上可以驱动的两个电机是独立的吗?还有,具体该怎么样连线。我需要详细的指导,急。
最后,模块调速是不是就是调节pmw的模拟输出?? 展开
最后,模块调速是不是就是调节pmw的模拟输出?? 展开
2014-10-23
展开全部
#include <REG52.h>//通用89C52头文件
/*------宏定义------*/
#define uchar unsigned char
#define uint unsigned int
uchar run[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04}; //两相四线八拍工作方式数组
/*******************************************************************
延时函数
*******************************************************************/
void delay(uint i)//延时函数
{
uint j,k;
for(j=0;j<i;j++)
for(k=0;k<1000;k++);
}
/*******************************************************************
主函数
*******************************************************************/
void main()
{
uint z,y;
P1 = 0xFF; // 端口初始化,如果不是你用的端口,可以随意改
// 例如:P0,P1,P2,P3,C51单片机就这四个端口
y=40; //定义延时时间,时间越长电机转速越慢反之则快
while(1)
{
for(z=0;z<8;z++) //改变数组的长度值需改变这个数字8,8为数组的长度。
{
P1=run[z];
delay(y);
}
}
}
/*******************************************************************************************************/
/*******************************************************************************************************/
只做了简单的修改既可以
头文件换了,端口名改了,其余没变化
另外,你的程序中有个函数,单片机是没有的,也没有对应的头文件
port_init();这一句是什么功能,只能自己编写了
不过看程序,步进电机应该可以转动了,延时间隔可以适当调节下,已达到理想状态
/*------宏定义------*/
#define uchar unsigned char
#define uint unsigned int
uchar run[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04}; //两相四线八拍工作方式数组
/*******************************************************************
延时函数
*******************************************************************/
void delay(uint i)//延时函数
{
uint j,k;
for(j=0;j<i;j++)
for(k=0;k<1000;k++);
}
/*******************************************************************
主函数
*******************************************************************/
void main()
{
uint z,y;
P1 = 0xFF; // 端口初始化,如果不是你用的端口,可以随意改
// 例如:P0,P1,P2,P3,C51单片机就这四个端口
y=40; //定义延时时间,时间越长电机转速越慢反之则快
while(1)
{
for(z=0;z<8;z++) //改变数组的长度值需改变这个数字8,8为数组的长度。
{
P1=run[z];
delay(y);
}
}
}
/*******************************************************************************************************/
/*******************************************************************************************************/
只做了简单的修改既可以
头文件换了,端口名改了,其余没变化
另外,你的程序中有个函数,单片机是没有的,也没有对应的头文件
port_init();这一句是什么功能,只能自己编写了
不过看程序,步进电机应该可以转动了,延时间隔可以适当调节下,已达到理想状态
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询