|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
步进电机编程+ w2 j4 ?! @" v2 Y
5 \. F% G' G$ k9 J
4 V+ K, M/ L: d# H
! {" r# A7 v7 l; u# k V0 j& g: O7 O- `3 h3 |+ q. r% ~
/**************************************************************************************
: j) E& m8 b9 K1 ?* 步进电机实验 *
w8 e- R! o8 T1 `/ b2 s. d3 _实现现象:下载程序后,按照光盘内操作视频接线,步进电机旋转8 D. M7 y [2 n2 E
注意事项:无 / C% l% F Q8 Q, y% s" z
***************************************************************************************/
; u9 O9 F' Y( |8 I" G/ q) Q
( b4 \3 I) O9 {5 \4 \' E#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
. a N$ L) q8 {, c7 u#include<intrins.h> //因为要用到左右移函数,所以加入这个头文件- P' M3 K" r1 ^2 T: F
0 t% K2 E. O/ e9 v0 h2 @1 m' ^5 y/ Htypedef unsigned int u16; //对数据类型进行声明定义
( p$ h- D: g1 Z7 t2 atypedef unsigned char u8;
2 T3 d& R+ c+ k+ ~& t, X' ?( F8 W% v- C( V2 n
sbit MOTOA = P1^0;
0 P* T+ E7 j7 {; X3 p; {1 g, U- @sbit MOTOB = P1^1;; C3 }! F/ h' ?0 F/ |% g {
sbit MOTOC = P1^2;+ s$ Y! I- g0 {
sbit MOTOD = P1^3; , y8 m) V& T+ d- _. g2 j+ g
/ D4 y; N7 V+ ~! C
#define SPEED 200
# H+ J1 Y) [ d1 Z$ M# s. k+ i1 C! A& L6 k8 R+ f2 ?' }+ L
/*******************************************************************************
( P0 G, W3 m9 e0 {- Q# d! N/ e* 函 数 名 : delay
1 c7 U [: p1 `! n* 函数功能 : 延时函数,i=1时,大约延时10us
; I9 M0 [; | y+ v' v& C" J( u# A*******************************************************************************/
0 H3 ~: q2 g; O$ x, gvoid delay(u16 i) F% j# q( b. W4 e3 ?( \
{
* {/ W! ^ _1 g0 k while(i--);
0 ^, X; A" d- H6 l. v}
4 [ C3 D& k: o0 [0 q) Y
' q* Z4 }' z+ l/ O: i; |; ^* z) `6 C# I& y7 X
/*******************************************************************************
( K. J% S" b7 v" Q q7 W" |* 函 数 名 : main
+ w# D9 ^# V4 _) R. I5 x* 函数功能 : 主函数
& g p; O) o0 o5 G" h R* 输 入 : 无
7 M# [5 H+ A; r! z; ?6 X$ W4 ]* 输 出 : 无6 T$ w! C: F& ?) C& B' u
*******************************************************************************/9 n& ^6 L5 B5 K
void main()
) q# K, j" n1 [ x2 n% u{
) a5 h# z2 K, g( z P1=0X00;4 {5 l, V: w! u$ b
while(1)
! B8 e3 S7 J" z9 J6 ~, T {
, s v/ A7 E6 H MOTOA = 1;* @* u& B5 g6 a3 ?
MOTOB = 0;1 n% h# A9 }/ q0 u- h6 i# B
MOTOC = 1;
% Y, f; z; Y, j MOTOD = 1;5 s S X! C% V* I' Q
delay(SPEED);
0 @1 @+ ~, N1 v R4 [3 {3 S5 l5 S0 r9 w
MOTOA = 1;
9 w+ x- T$ P) J3 H* E2 A MOTOB = 1;
# x# Q. {6 n+ @. R3 J7 i9 s* b MOTOC = 1;- F6 H# p5 Z" |! F7 c; G
MOTOD = 0;- V/ u) c+ G4 W8 A1 ^
delay(SPEED);
* W6 t. R! \* m/ w/ o" s
% l# A/ _# D2 w4 p3 M# M MOTOA = 0;4 Q9 y9 {8 `7 X) q
MOTOB = 1;4 N c, \: T6 E3 S- z
MOTOC = 1;
/ A! Z M6 z2 V, B! L# R MOTOD = 1;7 K T5 l$ b, y: [1 g6 m
delay(SPEED);+ [4 H% R! { F* ]
) d% L9 a1 V% ^8 O MOTOA = 1;6 j8 d5 Z* y' G4 g C( M& Q; e
MOTOB = 1;1 T3 q. o0 \. |4 V" A0 {6 D
MOTOC = 0;- ?* k2 r9 K7 c% R+ F' u
MOTOD = 1;
6 v7 T* T' F1 }! `& D delay(SPEED);
1 I( g( p1 q: S0 L$ F& j
9 H4 d3 S' z+ {* h2 f …………限于本文篇幅 余下代码请从论坛下载附件…………$ o/ Z Q/ |. {1 V" S* x
0 A; S& F# |+ `- y+ e5 V) k
5 q/ i% c0 T& Y; I$ t; R4 k* o# ]; p
|
|