⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bujindianji.txt

📁 步进电机的两种控制方法:单片机控制和8266控制
💻 TXT
字号:
单片机的 
C8255 EQU 8406H 
D8255C EQU 8404H 
D8255A EQU 8400H 
SPDTR EQU 20H 
STEPPT EQU 21H 
DIRL EQU 22H 
DIRH EQU 23H 
SWITCH EQU 24H 

ORG 0000H 
LJMP START 
ORG 000BH 
LJMP RUNINT 
ORG 0100H 
START: 
MOV SP,#40H 
LCALL INIT 
LCALL CHKSWITCH 
SJMP $-3 
INIT: 
CLR EA 
MOV DPTR,#C8255 
MOV A,#90H 
MOVX @DPTR,A 
MOV DPTR,#MRSTEP 
MOV DIRH,DPH 
MOV DIRL,DPL 
MOV SPDTR,#00H 
MOV SWITCH,#00H 
MOV TMOD,#00H 
SETB ET0 
SETB EA 
RET 




CHKSWITCH: 
MOV DPTR,#D8255A 
MOVX A,@DPTR 
ANL A,#8FH 
CJNE A,SWITCH,$+6 
LJMP SWITCHRET 
MOV SWITCH,A 
CLR TR0 
RLC A 
JC $+7 
MOV DPTR,#MLSTEP 
SJMP $+5 
MOV DPTR,#MRSTEP 
MOV DIRL,DPL 
MOV DIRH,DPH 

RLC A 
RLC A 
RLC A 
RLC A 
JC SPD4 
RLC A 
JC SPD3 
RLC A 
JC SPD2 
RLC A 
JC SPD1 
SJMP SPD0 
SPD4: MOV A,#04H 
SJMP CHGSPD 
SPD3: MOV A,#03H 
SJMP CHGSPD 
SPD2:MOV A,#02H 
SJMP CHGSPD 
SPD1: MOV A,#01H 
SJMP CHGSPD 
SPD0:MOV A,#00H 


CHGSPD:MOV DPTR,#SPD 
MOVC A,@A+DPTR 
MOV SPDTR,A 
JZ $+4 
SETB TR0 
SWITCHRET:RET 
RUNINT: 

PUSH PSW 
PUSH ACC 
PUSH DPH 
PUSH DPL 
CLR TR0 
MOV TH0,SPDTR 
MOV TL0,#00H 
SETB TR0 
MOV DPH,DIRH 
MOV DPL,DIRL 
MOV A,STEPPT 
INC A 
ANL A,#07H 
MOV STEPPT,A 
MOVC A,@A+DPTR 
MOV DPTR,#D8255C 
MOVX @DPTR,A 
POP DPL 
POP DPH 
POP ACC 
POP PSW 
RETI 
SPD: DB 00H,17H,77H,0A7H,0C7H 
MRSTEP:DB 01H,03H,02H,06H,04H,0CH,08H,09H 
MLSTEP:DB 08H,0CH,04H,06H,02H,03H,01H,09H 



