网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
搜索关键字: 所有资讯 行业动态 市场趋势 政策法规 新品发布 技术资讯 价格快报 展会资讯
  • 达普IC芯片交易网 > 新闻中心 > 单片机制作 > 正文
  • RSS
  • AT89C2051驱动步进电机的电路和源码
    http://www.ic72.com 发布时间:2008/12/23

    程序

    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 */

    }


    www.ic72.com 达普IC芯片交易网
  • 行业动态
  • 市场趋势
  • 政策法规
  • 新品发布
  • Baidu

    IC快速检索:abcdefghijklmnopqrstuvwxyz0123456789
    COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
    客户服务:service@IC72.com 库存上载:IC72@IC72.com
    (北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123