收到[ halibote523]邮寄过来的Easykit已经有十几天了,可是这几天一直加班,今天终于抽出时间开始写试用手记了。
步进电机驱动原理图:

演示图片:
直接上程序:
#include "mb95200.h"
#define  PHASEPORT  IO_PDR0.byte  //引脚定义
#define  PHASE_DIRE IO_DDR0.byte
unsigned char  FFW[8]={0xF1,0xF3,0xF2,0xF6,0xF4,0xFC,0xF8,0xF9};
unsigned char  REV[8]={0xF9,0xF8,0xFC,0xF4,0xF6,0xF2,0xF3,0xF1};
/*****************************************************************/
/*****************************************************************/
void DELAY_MS (unsigned int a){
 unsigned int i;
 while( a-- != 0){
  for(i = 0; i < 125; i++);
 }
}
/*****************************************************************/
/********************************************************/
/*
/*步进电机正转
/*
/********************************************************/
void  motor_ffw()
{ 
 unsigned char i;
 for (i=0; i<8; i++)       
 {
  PHASEPORT = FFW[i];   //取数据
  DELAY_MS(5);          //调节转速
 }
}
/********************************************************/
/*
/*步进电机反转
/*
/********************************************************/
void  motor_rev()
{ 
 unsigned char i;
 for (i=0; i<8; i++)       
 {
  PHASEPORT = REV[i];   //取数据
  DELAY_MS(5);          //调节转速
 }
}
/********************************************************/
/*                                                        
/*  主程序                                                
/*                                                        
*********************************************************/
main()
{     
 unsigned char i,j;
 PHASE_DIRE=0x0F; //端口初始化
 PHASEPORT=0xF0;
 while(1)
 {
  for (i=0; i<5; i++) {
   motor_ffw();  //电机正转
  }
  DELAY_MS(500);  //中间停顿
  for (j=0; j<5; j++) {
   motor_rev(); //电机反转
  }
  DELAY_MS(500);  //中间停顿
 } 
}
噢!差点忘了还有演示试频:http://v.youku.com/v_show/id_XMjMwNTc0OTI4.html

 
					
				
 
			
			
			
						
			 
					
				 向大神学习.......
 向大神学习....... 
					
				 
					
				 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

