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

📄 bujindianji.c

📁 RZ-51V20 实例程序
💻 C
字号:
#include <reg52.h>       //51芯片管脚定义头文件
#include <intrins.h>       //内部包含延时函数 _nop_();

#define uchar unsigned char
#define uint  unsigned int

sbit  K1=P3^2;
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 <125 ; s++) ;  
    }while(--k);
 }
/********************************************************/
/*
/*步进电机正转
/*
/********************************************************/
/********************************************************/
void  motor_ffw()
 { 
   uchar i;
   uint  j;
   for (j=0; j<16; j++)         //转1*n圈 
    { 
	                 //退出此循环程序
      for (i=0; i<8; i++)       //一个周期转45度
        {
          P1 = FFW[i];          //取数据
          delay();            //调节转速
        }
    }
 }

/********************************************************
*                                                       
*步进电机运行                                               
*                                                      
*********************************************************/
void  motor_turn()
{ 
   uchar x;
   rate=0x10;
   x=0x0f;
   do
     {
        motor_ffw();               //加速
        rate--;
     }while(rate!=0x02);

   do
     {     
        motor_ffw();               //匀速
       x--;
     }while(x!=0x01);
  
   do
     {
        motor_ffw();              //减速 
        rate++;
     }while(rate!=0x0a);    
}

/********************************************************
*                                                       
*  主程序                                               
*                                                      
*********************************************************/
main()
{     
   
   P1=0x0f; 

   while(1)
  {
      P1=0x0f;
      if(K1==0)
     {
       motor_turn();
     }
  } 
}

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

⌨️ 快捷键说明

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