步进电机的仿真原理图:
单片机汇编语言程序:
- ORG 0000H
- MOV R0,#03AH
- START:JB P1.0, LP ;如果p。为1则正传 否则就反转
- CALL FZ
- JMP START
- LP:CALL ZZ
- JMP START
-
- ZZ: MOV P2,#01H
- CALL L1
- MOV P2,#03H
- CALL L1
- MOV P2,#02H
- CALL L1
- MOV P2,#06H
- CALL L1
- MOV P2,#04H
- CALL L1
- MOV P2,#0cH
- CALL L1
- MOV P2,#08H
- CALL L1
- RET
- FZ: MOV P2,#08H
- CALL L1
- MOV P2,#0cH
- CALL L1
- MOV P2,#04H
- CALL L1
- MOV P2,#06H
- CALL L1
- MOV P2,#02H
- CALL L1
- MOV P2,#03H
- CALL L1
- MOV P2,#01H
- CALL L1
-
- RET
-
-
-
- L1: JB P1.1 ,LP2 ; 如果为0则向下执行加速
- DJNZ R0,LP2 ; 加速 否泽跳 lp2
- MOV R0,#01H
- JMP LP2
- LP2:JB P1.2,L2 ; 如果为0则向下执行减速
- CJNE R0,#0FFH ,LPP2 ;减速最大值
- JMP L2
- LPP2:INC R0 ;减速
- JMP L2
-
- L2: MOV A,R0 ;延时程序
- MOV P3 ,R0
- LPP: MOV R2,#0FFH
- DJNZ R2,$
- DJNZ R0,LPP
- MOV R0,A
- RET
- END
复制代码
|