Red de conocimiento del abogados - Bufete de abogados - Shanghai Huzheng Nano Technology Co., Ltd.

Shanghai Huzheng Nano Technology Co., Ltd.

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 direccionable por 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 lo mismo, pero la velocidad en baudios es diferente y la velocidad de transmisión es diferente. Generalmente, los protocolos superior e inferior son los mismos, lo cual está bien, 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) para enviar un byte de datos al final, y el resto de los datos se envía en la misma duración.

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

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

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

MOV A,# 1 ;Asigne 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 Si es 0, saltará al etiqueta LOOP. Si es 0, se ejecutará hacia abajo. El valor de R7 es 5

SJMP $ ;6 Salta a la instrucción actual, que consiste en realizar un bucle en esta instrucción. FIN ;Fin del programa

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

Solo puedo responder estas pocas preguntas !