专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
单片机和步进电机驱动器
2019-03-24 18:33
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
2881
3
960
步进电机(42系列的)想通过步进电机驱动器(SH-2024B2)来控制,但是我不知道单片机如何编程,望各位高手指点
此帖出自
小平头技术问答
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
Li_Lei
1楼-- · 2019-03-25 02:10
精彩回答 2 元偷偷看……
加载中...
蓝雨夜
2楼-- · 2019-03-25 02:55
那就先看步进电机驱动器(SH-2024B2)的说明书,了解它的硬件设置,接口定义
加载中...
595864204
3楼-- · 2019-03-25 06:55
/********************************
FILE NAME: stepper.c
CHIP TYPE: AT89C51
CLOCK FREQUENCY: 12MHZ
IDE: VSMStudio
COMPILER: IAR for 8051
TIME: September 2010
********************************/
#include "ioAT89C51.h"
// Definition for output port and input pins
#define out_port (P2)
#define key_for (P0_bit.P0_0)
#define key_rev (P0_bit.P0_1)
// Define new types
typedef unsigned char uchar;
typedef unsigned int uint;
void delayms(uint);
// Array of Stepping Sequences
uchar const sequence[8] = {0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03};
void main(void)
{ uchar i;
out_port = 0x03;
while(1)
{ // Has the forward key been pressed ?
if (!key_for)
{ i = i<8 ? i+1 : 0;
out_port = sequence
;
delayms(50);
}
// Has the reverse key been pressed ?
else if (!key_rev)
{ i = i>0 ? i-1 : 7;
out_port = sequence
;
delayms(50);
}
}
}
void delayms(uint j)
{ uchar i;
for(; j>0; j--)
{ i = 120;
while (i--);
}
}
加载中...
一周热门
更多
>
相关问题
相关文章
基于51单片机的计算器设计
0个评论
51单片机300个proteus仿真实例下载
0个评论
51单片机 蜂鸣器
0个评论
51单片机驱动RC522模块
0个评论
基于51单片机的指纹密码锁
0个评论
AT89C51单片机制作简易密码锁
0个评论
51单片机汇编语言计数器
0个评论
51单片机精确延时设计
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
FILE NAME: stepper.c
CHIP TYPE: AT89C51
CLOCK FREQUENCY: 12MHZ
IDE: VSMStudio
COMPILER: IAR for 8051
TIME: September 2010
********************************/
#include "ioAT89C51.h"
// Definition for output port and input pins
#define out_port (P2)
#define key_for (P0_bit.P0_0)
#define key_rev (P0_bit.P0_1)
// Define new types
typedef unsigned char uchar;
typedef unsigned int uint;
void delayms(uint);
// Array of Stepping Sequences
uchar const sequence[8] = {0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03};
void main(void)
{ uchar i;
out_port = 0x03;
while(1)
{ // Has the forward key been pressed ?
if (!key_for)
{ i = i<8 ? i+1 : 0;
out_port = sequence;
delayms(50);
}
// Has the reverse key been pressed ?
else if (!key_rev)
{ i = i>0 ? i-1 : 7;
out_port = sequence;
delayms(50);
}
}
}
void delayms(uint j)
{ uchar i;
for(; j>0; j--)
{ i = 120;
while (i--);
}
}
一周热门 更多>