|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
步进电机编程; O& l9 p$ ?0 F8 `# d0 S! _. R
6 J; U$ A/ m& f7 v3 R
2 G* `: d& y, v0 }7 P
* m) X% o& z6 v5 v. r+ Y. ^- a5 F+ ]7 }; c: t' X
/**************************************************************************************
. r! a& Q A1 Z; i* 步进电机实验 *
d! m4 H' H& c6 E% S5 h实现现象:下载程序后,按照光盘内操作视频接线,步进电机旋转
( y b" D3 l& d' I4 b* A注意事项:无 4 Y$ \# N7 h! v, ]
***************************************************************************************/
; x4 t7 E2 W# ^& c2 n" M0 w2 s
2 U) Y4 N+ G! T! Z; [9 v#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器0 [7 C- A# p: V- ?
#include<intrins.h> //因为要用到左右移函数,所以加入这个头文件
' b; X X8 h# g4 I! f
5 `9 m! i3 E/ ^7 Y& T8 Htypedef unsigned int u16; //对数据类型进行声明定义
( h; f# q% Q; F# q2 Y8 ntypedef unsigned char u8;
' b' x& T. P) l$ M {* Q: m" t
sbit MOTOA = P1^0;
* s( p" _' t1 s/ ^) Hsbit MOTOB = P1^1;- _2 S8 v+ U# G. z( A# f
sbit MOTOC = P1^2;
) ~, m$ ^! E! p) D' L. n5 a" ~sbit MOTOD = P1^3; ' d. m' ]8 e: p6 `
6 Q; \7 f* t' n' d1 s/ ~
#define SPEED 200
+ v9 I* |5 \! W- @5 K, u/ U
| _' P% y1 h/*******************************************************************************3 j, E' K2 {! B, _& }9 R$ K" T' f
* 函 数 名 : delay
5 t+ i3 B% x$ x* 函数功能 : 延时函数,i=1时,大约延时10us3 M v0 `& T0 |( |6 P
*******************************************************************************/
% \% C9 u; |/ K& v9 lvoid delay(u16 i)( T% C/ L5 m( {% g4 F# h* A- Y9 c9 ~
{
) c* Z0 k# ^8 _. y; Q while(i--); ( a7 x4 o/ ?; b7 @
}
+ ~" p I+ g! U* S' d. m+ D% x+ K& ?0 |6 C
% @% |2 R+ A9 U" Z3 X/*******************************************************************************
0 k3 q; X5 Y4 {* @% G6 m K: X* 函 数 名 : main
# R2 v- t* P0 ]- x$ B& ]* 函数功能 : 主函数. y4 V8 t" X! S
* 输 入 : 无
# E, D" W; \+ X/ {; L* 输 出 : 无1 [7 B0 H1 [- w: G9 [7 S
*******************************************************************************/
6 B6 L9 X) `7 S6 E1 evoid main()* |7 }2 o. I2 M2 w# w
{ " Z& m3 ~4 F i4 u# F& j) f7 q
P1=0X00;
& V* @8 ^$ X8 w( G$ N; `) m while(1); b" \+ D/ ^$ m& q6 l6 }' i
{ . L1 |% ^/ B- Y( L$ u8 Y3 x
MOTOA = 1;& a9 ?( P( s* A# Y, U/ e1 V; Z- J
MOTOB = 0;
8 x' F1 V" Z6 m* A! {9 ^ MOTOC = 1;5 P# \, p" x2 V) W' x
MOTOD = 1;8 u" M' B2 J. z3 J# o6 q/ [
delay(SPEED);
8 y( D; _2 }$ J6 I3 y& ]" h' E5 d$ i- A8 k' L
MOTOA = 1;
3 p ?1 f; {5 Z. X1 d: C7 b' H MOTOB = 1;
( X9 t$ K. ^" w; L6 H5 ]) l, r MOTOC = 1;
, \$ Z; K; S4 y MOTOD = 0;
\5 n8 l3 a3 _& C# W delay(SPEED);
' G1 |3 b* z( s" B* ?6 v6 S5 \( V
MOTOA = 0;
6 L b$ m* h; X% b MOTOB = 1;# { A( g4 S* s" _5 I* J# b
MOTOC = 1;
' z; f& Y/ E% T/ `$ {) B MOTOD = 1;
2 s/ _& l# L, Q+ F8 {+ C delay(SPEED);6 {8 I% z. S) g$ M6 x+ i9 O
0 `% d7 b/ @& V O MOTOA = 1;5 W# E3 h0 Q4 [# H6 z0 q$ _/ C
MOTOB = 1;8 e6 R& V$ ~; {3 s' K
MOTOC = 0;* c6 e3 H. K" ^9 j5 P: g
MOTOD = 1;
0 r0 |- c) P+ h0 c6 d/ R delay(SPEED);
! t9 b$ V7 Y, X+ k S) s3 H/ Z Y6 H- H' I: z
…………限于本文篇幅 余下代码请从论坛下载附件…………" M9 z3 c4 W9 x
+ X( P7 O' ^ ? U4 }+ i2 {( }7 R
W" t6 ]- `8 N) ^, ` |
|