|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
步进电机编程
* I3 f" q8 Z4 ~6 P3 ?, x- m
) x4 h' F. z3 i. W- u F8 C- y% Y, M( d9 c% E
8 s! A) p y1 d+ K
6 [2 _$ q9 c. M( T/**************************************************************************************. B/ l5 l! Z. }" d* o% f
* 步进电机实验 *
2 ^ R' b* X2 Q& R实现现象:下载程序后,按照光盘内操作视频接线,步进电机旋转
$ a; @1 Y; U' R* p4 A2 U5 D. Z注意事项:无 3 Z! K9 Y( o$ }! @
***************************************************************************************/
6 g, i' k, R9 s* ~: a: F
8 ?+ L0 C- I# W; K1 P#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器, F# a2 i9 i0 E8 D f
#include<intrins.h> //因为要用到左右移函数,所以加入这个头文件
9 o8 f& N4 K# a/ Z7 ?3 w
0 j4 d$ V2 p) _+ D' X6 v. V) Utypedef unsigned int u16; //对数据类型进行声明定义' f1 t3 h2 n7 `& A7 J4 ?0 h' }
typedef unsigned char u8;
& _' F9 ?! W) H3 g7 y5 k2 D. L) @: \4 g7 t$ N+ I9 K
sbit MOTOA = P1^0;) v; U. s) t, T% V& [; \9 \: q2 F! x
sbit MOTOB = P1^1;
% o: I! T7 u) _4 W) C9 Rsbit MOTOC = P1^2;
$ g0 F3 ?+ G7 L* Ssbit MOTOD = P1^3;
3 i* ?3 f6 m" e+ R
5 E& |+ `$ C1 K# q8 {% g9 }; |#define SPEED 200
% ?3 ?6 H+ @9 y+ {
. j: u4 c& m0 i" @/*******************************************************************************8 ~3 }0 Q$ N2 i) ^- j6 u* t' f
* 函 数 名 : delay
/ u; t$ P% ~5 `1 z1 K' o* 函数功能 : 延时函数,i=1时,大约延时10us
8 {, t" N3 l! ^6 ~5 L e( s*******************************************************************************/* H. I: b o d# E. C! I
void delay(u16 i)
# ~* V8 ]9 K5 d- ?# h& R: R# g{9 a9 L( b9 ^3 } p$ F I
while(i--);
' H1 j% ~7 ~2 ~, l}
0 i0 H8 q. z' D. j6 b9 d4 b0 a
0 C1 b3 \; K; A1 ~# m8 e3 f5 V: o e3 [ M8 Q7 N
/*******************************************************************************
g9 f0 {1 Z7 d6 B9 }* 函 数 名 : main9 k" W" Y" V! l4 K( m# x2 L8 o
* 函数功能 : 主函数
% ^) s+ o& W2 x( o# Q9 G" \ T, }* 输 入 : 无
9 I7 M% x1 z0 n- ?6 U. a# M* 输 出 : 无
7 U5 a" [3 }! |+ b4 {*******************************************************************************/
8 n, l7 d1 T/ q Ovoid main()
; D5 B/ t. H' R{ 5 ^7 N% z) x0 Y2 y) @% E( u% q
P1=0X00;
* ?% Q, _6 R5 ^0 a while(1)7 [6 c) k- ]# J3 i0 z: K: f' T9 P# b
{
& S. w( E5 }+ p6 b1 ? MOTOA = 1;* i$ O: y% T# z1 z) K+ m5 @
MOTOB = 0;
& g1 _. t0 E/ ^; s MOTOC = 1;
7 o" ?* t2 `, f7 {' X MOTOD = 1;+ l: K+ x, O- i, ^! X S, }" ^
delay(SPEED);6 T4 c" j1 V; J, a; N
4 t" |, \9 [- E
MOTOA = 1;; N/ u8 e$ m5 |+ l7 C' j1 V
MOTOB = 1;: p S$ S6 C/ I0 R! K) O0 g
MOTOC = 1;+ K z* h' w- o0 s
MOTOD = 0;
+ E- r) E; F4 Q8 X delay(SPEED);
; m+ s2 s: R4 v) S0 v
; V I9 x% I7 E" z' g MOTOA = 0;/ I( ?& U; j9 C4 x/ |4 `& B/ o8 F
MOTOB = 1;
& b2 k$ p) i% s( [. L5 ~( M MOTOC = 1;
* n0 H) E2 W9 G0 l1 M& P# Q MOTOD = 1;
# b" I0 M" w4 ^! O, U3 D# \ delay(SPEED);
! N& Z g' q) A: T; J) H' a! F. m, D2 h* X5 z: r5 l
MOTOA = 1;' }$ Z% f7 O! d3 X
MOTOB = 1;
, ]; T1 T6 A5 t$ F- P, e MOTOC = 0;
6 [" x& \% Z) L& d4 e; W MOTOD = 1;, F) E% a0 J _4 m0 w! {& ], B- n
delay(SPEED);8 H1 \9 T- B4 r3 C. y
4 z" M# I$ t7 t$ B …………限于本文篇幅 余下代码请从论坛下载附件…………
% c' N/ g' {) r8 T! {2 E- V" _3 d; W3 r" p; i$ s1 i, | E% n
7 [0 e4 @- _ h1 A; u |
|