END 
接线是PA0-PA7接K1-K8 
PC0-PC3接SMA-SMD 
CS55接8400H 
还有另外一种自动实现快速正转反转或慢速正转反转之类的.如果是微机原理课的用8086/8088 
ORG 0003H 
LJMP KEY 
ORG 001BH 
LJMP TINT 
ORG 4000H 
LJMP REST 
ORG 4200H 
REST: MOV SP,#70H 
ANL TMOD,#0F0H 
ORL TMOD,#02H 
MOV TH0,#05H 
MOV TL0,#05H 
MOVX @DPTR,A 
MOV DPTR,#1B31H 
MOV A,#0D3H 
MOVX @DPTR,A 
MOV A,#2AH 
MOVX @DPTR,A 
MOV A,#00H 
MOVX @DPTR,A 
MOV A,#40H 
MOVX @DPTR,A 
MOV A,#90H 
MOVX @DPTR,A 
MOV 20H,#00H 
MOV 21H,#00H 
MOV 22H,#00H 
MOV 23H,#00H 
MOV 24H,#0FFH 
MOV 25H,#00H 
MOV R0,#21H 
MOV R2,#02H 
MOV R7,#33H 
SETB EX0 
SETB ET1 
SETB EA 
MAIN: LCALL MANI 
LJMP MAIN 
MANI: MOV DPTR,#1B31H 
MOV A,#90H 
MOVX @DPTR,A 
MOV DPL,#30H 
MANI1: MOV A,@R0 
LCALL TABLE 
MOVX @DPTR,A 
INC R0 
DJNZ R2,MANI1 
MOV R0,#21H 
MOV R2,#02H 
RET 
TABLE: INC A 
MOVC A,@A+PC 
RET 
DB 3FH,06H,5BH,4FH 
DB 66H,6DH,7DH,07H 
DB 7FH,6FH,77H,7CH 
DB 39H,5EH,79H,71H 
DB 73H 
KEY: PUSH ACC 
PUSH PSW 
PUSH DPL 
MOV DPL,#30H 
MOVX A,@DPTR 
ANL A,#3FH 
ACCEL: CJNE A,#02H,DECEL 
CLR TR1 
MOV 25H,#01H 
MOV 21H,#0AH 
MOV 23H,#00H 
SETB TR1 
LJMP OUTK 
DECEL: CJNE A,#06H,BACK 
CLR TR1 
MOV 25H,#02H 
MOV 21H,#0EH 
MOV 23H,#0C0H 
SETB TR1 
LJMP OUTK 
BACK: CJNE A,#03H,FRONT 
MOV 20H,#01H 
MOV 22H,#0BH 
LJMP OUTK 
FRONT: CJNE A,#07H,STOP 
MOV 20H,#00H 
MOV 22H,#0FH 
LJMP OUTK 
STOP: MOV 25H,#00H 
CJNE A,#08H,STEP1 
CLR TR1 
MOV 21H,#00H 
LJMP OUTK 
STEP1: CJNE A,#09H,STEP2 
CLR TR1 
MOV 21H,#01H 
MOV 23H,#00H 
SETB TR1 
LJMP OUTK 
STEP2: CJNE A,#0AH,STEP3 
CLR TR1 
MOV 21H,#02H 
MOV 23H,#3FH 
SETB TR1 
LJMP OUTK 
STEP3: CJNE A,#0BH,STEP4 
CLR TR1 
MOV 21H,#03H 
MOV 23H,#66H 
SETB TR1 
LJMP OUTK 
STEP4: CJNE A,#0CH,STEP5 
CLR TR1 
MOV 21H,#04H 
MOV 23H,#7FH 
SETB TR1 
LJMP OUTK 
SREP5: CJNE A,#0DH,POINT 
CLR TR1 
MOV 21H,#05H 
MOV 23H,#0C0H 
SETB TR1 
LJMP OUTK 
POINT: CJNE A,#05H,OUTK 
CLR TR1 
MOV 21H,#0DH 
LCALL DIREC 
OUTK: POP DPL 
POP PSW 
POP ACC 
RETI 
TINT: PUSH ACC 
PUSH PSW 
PUSH DPL 
LCALL DIREC 
LCALL REL 
OUTT: POP DPL 
POP PSW 
POP ACC 
RETI 
DIREC: MOV DPL,#08H 
MOV R1,20H 
MOV A,R7 
CJNE R1,#00H,BACKD 
FRONTD: RR A 
LJMP OUTD 
BACKD: CJNE R1,#01H,OUTD 
RL A 
OUTD: MOVX @DPTR,A 
MOV R7,A 
RET 
REL: MOV R1,25H 
CJNE R1,#01H,REL2 
MOV A,23H 
CJNE A,#0C0H,REL1 
MOV TH1,A 
RET 
REL1: MOV TH1,A 
INC A 
MOV 23H,A 
RET 
REL2: CJNE R1,#02H,REL0 
MOV A,23H 
JNZ REL3 
MOV TH1,A 
RET 
REL3: MOV TH1,A 
DEC A 
MOV 23H,A 
RET 
REL0: MOV TH1,23H 
RET 
END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -