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

步进电机的控制

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
步进电机的控制
+ s0 l$ O0 V/ @- w; y$ K1 m" g( l5 V; a. |  L8 z7 J

# e4 ~4 ?$ c5 N, T3 P8 K
& v* q) V2 n& d1 ?/ U
9 e" v$ c' I/ h7 g7 d# F

0 s. Y" O( b% b6 R, e( z& S源程序:
. e: O* g# h1 |4 ^+ ^  E0 n. ?#include
' I0 G- ^% j9 h( h/ X#include " e( ]' ]5 [' {4 P5 R% ~. e; y0 G
sbit p10=P1^0;- P6 X; G) a0 c3 C
sbit p11=P1^1;1 h* I/ X7 [; \. g- L! [7 c; k
sbit p12=P1^2;& n1 R* c7 L# O. w! T, i1 \( c

3 S  O- F' B7 t

# t9 V/ C. x. s4 v, T7 q#define  UP   204 ~8 F6 U. n; l1 l# L; P
#define  DOWN  300 @9 k& o; B! |+ K: Z, {  f; [! m8 r
#define  STOP  40
' S4 `! E! j: E1 F* f  N. D5 h
2 k) [  Z: ~1 f- l/ E
void delay()//延时程序
) F1 T+ r+ Z+ Y  ~) u. J{
. V, r: e3 l% a4 ?        unsigned i,j,k;: Y9 i- n7 V, r* y  Q
        for(i=0;i<0x02;i++)2 M! A" d; o5 z& Q7 v* }2 n3 O
                for(j=0;j<0x02;j++)1 ^9 x: {1 j4 w. {: ?! x
                        for(k=0;k<0xff;k++);  Q3 o3 P1 [1 F- i2 g
}# [* ^; p$ I; M5 ~
/ d- [2 H* Z) t4 L6 ?

. j7 C! S2 ^0 vmain()6 C& {) |: ~6 g: _/ L- [
{3 f$ w; n$ y4 q2 i- e
        unsigned char temp;
- L! e, T+ t/ v& o( C, c% q        while(1)
& [- A9 I- Q" a- ~        {: D9 _: k2 X! d0 \, r1 B( D' {/ B
                if(p10==0)
; r: z' v" `6 v3 L  B                {
8 ]4 J% y$ ]$ ]                        temp=UP;//控制正转
% X% f! B6 b* @  ^% E                        P2=0X00;
. v# w' F" ~, {" S4 E                        delay();
& @; t# [# C2 P3 M                }) P& Q9 f- \! k+ V
                if(p11==0)
& S6 c( b! P9 O; `6 Q# v                {" `3 R9 X" z3 E) l% E) }
                        temp=DOWN;//控制反转' O0 _0 \) I. }2 E% a" j4 d8 F; f8 ^" {
                        P2=0X00;
7 P; G  t% }7 t3 i) m9 G. G                        delay();" h; ^$ H3 ]! w5 }+ ?% J( C9 R
                }
7 z& D5 U' _. P8 E+ i7 a/ a3 p7 b                if(p12==0)) w& G6 q/ b+ ^2 D0 ^* f
                {
; s! f( U& _; K+ \                        temp=STOP;//控制停止/ r; z2 U0 B5 W8 y$ {  c' |# x) e
                }0 _8 u3 R" `- p7 Q/ D" Y
                switch(temp)$ Q3 l5 _9 i) U  ?
                {
4 ~- |( c6 h' t# x- Z% ?' j; S. Q5 A                case DOWN : P2=0X01;//控制反转 //00115 \. L1 j: N' p/ ]9 E. Q# {. x
                                        delay();
- o' G, W" f2 ?2 J: T                                        delay();9 @! K: N# R) d# K' N
                                        P2=0X02;//0110
4 U) ~: \3 g- N% z4 ?+ W" |& g6 |8 f                                        delay();
. g+ l. C/ ?0 `/ U; c# X% \                                        delay();
; n2 m+ _, s! Z' {7 D) v4 h/ X3 K" ^                                        P2=0X04;//1100
  w( q7 |( e! T- D; g8 X                                        delay();
9 v  A: S$ _/ L                                        delay();2 `) G0 j! e5 p4 _
                                        P2=0X08;//1001
9 V* v$ x" w0 A$ Q5 o% i                                        delay();. @1 V' g" ?( V2 G/ A' s" z0 P- O
                                        delay();9 O8 K* ]; ^  `; O7 W" l( Z0 b
                                        break;
$ {( t: D; Z+ I3 J/ K; j                case UP :        P2=0X08;//控制正转: O; \' E5 R' V2 K  @& _0 p
                                        delay();
4 y4 S' U" ]8 R5 I! P                                        delay();
- \" V: P5 W* i  A  ?! i                                        P2=0X04;
/ C9 ]/ w- l' ~: s  l2 m6 ~                                        delay();  P8 U5 C/ u# X
                                        delay();7 B9 H# p+ l" \) R. O& s
                                        P2=0X02;
1 F6 y4 s  W. t2 e; w. U) h                                        delay();
" d6 U/ x; _1 b) V. ~% D                                        delay();% l/ D0 x% a2 q4 ?$ L% x
                                        P2=0X01;
9 c4 {/ {4 |! z3 A                                        delay();
( r! v* P; h8 O' \. ]& q+ {$ e1 U1 A/ i4 A                                        delay();' w7 p$ h7 `6 b
                                        break;. p0 l. w) t, n, |5 S: k
                case  STOP ://控制停止/ J( }/ y9 f" q5 Z
                                        P2=0X00;+ D/ w9 ?0 k& p( A, ]* }
                                        delay();9 U* X+ g6 A9 E) g3 l9 [
                                        delay();                                        7 \; O" [- {/ t# N; {0 k: H' Z
                                        break;4 O3 R6 G3 N, e) v
                }
8 |9 A. |, E2 T# c' ?/ p   }
( w8 j, t6 E7 G& d}" Y$ B; w: k. ~* U3 P! i7 i) B
8 T" b! l' Y" Y7 [! ?6 V* z+ A
# n$ K. Q# f% Z7 u# n9 |4 l
下载:
- F7 D$ I  {  ^5 P1 o
游客,如果您要查看本帖隐藏内容请回复
/ p' n6 C  B* u
$ Z- {% q. _: Q

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-29 18:28 , Processed in 0.093750 second(s), 26 queries , Gzip On.

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

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

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