×

Keil软件方向控制实现程序

消耗积分:0 | 格式:rar | 大小:0.2 MB | 2017-09-06

分享资料个

/* 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条评论

快来发表一下你的评论吧 !