motor.c

来自「四线八拍步进电机驱动程序」· C语言 代码 · 共 41 行

C
41
字号
#include <W78E365.h>
#include <util.h>
#include <motor.h>

sbit addr_sm12 = P2^4;

//步进电机运行数据表
unsigned char code motortb[]={0x11,0x99,0x88,0xcc,0x44,0x66,0x22,0x33};	//两个电机一起
extern unsigned char np;

void a_step(unsigned char d,unsigned int t) //步进电机走一步d=0 正转d=1 反转 t越大走得越慢
{
	if (d&0x01)
	{
		if (np==0)
			np=7;
		else
			np--;
	}
	else
	{
		if (np==7)
			np=0;
		else 
			np++;
	}
	P0=motortb[np];
	addr_sm12=1;
	addr_sm12=0;
	delay(t);
}

void a_turn(unsigned char d,unsigned int t)// 步进电机走半圈,400步为一圈
{
	unsigned int i;
	for (i=0;i<400;i++)
	a_step(d,t);
	P0=0x00;		//关步进电机
	addr_sm12=1;
	addr_sm12=0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?