0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

89C2051驱动步进电机的电路和源码,Stepper motor driver

454398 2018-09-20 18:56 次阅读

89C2051驱动步进电机的电路和源码,Stepper motor driver

关键字:步进电机驱动电路,89C2051步进电机驱动

程序

stepper.c
stepper.hex

/*
* STEPPER.C
* sweeping stepper's rotor cw and cww 400 steps
* Copyright (c) 1999 by W.Sirichote
*/

#include c:\mc51\8051io.h /* include i/o header file */
#include c:\mc51\8051reg.h

register unsigned char j,flag1,temp;
register unsigned int cw_n,ccw_n;

unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90}
#define n 400

/* flag1 mask byte
0x01 run cw()
0x02 run ccw()
*/

main()

{
flag1=0;
serinit(9600);
disable(); /* no need timer interrupt */
cw_n = n; /* initial step number for cw */
flag1 |=0x01; /* initial enable cw() */

while(1){
{
tick_wait(); /* wait for 10ms elapsed */

energize(); /* round-robin execution the following tasks every 10ms */
cw();
ccw();
}
}

}

cw(){
if((flag1&0x01)!=0)
{
cw_n--; /* decrement cw step number */
if (cw_n !=0)
j++; /* if not zero increment index j */
else
{flag1&=~0x01; /* disable cw() execution */
ccw_n = n; /* reload step number to ccw counter */
flag1 |=0x02; /* enable cww() execution */
}
}

}

ccw(){
if((flag1&0x02)!=0)
{
ccw_n--; /* decremnent ccw step number */
if (ccw_n !=0)
j--; /* if not zero decrement index j */
else
{flag1&=~0x02; /* disable ccw() execution */
cw_n = n; /* reload step number to cw counter */
flag1 |=0x01; /* enable cw() execution */
}
}

}

tick_wait(){ /* cputick was replaced by simpler ASM code 10ms wait */

asm" JNB TCON.5,*"; /* wait for TF0 set */
asm" CLR TCON.5"; /* clear TF0 for further set */
asm" ORL TH0,#$DC"; /* reload TH0 with $DC, TL0 = 0 */
}

energize(){

P1 = step[(j&0x07)]; /* only step 0-7 needed */
}

电路图

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    步进电机驱动器的主要工作原理是什么?

    步进电机驱动器的主要工作原理是通过精确控制电机步进角度,实现对电机位置和速度的精确控制。
    的头像 发表于 10-24 13:40 219次阅读

    步进电机主要有哪些分类?步进电机的主要构造是什么?

    (Permanent Magnet Stepper Motor) 永磁式步进电机的转子由永磁材料制成,其磁场与定子绕组产生的磁场相互作用,产生步进
    的头像 发表于 10-22 11:48 214次阅读

    探索步进电机驱动IC的创新融合

    。 www.abitions.com 首先,让我们来了解一下什么是马达驱动 IC 和步进电机驱动 IC。简单来说,马达驱动 IC 是用于控制
    的头像 发表于 10-21 17:55 217次阅读
    探索<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>IC的创新融合

    步进电机驱动芯片大电流怎么调

    步进电机驱动芯片的电流调节对于电机的性能和寿命至关重要。 一、电流调节的原理 步进电机的工作原理
    的头像 发表于 07-13 09:44 763次阅读

    步进电机驱动芯片的工作原理和特点

    步进电机驱动芯片是步进电机控制系统中实现驱动电机的核
    的头像 发表于 06-12 15:14 1167次阅读

    步进电机驱动器细分怎么调

    步进电机驱动器细分调整是步进电机控制系统中的一个重要环节,它直接影响到步进
    的头像 发表于 06-12 09:40 1963次阅读

    如何正确选择步进电机驱动

    步进电机驱动器是步进电机系统中的重要组成部分,它负责将控制信号转换为步进
    的头像 发表于 06-05 18:04 2135次阅读

    为什么步进电机要加驱动

    步进电机作为一种能够实现精确位移控制的电机类型,在工业自动化、精密测量、数控机床等领域得到了广泛应用。然而,步进电机本身并不能直接接受控制信
    的头像 发表于 06-05 17:30 1323次阅读

    步进电机工作原理是什么? 步进电机电流和细分的关系

    步进电机Stepper Motor)是一种将电脉冲信号转化为机械转动的电机。它是由固定的磁体和旋转的转子组成,通过依次通入脉冲信号,使转子
    的头像 发表于 02-22 10:36 1618次阅读

    混合式步进电机的结构图

    混合式步进电机(Hybrid Stepper Motor)结合了永磁式和变极式步进电机的特点,以
    的头像 发表于 02-06 10:01 886次阅读
    混合式<b class='flag-5'>步进</b><b class='flag-5'>电机</b>的结构图

    步进电机的结构特点

    步进电机Stepper Motor)是一种电动执行机构,它能够将电信号转化为机械角位移。它的工作原理是基于电磁学原理,通过控制电流在电机线
    的头像 发表于 02-05 18:10 1503次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>的结构特点

    步进电机驱动电路原理 步进电机驱动器可以通用吗

    步进电机驱动电路原理是指通过特定的电信号驱动步进电机
    的头像 发表于 01-24 10:46 2293次阅读

    步进电机驱动电路是直流稳压电源电路

    步进电机驱动电路并非直流稳压电源电路步进电机
    的头像 发表于 01-24 10:13 1081次阅读

    步进电机驱动器拨码开关怎么调

    步进电机驱动器是一种常见的电机驱动装置,可用于控制步进电机
    的头像 发表于 01-15 13:56 3874次阅读

    arduino如何驱动步进电机

    ,还能轻松驱动步进电机。本文将详细介绍Arduino驱动步进电机的原理、方法和应用。
    的头像 发表于 01-14 16:37 3470次阅读