微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > C51单片机微调SH-20504程序

C51单片机微调SH-20504程序

时间:12-02 来源:互联网 点击:
/*******************************************************************************************************************
* 版权归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;
*/

}
}
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top