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

步进电机的控制

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
步进电机的控制7 Q6 U# s: e) i, e) r
1 V8 k( @. F% |; g2 M, A% J" I" L

. @6 d1 W6 B4 P( j
  n! A7 M- |9 N3 b7 Z) q/ d
" ]/ Y1 G* B& Q* O1 X, @* m7 p
2 }* v  w- y* }4 _$ |* j0 c$ x  H
源程序:
1 M) l+ G% S! I+ v1 Y#include 1 B) I1 a% w0 M2 K9 r9 p: W
#include
1 g# X( _: l3 f" Nsbit p10=P1^0;
+ G" f+ ^6 g6 S  ^/ p8 T8 q9 C- Dsbit p11=P1^1;
7 B5 _2 c$ V2 b2 J) c: lsbit p12=P1^2;9 R1 @: m4 E) b
1 U3 W& S( m& m0 e% Y/ F
4 H! V9 ~5 H- S+ f* o
#define  UP   20/ a! V) P; c4 _  N
#define  DOWN  30# o8 E5 S6 Q# p$ ]4 ?
#define  STOP  40$ [" c. N! X" l* K- r3 [. u

9 b3 m% g/ P2 I. U2 q# l
1 |, G6 R0 S0 ^4 N' i
void delay()//延时程序
$ G0 N( ~2 s) z1 r- X  |{
! y- q# h1 z! [; e  i  J% u        unsigned i,j,k;
4 g4 U6 J6 b2 Y* \        for(i=0;i<0x02;i++)& x9 A% M* I; j) D. A
                for(j=0;j<0x02;j++)# b0 _1 y5 C, p
                        for(k=0;k<0xff;k++);
  u# e7 ^0 F) u; p}7 E/ D1 q6 T" _. x
# p! ^# j* z# R$ z& B

6 L' z; v) ?& x' U4 ~: H1 Jmain()
: E& ]& A- {: g. J5 W7 Z{1 S( |5 _0 E0 k/ }5 W
        unsigned char temp;
/ g$ e, d7 k, h        while(1)
2 P: L* r/ F2 @8 m: S/ z        {
' R8 ]0 V. e( X: [3 t1 |                if(p10==0). H8 e  ]% @& J  u
                {- U8 Y; M4 Z4 M; e! i
                        temp=UP;//控制正转
6 z( F' Y/ Y$ z; j% j3 q! w  @                        P2=0X00;
5 f6 |) H3 Q; l- I! |                        delay();
# [, J8 ~6 J8 F                }
: ^# l! T3 \3 a  I                if(p11==0)
- F- O; @! z  K  v% O                {) e6 w8 ^6 g: n7 ~
                        temp=DOWN;//控制反转
7 f: E3 i5 C8 U/ U9 y6 Y" |                        P2=0X00;$ H! j& d" N, J+ G$ |
                        delay();
/ @' `7 N4 q0 x                }
' N: o4 n  C' \8 I  [; P! [" B! R% D                if(p12==0)( e" Z4 f! t3 o# M
                {6 G# D; X( p6 B4 q  C
                        temp=STOP;//控制停止
4 |6 F* y. C. T# c  f" i2 p                }
4 T% u* N2 f7 k; T8 Y" H# ?0 C                switch(temp)5 {0 n7 U4 F5 B% g5 W: w% W
                {
2 o+ I& t$ L. u                case DOWN : P2=0X01;//控制反转 //0011- B+ _  s$ R' \" ~4 e
                                        delay();
& e1 B8 j  t$ X9 X! H                                        delay();
+ L7 U6 Q/ x) `7 y                                        P2=0X02;//01106 a3 ?; M3 I7 p, _
                                        delay();/ T2 t, b5 `% B- B6 b7 D( s) B
                                        delay();3 ?; d5 I6 U3 i- S
                                        P2=0X04;//1100
; ?) y) q$ k# G% x                                        delay();! f; _/ @! b2 t0 o6 H$ i
                                        delay();1 P! v8 B0 d! t
                                        P2=0X08;//1001  E; A% z2 _$ b3 @* r  n5 M
                                        delay();. |& C- Q1 u9 N' ]6 G% m3 j! P7 D
                                        delay();
/ t# b7 g: ?' Q4 \0 |0 m                                        break;
( y8 \) N$ o" R2 m* @  n: N                case UP :        P2=0X08;//控制正转
8 @9 ~+ R* n* o- y2 ]                                        delay();
% z1 {6 W$ o% A7 G) ^- X1 [. h! _                                        delay();6 }9 |) S, S9 Q; L$ }! X; Z$ w
                                        P2=0X04;
1 H, Q2 J4 e9 R& P& p                                        delay();, i# f4 w' x4 P/ i; R
                                        delay();
' A8 L0 `, g, x7 O' P6 q                                        P2=0X02;
. s5 o; E- j0 z" K                                        delay();
0 ?2 Z' T+ q' m& E" Y% S                                        delay();
) @8 t* \, D$ y* H5 ?1 @                                        P2=0X01;
8 R  c4 n: R: p% q( \. d4 K                                        delay();
7 w+ R# O5 \% X, Q! s                                        delay();: g5 I3 s0 [0 d6 \% _
                                        break;
% o2 q" A3 p1 d  {& g2 H7 n                case  STOP ://控制停止
& K! ]3 D) ^& z, x6 |! p                                        P2=0X00;
% Y9 S8 V, m* R/ h$ ~+ m( n# {                                        delay();! V! Z9 j& z1 C0 c
                                        delay();                                        ; _: `* V) S0 Q% J) W! T: g* t
                                        break;
+ ~0 r7 I' c+ S& a7 f                }8 e) Q; \: S  y. w3 E; i  L
   }7 ^2 ]5 j+ C+ j" W5 ^
}6 H' v3 E$ ~/ W0 W7 a
4 T8 u6 V) Y1 N

+ S$ R7 \: l; G下载:6 P1 [& v$ w0 {* M6 I% C* h8 d
游客,如果您要查看本帖隐藏内容请回复
- W0 |' l7 K! z8 d
& y4 Y- J& ^, P2 h7 l( [8 [

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-3 13:14 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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