📄 servos.asm
字号:
FOTO1 EQU P0.0
FOTO2 EQU P0.1
FOTO3 EQU P0.2
FOTO4 EQU P0.3
PULSO EQU P1.2
PULSO1 EQU P1.3
DATOS EQU P0
WR BIT P2.6
INTR BIT P2.7
SELEC1 EQU P1.5
SELEC2 EQU P1.4
ORG 0
JMP MAIN
ORG 03H
JMP SERVO1
ORG 0BH
JMP PWM
ORG 13H
JMP SERVO2
MAIN: MOV SP, #70H
MOV IE, #10000010B
SETB IT0
SETB IT1
MOV TH0, #0FFH
MOV TL0, #9CH
MOV R4, #5
MOV R6, #3
MOV 21H, #3
MOV 25H, #3
SETB TR0
SETB PULSO
JNB 20H.0, $
SETB PULSO1
MOV R6, #3
MOV 23H, #3
SETB TR0
SETB 20H.6
JB 20H.6, $
OTRA:
SETB 20H.1
CLR 20H.6
MOV A, DATOS
ANL A, #0FH
MOV 22H, A
CJNE A, #15, VAS
JMP OTRA
VAS: ANL A, #03H
CJNE A, #3, MOVH
REV: MOV A, 22H
ANL A, #0CH
MOV 25H, A
CJNE A, #12, MOVV
JMP OTRA
MOVH: SETB IE0
CLR 20H.1
JNB 20H.1 , $
JMP REV
MOVV: SETB IE1
SETB 20H.6
JB 20H.6 , $
JMP OTRA
PWM: MOV TH0, #0FFH
MOV TL0, #9CH
CJNE R6, #0, BAJO
DJNZ R6, SALIR
JNB 20H.6, CIS
CPL PULSO1
JMP SER
CIS: CPL PULSO
SER: CLR C
MOV A, #200
SUBB A, 25H
MOV R5, A
BAJO: DJNZ R5, SALIR
MOV R6, 25H
JNB 20H.6, CIS1
CPL PULSO1
JMP SER1
CIS1: CPL PULSO
SER1: DJNZ R4, SALIR
MOV R4, #5
CLR TR0
JB 20H.6, DE
SETB 20H.0
SETB 20H.1
JMP SALIR
DE: CLR 20H.6
SALIR: RETI
SERVO1: MOV A, 21H
CJNE A, #3, COM
MOV R6, #13
MOV 25H, #13
SETB TR0
JMP SALIR
COM: CJNE A, #13, COM2
JB FOTO2, COM1
MOV R6, #23
MOV 25H, #23
SETB TR0
JMP SALIR
COM1: MOV R6, #13
MOV 25H, #13
SETB TR0
JMP SALIR
COM2: MOV R6, #13
MOV 25H, #13
SETB TR0
SALIR: MOV 25H, 21H
RETI
SERVO2: MOV A, 23H
CJNE A, #3, COM3
JB FOTO3, SALIR1
MOV R6, #8
MOV 25H, #8
SETB TR0
JMP SALIR
COM3: CJNE A, #8, COM5
JB FOTO3, COM4
MOV R6, #13
MOV 25H, #13
SETB TR0
JMP SALIR
COM4: MOV R6, #3
MOV 25H, #3
SETB TR0
JMP SALIR
COM5: JB FOTO4, SALIR
MOV R6, #8
MOV 25H, #8
SETB TR0
SALIR1: MOV 23H, 25H
RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -