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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
L298n驱动步进电机源程序 正转 反转 调速 两相四拍八拍都有
* W( y  _" k& a* R9 O# o
4 F- E" Z+ ]3 _$ T" }( Y
# P  I3 \( q0 `! i0 U

0 ?/ t0 u) ^- e' ^& f////////////////////////汇诚科技////////////////////& x' L" W0 R( `
///////////////////步进电机调试程序/////////////$ `' H! p+ E3 y8 ^0 L

3 b: ]5 T% R* p# @/ O& \; g& }( E& `#include<reg52.h>  
9 R+ C6 D( [% S9 K( |* x. P  B
9 g9 F+ i+ a/ {, z. e: i/*****P1.0=A 1.1=B 1.2=B' ; P1.3=A'****/ ( m5 R' y! }8 N+ ~! x, V
//////////////////////////////////////////////////////////////////////////////////////////////
8 Q3 @0 B9 |! k: i3 z3 ?/*******************************正转数组**************************************************/
: J3 M) `1 R7 ?0 n" f  [1 v  code unsigned char runz[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04};  //两相四线八拍工作方式% @/ ~# M- r4 G& i% P" Z
/*******************************反转数组**************************************************/
( t% u* O6 T' p  code unsigned char runf[8]={0x04,0x06,0x02,0x0a,0x08,0x09,0x01,0x05};  //两相四线八拍工作方式7 l! Z6 T: r8 [7 U/ [
unsigned char keycan=0;                //键值2 H. O$ a$ X) h) D
unsigned char s,i,j,k,z;0 \, ~& K, D5 s, V* l
$ i# ~3 @9 b6 L0 Z0 m) ]
int y=30;//定义转动速度,数值越大电机转速越慢反之则快
5 T4 Q: g, I7 {" O- a& ^, ]3 z6 _2 Z3 W$ j5 l+ ~' w% T
sbit P2_0=P2^0;//正转按键
) x' m) C8 G6 W( W6 R7 j  Asbit P2_1=P2^1;//反转按键
% O: [& d$ n$ ~" r" _' ysbit P2_2=P2^2;//电机加速
9 y! @3 x  X& B( N7 F2 Q+ Msbit P2_3=P2^3;//电机减速
* _% C0 G' h! n9 _
% F% e5 K$ R! n. Y& R$ J; nvoid delay(i)//延时函数
! ~9 ~! o' z9 y' D& O( o4 B  {
) V0 s) Q0 y6 q! t5 C1 F: C% u      for(j=0;j<i;j++)$ k+ g  O) }  v: Y
      for(k=0;k<250;k++);
) U! `8 O. u2 C3 A3 [  }( c: g3 M- }" w2 [1 o
1 B" a3 ~: C# X/ J% E
$ g8 r9 s" }# c8 j; j

# p% M0 R: @5 z  D! Tvoid zrun()// 正转运行- ]$ N9 r# L/ J, ]! h1 e; D" ]" `
{2 P6 t& v1 V/ z2 T0 @  i' P$ y
% ~  ?& |. S+ f& k# W/ E
   for(z=0;z<8;z++)) V% b1 q3 Y- s- o8 _
       { . T. v+ P- c* i' Y
         P1=runz[z];
0 D4 I' f8 O( P% U5 X" N" {         delay(y);
3 f2 Z( e/ v0 H: T! r- _, U       }+ _1 D; q! t% K5 P4 y. |
}$ v/ }( H8 v  Z- D( r0 ?) z; ~* H
8 i* `6 P! M% ^7 Q3 ?+ ^
void frun()// 反转运行
4 M/ g8 Y0 Z( m7 C- _ {8 T' H- |1 w5 }4 ?) U5 f" v
     for(z=0;z<8;z++)
& a9 a* h$ }3 k( k4 n        {
: k2 Q' o2 P! W$ j% [% M            P1=runf[z];
& S2 k) l! C: b6 W            delay(y);
8 j) P  D7 `; {# G5 J9 d. G         }
. `7 t( K" M  J) U}% e- _' M# G1 P+ `
) N# Y3 x5 x$ E7 o
main(): ~" h% w8 E8 Q
{6 h3 f' R  t1 [! x& K
   while(1)
6 Y7 R# H  W, r7 ?: C( @    {
: k* ~2 w! G7 ?& U$ G# a       if(P2_0==0) //如果电机正转按键按下
. \2 s: f$ G7 Z$ ]% h/ q      {' `8 @5 q* Y$ X' R* R( ~8 ^/ J
        keycan=1;         //键值等于1
2 O" w( P) I5 o  ]# K& K0 Y9 ]      }
  y1 V. T% U7 p( Q         if(P2_1==0) //如果电机反转按键按下
1 C* ^1 U4 j: l$ M( d* Z* d      {' g2 B  E) [5 p/ Y: M: I& u
        keycan=2;         //键值等于2
  j, S2 h# R/ F# X8 }5 Y" C       }
3 ~3 a/ |6 H$ [4 k8 S                     switch (keycan): C6 [, m9 N# C4 e
                    {3 P" T9 z& v% l) N8 w
                     case 1: zrun();  //键值等于1 正转6 X7 }6 {4 y' a2 ^/ r
                                 break;
# ^- @% r# @& t, a: m6 u  n# X                     case 2: frun();  //键值等于2 反转$ I: l  D" Z( M$ S5 p" c; k$ ]
                     break;5 i5 j' j% V+ O1 z' C
! z: ~  |2 a! k& x- G: ^6 G
                     }
2 e5 k+ c6 x" h/ Q( R  F9 K1 j' V% A% C9 {( O% d0 Z! \3 x+ g
             if(P2_2==0)  //  电机加速. j! S4 A+ F2 y0 ~: R
      {
( ^! i) ^+ ?: v; Y        y+=5;
$ ^7 y3 d& P0 D" ~) h5 ], L      }
# J6 N9 A4 c! V% l" [$ j         if(P2_3==0), F" M& A. ?9 l
      {                         // 电机减速
* x$ ^* K. N, z
9 R$ }3 H- e& ~# p, I% d/ U! o* t( `* ~3 L$ m$ i# C- o
…………限于本文篇幅 余下代码请从论坛下载附件…………7 \- O% Z# F% t
游客,如果您要查看本帖隐藏内容请回复

# r- {5 T, m* M9 q0 d0 s
& w$ V" M4 E. L; Q

该用户从未签到

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

该用户从未签到

3#
发表于 2020-6-12 09:57 | 只看该作者
非常感谢楼主
+ b8 Z- Z, j- ?  ?% v+ e' p
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-13 10:18 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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