专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

C51单片机微调SH-20504程序

作者:周华   来源:本站原创   点击数:  更新时间:2014年03月27日   【字体:

/*******************************************************************************************************************
*       版权归huaer所有                                                                                                             **
* 功能:SH-20504控制56BYG250C的单片机程序                                                                                         **
* 输出:PWM                                                                                                                           **
* 输入:无                                                                                                                               **
*                                                                                                                                              **
*电路链接:  共阳 (方向+/脱机+/PWM+连接在一起与电源或者是控制I/O相连)                        **
*                                              |               |                                                                               **
*                    方向脉冲 P1.0---|               |----P1.3 key1                                                                                    
*                   PWM脉冲 P1.1---|               |----P1.4 key2
*                    脱机脉冲 P1.2---|               |----P1.5 key3                                                                           
*                                              |               |
* 创作时间:2014.3.25
* 创作人:  huaer  周-华
***************************************************************/
#include < reg51.h >
sbit C = P1^0; //方向脉冲
sbit D = P1^1; //pwm脉冲
sbit E = P1^2; //脱机脉冲
sbit key1 = P1^3; //方向开关
sbit key2 = P1^4; //加速开关
sbit key3 = P1^5; //减速开关
void delay(unsigned int d)
{
   unsigned char i;
   for ( ; d>0; d--)
     for ( i=30; i>0; i--);
}
void main ( void )
{
 unsigned char  v1 = 1;//速度标志\空占比调节
 unsigned char  z = 0;
 while( 1 )
 {
  if ( key1 == 0 )
  {
    delay(100);
    if(key1 == 0)
    {
     while( ~key1 );
   z = 1;  //反转(默认下正转)
    }
  }
  else z = 0;
  if( key2 == 0)
  {
     delay(100);
     if(key2 == 0)
       {
       while( ~key2 );
    ++v1;
    }
  }
  if( key3 == 0)
  {
     delay(100);
     if(key3 == 0)
       {
       while( ~key3 );
       --v1;
    }
  }
  if( z == 1)
  {
     C = 0;
     delay(1);
     D = 0;
     delay( v1 );
     D = 1;
     delay( v1 );
     /*
     D = 0;
     delay( v1 );
     E = 0;
     delay( v2 );
     E = 1;
     */
  }
  else {
 
     D = 0;
     delay( v1 );
     D = 1;
     delay( v1 );
     /*
     D = 0;
     delay( v1 );
     E = 0;
     delay( v2 );
     E = 1;
     */
 
 
  }
 }
}

关闭窗口

相关文章