资源简介
程序一:基本控制;程序二:按键控制;程序三:正反转控制。
代码片段和文件信息
/********************************************************************
* 名称 : 步进电机.c
* 功能 : 通过P1.3,P1.4,P1.5,P1.6四个IO口,来控制步进电机。
杜邦线的连接线,可以参考使用说明的1.3节。
/***********************************************************************/
#include
#define uchar unsigned char
#define uint unsigned int
sbit KEY1 = P3^2; //步进电机顺时针方向转
sbit KEY2 = P3^3; //步进电机逆时针方向转
sbit KEY3 = P3^4; //步进电机调速
uchar Step = 0;
bit FB_flag = 0;
unsigned char code F_Rotation[8]={0x080x180x100x300x200x600x400x48}; //顺时针转表格
unsigned char code B_Rotation[8]={0x480x400x600x200x300x100x180x08}; //逆时针转表格
/********************************************************************
* 名称 : Delay_1ms()
* 功能 : 延时子程序,延时时间为 1ms * x
* 输入 : x (延时一毫秒的个数)
* 输出 : 无
***********************************************************************/
void Delay(uint i)
{
uchar xj;
for(j=0;j for(x=0;x<=148;x++);
}
void KEY(void)
{
if(KEY1 == 0) //按P3.2,实现步进电机的顺时针转动
{
Delay(15);
if(KEY1 == 0)
{
FB_flag = 0;
}
Delay(200);
}
if(KEY2 == 0) //按P3.3,实现步进电机的逆时针转动
{
Delay(15);
if(KEY2 == 0)
{
FB_flag = 1;
}
Delay(200);
}
if(KEY3 == 0) //按P3.4,实现步进电机的调速
{
Delay(15);
if(KEY3 == 0)
{
Step++;
if(Step == 3)
{
Step = 0;
}
}
Delay(200);
}
}
main()
{
uchar i;
//uint k = 0;
while(1)
{
KEY(); //按键处理函数
for(i=0;i<8;i++) //因为有8路的控制时序
{
//k++;
//if(k == 4096) while(1);
if(FB_flag == 0)
{
P1 = F_Rotation[i]; //顺时针转动
}
else
{
P1 = B_Rotation[i]; //逆时针转动
}
Delay(1+Step); //改变这个参数可以调整电机转速
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-12-21 22:44 程序(C51)\
文件 1908 2011-09-01 13:53 程序(C51)\步进电机.c
目录 0 2017-12-21 22:44 程序(C51)\步进电机28BYJ-48\
文件 60 2009-03-15 08:57 程序(C51)\步进电机28BYJ-48\WAVE.LIN
文件 1310 2009-07-03 19:05 程序(C51)\步进电机28BYJ-48\bjdj
文件 2990 2009-07-03 19:05 程序(C51)\步进电机28BYJ-48\bjdj.M51
文件 1279 2009-07-03 20:07 程序(C51)\步进电机28BYJ-48\bjdj.Opt
文件 1985 2009-06-10 17:25 程序(C51)\步进电机28BYJ-48\bjdj.Uv2
文件 667 2009-07-03 20:07 程序(C51)\步进电机28BYJ-48\bjdj.c
文件 201 2009-07-03 19:05 程序(C51)\步进电机28BYJ-48\bjdj.hex
文件 781 2009-03-15 08:57 程序(C51)\步进电机28BYJ-48\步进电机
文件 56 2009-03-15 08:57 程序(C51)\步进电机28BYJ-48\步进电机.BIN
文件 3133 2009-03-15 08:57 程序(C51)\步进电机28BYJ-48\步进电机.M51
文件 3488 2010-07-08 09:13 程序(C51)\步进电机按键控制.c
文件 528 2011-07-19 19:33 程序(C51)\步进电机正反转.c
- 上一篇:模糊控制与传统PID控制比较
- 下一篇:las格式转pcd和txt
评论
共有 条评论