标题:
MCI8051单片机控制步进电机
[打印本页]
作者:
哈哈哈你的微博
时间:
2019-6-7 16:13
标题:
MCI8051单片机控制步进电机
步进电机仿真.PNG
(69.87 KB, 下载次数: 26)
下载附件
2019-6-7 16:12 上传
步进电机参数.PNG
(139.78 KB, 下载次数: 27)
下载附件
2019-6-7 16:12 上传
单片机源程序如下:
#include <reg52.h>
unsigned char code FFW[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
unsigned char code REV[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};
sbit K1 = P3^0;
sbit K2 = P3^1;
sbit K3 = P3^2;
void DelayMS(unsigned char ms)
{
unsigned char i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
void moter_FFW(unsigned char n)
{
unsigned char 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 moter_REV(unsigned char n)
{
unsigned char 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()
{
unsigned char x = 3;
while(1)
{
if(K1 == 0)
{
P0 = 0xfe;
moter_FFW(x);
if(K3 == 0)
break;
}
else if(K2 == 0)
{
P0 = 0xfd;
moter_REV(x);
if(K3 == 0)
break;
}
else
{
P0 = 0xfb;
P1 = 0x03;
}
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1