B
bvan3
Guest
Je veux contrôler mon PWM avec mon commutateurs DIP 8051 et j'ai besoin d'aide
ORG 0000H
MAIN:
CLR P1.0
CLR P1.1
CLR P1.2
CLR P2.7
CLR P2.6
CHECKMOTOR:
JB P2.0, CONTROL
JNB P2.0, MOTOROFF
CONTROL:
SETB P1.0
JNB P2.7, en sens horaire
CLR P1.1
SETB P1.2
SJMP CHECKMOTOR
HORAIRE:
SETB P1.1
CLR P1.2
SJMP CHECKMOTOR
NORMAL:
JNB P2.6, FIFTYPERCENT
SETB P1.0
MOV R5, n ° 25
ACALL RETARD
CLR P1.0
MOV R5, # 75
ACALL RETARD
SJMP NORMAL
FIFTYPERCENT:
SETB P1.0
MOV R5, n ° 50
ACALL RETARD
CLR P1.0
MOV R5, n ° 50
ACALL RETARD
SJMP NORMAL
RETARD:
H1: MOV R2, # 100
H2: MOV R3, # 255
H3: DJNZ R3, H3
DJNZ R2, H2
DJNZ R5, H1
MOTOROFF:
SETB P1.0
RET
FIN
ORG 0000H
MAIN:
CLR P1.0
CLR P1.1
CLR P1.2
CLR P2.7
CLR P2.6
CHECKMOTOR:
JB P2.0, CONTROL
JNB P2.0, MOTOROFF
CONTROL:
SETB P1.0
JNB P2.7, en sens horaire
CLR P1.1
SETB P1.2
SJMP CHECKMOTOR
HORAIRE:
SETB P1.1
CLR P1.2
SJMP CHECKMOTOR
NORMAL:
JNB P2.6, FIFTYPERCENT
SETB P1.0
MOV R5, n ° 25
ACALL RETARD
CLR P1.0
MOV R5, # 75
ACALL RETARD
SJMP NORMAL
FIFTYPERCENT:
SETB P1.0
MOV R5, n ° 50
ACALL RETARD
CLR P1.0
MOV R5, n ° 50
ACALL RETARD
SJMP NORMAL
RETARD:
H1: MOV R2, # 100
H2: MOV R3, # 255
H3: DJNZ R3, H3
DJNZ R2, H2
DJNZ R5, H1
MOTOROFF:
SETB P1.0
RET
FIN