Red de conocimiento informático - Espacio del host - Quiero realizar el cambio gradual de la intensidad de la luz LED a intervalos regulares. ¿Tiene algún buen método?

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

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