1)
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件.在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响.即给电机加一个信号,电机则转过一个步距角.这一线形关系的存在,加上步进电机只有周期性的误差而无积累误差等特点,使得在线速度,位置等控制领域用步进电机来控制变的非常的简单.
2)
使用单片机以软件方式驱动步进电机通过编辑方法,对步进电机的转速,往返转动的角度以及转动次数等进行控制使其在一定的范围下进行,还可以方便灵活的控制步进电机的运行状态:
3)原理图:
4)连接图:
输出端 |
输入端 |
||||
A |
C1 |
P2.0 |
KM1 |
P1.0 |
1B |
B |
C2 |
P2.1 |
KM2 |
P1.1 |
2B |
C |
C3 |
P2.2 |
KM3 |
P1.2 |
3B |
D |
C4 |
P2.3 |
KM4 |
P1.3 |
4B |
|
|
P2.4 |
KM5 |
|
|
5)运用元件及电路图
元件名称 |
型号 |
件数 |
单片机 |
AT89C51 |
1 |
晶振 |
CRYSTAL |
1 |
电容 |
CAP |
2 |
电阻 |
RES |
1 |
步进电机 |
STEPER |
1 |
步进电机芯片 |
ULN2003A |
1 |
按钮 |
BUTTON |
6 |
二、 实验程序
org 0000H
start:
jnb p2.0,step
jnb p2.1,step
sjmp start
step:
jnb p2.2,one
jnb p2.3,ten
jnb p2.4,hundred
ljmp start
one:
mov r0,#2
jnb p2.0,zh1
jnb p2.1,fan1
ljmp start
ten:
mov r0,#10
jnb p2.0,zh1
jnb p2.1,fan1
ljmp start
hundred:
mov r0,#100
jnb p2.0,zh1
jnb p2.1,fan1
ljmp start
zh1:
mov p1,#03H
lcall delay
jnb p2.7,stop
djnz r0,zh2
ljmp stop
zh2:
mov p1,#06H
lcall delay
jnb p2.7,stop
djnz r0,zh3
ljmp stop
zh3:
mov p1,#0cH
lcall delay
jnb p2.7,stop
djnz r0,zh4
ljmp stop
zh4:
mov p1,#09H
lcall delay
jnb p2.7,stop
djnz r0,zh1
sjmp stop
fan1:
mov p1,#09H
lcall delay
jnb p2.7,stop
djnz r0,fan2
ljmp stop
fan2:
mov p1,#0cH
lcall delay
jnb p2.7,stop
djnz r0,fan3
ljmp stop
fan3:
mov p1,#06H
lcall delay
jnb p2.7,stop
djnz r0,fan4
ljmp stop
fan4:
mov p1,#03H
lcall delay
jnb p2.7,stop
djnz r0,fan1
sjmp stop
stop:
mov p1,#00H
ljmp start
delay:
mov r2,#200
d1:mov r1,#200
djnz r1,$
djnz r2,d1
ret
end
三、调试记录:
当程序编译完成后,下载到单片机中后,在运行过程当中时发现按下10步按钮无法运行,其他都正常运行,回到程序检查时发现10步程序编写出现错误,经过改正后,可以运行.
上一篇:单片机学习心得汇总二.
下一篇:单片机时钟设计
推荐阅读最新更新时间:2024-03-16 14:48