资源描述:
《伟福实验箱步进电机控制程序.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ASTEP EQU 01H BSTEP EQU 02H CSTEP EQU 04H DSTEP EQU 08H CODE SEGMENT ASSUME CS:CODE START : MOV DX, 8003H; 8255控制口地址 MOV AL, 82H ;PA口输出,B口输入 OUT DX, AL ;写控制字 K0:MOV DX, 8000H ;PA口地址 MOV AL,0 ; 输出低电平 OUT DX,AL
2、; 电机停止转动 MOV DX,8001H ;PB口地址 IN AL,DX ;读开关状态 TEST AL,01H ; PB0位(K0=0吗?) JNZ K1 ;不是零转K1 JMP STEP8 ; 是零转单/双八拍工作方式 K1: IN AL,DX ;读开关状态 TEST AL,02H ;PB1位(K1=0吗?) JNZ K2 ; 不是零转K2 JMP
3、STEP4 ;是零转双四拍工作方式 K2:IN AL,DX ;读开关状态 TEST AL,04H PB2位(K2=0吗?) JZ STEP41 ;是零转单四拍反转工作方式 JMP K0 ;循环 ; 单/双八拍工作方式:A→AB→B→BC→C→CD→D→DA→A STEP8:MOV BX,9000H;设置初始延时时间 MOV DX, 8000H;PA口地址 MOV AL,ASTEP OUT D
4、X,AL CALL DELAY MOV AL,ASTEP+BSTEP OUT DX,AL CALL DELAY MOV AL,BSTEP OUT DX,AL CALL DELAY MOV AL,BSTEP+CSTEP OUT DX,AL CALL DELAY MOV AL,CSTEP OUT DX,AL CALL DELAY MOV AL,CSTEP+DSTEP
5、 OUT DX,AL CALL DELAY MOV AL,DSTEP OUT DX,AL CALL DELAY MOV AL,DSTEP+ASTEP OUT DX,AL CALL DELAY JMP K0 ; 双四拍工作方式:AB→BC→CD→DA→AB STEP4:MOV BX,5000H;设置延时时间 MOV DX, 8000H;PA口地址 MOV AL,ASTEP+BSTEP;PA0P
6、A1(AB相)输出高电平 OUT DX,AL CALL DELAY ;调延时 MOV AL,BSTEP+CSTEP ;BC输出高电平 OUT DX,AL CALL DELAY ; 调延时 MOV AL,CSTEP+DSTEP;CD输出高电平 OUT DX,AL CALL DELAY ; 调延时 MOV AL,DSTEP+ASTEP;DA输出高电平 OUT DX,AL CALL DELAY
7、 ;调延时 JMP K0 ; 单四拍反转工作方式: D→C→B→A→D STEP41:MOV BX,1000H;设置延时时间 MOV DX,8000H;PA口地址 MOV AL,DSTEP; D输出高电平 OUT DX,AL CALL DELAY;调延时 MOV AL,CSTEP; C输出高电平 OUT DX,AL CALL DELAY;调延时 MOV AL,BSTEP; B;输出高电平
8、OUT DX,AL CALL DELAY;调延时 MOV AL,ASTEP; A输出高电平 OUT DX,AL CALL DELAY;调延时 JMP K0 DELAY PROC NEAR ;延时子程序 PUSH CX MOV CX,BX DD1: N