📄 dj0802.asm
字号:
ORG 0000H
START:MOV A,#00H
MOV DPTR,#2007H
MOVX @DPTR,A
MOV DPTR,#2006H
MOVX @DPTR,A
ACALL DELAY2
main:MOV R1,#00H
m0:mov r0,#00h
M1:MOV DPTR,#0400H
MOV A,R0
ANL A,#07H
MOVC A,@A+DPTR
MOV DPTR,#2007H
MOVX @DPTR,A
MOV DPTR,#2006H
MOVX @DPTR,A
ACALL DELAY2 ;
INC R0
cjne r0,#00h,m1
inc r1
cjne r1,#08h,m0 ;最大=10h
CLR P1.2
SETB P1.2
ACALL DELAY2
MOV R1,#00H
m2: mov r0,#00h
m3: MOV DPTR,#0400H
MOV A,R0
ANL A,#07H
MOVC A,@A+DPTR
MOV DPTR,#2007H
MOVX @DPTR,A
MOV DPTR,#2006H
MOVX @DPTR,A
ACALL DELAY2 ;
deC R0
cjne r0,#00h,m3
dec r1
cjne r1,#0f8h,m2 ;*****最小=f0H
CLR P1.2
SETB P1.2
ACALL DELAY2
SJMP MAIN
DELAY1:mov r7,#00h
ST1: nop
DJNZ R7,ST1
NOP
RET
DELAY3:acall delay1 ;
mov r7,#01h ;
ST3: CLR P1.2
SETB P1.2
DJNZ R7,ST3
NOP
RET
DELAY2:mov r6,#03h ;电机带载02H时有位置卡,01h时堵转;03H时=800步/S=2圈/秒
ST2: ACALL DELAY3
nop
DJNZ R6,ST2
NOP
RET
ORG 0400H
DB 01H,03H,02H,06H,04H,0CH,08H,09H
DB 0EH,0CH,0DH,09H,0BH,03H,07H,06H ;与输出反相
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -