您现在所在的是:

单片机论坛

回帖:8个,阅读:3116 [上一页] [1] [下一页]
3641
yueliang150
文章数:389
年度积分:50
历史总积分:3641
注册时间:2003/4/24
发站内信
发表于:2009/2/13 19:45:59
#0楼
不知道我为什么不能传压缩文件,需要KEIL 源代码的留下邮箱。


//两相5、6线步进电机,分为四拍和八拍,
//八拍:A-AC-C-CB-B-BD-D-DA
//四拍:A-C-B-D,因此在八拍的基础上减去中间的就可以了,不过步距角要大一倍
/*主程序***********************************************************/
void main()
{
//这里只给出正传程序,反转程序只要把正转脉冲程序反顺序就可以了。
//实际使用中,运行:控制延时由慢到快;停止:控制延时由快到慢。
while(1)
 {
 
//如果控制方式为2相4拍,一圈是200个脉冲。那一个脉冲是1.8度。
//如果电机连接机械运行一圈是100mm,那一个脉冲是0.5mm。
//如果你要电机运行248mm,知道给几个脉冲了吧?如果不知道安就撞墙了。
if(P1_0==0)Right2(800,12); //P1_0按下,电机运行800个脉冲。12是延时,数越大速度就越慢。
else P0=0x0F;//停止后将四个脚输出置高
}

}
源码:http://blog.gkong.com/download.aspx/2009213192034944.rar?file=uploadfile3/2009213192034944.rar
说明文档:http://blog.gkong.com/download.aspx/200921319219198.pdf?file=uploadfile3/200921319219198.pdf
图






[此贴子已经被作者于2009-2-13 20:02:58编辑过]
单片机、ARM产品开发设计;
小设备、夹具、治具控制器设计开发;数码管、点阵LED电子看板开发;
3641
yueliang150
文章数:389
年度积分:50
历史总积分:3641
注册时间:2003/4/24
发站内信
发表于:2009/2/13 19:54:39
#1楼
//QQ:228939191.
//两相5、6线步进电机,分为四拍和八拍,这里介绍输出八拍方式:A-AC-C-CB-B-BD-D-DA
//四拍:A-C-B-D,因此在八拍的基础上减去中间的就可以了,不过步距角要大一倍
//#include <reg51.h>
#include "STC89C52.H"
#include <intrins.h>
//定义两相电机的四组线,
sbit LA1=P0^0;  //为 A相
sbit LB1=P0^1;  //为 B相
sbit LA2=P0^2;  //为/A相
sbit LB2=P0^3;  //为/B相
#define uchar unsigned char
 
void mDelay(unsigned int DelayTime);  //延时函数


