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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
L298n驱动步进电机源程序 正转 反转 调速 两相四拍八拍都有* S% J! m- p  d% ?, I" e6 h

, _+ s3 d  j; \1 m( V* `

' P4 |% I8 k" L- V+ C  S( e
4 W0 |& P8 w( ^2 ?/ n) E' u////////////////////////汇诚科技////////////////////* T8 t# ^4 g9 w' c8 c* g( L- U
///////////////////步进电机调试程序/////////////
9 P: D2 `6 c# ?/ l, S5 W5 B8 ^6 f+ d8 M/ A. [& o/ o
#include<reg52.h>  6 i: _( K. C1 h, ~* M

) L- G, y7 [. j: J/*****P1.0=A 1.1=B 1.2=B' ; P1.3=A'****/ 5 K% ?6 s2 C, E5 E1 T
//////////////////////////////////////////////////////////////////////////////////////////////
8 d2 f& a, x* K' t/*******************************正转数组**************************************************/
- T, i9 j+ t1 K0 t! J  code unsigned char runz[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04};  //两相四线八拍工作方式# J, r% w' O3 T
/*******************************反转数组**************************************************/+ {( n% r7 O, u$ l4 c: {
  code unsigned char runf[8]={0x04,0x06,0x02,0x0a,0x08,0x09,0x01,0x05};  //两相四线八拍工作方式
4 `3 C% C" `- G$ U$ ?+ funsigned char keycan=0;                //键值
1 ?) ]7 K5 s5 D) G3 S* yunsigned char s,i,j,k,z;
$ ]& F3 f% F; U  y! t
+ |( j) Z7 ]" ], Cint y=30;//定义转动速度,数值越大电机转速越慢反之则快
. y2 A- @" E; d, P2 H
8 R# X) ?# `2 J  w& k7 hsbit P2_0=P2^0;//正转按键* g& c" j/ ^- u8 r2 A1 O6 c
sbit P2_1=P2^1;//反转按键
. n5 B" O7 b* M& f5 zsbit P2_2=P2^2;//电机加速( ^/ H# K6 x* @  q. w3 Q0 U0 |+ Y
sbit P2_3=P2^3;//电机减速9 z  u! t2 _# C8 B: _

/ T" ]3 F. q8 y5 i; g5 }/ z. pvoid delay(i)//延时函数  Z% l( S# R  ^! F' M
  {
0 U0 S5 I4 W7 N& i      for(j=0;j<i;j++)  T( o' N  v4 w0 T; z
      for(k=0;k<250;k++);
9 n0 t. B0 t- l" J  }) A* }7 M9 B0 y8 j1 M

$ k( w9 o6 V$ }- k7 }1 |; Y$ d' I' l% y" ?& {: b! `2 {
  T. b0 s5 E6 ^9 N7 h$ y; B9 }' d) y
void zrun()// 正转运行
- t6 o8 c6 B7 M* |7 q/ ?{
% G% p9 R6 ?' c1 L7 r8 ?7 q& S: @/ Y4 j2 C* f
   for(z=0;z<8;z++)3 J  e! T) q/ a7 V7 Z
       { 3 [& I7 I" t1 h! S) {% v! V
         P1=runz[z];# |3 i% h/ b; U; }. A
         delay(y);+ @, m6 w* K9 W; a
       }; n& e% N- L3 p! A
}
% o. ]( k3 i2 D6 j+ C. E
+ v. E! s6 j% n1 u- }void frun()// 反转运行
! c* T1 L8 f  j$ n$ t( r8 E {
# |8 {1 A- U4 _; D0 V3 Z5 o     for(z=0;z<8;z++)
- y# S; |. r; @" `        {- {) _6 H: M3 S& P# X
            P1=runf[z];1 ^0 Q6 d$ t+ c6 l# c" q: P
            delay(y);, I) H* ?# ]! q
         }
9 a( n+ }1 `4 w1 @+ V9 N# I}
8 ]# j. h( A9 X% T2 ^& Z; Y( |6 o
3 e: b9 F! ]# ~+ @main()& b. f% @7 ~! n. L" E9 [( g
{
% C+ W! d7 ~+ f1 I' X   while(1)6 l% ~7 {6 a5 _4 {& v
    {8 b0 M) U/ c" z
       if(P2_0==0) //如果电机正转按键按下
6 o1 G$ o7 v2 H) _      {
) [" z4 |8 o, g  M. A( m        keycan=1;         //键值等于1
+ B" d4 b" e# p# L. {9 P      }: Q( X( s5 l. r" y+ T
         if(P2_1==0) //如果电机反转按键按下2 R% K0 Z. m" ]7 B
      {! Z6 f6 d; N: k, e1 k; @. `5 k' }' }
        keycan=2;         //键值等于2! h$ s' o; z& \) \; b6 k
       }& M: d' ^' ?% _' T
                     switch (keycan)
1 k+ `0 k" C$ m8 a" w4 F# V3 n                    {
5 C* i' j. G3 r9 X                     case 1: zrun();  //键值等于1 正转
; t7 O' E' b6 Z: P: K* }  J5 o: E                                 break;
; v- \( s; n: _! _* B                     case 2: frun();  //键值等于2 反转
( J- l( {# u1 v: E" Q                     break;7 n/ i' v+ m. m) X
% b- d+ {# A! _+ f$ b8 B  ^
                     }
& w! [; O$ k! }: I' M! g* i/ w) Y3 \$ L! b6 i
             if(P2_2==0)  //  电机加速# X0 i/ [6 R$ M  D3 ^% C
      {
! r5 {9 u: l+ T        y+=5;
# |  x' _( M4 N      }
: l) f9 j! [0 k7 i1 }; S' i         if(P2_3==0)" U  ^3 }' B; D/ i3 R
      {                         // 电机减速
! T" X& s4 n1 g. u( P# N
; r4 m$ H; c7 d  n) {4 x0 W
; T3 e8 G' K0 s6 U…………限于本文篇幅 余下代码请从论坛下载附件…………: q8 s* D4 k  Q/ w: U& A
游客,如果您要查看本帖隐藏内容请回复

2 c7 U& h) J8 v, X0 P* T% v; W

8 b+ P9 {% a- \* @1 `$ A8 b$ d; B8 g

该用户从未签到

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

该用户从未签到

3#
发表于 2020-6-12 09:57 | 只看该作者
非常感谢楼主
+ R& m* b# B, R2 B, F6 f
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-6 23:15 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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