单片机驱动步进电机程序
NS-6型实验板驱动步进电机
控制输出为P1口
由8050,8550做功率输出驱动PH266-E1.2按K1键,电机由慢变快作加速度顺时针旋转按K2键,电机由慢变快作加速度逆时针旋转
注:本试验只为初学者掌握单片机驱动步进电机的原理,其硬件配置只做为短时间试验演示不可持续过长时间,亦不可实际中使用
电路如下图:
?
;尼士单片机
;任风逍遥
;步进电机驱动程序
;2004/8/8
;NS-1试验板驱动步进电机
;K1驱动步进电机顺时针转动,K2驱动步进电机逆时针转动
org 000h
ajmp aa
org 010h
;马达正转
aa:
mov 20h,#50
JB P3.6,Bb;如果P3.6为1则转到Bb如果为0则顺序执行
a1:
mov r0,#15
loop1:
mov p1,#00110011b
acall delay
mov p1,#11000011b
acall delay
mov p1,#11001100b
acall delay
mov p1,#00111100b
acall delay
djnz r0,loop1
mov a,20h
cjne a,#30,l1;不相等,就转移
ajmp l3
l1:dec 20h
l3:
JB P3.6,Bb
jmp a1
Bb:JB P3.7,aa
a2:
mov r0,#15
loop2:
mov p1,#00111100b
acall delay
mov p1,#11001100b
acall delay
mov p1,#11000011b
acall delay
mov p1,#00110011b
acall delay
djnz r0,loop2
mov a,20h
cjne a,#30,l2;不相等,就转移
ajmp l4
l2:dec 20h
l4:
JB P3.7,bb
jmp a2
ret
delay:
mov r6,#25
d1:mov r7,20h
d2:djnz r7,d2
djnz r6,d1
ret
end
步进电机驱动范例