Red de conocimiento informático - Conocimiento de la instalación - Explique el programa de ensamblaje del microcontrolador 51: ¡No estoy seguro de la función de este programa! Espero que alguien pueda darme algún consejo. ¡Gracias!

Explique el programa de ensamblaje del microcontrolador 51: ¡No estoy seguro de la función de este programa! Espero que alguien pueda darme algún consejo. ¡Gracias!

Este es un programa que convierte números binarios de 8 dígitos en formato decimal, o se llama calculadora.

Los cambios son para el éxito de la simulación. Bajo a la derecha. ?1101B? convertido a exactamente 13

; código de segmento de interfaz p3 a, b, c, d, e, f, g,? código de segmento de interfaz p2.5-7, ¿qué tubo digital elegir? a_bit?equ?20h?;almacenamiento de un solo dígito b_bit?equ?21h?;almacenamiento de decenas de dígitos org0000H

SJMP?main

ORG0030H

main:? ?p0,#0ffh?;Inicializar puerto p0

bucle:?mov?a,p0?;Convertir el número hexadecimal en a a decimal

mov?b,#10;Decimal /10=Decimal

div?ab

mov?b_bit,a?;El dígito de las decenas está en a

mov?a_bit,b?;Las unidades el dígito está en b mov?dptr,#numtab?;Especifique la dirección inicial de la búsqueda en la tabla mov?a,a_bit?;Obtenga el dígito de las unidades MOVC?A,@A+DPTR?; /p>

mov?p3,a acall?d1ms mov?p2,#40h?;Mostrar dígitos individuales acall?d1ms

mov?p2,# 0ffh;Proteger todas las pantallas

acall?d1ms mov?dptr,#numtab?;Especifique la dirección inicial de la búsqueda en la tabla mov?a,b_bit?;Tome el número de diez dígitos MOVC?A,@A+DPTR?; para decenas

mov?p3,a

call?d1ms mov?p2,#80h?;Mostrar decenas de dígitos

acall ?d1ms mov?p2, #0ffh?;Bloquear todas las pantallas SJMP?loop

d1ms:? MOV?R2,#200 DJNZ?R2,$

nop RET

numtab:? DB?3FH,6H,5BH,4FH,66H,6DH,7DH,7H,7FH,6FH

end?

Mira esta oración,?loop :?mov?a, p0?;Convierte el número hexadecimal de a a decimal.

La conversión comienza después de enviar p0? a A?. ?No agregué esto. No sé dónde está ubicado el fpga del que hablas. Por supuesto, cambiar p0 a fpga es la función que mencionaste.

En resumen, comprenda que el número hexadecimal se convierte en un número decimal de 2 dígitos y luego se muestra. En cuanto a de dónde proviene el número hexadecimal, todo depende de dónde se usa.