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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
L298n驱动步进电机源程序 正转 反转 调速 两相四拍八拍都有
, G! U, d4 [7 I; T" [! _" _% ~# k7 i! J+ x5 _

5 T$ ?( R5 }0 D2 ?/ e1 [) s: X
4 B+ P, u8 l: n: C1 y( {////////////////////////汇诚科技////////////////////0 X  n8 r1 z/ ^' [9 ]9 ?
///////////////////步进电机调试程序/////////////# q( N$ T* U# q6 k7 R* U
* M- ~6 Z9 D0 t' l$ {+ `9 y4 l/ o
#include<reg52.h>  
0 H7 K4 j0 R: r: M1 n0 W$ [+ E( A2 L
/*****P1.0=A 1.1=B 1.2=B' ; P1.3=A'****/
" b7 ?: U+ [: j/ u3 \9 P//////////////////////////////////////////////////////////////////////////////////////////////6 P* U* z! ?2 y7 Q' m: _
/*******************************正转数组**************************************************/
) [: ~# O* u  U  code unsigned char runz[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04};  //两相四线八拍工作方式/ Q7 C: M8 R7 e! r" A" K" g+ b
/*******************************反转数组**************************************************/
. K6 v! t- q' [3 b3 h# T: n! {1 h3 q  code unsigned char runf[8]={0x04,0x06,0x02,0x0a,0x08,0x09,0x01,0x05};  //两相四线八拍工作方式' K/ i& P6 N# s+ s( z" \: G7 F
unsigned char keycan=0;                //键值& I" a! X. r' R7 o' I& t9 w
unsigned char s,i,j,k,z;
) O7 A0 ]' p- X. ~( C
% B, M# |8 i4 u& A. Xint y=30;//定义转动速度,数值越大电机转速越慢反之则快: H% ^5 x. x8 k( S/ S, M, A
: b& u/ A1 @0 I0 n* U9 _( f: ^
sbit P2_0=P2^0;//正转按键  `; \" S' a9 T9 n1 x/ Y
sbit P2_1=P2^1;//反转按键6 b! i6 l5 n9 t: T4 f" E9 `1 d
sbit P2_2=P2^2;//电机加速
0 S$ k+ t6 {6 {/ B2 x& q) ~sbit P2_3=P2^3;//电机减速
4 m0 x2 U" g& t* H/ I+ z, s+ f
; M2 Y; r$ x) {9 R% t/ ]& Q9 r5 D' Tvoid delay(i)//延时函数. h7 t7 h. R: {- {1 [4 h
  {& N5 W. c$ O% {( `: B3 x
      for(j=0;j<i;j++)
) U, B$ b' q5 p/ z- v2 |; x7 ]      for(k=0;k<250;k++);
7 s2 a) S% p. d1 }4 r  }
3 e) K4 `- _( E! U% v4 T; W3 q/ L/ Z  d5 G4 T. h. d7 |
+ t* F" x7 w6 N. {

- J9 x) I* R; Svoid zrun()// 正转运行, G/ M7 W2 X( Q6 A
{
8 |, `; c, a6 u5 o( b$ m1 K( H' e5 S/ L- E, e
   for(z=0;z<8;z++)
, @3 K* Q% p& Q" b       { 1 c) ?* e- w& k' b! S, a& X
         P1=runz[z];
( k+ [+ a8 A  x0 k2 r         delay(y);  y: u$ |4 i. F* }% S
       }
* U! \2 q5 O7 ?  O4 j) s: n}$ I& H9 \. q+ i/ R
- ^  O) u$ T3 `. {( s
void frun()// 反转运行4 X; w. \, E" Y- x) ]5 T
{
+ M3 X/ |) o& o; o, }     for(z=0;z<8;z++)# Q8 }- j! v7 ]. Y2 O
        {3 o) \/ r, V$ g5 P  O, V4 f
            P1=runf[z];) E0 B" b) }4 y5 I; V- N# G
            delay(y);
2 [0 n- T) a* h8 k- P         }# K  x+ I+ A' j) ~( P$ x$ Y) Q1 ^2 l
}. s( w. ?. Z& o# I

+ }% i7 B* t6 N5 Pmain()
% j2 F$ r+ }1 H3 p1 J) \4 d2 e) I{
/ S5 p3 E, G0 k6 _( P   while(1)$ J" O8 L, c# |$ V0 F* a
    {* r( |- p0 @- a
       if(P2_0==0) //如果电机正转按键按下
+ U, M% B1 a+ Z4 K, C9 o      {" r4 ]8 `( x/ ?0 k+ e: F
        keycan=1;         //键值等于1( m# n/ }, p2 {" d
      }
! o4 n3 l* G3 c, \4 Y         if(P2_1==0) //如果电机反转按键按下
: O& [! U$ w. [+ x: y1 k, M      {
/ d" T! U; Y0 \        keycan=2;         //键值等于21 V2 {6 b; x* L- E$ d
       }  w4 e- N9 P7 S" _' }
                     switch (keycan)4 e" f" P3 f% {8 a  o
                    {( @- L% K" a/ ^* |3 F. }9 x% ?
                     case 1: zrun();  //键值等于1 正转8 M3 I! g9 Y7 L' h0 t$ x
                                 break;
: G: |1 [* i, E$ g( ~2 O                     case 2: frun();  //键值等于2 反转$ m' L, k: D% V* C' v
                     break;
1 l& p6 o$ U% e+ J0 O/ y! |. `: A  B. l' X
                     }2 I% c2 T5 v- r7 k+ b. b: @8 L( k5 P
+ N* ]& H2 R  H
             if(P2_2==0)  //  电机加速; q! @1 }6 ]! I; e9 D: Q' Y* G
      {
. i6 {- J9 \$ O6 I        y+=5;
* ]$ C0 R2 U7 M( R' a: Y1 N- ~" r9 ^      }
4 ]2 @9 ]6 E& ^* ~% m         if(P2_3==0)( @" G4 D' D: R( P8 y- n& W% e
      {                         // 电机减速6 C' `8 d5 \, V
2 L/ K8 J# E) Y

6 q2 x& {$ x* ?+ E( ?& ?/ y, {…………限于本文篇幅 余下代码请从论坛下载附件…………
3 q7 I' S& J  E7 j. G
游客,如果您要查看本帖隐藏内容请回复

0 w$ f: v5 v8 E8 _" t& P
4 j+ S4 p. Q9 ]5 ~' ^

该用户从未签到

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

该用户从未签到

3#
发表于 2020-6-12 09:57 | 只看该作者
非常感谢楼主0 k$ J( w; M! ~  ^( |! L1 C
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-21 11:49 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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