|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
步进电机编程
( Y; U k5 W7 P' m) m' S; _ _* ~( w/ H/ i
( B* w: f4 }) B) E8 K) D @
( z: N: x6 c% d3 D2 s2 w s7 i2 A0 ?% }+ G: N/ `' {+ E
/ _7 m6 l0 B9 h. E- O/**************************************************************************************. ]3 M# a. y) X
* 步进电机实验 *5 _- _! i. h/ o3 f' O, S
实现现象:下载程序后,按照光盘内操作视频接线,步进电机旋转
6 M, i$ B* f% e# [& X" v+ V2 c# x+ j注意事项:无
' v& Z! v! i6 e+ S j; D***************************************************************************************/- E+ P& P/ m9 |( d% n3 T. Y
' m. g* ]9 `* |& `- P4 ~
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
2 q/ L }* ~- \( d#include<intrins.h> //因为要用到左右移函数,所以加入这个头文件6 B9 [' }' `# u+ n
8 X1 W5 [2 ~# t; F: W
typedef unsigned int u16; //对数据类型进行声明定义/ o# ?+ x! ` G5 B' R6 j
typedef unsigned char u8;
" o2 Y2 N2 i) C. Q
# h- @- C$ Z. K; N! z; g _' U3 _" ^sbit MOTOA = P1^0;
! o" v( |$ W2 B( e8 n& |* h/ S* Hsbit MOTOB = P1^1;3 s0 A2 d1 B9 b2 U; g
sbit MOTOC = P1^2;/ T0 n' q/ ^) Y) D8 |
sbit MOTOD = P1^3; ) J- `6 R, [4 V8 p! O3 W" }& O6 m r! M
' @3 W! x) \( d Z4 p
#define SPEED 200
/ f( c" z& A1 ]& |, Z8 t. f
5 H) m! v5 v! X$ d/*******************************************************************************- P: d e% b2 `$ B5 V' _( H
* 函 数 名 : delay R8 j( x( W5 H! B9 a+ o% q
* 函数功能 : 延时函数,i=1时,大约延时10us
0 G* U/ H' v2 {/ V* O*******************************************************************************/) a0 H/ {0 {' y- ]# ^% Q( O
void delay(u16 i) q' A8 L; x8 @; r5 a1 W0 t+ g+ V) B
{+ ?1 {" V; [( ]* `8 z: V
while(i--);
3 G' s: S# U$ W9 Z}! d& C# ~0 r# K
. Q5 l. q% U2 O
9 Z7 v j0 Z. Q5 r% |8 O9 X- |/*******************************************************************************
4 k, [, D) d9 {5 }, ]/ m* 函 数 名 : main
& i, S" J( c( |( X5 U* 函数功能 : 主函数4 g6 e' L/ M; ?
* 输 入 : 无. r P# z+ {" m7 t+ m3 s
* 输 出 : 无
9 D" J' F$ Y2 e' e*******************************************************************************/
) F+ Z. H- _0 M) C# i) a4 G* ovoid main()
) K |) ~% v `% o$ D{ " A- {$ Y' @3 S" h
P1=0X00;1 c1 i: y% g1 M! u
while(1)
& m; h- ~* W, L; i+ V C {
! d3 \, `% U, o% A, x% j( n4 D MOTOA = 1;
: X# l* a# D# X7 n MOTOB = 0;
& ~8 t$ x) i; u$ L3 j, r' o MOTOC = 1; K! @* x- N1 w, c3 X3 D* v8 L
MOTOD = 1;
/ A7 o b0 }! M delay(SPEED);% J" n2 v0 [5 I8 z0 B2 J" k
1 t8 ? O2 C$ A u1 ?$ S MOTOA = 1;3 q+ o: |# e4 L$ ?) V- t. q7 p
MOTOB = 1;+ G# k$ w( r; H# E) Q* g
MOTOC = 1;
: W! F* \; b/ o( v' s3 X MOTOD = 0;4 J' r6 o5 s' Y% a8 }; C! g
delay(SPEED);
' O& o; ]% _+ M; O$ [ |1 m2 X+ W, O! f' d5 W! D2 B
MOTOA = 0;
+ p$ P9 V; N$ r5 {! A MOTOB = 1;
! L6 T) T1 S R# n1 F MOTOC = 1;. ^/ W7 p2 ^3 S2 ?( t4 w. ~
MOTOD = 1;( C2 H9 u- K- Q& K. n' M
delay(SPEED);
% A/ w8 g8 s9 Z
2 _1 h: S. g0 J6 ?1 S, P1 q2 B MOTOA = 1;# [6 _5 m4 g+ b: F) p
MOTOB = 1;2 U0 ~3 J x3 U9 C/ U# E
MOTOC = 0;6 \" q9 h h- u$ H. E9 d
MOTOD = 1;; Q" c- x/ J# Q7 ^4 b+ X5 h
delay(SPEED);; _- \$ u. L) [
' ?0 X9 F4 D- B% p( x3 D% h& F/ v4 d
…………限于本文篇幅 余下代码请从论坛下载附件…………4 Q9 q7 X. k9 Q6 a
5 n0 {& c* }5 ^/ H8 F& e" ^1 A, p$ {
4 A# [3 Q u& N8 c$ h2 g/ f
|
|