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

步进电机的控制

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
步进电机的控制9 t5 C& u3 u  B
6 a. E6 Z) E) d: I! u3 s3 q
2 S% n( u, q% b# S  W+ L
1 Y$ P+ e9 M1 ^) d( g5 g: G- ]! ^
9 m: L, f/ X" P# E  b

0 `5 _6 P# V# x0 a/ ]源程序:. j+ u, E! t! g* a# V
#include
3 b8 _# E5 F0 t" H#include
9 W, Y- E  g; q  W) Isbit p10=P1^0;
( ~4 Z6 ?1 x5 L# o- f* r( msbit p11=P1^1;# q$ [6 x7 W) U7 p! y) u9 t  o% c/ ~; i
sbit p12=P1^2;+ T; O0 K$ f" [: m+ D9 ~

7 R8 R6 @; ^* P# b/ n9 }; X0 f, i
6 j* S* u/ t9 o7 v  j9 x
#define  UP   20
) i& }; H+ V# [* |* Y6 l3 j8 f: O4 V#define  DOWN  30
' Z, k# j6 J1 c. a#define  STOP  40$ F! E8 G. V& g4 g4 R
1 J/ w0 l- v2 o/ k0 P6 ^: w1 q

2 @; l3 O4 n) x7 o2 yvoid delay()//延时程序8 s* q" E2 b; a/ F( j; Y3 ]
{2 z" d" T( @$ E# e) u" i4 ~4 t7 A
        unsigned i,j,k;6 w( P9 b  d! o+ ^9 W5 A
        for(i=0;i<0x02;i++)
( ^% \" z6 F3 D. p; v                for(j=0;j<0x02;j++)* \( {0 z4 `" Z2 f( C3 d8 Q1 o
                        for(k=0;k<0xff;k++);
- b0 q+ U" Q- \8 \* q9 S. j$ N}! k3 Y( ?) Z5 Y' m$ Q4 E
7 _3 {$ a4 K8 G

& Y$ h5 x( _) ^7 s% m% Z! `, zmain()% X# L: U1 U8 o5 P, v; ^
{! X( @4 w% e7 ?' v& q4 _& O4 w* u6 {
        unsigned char temp;
+ G) s1 c2 |. E        while(1)
* ^+ g, h" t9 F& N; g        {
$ \. H. \# g5 d2 I9 a                if(p10==0)
; h5 m  V% |* \0 l7 ]                {4 B; u7 K3 [% x- U
                        temp=UP;//控制正转+ |/ C) [, o$ @5 V1 Z
                        P2=0X00;
3 ]1 S4 W7 t9 T                        delay();2 Z1 y8 H7 a7 {% l+ A7 t4 s. G
                }0 i0 B  ]1 ?+ w/ R5 p
                if(p11==0)
  @; q) k: y2 c$ j7 Q                {! c# y* ~4 W+ p: b) p* _
                        temp=DOWN;//控制反转
/ A- [* P8 m4 ?" T8 r                        P2=0X00;
( D2 V4 h5 ~8 ~4 a                        delay();
2 P* A$ ~' f+ x* g& _; y5 V/ c& Y                }2 }0 \- k! u; `) }3 h9 l$ u
                if(p12==0)4 ^9 Q9 o4 ^3 j- {! m* a4 W  I
                {' V) h4 [) _+ ^- F, Z
                        temp=STOP;//控制停止7 `0 K$ i) n) E% w& u# }9 f1 T  b
                }4 j, X$ n! x! y' K; g
                switch(temp)5 T& E, h2 n9 E  h
                {
9 V+ F$ o) M( K) ]6 _  `# c                case DOWN : P2=0X01;//控制反转 //00116 o, v! _0 f8 f
                                        delay();6 e  G5 D7 s/ F- U  m! M
                                        delay();
" b; r. X) h3 J                                        P2=0X02;//0110: d; l$ @1 w9 f# J; W4 f  M
                                        delay();
8 L" r; E! G! I7 a7 g                                        delay();
+ \/ o$ i" e8 f$ ~) ~                                        P2=0X04;//1100
0 S' N( B: L6 N                                        delay();, g+ z7 W7 I) X% C# J7 A
                                        delay();
" o; t+ X  |5 @) W                                        P2=0X08;//1001
+ N1 G1 ?; Q! m; `, Y                                        delay();
1 h4 B* l# q0 d# l" h) g: {                                        delay();2 Y" a8 O, v* L2 K0 o
                                        break;
' E5 e0 |. B! |                case UP :        P2=0X08;//控制正转7 |9 y* A- E4 G9 o
                                        delay();
4 F* L' T9 u8 T$ D" p0 |* Y! t  {                                        delay();
1 Y' q" h5 s1 y& K( R                                        P2=0X04;
9 x8 e9 w, n) O0 d                                        delay();+ g) f! w0 s5 j+ l( J( i
                                        delay();
+ A# n+ y/ J+ f" \, h3 j& |( e# X                                        P2=0X02;# g/ S: p) J, `' n$ i; F: p
                                        delay();9 ~. m3 x% u5 g( c4 d
                                        delay();
! A4 v/ L0 m# z9 V  o0 s! _                                        P2=0X01;+ h- O% {3 p  j  P& F
                                        delay();
) K2 F; s6 T; b( o                                        delay();
6 ?8 M6 ]: R5 Q0 o                                        break;+ ]' v2 Q. M. |
                case  STOP ://控制停止
4 Q3 `0 Z6 g! ^# v  S, K4 M                                        P2=0X00;2 V9 H% `2 Y, W% m' D/ q
                                        delay();& ^, g/ @4 j+ R( I6 ^
                                        delay();                                        : e8 Z0 B4 ~- Z, O
                                        break;
: ?6 u' a: v" @. C6 i6 O8 ~                }, x* {* F% V, f4 x; M8 {
   }
$ H; I0 o$ t! Z9 @+ W}
) w0 c9 }2 p! d% I
. B2 K- \  P9 g( Y; {
4 g0 S) Q) m( S$ w5 Q& J% k下载:, }2 y) v0 F7 K
游客,如果您要查看本帖隐藏内容请回复
$ s0 k( y* s! n0 n4 s- ~
, o4 G$ ~' a. l: w

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-15 22:30 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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