📄 motor.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -