尝试软驱4线步进电机控制!2011-01-2611:13最近,在整理废旧物品时,从过去换下的3寸和5寸软驱上拆下几个步进电机,想把它利用一下,就搞了个步进电机控制器。驱动效果还不错,看看下一步能否应用到我的机器人上。首先介绍4线步进电机,它体积很小,只有4根引线,分别为红、蓝、黄、白。如图示:控制电路采用了4只8550(PNP)和4只8050(NPN)三极管,L1和L2分别为步进电机的两个线圈,电路使用与单片机相同的电压+5V供电,电路接好后通过插座J1连接到51单片机的PX口。控制电路实物见下图,该电路可以同时控制两台步进电机,电路输出分别连接至51单片机的P0和P2口,使用三个按钮开关分别接至51单片机的P1.0、P1.1和P1.2,分别控制步进电机的正转、反转和停止。汇编测试程序如下:ORG00HSTOP:ORLP2,#0FFHORLP0,#0FFHLOOP:JNBP1.0,FOR2JNBP1.1,REV2JNBP1.2,STOP1SJMPLOOPFOR:MOVR0,#00HFOR1:MOVA,R0MOVDPTR,#TABLEMOVCA,@A+DPTRJZFORCPLAMOVP2,AMOVP0,AJNBP1.2,STOP1JNBP1.1,REV2LCALLDELAYINCR0SJMPFOR1REV:MOVR0,#05REV1:MOVA,R0MOVDPTR,#TABLEMOVCA,@A+DPTRJZREVCPLAMOVP2,AMOVP0,AJNBP1.2,STOP1JNBP1.0,FOR2LCALLDELAYINCR0SJMPREV1STOP1:LCALLDELAYJNBP1.2,$LCALLDELAYSJMPSTOPFOR2:LCALLDELAYJNBP1.0,$LCALLDELAYSJMPFORREV2:LCALLDELAYJNBP1.1,$LCALLDELAYSJMPREVDELAY:MOVR1,#40D1:MOVR2,#248DJNZR2,$DJNZR1,D1RETTABLE:DB00110011B,11000011B,11001100B,00111100B;正转DB00DB00111100B,11001100B,11000011B,00110011B;反转DB00END来自网络http://hi.baidu.com/zyzlz/blog/item/386a42f5b564d000b07ec5dd.html