Quiero realizar el cambio gradual de la intensidad de la luz LED a intervalos regulares. ¿Tiene algún buen método?
Se puede cambiar el brillo de la luz LED utilizando el control PWM o cambiando el tiempo de retardo de encendido y apagado. Los ejemplos son los siguientes:
LED EQU P1.0
ORG 0000H
LJMP PRINCIPAL
ORG 0030H
PRINCIPAL:
MOV R7,#1
LOOP1: ;Fundido a brillante
CLR P1.0
LCALL DELAY ;PWML
SETB P1.0
LCALL DELAY1 ;PWMH
INC R7
CJNE R7,#250,LOOP1
LOOP2: ;Fundido a oscuro
CLR P1.0
RETARDO LLAMADA LC
SETB P1.0
RETARDO LLAMADA LC1
DJNZ R7,LOOP2
SJMP PRINCIPAL p>
RETARDO:
MOV R2,#10
DJNZ R2,$
DJNZ R7,DELAY
RET
RETARDO1:
MOV A,#250
SUBB A,R7
D1:
MOV R2, #10
DJNZ R2,$
DJNZ R7,D1
RET
END