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