第1个回答 推荐于2017-09-27
使LED灯亮度发生变化可以采用PWM控制或者通断延时时间发生变化来实现,举例如下:
LED EQU P1.0
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R7,#1
LOOP1: ;渐亮
CLR P1.0
LCALL DELAY ;PWML
SETB P1.0
LCALL DELAY1 ;PWMH
INC R7
CJNE R7,#250,LOOP1
LOOP2: ;渐暗
CLR P1.0
LCALL DELAY
SETB P1.0
LCALL DELAY1
DJNZ R7,LOOP2
SJMP MAIN
DELAY:
MOV R2,#10
DJNZ R2,$
DJNZ R7,DELAY
RET
DELAY1:
MOV A,#250
SUBB A,R7
D1:
MOV R2,#10
DJNZ R2,$
DJNZ R7,D1
RET
END