|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
步进电机编程
& e. Z' V6 x/ C( p, V, p8 |
S; m1 n: f. s/ E4 b8 y) X( P" |4 X& _* p5 k
! |" ^' M6 n8 V5 Y9 k& U% c
& u4 q2 l; _! _1 x. |0 A4 B% C: z/**************************************************************************************
1 I7 a/ V) R5 ^; P. Y: U* T7 U: P* 步进电机实验 *
7 u. F$ g( V4 U4 o实现现象:下载程序后,按照光盘内操作视频接线,步进电机旋转! K" U+ ^( E3 {8 s2 b0 @0 Z
注意事项:无
6 a4 U7 A- ~( X( U& P& t***************************************************************************************/: i5 V* j: i( k" C; l. F
0 H5 m7 j+ N$ L/ Z#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
c9 N; { u+ p! [0 B6 L1 g#include<intrins.h> //因为要用到左右移函数,所以加入这个头文件
$ d, X0 w3 `9 o \' W5 F* S0 i/ K$ k( ~- v0 b
typedef unsigned int u16; //对数据类型进行声明定义0 J( s& L. L4 h5 {
typedef unsigned char u8;+ `8 u; X+ e0 P
) A& p) s2 n) C: O+ M
sbit MOTOA = P1^0;
7 b# P% w! X& N1 V4 _- {2 Hsbit MOTOB = P1^1;
2 z. c5 N/ t7 G$ A: R! ~sbit MOTOC = P1^2;- t/ Y# ~3 ?+ b; i! Q3 Y* o9 h
sbit MOTOD = P1^3;
8 ]$ A% t! b! B( o9 u% w- o7 f C- O/ L
#define SPEED 200 1 B0 _ g& o- Q' A# Z# ~
1 r3 C' H* k* H% A- u/*******************************************************************************
: K3 X' S7 d l) _0 E* 函 数 名 : delay
$ A+ M; n- Y* g4 g6 a" i* 函数功能 : 延时函数,i=1时,大约延时10us
* W- {! v2 N1 y% [$ d*******************************************************************************/6 o' q6 N/ U2 R% n$ x
void delay(u16 i)8 ?( S; ?/ g; u: |- P
{% f! E8 [& l! e s+ J
while(i--); T4 E( A/ G2 U: ~! ?
}
; l7 g$ N+ z. y( g" G4 G
. h; u5 T; L% W9 Y' S: z6 ]
5 @. d4 e% g, ]) |+ v/*******************************************************************************
; y o4 U8 C4 c0 x+ g, C* 函 数 名 : main
2 H/ M' r& E* h* R* x% b* 函数功能 : 主函数8 d3 P' k* l" s: s! y: d
* 输 入 : 无
* G2 l' \7 }' h& T( t5 ?* 输 出 : 无
7 ?' Q8 y: Z8 N n; b. E7 {*******************************************************************************/4 {$ [$ i$ O& C
void main(), A9 X4 {# i2 _9 c# ~
{ Q6 t1 X" ]& L, a3 @4 a W2 d
P1=0X00;
G3 a1 P7 V2 d% h while(1)! `: |2 l9 S# p1 h! F
{ & d! L: @* b7 Y4 U
MOTOA = 1;* I0 C4 T, f4 F7 I1 F* ~7 _* n
MOTOB = 0;9 _- t9 y- s6 K0 D0 t
MOTOC = 1;
' n! O! D v/ J0 r+ z MOTOD = 1;1 g7 T6 R4 R1 U8 J/ M1 _8 ^! w3 C
delay(SPEED);
. R* b+ u# L Z- X: [3 N; r* U& g# c; g8 X: X% E" D
MOTOA = 1;3 d* [/ u( X3 _8 t* y2 C
MOTOB = 1;+ K2 D/ ^4 R6 [9 L8 l. s
MOTOC = 1;' Y" ]8 s, ?: `. _9 Q
MOTOD = 0;
2 ], `% _5 @; L: A/ e delay(SPEED);
& c; m" I- G7 z/ M: v* l( ^3 b2 p3 i2 F' N9 l
MOTOA = 0;; r# S" _ C5 E/ D$ T. r
MOTOB = 1;2 E! h Z# P |8 `- e, t
MOTOC = 1;% T- n$ Y3 q( ~' P3 j9 W
MOTOD = 1;
0 @; ?, e, N8 N, m0 w' g# l delay(SPEED);# w; ^4 I- @: b+ _ j/ E
: U( G `4 n" t; A% n1 p
MOTOA = 1;
& n0 Z/ a4 M2 @6 y& V MOTOB = 1;
" a7 K3 _" R( q, \* V MOTOC = 0;$ c: X5 Y, I/ B
MOTOD = 1;
- M5 n! ~( K/ Q" Q+ `, Y& U delay(SPEED);
" `2 Y4 B: j' l4 d* \( B; Q6 |& C. a4 d1 N. o6 r+ _0 K
…………限于本文篇幅 余下代码请从论坛下载附件…………3 H! `8 p H3 p
& |/ A' V3 ^: l5 T$ M$ ^
+ v- i+ ^: b4 m
|
|