您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>C/C++语言编程>

Keil软件方向控制实现程序

大小:0.2 MB 人气: 2017-09-06 需要积分:0
/* ch10-3-4.c - 方向控制实验 */
//由P1输出,正转200步(1圈),再反转200步(1圈),
//excite[]为1相驱动,更改内容可改为2相驱动
//速度为 1/(5ms TIMES) 步/秒
//===============================================
#include // 包含reg51.h档
#define OUTPUT P1 // 定义输出埠为P1
unsigned char steps=200; // 声明步数变量
unsigned int times=50; // 声明延迟时间变量( 5ms)
/* 1相激励信号阵列 */
char code excite[]={ 0x01, 0x02, 0x04, 0x08};
void step_rst(void); // 声明定位函数
void delay5ms(int); // 声明延迟函数
main() // 主程序
{ int i; // 声明变量
OUTPUT=0; // 关闭输出
step_rst(); // 定位
while (1) // while循环
{ for (i=0;i { OUTPUT=excite[i%4]; // 输出
delay5ms(times); // 延迟
} // 左移结束
for (i=0;i { OUTPUT=excite[3-i%4];// 输出
delay5ms(times); // 延迟
} // 右移
} // while循环结束
} // 结束主程序
//===================================================
void step_rst(void) // 定位函数开始
{ char i; // 声明变量
for(i=0;i<4;i++) // 输出四个信号
{ OUTPUT=excite[i]; // 输出激磁信号
delay5ms(100); // 延迟0.5秒
} // 结束
}
//===================================================
void delay5ms(int x) // 延迟函数开始
{ int i,j; // 声明变量
for(i=0;i for(j=0;j<600;j++); } // j循环

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!