| 
 | 
 
单片机驱动步进电机程序 
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 
 
 
![]()  
 
 
步进电机驱动范例 |   
 
 
 
 |