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

步进电机的控制

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-18 13:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
步进电机的控制1 g( z3 d0 b5 }& r  n- z& `
: S( T$ B2 v& m  _8 U3 X

; L! B$ B) N# c 7 e6 Y7 n/ A- O8 C, @/ H# n

5 Q' x3 d( E* I5 M

: k; V6 c4 \2 r5 ?7 C5 F' P源程序:
0 a% S$ z- n% Y1 _  E#include : U% r2 M3 S$ W: v
#include
: c  y2 r7 F) x3 y: A. ?* M  b+ Osbit p10=P1^0;
, z+ O; z( s) @$ w( Q. j: F1 K" {sbit p11=P1^1;
2 D% m; z; ?8 [, B8 f9 Isbit p12=P1^2;
9 }5 e+ X5 e6 `6 g8 ~
3 V3 m/ k6 V/ e: D: Y% f- M+ c( F

/ A7 J5 K4 a& `#define  UP   206 o" q* C' b5 P6 [. k4 e. N
#define  DOWN  30) T' i" |, Y' S- J) T& Q
#define  STOP  40# g4 k) P* `3 W( u* P' D  x

& w2 y0 v" L, ?* W4 [' W1 ]
" f. T, K; _* {
void delay()//延时程序$ g( u6 d3 k; T, {' O, ?$ u3 u4 D
{
# ^6 _; X/ `% a& I7 L. k0 m, o& A        unsigned i,j,k;7 S0 X' ^/ ^& N1 G8 P* X) f
        for(i=0;i<0x02;i++)
% }& ~2 `7 {' q+ O: b. l                for(j=0;j<0x02;j++)( F; h! I* \2 t. k  L* w
                        for(k=0;k<0xff;k++);
+ T4 d( h8 M; g: W7 m5 E- G+ Y7 c1 l}
. k8 @, f- C, f
) V, U+ o$ d9 i& p* F) o2 R
& {; V0 n& u& t; Y: h) j) L7 T0 q
main()
! O# m% ?3 l/ N$ s; A0 Q{6 X- k3 x6 R. a3 |1 f/ X% G/ d
        unsigned char temp;/ H/ u. i. w* f- v) E  W" B  |
        while(1)+ M: Q/ \2 q/ P- b7 y
        {6 ?  \$ ~' M) d4 D  e
                if(p10==0), s9 ^. |) V5 y
                {9 M  K8 |! H# r1 j7 z
                        temp=UP;//控制正转) r% H: W: n4 N6 G# h
                        P2=0X00;
+ @- S1 x( g1 A+ c2 |                        delay();
' Y1 J# A1 f4 {! U% j% u1 @# p                }4 W. r1 ~5 @% z
                if(p11==0)6 i) E3 }: H) y( ~* n' `
                {* V  E3 c- C4 X$ G! N
                        temp=DOWN;//控制反转
8 l0 X' w3 N0 }, U, ?+ f                        P2=0X00;0 N- Z3 H0 q; b4 A+ j
                        delay();
! N  S) ?* R8 I3 H. f4 i                }
8 h$ n: B% d: O' T4 }6 o1 Q                if(p12==0)
! B' t& C3 \# o! k8 a                {
2 D* ~% y5 S6 n( B                        temp=STOP;//控制停止
4 w  ]* t* b3 @) w2 h" _                }
- |0 g+ _/ g; x& A8 W4 ~                switch(temp)
' L8 k1 @# }% H- Y4 X, ?                {! M7 k0 d! N! A8 P6 a
                case DOWN : P2=0X01;//控制反转 //0011* g% A( {+ ~; s5 {% f, w; ~4 K9 p; M- S$ n
                                        delay();
  V6 w0 k4 s% t8 @                                        delay();
: [0 o! D' A7 X6 ~3 K+ f                                        P2=0X02;//01100 Z2 K9 D6 e$ C
                                        delay();2 X! G/ G' t0 _  `) g
                                        delay();
1 [) A) H! d% c( V) C( j9 @' s! g$ f: w                                        P2=0X04;//1100$ K0 }" j8 I6 j* P1 A, ]
                                        delay();
7 {1 q7 M7 J5 E' d% z                                        delay();
* u4 B# h+ a& l/ s  i6 ]5 j                                        P2=0X08;//1001. x: e# {) `) w$ m2 i& }
                                        delay();7 C0 P: c1 f1 W6 ]6 e* `) V. \
                                        delay();' a( ^! W- F5 i. K8 m9 L! u
                                        break;
3 s1 u% [, B' B/ Z/ h6 i' _( n                case UP :        P2=0X08;//控制正转
4 t  T6 A4 z" R+ H                                        delay();
! P4 M0 e- x3 ^: f                                        delay();
  z4 e: R! Z' M* G                                        P2=0X04;0 V; K6 x% b' S5 j
                                        delay();
" D: b/ A4 E. E7 v                                        delay();8 F8 u0 F+ u! s2 L
                                        P2=0X02;6 V7 t4 r1 s9 w5 a. z5 u
                                        delay();
7 b) @! u, ]# e3 K" o" J                                        delay();
7 M& s/ a6 c# o) K' x# c' j5 [                                        P2=0X01;
( h4 S. Y  o% W0 G  B& e                                        delay();
* ?! c+ _! m* a7 \3 Z                                        delay();
6 b/ ]6 \$ ^# ]                                        break;  M5 B. j2 N+ J4 A) d
                case  STOP ://控制停止- {5 {( H6 k: c/ x5 @* A
                                        P2=0X00;8 m3 V3 ~+ B7 L& Z+ m) Q
                                        delay();
6 q( k9 v' e4 j! E                                        delay();                                       
4 ]6 `8 q- ^& G- x! U2 z                                        break;
6 _; ]3 F, d% m3 e, r; C8 {                }# `& U; e0 W! C6 ]. s) d% Y) R
   }
6 b, j$ V& ]6 H}
+ T8 M1 v$ m4 G$ }
* Z: v* `% U7 W: ~: h. k& X% E3 f+ [$ S8 a* i" X3 x6 V
下载:% s, \2 W, B7 l
游客,如果您要查看本帖隐藏内容请回复
- N; p1 I% c$ J1 h$ g! H* m
& X) ]7 X1 Y+ J" g

该用户从未签到

2#
发表于 2019-1-18 15:24 | 只看该作者
看看楼主的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-19 16:42 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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