//2相4拍
/************************************************************************************/
//两个参数代表步进步数和转速
void Right1(unsigned int BuShu,unsigned int SuDu)
{
//步进节拍:A-AC-C-CB-B-BD-D-DA
while(1)
{
  LA1=0;LB1=1;LA2=1;LB2=1;  
  mDelay(SuDu); //这里的延时就可控制转速
  if(!BuShu--)break; //判断步进量走完没?以下都是,每走一步,判断一次
 
  LA1=0;LB1=0;LA2=1;LB2=1;
mDelay(SuDu);
  if(!BuShu--)break;
 
  LA1=1;LB1=0;LA2=1;LB2=1;
  mDelay(SuDu);
  if(!BuShu--)break;
 
  LA1=1;LB1=0;LA2=0;LB2=1;
  mDelay(SuDu);
  if(!BuShu--)break;
 
  LA1=1;LB1=1;LA2=0;LB2=1;
  mDelay(SuDu);
  if(!BuShu--)break;
 
  LA1=1;LB1=1;LA2=0;LB2=0;
  mDelay(SuDu);
  if(!BuShu--)break;
 
  LA1=1;LB1=1;LA2=1;LB2=0;
  mDelay(SuDu);
  if(!BuShu--)break;
 
  LA1=0;LB1=1;LA2=1;LB2=0;
  mDelay(SuDu);
if(!BuShu--)break;
}
// P0=0xFF;
}
//2相4拍
/************************************************************************************/
void Right2(unsigned int BuShu,unsigned int SuDu)
{
//步进节拍:A1B1-B1A2-A2B2-B2A1
while(1)
{
  LA1=0;LB1=0;LA2=1;LB2=1;
  mDelay(SuDu);//这里的延时就可控制转速
  if(!BuShu--)break;
 
  LA1=1;LB1=0;LA2=0;LB2=1;
mDelay(SuDu);
  if(!BuShu--)break;
 
  LA1=1;LB1=1;LA2=0;LB2=0;
  mDelay(SuDu);
  if(!BuShu--)break;
 
  LA1=0;LB1=1;LA2=1;LB2=0;
  mDelay(SuDu);
  if(!BuShu--)break;
}

}  
/************************************************************************************/
void mDelay(unsigned int DelayTime)  //延时函数
{  
unsigned char j=0;
while(DelayTime--)
{
  for(j=0;j<20;j++){}
  }
}
/************************************************************************************/
void main()
{

while(1)
{
 
//如果控制方式为2相4拍,一圈是200个脉冲。那一个脉冲是1.8度。
//如果电机连接机械运行一圈是100mm,那一个脉冲是0.5mm。
//如果你要电机运行248mm,知道给几个脉冲了吧?如果不知道俺就撞墙了。
if(P1_0==0)Right2(800,12); //P1_0按下,电机运行800个脉冲。12是延时,数越大速度就越慢。
else P0=0x0F;//停止后将四个脚输出置高
}
}



[此贴子已经被作者于2009-2-13 19:55:20编辑过]
单片机、ARM产品开发设计;
小设备、夹具、治具控制器设计开发;数码管、点阵LED电子看板开发;
875
胡江为
文章数:21
年度积分:50
历史总积分:875
注册时间:2009/3/31
发站内信
发表于:2009/4/9 17:14:25
#2楼
楼上的好强啊   我好羡慕啊  能不能叫我学单片机啊
3641
yueliang150
文章数:389
年度积分:50
历史总积分:3641
注册时间:2003/4/24
发站内信
发表于:2009/4/10 22:58:38
#3楼
我的剩余有限!

你自己买几本书、买块有网站论坛的学习板,自己学习吧,
单片机、ARM产品开发设计;
小设备、夹具、治具控制器设计开发;数码管、点阵LED电子看板开发;
907
ronincn
文章数:1
年度积分:50
历史总积分:907
注册时间:2008/3/12
发站内信
发表于:2009/4/19 8:59:56
#4楼
给我发一份吧,谢谢楼主了。peihongjie@163.com








804
yuzeze
文章数:1
年度积分:50
历史总积分:804
注册时间:2009/4/29
发站内信
发表于:2009/4/29 19:39:53
#5楼
为什么老是说我没登陆不能下载啊?我已经登陆了啊!
807
心中有佛
文章数:1
年度积分:50
历史总积分:807
注册时间:2009/5/6
发站内信
发表于:2009/5/6 19:52:31
#6楼
我想要直流电机的 我的邮箱zhangguodong1111@yahoo.com.cn
感谢楼主分享 谢谢
3641
yueliang150
文章数:389
年度积分:50
历史总积分:3641
注册时间:2003/4/24
发站内信
发表于:2009/5/12 8:02:46
#7楼
没有直流电机的。很简单,自己写写。
单片机、ARM产品开发设计;
小设备、夹具、治具控制器设计开发;数码管、点阵LED电子看板开发;
17528
ahljj
文章数:3387
年度积分:240
历史总积分:17528
注册时间:2002/3/23
发站内信
发表于:2010/7/13 15:08:53
#8楼
学习了

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

93.6006