找回密码
 注册
关于网站域名变更的通知
查看: 566|回复: 2
打印 上一主题 下一主题

L298n驱动步进电机源程序 正转 反转 调速 两相四拍八拍都有

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-11-26 09:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
L298n驱动步进电机源程序 正转 反转 调速 两相四拍八拍都有
" n% o$ @3 V0 Q+ t
) R+ Y# ]( t0 V/ Y

( O; \+ }( `  q( [
0 b" ^8 j) H1 ~& W////////////////////////汇诚科技////////////////////
5 U0 R% z8 w; C% M* q///////////////////步进电机调试程序/////////////
0 O2 j: D5 r+ W# v, E; t  C- I7 _: e) l6 ~4 ^
#include<reg52.h>  9 B8 S3 \5 c' \3 j/ e7 W% a6 e

# J( u; V, y7 A1 ?% K* \/*****P1.0=A 1.1=B 1.2=B' ; P1.3=A'****/
+ g6 q7 ]( O8 G" X: d//////////////////////////////////////////////////////////////////////////////////////////////. k; o1 C, x4 r. B; N. q( p# P9 J% K
/*******************************正转数组**************************************************/
8 D$ C, B* J& I: C, Z! a  code unsigned char runz[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04};  //两相四线八拍工作方式
, t" B' m8 l3 @; ^# _% J/*******************************反转数组**************************************************/
0 S7 d3 v" T; ^2 O) }  code unsigned char runf[8]={0x04,0x06,0x02,0x0a,0x08,0x09,0x01,0x05};  //两相四线八拍工作方式2 Q$ L- T! \( a; w! }- J" r6 m
unsigned char keycan=0;                //键值
' d8 ?1 d  v0 D; r. runsigned char s,i,j,k,z;
2 e; P& b3 \8 X* `5 @6 V/ w# ]6 ^$ Z- b  Q
int y=30;//定义转动速度,数值越大电机转速越慢反之则快! M- [, l" L+ A7 x
/ B5 h+ S( m- ?  Z0 [/ _+ b- c
sbit P2_0=P2^0;//正转按键
, H4 k" `3 k, N6 Y4 esbit P2_1=P2^1;//反转按键* C  Y4 `, v' y/ u
sbit P2_2=P2^2;//电机加速
/ V$ M4 ?5 @: Gsbit P2_3=P2^3;//电机减速/ f- `' @* u: r; X: L0 F
) m( `$ s. A+ O7 a" h7 `
void delay(i)//延时函数
4 ]8 k5 a- _8 ?( A" g# W$ q0 y8 H  {* ^9 E; L0 e' E7 S( x
      for(j=0;j<i;j++), W8 X. V0 p& P) x* W- N9 ~2 m6 G4 F  @! j
      for(k=0;k<250;k++);
7 y% ^, `# u! W/ q6 v. V& N  }  g  V* `3 P/ M& f# L* h& j
2 j* Z/ y# A( {7 ~: }
4 Z7 k$ a# A* g& K: `+ l4 {
) x: o* O7 ]! k- s
void zrun()// 正转运行
1 R) }0 Z3 I; w- D: h1 X0 ^5 P{- X* t# G- L; Y. M$ |

9 J7 l- J! |; C7 ?* Z   for(z=0;z<8;z++)
0 k8 q0 T! ^+ F! e6 E       { ' h* ?9 g* G9 A5 P& {+ X* c/ t
         P1=runz[z];/ `) h3 m* A- S' ~
         delay(y);( V1 V( T; E5 v9 |) w0 G
       }- N: R: b1 U$ S* L: {
}
; ?, z' P+ }& c! Z$ l! M5 x1 R6 f0 \# ]- N: Z( l& @
void frun()// 反转运行
' K( N" N! p; {$ S5 u3 ~ {
& v, K$ k. G/ H     for(z=0;z<8;z++)
) }; _. i, x0 X8 y        {4 \% |8 N$ N/ N% k% m
            P1=runf[z];
, i) D' K( l' K+ i            delay(y);
* r* x( J" y1 q1 Z8 o# d1 w         }2 H) }! L5 g$ K
}: y3 D% C8 V# W: y( L/ j# d9 k4 W

" x& G0 [. a; w& y' gmain()) h) i1 P' e1 m9 X$ {7 V
{; e3 N7 z* ]0 M3 E( T2 @' u
   while(1): r6 L/ u( D1 w) X
    {: d) n& T0 X1 h8 X: I& C6 r
       if(P2_0==0) //如果电机正转按键按下
. F0 g; m1 w: P6 K! [- v      {. u1 K2 g# m2 _) o
        keycan=1;         //键值等于1
6 m7 t, i( b: h6 K      }
0 Q. ^# Q5 w; j         if(P2_1==0) //如果电机反转按键按下) l  o+ T+ r/ |# M: C1 ]1 g
      {$ z6 f3 i" t1 f+ W( }
        keycan=2;         //键值等于27 `% ]3 m- J! L6 i% g4 V
       }
, Q9 c- ~$ l; O9 W                     switch (keycan)
( o2 Y, y& Q' ~' d  {! e  z; N                    {
% R4 K% c2 a7 U) J' R1 ]                     case 1: zrun();  //键值等于1 正转
% `( l1 O- \, T, J                                 break;; _  C9 l4 ]- v
                     case 2: frun();  //键值等于2 反转
" V7 A8 f' [: Z3 F                     break;- l% T" Z' U3 u: d9 E2 s
# z5 K. z3 t1 g7 M6 l7 t: p
                     }6 W3 O& x/ E% N/ A. S4 Y
/ G: t! q6 L. ^
             if(P2_2==0)  //  电机加速  g* N- @) ^3 {3 e
      {5 o6 g8 Z5 M* Q' J- B
        y+=5;
( H2 k/ D0 o  I) _  F. {      }
- o, \; W. c1 p$ a9 ^         if(P2_3==0)" b$ s" b4 I, ]( `" t# C) v# ]( k
      {                         // 电机减速
! j9 o, Z6 f' \  H  D+ a
# X% D8 z% S5 b1 `5 r' X$ @8 B, W2 {& v* C/ g7 J) j" z  {8 Q
…………限于本文篇幅 余下代码请从论坛下载附件…………6 X; }2 @2 x  q$ Z% f8 Q
游客,如果您要查看本帖隐藏内容请回复
9 j  K& L/ f/ g3 x( l: v6 S8 v+ t1 b
& `/ \5 p9 G9 W4 I8 M9 p1 N$ ?) o

该用户从未签到

2#
发表于 2018-11-26 10:25 | 只看该作者
感谢楼主的分享

该用户从未签到

3#
发表于 2020-6-12 09:57 | 只看该作者
非常感谢楼主
+ m5 ^' B; w# ?8 }+ B; k
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-19 09:48 , Processed in 0.109375 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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