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

步进电机的控制

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
步进电机的控制
9 y9 @; r6 L, o
# v6 Q" Z$ p# _. W  }. C! r( c' g
: r  G& M& V7 R" a! `
- T6 o$ W/ {) f1 N

  ?7 B5 z2 u; L
6 j9 Q, |! P& ~6 @. L  r
源程序:
( V8 D2 I9 ~1 p' @#include 4 D( \: B0 g; w1 O" U5 }; p
#include ! g" S4 N" N# q8 H  |, a
sbit p10=P1^0;. I* j! r  E& F1 F
sbit p11=P1^1;/ F* X1 o4 a5 ^0 O
sbit p12=P1^2;3 p; F' e8 m, \: K, T
7 `; h* E; g/ M, }: Y  e& S

( C' i$ v$ g& z; Y" g# B9 V* H#define  UP   20
2 b% }: l& D; S; }6 f" n#define  DOWN  30
' S7 v3 ?% g7 A" N) w4 }#define  STOP  408 I* M3 D) S- z/ g

# ^" s" p% |3 v- I, m

! ^3 f2 S1 B0 rvoid delay()//延时程序
' v/ \/ l' D3 l/ ^5 x7 p  Q{& T% m  {5 u1 y
        unsigned i,j,k;4 @9 s% [9 i. T7 Y5 d" o
        for(i=0;i<0x02;i++)
- X9 V8 @' y* k% N                for(j=0;j<0x02;j++)2 d$ G8 n5 f) a8 Y/ F5 p# H
                        for(k=0;k<0xff;k++);
( c$ M0 h. d: T( a2 F2 }0 ^9 K}7 T# M$ D1 `: ?3 m

! d8 N1 ]8 G3 Z" @3 P* z! z4 y
* n/ P1 a7 ?& v1 C. q* L
main()8 ^. d0 p. k( ^  h. R/ O
{
$ ?: v1 p1 T) s+ y0 U  n        unsigned char temp;& n0 S: t: b  @9 O3 _
        while(1)
) S$ D( E. E2 ?( Y        {* _/ A( h  J/ E2 I4 d& L, f, n
                if(p10==0)' z& D# ]% X% b3 W# @+ }
                {
; s; P3 o; J# I; U0 s                        temp=UP;//控制正转
, W" @2 J8 |* i! y                        P2=0X00;
% W1 W3 m3 s* H7 x/ w) G                        delay();
$ s; |9 `2 w  W; s4 i: b+ f                }, U- r& G& p+ l' Z
                if(p11==0)
' n* _5 e( N% \                {
: `6 s6 F% b+ l$ ]0 h/ ?( ]" P7 y0 w                        temp=DOWN;//控制反转  N* y. W/ P$ O5 w) X
                        P2=0X00;
. r. ?: s* L) _- ^2 s( Q: V. C                        delay();! {( _' C$ o, c; t8 A: o  d  a
                }
, c- y( L$ G: s$ F                if(p12==0)
' L- {8 k: S+ h' B7 h0 B                {
; V4 F* N  ~) T9 x                        temp=STOP;//控制停止  c5 \$ d+ S: l; C$ M) _
                }
2 k. c) k, T5 \7 l% u$ d4 E                switch(temp)/ u+ e) e$ g# W" y3 T
                {) t' d- d4 X; e8 P
                case DOWN : P2=0X01;//控制反转 //00113 P7 e7 Q2 O+ y
                                        delay();
/ V4 F7 K7 z. a5 L) X2 E2 B& n& y                                        delay();
/ c2 m5 ]+ \  T( E                                        P2=0X02;//0110  r. ?& w1 U8 M; `: ~  G1 l0 k" x
                                        delay();* Y# o# O2 [1 d4 f) s# f
                                        delay();
6 p8 w2 w$ g3 Z                                        P2=0X04;//1100( Z$ t5 f: {. o0 g' H0 R- P! e9 T: {
                                        delay();- e* E, C6 Z6 s: F
                                        delay();
2 `0 T, R' u; X* f# S7 @                                        P2=0X08;//1001
9 p" e9 G9 q3 g                                        delay();
% U( M( |& q2 N* w1 u. `# |                                        delay();
' U! g$ B+ R0 k7 d$ ^) |" T                                        break;
" Y' M* K' O, S* k                case UP :        P2=0X08;//控制正转. F& Y% ^7 |! f, K( m
                                        delay();8 U7 j# |  Z' F
                                        delay();7 ?* ?% f" q) x, u% x" b6 D$ o) r
                                        P2=0X04;
9 e1 ~2 _8 w3 F( }( g3 d                                        delay();; P& B% \( P% {( o" W! H  O2 S
                                        delay();
& u* @  u0 _& m0 a0 L5 O                                        P2=0X02;/ H3 a6 J7 o3 C/ X
                                        delay();
7 G& p" R; ^9 E8 n                                        delay();
% y5 I% W' g, Y9 C! W* d                                        P2=0X01;% }# e  w) w# d, {' @3 a$ A
                                        delay();; U- U/ f( c+ E
                                        delay();
+ B2 w4 N" v& n$ t( O& x                                        break;
; e5 A, ]/ g5 A. o, `( K/ `                case  STOP ://控制停止8 Y, R- H- `6 ^- m8 w  t& E' [9 w
                                        P2=0X00;, I% `; [6 f* \* e0 \, t% h
                                        delay();, x9 |6 v! J$ U( s9 l. H& B
                                        delay();                                       
( ]9 m, t6 o. P3 j4 S3 A                                        break;
, w# F, n( }- p1 V/ t                }
( v3 \3 \9 N; ?$ }+ g3 d   }
" G* Y1 V- A- G" t}8 Y3 D# O6 A3 }

' J! |1 @/ s& d4 }$ r6 L
# \2 ?) Z9 ?- R7 w6 S下载:
+ x0 u. z5 I2 H. Z; f) i
游客,如果您要查看本帖隐藏内容请回复

2 ~. F! k( D) W# r. y8 G4 R* k- N8 ]5 n; c* Z9 a" y: c

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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