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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
L298n驱动步进电机源程序 正转 反转 调速 两相四拍八拍都有" g9 y4 b* Q% _2 h2 \# y/ Q7 q

9 ]& {! c8 p$ \* Q/ K3 m

0 [$ J) R2 o$ B0 |* s. D; H* V  m) P7 `+ ]8 H7 {% g: B
////////////////////////汇诚科技////////////////////- N. S. J$ B3 X/ x0 V0 `$ n! L
///////////////////步进电机调试程序/////////////% d) g8 V8 Y$ a

, S4 p/ K$ O7 |1 j* _9 P7 B#include<reg52.h>  
7 U: p- [2 W) t; e% c9 z  A) E1 o9 R8 e* s# Z
/*****P1.0=A 1.1=B 1.2=B' ; P1.3=A'****/
( W& z, Z/ K9 U//////////////////////////////////////////////////////////////////////////////////////////////7 A( h' p) E& S
/*******************************正转数组**************************************************/
) G" y# N) \: h9 d  code unsigned char runz[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04};  //两相四线八拍工作方式; @$ g% o1 j+ p9 z# [& t
/*******************************反转数组**************************************************/
7 q* ]+ Y$ X7 v0 q( n# z2 _" v  code unsigned char runf[8]={0x04,0x06,0x02,0x0a,0x08,0x09,0x01,0x05};  //两相四线八拍工作方式
( I/ N6 \9 n8 O; @: }7 sunsigned char keycan=0;                //键值
1 v2 R# J8 r+ W* iunsigned char s,i,j,k,z;) \- b; S4 l" z: L" r+ Z! [! z
9 {# y) O4 w' h) ]. H; g7 b
int y=30;//定义转动速度,数值越大电机转速越慢反之则快8 d, k! w# ~' a: R
% f$ W: K. V2 ]1 k/ h
sbit P2_0=P2^0;//正转按键  [) Y! J: H6 T/ d% O, P1 K; F
sbit P2_1=P2^1;//反转按键
( I1 J: L. v* z  y7 g4 ^2 x( Vsbit P2_2=P2^2;//电机加速' {$ v$ A: `+ e* @- ~* X
sbit P2_3=P2^3;//电机减速$ J1 U0 {$ G4 v( z1 b# _
. m; \- p, P$ Q$ ]* z7 a6 E
void delay(i)//延时函数
. P" c- U5 t  [( l0 B4 N  {
" H- M3 ]( L* Z      for(j=0;j<i;j++)1 p- W. _) q# i5 h8 U& d
      for(k=0;k<250;k++);5 r9 E0 V- j0 a; }7 q4 l
  }
( A4 [/ K- t! J4 F8 |. `0 S2 D) ~
" r8 L5 p! W1 t# A* N
& @+ e  K$ ]. t$ K) J  _
* i% T7 o7 H7 X/ o3 Z% Jvoid zrun()// 正转运行9 e- q% B# L# N) e6 Z+ Q* }
{
9 U' m7 X) N+ Q0 w6 m9 R$ Y
  Y$ v; m3 e# c" u# d   for(z=0;z<8;z++)7 `+ i$ B% n' y8 i6 E: s
       { * a3 q7 ~% X' I+ [+ C" d
         P1=runz[z];
  K6 V" g: E: Z; ~         delay(y);
2 t1 K( I* m' p6 w3 I       }
5 s: V7 p& ~$ j$ }# N* t2 o; W}& S! K) x) }: p2 B, s

' J- a3 c+ G# k& J; d. Q, W# ^void frun()// 反转运行1 X1 n* H8 @2 x1 o
{% _+ ?+ z- J/ A# \6 W
     for(z=0;z<8;z++)/ B* o3 a- P; O; n! x. ]
        {
# `: k0 L, l6 |. R4 I            P1=runf[z];& F8 j  h# F$ o, x
            delay(y);1 i# @( c/ k- l/ w0 h% c$ m
         }+ U; ^5 ]! z% \( B; Q4 M
}5 C1 q& |; F* b. F3 y
% @* j. U$ ^  p6 {: }% ]. \$ b6 a
main()# V0 y3 ~# ]" ?) T9 B" [- `3 q
{
- O& J% G) }' h& \6 y( D   while(1); E+ S8 l- l. v. _
    {
9 O! s1 S  S0 l$ A, Z$ i/ z; c       if(P2_0==0) //如果电机正转按键按下
  J9 o, b# J' I8 L) e      {
- ?6 M9 T( b! }' C' Q5 g% P  w; g        keycan=1;         //键值等于1
3 _0 r" C3 Y7 ]      }
+ O7 y" s; E- Y, |& B2 F3 R         if(P2_1==0) //如果电机反转按键按下( P) h* ]0 F- e1 U0 c
      {/ D- \( W5 B  F1 t3 h# }9 ^* d2 C( ?
        keycan=2;         //键值等于29 l- O& x+ {; O; {* m. @( i3 m' \
       }
; k) m7 D- w+ t2 i0 y8 U                     switch (keycan)6 s: X0 E; ^( s0 _7 m! A% I
                    {' [5 p1 h7 I" n' h; d
                     case 1: zrun();  //键值等于1 正转
: b9 T) u+ ]! |9 m                                 break;
8 W% k- @) I( Y" N2 @                     case 2: frun();  //键值等于2 反转' ^( M( O* \" N5 R8 K
                     break;
% `( W6 X) P3 G5 M+ M' G5 o" ^
: V4 L7 b3 S( c                     }1 S% o. E6 k" \! B/ _

: ~* @! }) V0 m" p. D- `! W             if(P2_2==0)  //  电机加速9 h$ u- T3 B0 l( n# X
      {$ ^' T% l& }1 ?
        y+=5;* o2 E# @( C4 {9 i, s% X0 e; _
      }
; w8 S: C& m5 a; R4 E* K         if(P2_3==0)
7 B* C" Y+ V  c/ _) I      {                         // 电机减速! h, X3 z8 O1 Y" }9 `* b
# ?/ y/ y0 A% W/ ^/ T. P

6 F! N: \" q. n# \…………限于本文篇幅 余下代码请从论坛下载附件…………
0 X; X/ ]( s3 p& ^8 r7 z
游客,如果您要查看本帖隐藏内容请回复
% t7 U& w" q# k$ Z" Y' q* a
/ ^7 K' C; O% M0 ?6 ]* R/ p

该用户从未签到

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

该用户从未签到

3#
发表于 2020-6-12 09:57 | 只看该作者
非常感谢楼主
6 l9 r$ f: N6 \2 m. I
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-5 16:21 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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