搜索
bottom↓
回复: 2

AT98S52控制驱动二相步进电动机程序,求!!!

[复制链接]

出0入0汤圆

发表于 2012-1-3 21:34:29 | 显示全部楼层 |阅读模式
求90GBY4502型步进电动机驱动电路的程序!控制器是AT98S52,原理图上传如下图!各位大神,谢啦

(原文件名:GBY17.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2012-1-3 21:35:44 | 显示全部楼层
回复【楼主位】shl19890206
-----------------------------------------------------------------------

出0入0汤圆

发表于 2012-2-26 16:58:41 | 显示全部楼层
来个最简单,能转的,能说明问题的,然后你自己再搞搞:

#include <reg52.h>

unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10}; //正转表格,换算成二进制 0000 0010,0000 0100,0000 1000,0001 0000
unsigned char code B_Rotation[4]={0x10,0x08,0x04,0x02}; //反转表格,换算成二进制 0001 0000,0000 1000,0000 0100,0000 0010
//这是四拍的,你也可以弄个八拍,差不多意思,unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90}
//反正是在你的驱动端口上产生一个完整的驱动序列就行了

/******************************************************************/
/*                    延时函数                                    */
/******************************************************************/
void Delay(unsigned int i)//延时
{
while(--i);
}
/******************************************************************/
/*                   主函数                                       */
/******************************************************************/
main()
{

unsigned char i;

while(1)
{
  for(i=0;i<4;i++)      //4相
     {
     P1=F_Rotation;  //输出对应的相 可以自行换成反转表格
     Delay(500);        //改变这个参数可以调整电机转速 ,数字越小,转速越大
         }
  }
}


//关于步进电机变速曲线的讨论,通常就是Delay这块的算法讨论了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-29 02:38

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表