51 Programa de visualización del conjunto LED de control del microcontrolador
INICIO AJMP
INICIO: MOV 30H, #00H; el tubo digital muestra el valor inicial
MOV 31H, #00H
MOV 40H, #00H; muestra el incremento
MOV 41H, #01H
STL1: LED ACALL; pantalla LED
ACALL DELAY0.5S
ACALL BCDADD
MOV A,30H
p>ANL A,#0F0H
JNZ START Determina si excede 999
AJMP STL1;
BCDADD: CLR C
MOV A,31H
ADDC A,41H
DA A
MOV 31H,A
ACALL BCDADD:MOV A,30H
ACALL A,30H
MOV A,30H
ADDC A,40H
DA A
MOV 30H,A
RET
LED:MOV A,30H
ANL A ,#0FH
MOV DPTR,#TAB
p>MOVC A,@A +DPTR
MOV P0,A
MOV A,31H
ANL A,#0F0H
INTERCAMBIAR A
MOV DPTR,#TAB
MOVC A, MOV P1,A
MOV A, #0FH
MOV A 31H
ANL A,#0FH
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P2 ,A
RET
DELAY0.5S:MOV R6,#200
SL1: MOV R5,#250
SL2: NOP
DJNZ R5,SL2
DJNZ R6,SL1
RET
TAB: DB 0C0H ;0
DB 0F9H ;1
DB 0A4H ;2
DB 0B0H ;3
DB 099H ;4
DB 092H ;5 p>
DB 082H ;6
DB 0F8H ;7
DB 080H ;8
DB 090H ;9
DB 088H ;A
DB 083H ;B
DB 0C6H ;C
DB 0A1H ;D
DB 086H ;E
DB 08EH ;F
END
PS1: El oscilador de cristal usado para 0.5 el segundo retraso es 3,57 MHZ
PS2: desearía haber escrito El código de la pantalla LED es correcto, supongo que estás conectando 0-7 a A-DP
PS3: formato de pantalla de Baidu es realmente asqueroso, simplemente conformate con ello, el programa no debería. Cualquier error
P4: El programa ha sido modificado y recopiado