Red de conocimiento informático - Aprendizaje de programación - No sé cómo resolver algunas preguntas sobre el microcontrolador MCS-51. Mañana por la tarde habrá un examen. ¿Puede alguien de buen corazón ayudarme? ! !

No sé cómo resolver algunas preguntas sobre el microcontrolador MCS-51. Mañana por la tarde habrá un examen. ¿Puede alguien de buen corazón ayudarme? ! !

El espacio de direcciones de memoria del microcontrolador MCS-51 requiere varias páginas.

Una breve introducción es la siguiente:

La memoria del MCS-51 tiene tres espacios: RAM en el chip, RAM fuera del chip y ROM.

RAM en chip:

El rango de direcciones es de 00H a 7FH (la serie 52 se extiende a FFH).

Entre ellos 00H a 1FH, ***32 bytes, divididos en cuatro áreas de registro de trabajo, cada área tiene registros R0~R7.

Para esta área, puede usar R0~R7 para operar, pero actualmente solo se puede leer y escribir un área de esta manera.

Para esta área, también puedes utilizar direcciones de bytes para lectura y escritura.

20H-2FH, 16 bytes, es un área de direccionamiento de bits, con 128 "bits", dirección de bits: 00~7FH.

Esta área también se puede leer y escribir según el direccionamiento de bytes.

30H-7FH no tiene características especiales y solo realiza direccionamiento de bytes.

80H-FFH, existen 128 números de dirección, entre los que se distribuyen discretamente 21 registros de funciones especiales, que deben direccionarse directamente para lectura y escritura.

(La Serie 52, en esta gama, también dispone de 128 bytes de RAM, que hay que direccionar indirectamente para lectura y escritura).

Para leer y escribir el espacio anterior, es necesario utilizar la instrucción MOV.

----

RAM fuera del chip:

El rango de direcciones de la RAM fuera del chip es de 0000H a FFFFH y la capacidad es de 64 KB.

Para leer y escribir en la RAM fuera del chip, debe utilizar la instrucción MOVX.

----

ROM:

El rango de direcciones de la ROM es de 0000H a FFFFH y la capacidad es de 64 KB.

Entre ellos, 0000~0FFFH, que es 4K, está dentro del chip y los demás están fuera del chip.

(Para 8031, todas estas ROM de 64K están fuera del chip).

Para leer la ROM, debe utilizar la instrucción MOVC.

------------------------------------------- ----- --------------------------------

El proceso de enviar un bit de datos, el resto es igual, excepto que la velocidad en baudios es diferente y la velocidad de transmisión es diferente. Generalmente, los protocolos superior e inferior son los mismos, generalmente como 9600, N, 8, 1

<. p>Como se muestra en la figura: cuando la línea de transmisión, cuando está de mayor a menor (bit de inicio), comienza a enviar datos (de menor a mayor, envía ocho bits, un byte) y luego súbelo (bit final) a envía un byte de datos para finalizar y el resto de los datos se envía en la misma duración.

---------------------. ------------------------ -------------------------- ----------

MOV R7, #6; asignará el número decimal 6 a R7, el valor de 07H es 6

MOV R0, #40H ; asigna el número hexadecimal 40h a R0, el valor de 00H es 40H

MOV A, # 1; Asigna el número decimal 1 al acumulador A

LOOP: MOV @R0, A asigna el valor del acumulador A a la dirección 40H indicada por el valor R0, y el valor de 40H es 1

INC A El valor del acumulador A aumenta en 1 A=2

INC R0 El valor de R0 aumenta en 1 00H el valor es 41H

DJNZ R7, LOOP; 5 El valor de R7 disminuye en 1, el valor no es 0, saltará a la etiqueta LOOP si es. es 0, se ejecutará hacia abajo. El valor de R7 es 5

SJMP $; 6 salta a la instrucción actual, lo que significa realizar un bucle en esta instrucción

FIN del programa<. /p>

---------------------------------------- ---- ------------------------------

¡Solo puedo responder estas pocas!