步进电机驱动程序

来源:本站
导读:目前正在解读《步进电机驱动程序》的相关信息,《步进电机驱动程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《步进电机驱动程序》的详细说明。

#include <reg51.h> //51芯片管脚定义头文件
#include <intrins.h> //内部包含延时函数 _nop_();
#define uchar unsigned char
#define uint unsigned int
sbit K1=P1^4;
uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};
//uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
uchar rate ;
/********************************************************/
/*
/* 延时
/* 11.0592MHz时钟,
/*
/********************************************************/
void delay()
{
uchar k;
uint s;
k = rate;
do
{
for(s = 0 ; s <1000 ; s++) ;
}while(--k);
}
/********************************************************/
/*
/*步进电机正转
/*
/********************************************************/
void motor_ffw()
{
uchar i;

for (i=0; i<8; i++) //一个周期转30度
{
P1 = FFW[i]; //取数据
delay(); //调节转速
}
}
/********************************************************
*
*步进电机运行
*
*********************************************************/
void motor_turn()
{
uchar x;
rate=0x0a;
x=0x80;
do
{
motor_ffw(); //加速
rate--;
}while(rate!=0x01);
do
{
motor_ffw(); //匀速
x--;
}while(x!=0x01);

do
{
motor_ffw(); //减速
rate++;
}while(rate!=0x0a);
}
/********************************************************
*
* 主程序
*
*********************************************************/
main()
{
P1=0xf0;
while(1)
{
P1=0xf0;
if(K1==0)
{
motor_turn();
}
}
}

提醒:《步进电机驱动程序》最后刷新时间 2024-03-14 01:23:18,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《步进电机驱动程序》该内容的真实性请自行鉴别。