|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
步进电机编程: l# B2 O' F3 ^7 X0 l( F4 C+ o
$ P# N( D. \7 W* y& N
+ g( K) q: ?8 V# H) Y) U# s
+ @4 c$ V1 o6 j3 u% |- h! o8 a0 r- A! x U$ U' L
/**************************************************************************************0 ]' C+ F2 X0 O5 @, N' T) F
* 步进电机实验 *# `4 C* K& P, N ^; Q; w2 {5 F; x
实现现象:下载程序后,按照光盘内操作视频接线,步进电机旋转9 n% d2 a' g$ \0 D0 s- ]: ^) @% Y) J
注意事项:无 ( t' L+ V3 ~( a( [* d1 L( @
***************************************************************************************/
& u: _1 h9 Z0 ?3 _: c% ~* z6 }4 t. e+ U9 f; U
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
$ c( y9 N' K0 p1 ?/ e: F#include<intrins.h> //因为要用到左右移函数,所以加入这个头文件9 _8 I$ V# R$ B2 }# D# K/ n5 w
# |0 ^! j0 C* t4 z0 ~6 {
typedef unsigned int u16; //对数据类型进行声明定义7 n7 g1 \9 F( X! L" y
typedef unsigned char u8;- L; H8 G$ P5 ~, j6 l
" H, W) M8 ]% P% ?sbit MOTOA = P1^0;
0 q$ ^, u- C* e1 t2 ]sbit MOTOB = P1^1;
7 I7 k& \/ h1 v: A8 Bsbit MOTOC = P1^2;2 }1 y/ g* U4 W$ @# @
sbit MOTOD = P1^3;
4 p1 k! N7 d/ g% n# `- Z+ w2 X8 k8 A! q; y+ C
#define SPEED 200 7 P$ C6 x1 l# Q5 N- l2 y
" q8 Q( t g. i7 M/*******************************************************************************
* ~9 b9 {: ~: n1 [* e9 e* S' y* 函 数 名 : delay
9 f' _. y; `1 L2 c1 n5 k$ b* 函数功能 : 延时函数,i=1时,大约延时10us
0 G6 _ l. H5 @5 V/ i3 w8 D. g*******************************************************************************/
# S, Y% B1 C+ \! C3 E# Wvoid delay(u16 i)4 o/ p0 r" f8 J3 x- C& K
{( o/ T4 [" z% V* l7 P# }
while(i--); 8 L3 \8 H" ~6 O1 U6 ?" E6 n3 P
}
' T) R: l. y& d
% Y- ~5 Y! X% P8 {) F% h3 V% p% c# |$ L, g! q
/*******************************************************************************
6 e, m- y( i3 R4 q/ ~$ e" e* 函 数 名 : main
" [ h* l' ~5 `: P* 函数功能 : 主函数7 j" c* P* Z2 @, p, E
* 输 入 : 无
; |/ X% p/ i( ]5 D% f* 输 出 : 无3 N0 F/ K9 |; d/ @9 k2 z
*******************************************************************************/
/ Z' S+ V# ]4 B7 vvoid main()8 I0 B9 j& h: {4 T/ c2 S$ t. N
{ 6 U2 L5 p( d8 g6 u$ H t- N
P1=0X00;
, H s% r$ [% T8 s" | while(1)* H( Q8 \2 w8 _9 E9 K
{
8 O. l7 D' m" }* b) d MOTOA = 1;
8 h, {( Q! i) s1 x MOTOB = 0;
) u; E7 W, p0 D/ r% k2 t2 T* |# g; _ MOTOC = 1;
" I, e* B1 @5 a9 F. W3 A4 I MOTOD = 1;- O" J3 y! m! V# T6 t/ P
delay(SPEED);
# m2 \! M6 t+ l# n. s; w2 N
* e" |: z# b2 a( q3 X) x- }0 W g MOTOA = 1;
+ c# E- V8 U9 M$ Z8 J0 H MOTOB = 1;; u' k% b2 N+ m
MOTOC = 1;
) L$ s7 M0 b: }- O MOTOD = 0;5 t' P& Y% @' J. X3 ^! w+ @6 ], w
delay(SPEED);
, M+ Z: R& ^$ X. |1 w' T+ J5 J! k& }: X( n; a. g! l: p! h+ i
MOTOA = 0;
- Y! A4 x- G+ E( l8 P0 D MOTOB = 1;
" C+ z, z1 I9 q( A1 A9 ?! |2 @ f MOTOC = 1;
, W; e: E0 T0 \9 P! k& J MOTOD = 1;
! v0 X3 P. c: }8 {$ q9 B( { s, d delay(SPEED);# k0 n( d) z* T. N4 [; h
8 G, Q$ Q6 @' }: ~+ L" _
MOTOA = 1;# b4 O: K' K; G$ ` A
MOTOB = 1;
* F+ X$ r' w" y8 J- a: P MOTOC = 0;7 i. s; U/ D9 J" T
MOTOD = 1;
) ?2 |: S' \. f! Z9 T& y delay(SPEED);2 x/ H1 o, ~1 G3 R9 T
2 H5 S! o- K% S( p% m0 ?0 R- W …………限于本文篇幅 余下代码请从论坛下载附件…………& K" x, }; i) L
$ ~( | ]" n: E
R9 ], Q9 b9 p. a |
|