⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stepping motor-simple-02.c

📁 51单片机步进电机程序驱动
💻 C
字号:
 
/******************************************************************
/*                                                                *
/* KT900单片机开发系统演示程序 - 步进电机控制程序                 *
/*                                                                *
/* 步进电机启动时,转速由慢到快逐步加速。                         *
/*                                                                *
/* 邮箱: 89s51@163.com                                           *
/* 网站: http://www.150000.com                                   *
/* 作者: 007                                                     *
/* 时间: 2006/05/18                                              *
/*                                                                *
/*【版权】COPYRIGHT(C)南方电子 www.150000.com ALL RIGHTS RESERVED *
/*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!      *
/*                                                                *
/******************************************************************/
    
#include <reg51.h>       //51芯片管脚定义头文件
#include <intrins.h>	 //内部包含延时函数 _nop_();

#define uchar unsigned char
#define uint  unsigned int

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,t;
   k = rate;
   t = 0x00;

   do{
       do{ _nop_();_nop_();_nop_();_nop_();
	         _nop_();_nop_();_nop_();_nop_();
	     }while(--t);
		
     }while(--k);
 }
/********************************************************/
/*
/*步进电机正转
/*
/********************************************************/
void  motor_ffw()
 { 
   uchar i;
 
      for (i=0; i<8; i++)     //一个周期转30度
        {
          P0 = FFW[i];        //取数据
          delay();            //调节转速
        }
 }

/********************************************************
*                                                       
*  主程序                                               
*                                                      
*********************************************************/

main()
 {     
   rate = 0x10;
   while(1)                     
    {  
     motor_ffw();          //电机正转
	   if(rate>2)
	   rate--;      
    }
 }

/********************************************************/      	   	   

⌨️ 快捷键说明

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