Red de conocimiento informático - Conocimiento sistemático - Pregunta sobre lenguaje ensamblador ¿Cuál es el código fuente para mostrar números (0~9) en el LED del microcontrolador?

Pregunta sobre lenguaje ensamblador ¿Cuál es el código fuente para mostrar números (0~9) en el LED del microcontrolador?

Existe un método de búsqueda de tablas para hacer esto:

;;8051

;;Oscilación del cristal F=12Mhz

;;

CLAVE32 REG P3.2

ORG 0000H

AJMP PRINCIPAL

ORG 0003H

RETI

p >

RETI

ORG 000BH

RETI

ORG 0013H

RETI

RETI

ORG 001BH

RETI

ORG 0023H

RETI

DB C0H ;0 DIRECCIÓN 0024H

DB F9H ;1

DB A4H ;2

DB B0H ;3

DB 99H ;4

DB 92H ;5

DB 82H ;6

DB F8H ;7

DB 80H ;8

DB 90H ;9

PRINCIPAL: MOV R0,#7FH ;

CLR A ;

$CL MOV @R0,A ;

DJNZ R0,$CL ;Inicialización

MOV SP,#60H ;Inicialización

MOV 20H,#00H ;Inicialmente configurado en 0

MOV DPTR,#0024H ;Apunta a la primera dirección de los datos tabla

p>

;;

$0 JB KEY32,$0

MOV A,20H

INC A

CJNE A,# 10D,$1 ;Si no es equivalente transferir

MOV A,#00H

$1 MOV 20H,A ;Guardar datos

MOVC A ,@A+DPTR

MOV P1,A ;DISPLAY

$2 CALL DLY ;Retraso de llamada esperando que aparezca la LLAVE

JNB KEY32,$2

AJMP $0

;;

DLY: MOV R7,#00 ;DELAY

$A MOV R6,#00 ;

$B DJNZ R6 ,$B

DJNZ R7,$A

RET