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 !