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

步进电机的控制

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
步进电机的控制/ |6 Y- y$ ]+ Y7 W
5 O& @) q  Z( \
; u) Z5 i/ q/ F
- D% h' M' e, m7 a$ o% D1 E. {

/ G; O8 @* Y- I4 m: ?4 \
# F  \  j5 c6 l; t. p" M
源程序:
( ^6 T) Y0 L' w8 N6 w3 d#include
6 Z+ T: `  i7 Q( Z: ?$ L#include
: X: k9 P" X7 B( l3 J7 C2 esbit p10=P1^0;% z5 i+ h2 M$ u/ `+ B- @) w
sbit p11=P1^1;- |& b: A* u" V  y' X1 H* K
sbit p12=P1^2;5 D) q6 b  X' J9 j" l) y. r. W
$ w1 p5 A0 |& K7 e  k
0 ]( w7 i3 R# z( t& I. j
#define  UP   20
' E: X* t" `6 d$ u. z: G3 ?#define  DOWN  30
) S/ V- k6 O* f' I0 L  v#define  STOP  40
$ F' o) m; Q! ^! l3 O2 P4 E
) z& f! ~# |- C3 H( Q& @& N1 M1 ~
0 P  o6 x: ~8 o2 J( O. a
void delay()//延时程序
4 L+ U  {1 R3 }{
8 \: `% X# w' z$ s        unsigned i,j,k;
* }% G5 I, d  ?        for(i=0;i<0x02;i++)1 x* @9 Q- ]# e1 v
                for(j=0;j<0x02;j++)5 `) f9 m. u  @
                        for(k=0;k<0xff;k++);
7 ^$ a# H4 t( L% \/ v, C}, X. S. A; j% `" @

1 e) U: ]* {7 f: T" E

+ h# ~- U' Q5 v- Q+ P& jmain()
! X, `" q3 a2 x1 a" x' z" `; [{
8 c" a: Y& c3 i/ {& J4 J        unsigned char temp;
. |: J* w5 f4 E* y" L        while(1)
" N2 @8 ~' |% N* ~* j' b7 n* I9 ]        {
3 S" w7 |4 K" C0 L                if(p10==0)
7 f3 v8 q. |) \- A9 _% M0 t" y1 k8 r                {
* h9 I9 D+ Y$ @7 j; Z, P                        temp=UP;//控制正转% K- r& r- o: I. y# Z
                        P2=0X00;
3 q) u% @& G$ d6 B                        delay();6 I5 }2 `# D# {
                }* }+ G& H1 v. t& O2 c! w4 e
                if(p11==0)' |" W5 s8 N$ |% [  k  d
                {& s0 W" S0 d- P; Y& j7 o
                        temp=DOWN;//控制反转
3 d/ _# o7 X/ F+ d; Z+ W                        P2=0X00;2 }+ G: G' N4 s: `2 q
                        delay();% H/ _! o  ~+ N
                }7 h, @- x/ F- g, [0 s8 r" k
                if(p12==0)1 f' r# U2 {. y
                {# i9 W0 c" N# b( f8 M4 Z/ x
                        temp=STOP;//控制停止
6 Y- C: K% {& P; X# k                }
9 c8 A6 ~& J/ ^! c( u, g                switch(temp)
1 J7 F! \  y2 A! t. s: S  f5 W9 j9 Y                {2 {3 o# w2 V7 p' A" _1 a
                case DOWN : P2=0X01;//控制反转 //00110 o# r- ^3 [  s" P3 x
                                        delay();8 O/ P* O/ w. M% t5 d
                                        delay();* P- d! W* n  q( S* z0 z
                                        P2=0X02;//0110
* r, a+ x" x: B: A                                        delay();
: @) T. K3 H; z5 h8 H& {- E; r7 e                                        delay();7 E+ a2 ]! \+ A3 I) N1 b
                                        P2=0X04;//1100
1 w( t4 l1 f1 y; u                                        delay();/ t' L+ a3 m, n( w
                                        delay();
% u( ]) ]  s1 v* \                                        P2=0X08;//1001
+ j, t$ w1 S$ [! |6 o* x                                        delay();
4 v2 t2 v% z3 x( [4 z8 V                                        delay();4 l" D* w4 k& b# T% Q( G* v3 U+ S
                                        break;
) i' d2 z0 A- w3 h. C                case UP :        P2=0X08;//控制正转
% S, J; [5 s6 c5 m+ g0 p- o                                        delay();1 {( M7 K3 R$ V. J* O+ w9 T( A& E+ M
                                        delay();5 F3 l7 @- J) B6 ^( E/ F( B
                                        P2=0X04;
+ j# f4 T; V# ^, w6 M- o; Q                                        delay();' z9 ]# G$ L7 D& q- x  W' }1 P0 T6 O
                                        delay();6 ?) C0 \4 z& w2 q* O, P, g
                                        P2=0X02;7 W8 v5 f- U. A7 [" ]+ z* @
                                        delay();
3 K* _' N9 e, c$ Y  J* ?" e                                        delay();3 r; U( T( F. F
                                        P2=0X01;
3 P- R9 k0 [" @6 Q                                        delay();
' p5 R, c$ {7 |& n5 H4 F                                        delay();' _) A6 g' s9 }4 K
                                        break;& r6 X/ |5 o* \! P% I/ f1 U1 N
                case  STOP ://控制停止
* X+ m' K  u& S# W) {( H% t                                        P2=0X00;
7 y' h3 x. }2 |' m- q* q                                        delay();/ P6 D5 V- z) C6 ?' _: M# E
                                        delay();                                        1 n7 D  |  z* v8 i, R/ G1 E+ t
                                        break;  D5 T* g: S/ w) g4 `* }% o  @
                }
# F# m; c6 a8 ~2 P   }$ s" k% r& k% U- J* `1 c
}: h8 l! r6 V- @! Z
, g1 z8 |' K: G5 ]1 j3 t
; b) B, r7 Z. l! w7 F
下载:/ d( |. b: D8 x/ M5 e. l
游客,如果您要查看本帖隐藏内容请回复

0 V5 t+ R* `2 i7 Q3 g8 ^( A
! x3 p; c1 }$ D  w+ b

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-20 07:47 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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