标题: L298n驱动步进电机源程序 正转 反转 调速 两相四拍八拍都有 [打印本页]

作者: MAIXAOTIAO    时间: 2017-5-8 14:55
标题: L298n驱动步进电机源程序 正转 反转 调速 两相四拍八拍都有
L298n驱动两相四线步进电机四拍、八拍程序


001、步进电机正转两相四拍程序\
002、步进电机正转两相八拍程序\
003、步进电机反转两相四拍程序\
004、步进电机反转两相八拍程序\
005、步进电机两相四拍调速程序\
006、步进电机两相八拍调速程序\


单片机源程序:

  1. ////////////////////////汇诚科技////////////////////
  2. ///////////////////步进电机调试程序/////////////

  3. #include<reg52.h>  

  4. /*****P1.0=A ;P1.1=B ;P1.2=B' ; P1.3=A'****/
  5. //////////////////////////////////////////////////////////////////////////////////////////////
  6. /*******************************正转数组**************************************************/
  7.   code unsigned char runz[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04};  //两相四线八拍工作方式
  8. /*******************************反转数组**************************************************/
  9.   code unsigned char runf[8]={0x04,0x06,0x02,0x0a,0x08,0x09,0x01,0x05};  //两相四线八拍工作方式
  10. unsigned char keycan=0;                //键值
  11. unsigned char s,i,j,k,z;

  12. int y=30;//定义转动速度,数值越大电机转速越慢反之则快

  13. sbit P2_0=P2^0;//正转按键
  14. sbit P2_1=P2^1;//反转按键
  15. sbit P2_2=P2^2;//电机加速
  16. sbit P2_3=P2^3;//电机减速

  17. void delay(i)//延时函数
  18.   {
  19.       for(j=0;j<i;j++)
  20.       for(k=0;k<250;k++);
  21.   }



  22. void zrun()// 正转运行
  23. {

  24.    for(z=0;z<8;z++)
  25.        {
  26.          P1=runz[z];
  27.          delay(y);
  28.        }
  29. }

  30. void frun()// 反转运行
  31. {
  32.      for(z=0;z<8;z++)
  33.         {
  34.             P1=runf[z];
  35.             delay(y);
  36.          }
  37. }

  38. main()
  39. {
  40.    while(1)
  41.     {
  42.        if(P2_0==0) //如果电机正转按键按下
  43.       {
  44.         keycan=1;         //键值等于1
  45.       }
  46.          if(P2_1==0) //如果电机反转按键按下
  47.       {
  48.         keycan=2;         //键值等于2
  49.        }
  50.                      switch (keycan)
  51.                     {
  52.                      case 1: zrun();  //键值等于1 正转
  53.                                  break;
  54.                      case 2: frun();  //键值等于2 反转
  55.                      break;

  56.                      }

  57.              if(P2_2==0)  //  电机加速
  58.       {
  59.         y+=5;
  60.       }
  61.          if(P2_3==0)
  62.       {                         // 电机减速


  63. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

完整资料打包下载:
参考例程包.zip (89.58 KB, 下载次数: 429)



作者: askjsdsdd    时间: 2017-7-21 19:49
谢谢楼主分享  学习到了很多 ~~~
作者: lwr960    时间: 2017-10-11 09:15
学习了,谢谢分享
作者: 水黾水黾    时间: 2017-10-25 08:52
好东西好东西
作者: 语季Tx    时间: 2017-11-27 17:00
谢谢楼主

作者: 火炏焱燚    时间: 2017-12-4 23:48
楼主 找不到连接 下载不了

作者: carry003    时间: 2018-1-18 10:06
学习了,谢谢分享
作者: 浪里白客    时间: 2018-3-15 00:38
可以啊。。。
作者: adls    时间: 2018-3-15 07:50
学习了,谢谢分享
作者: 少女心-934    时间: 2018-3-15 09:21
资料很好,谢谢,
作者: JohnnyQian97    时间: 2018-3-28 18:34
感谢楼主分享
作者: 七夜瞬    时间: 2018-4-1 22:22
这个文件帮了我大忙,感谢楼主
作者: sunky111111    时间: 2018-4-20 16:23
不错 学习学习

作者: wxy2000    时间: 2018-5-10 22:09
L298N驱动不能反转,是怎么回事啊?求解
作者: 不必@执着    时间: 2018-5-10 22:58
楼主大人,有没有4驱动的298程序
作者: 小小555    时间: 2018-5-11 15:13
好东西值得收藏收藏!!!!!
作者: 750273008    时间: 2018-5-11 21:24
/*****P1.0=A ;P1.1=B ;P1.2=B' ; P1.3=A'****/和code unsigned char runz[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04};  这个编码错的。同意的举手
作者: 我尼玛    时间: 2018-5-30 11:27
可以发下电路吗
作者: gsm85215    时间: 2018-6-14 12:32
看看 学习学习
作者: 旭日818    时间: 2018-8-19 18:57
没硬件接线图啊


作者: 基础小白    时间: 2019-8-2 14:51
啊啊啊啊,大佬我的积分不够。可以给我发下吗?1050690991@qq.com
作者: gyg12321    时间: 2020-2-6 17:03
感谢分享!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1