找回密码
 立即注册

QQ登录

只需一步,快速开始

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

正反转可控的步进电机 单片机源程序

[复制链接]
跳转到指定楼层
楼主
主要代码
/***************   writer:shopping.w   ******************/
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code FFW[]=
{
         0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09
};

uchar code REV[]=
{
         0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01
};

sbit K1 = P3^0;
sbit K2 = P3^1;
sbit K3 = P3^2;

void DelayMS(uint ms)
{
         uchar i;
        while(ms--)
        {
                 for(i=0;i<120;i++);
        }
}

void SETP_MOTOR_FFW(uchar n)
{
         uchar i,j;
        for(i=0;i<5*n;i++)
        {
                 for(j=0;j<8;j++)
                {
                         if(K3 == 0)        break;
                        P1 = FFW[j];
                        DelayMS(25);
                }
        }
}

void SETP_MOTOR_REV(uchar n)
{
         uchar i,j;
        for(i=0;i<5*n;i++)
        {
                 for(j=0;j<8;j++)
                {
                         if(K3 == 0)        break;
                        P1 = REV[j];
                        DelayMS(25);
                }
        }
}

void main()
{
         uchar N = 3;
        while(1)
        {
                 if(K1 == 0)
                {
                         P0 = 0xfe;
                        SETP_MOTOR_FFW(N);
                        if(K3 == 0) break;
                }
                else if(K2 == 0)
                {
                         P0 = 0xfd;
                        SETP_MOTOR_REV(N);
                        if(K3 == 0) break;
                }
                else
                {
                         P0 = 0xfb;
                        P1 = 0x03;
                }
        }
}

项目代码.png (5.75 KB, 下载次数: 105)

源码

源码

27 正反转可控的步进电机.zip

31.32 KB, 下载次数: 26, 下载积分: 黑币 -5

文件下载

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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