* RAM interno: La RAM interno dell'8051 (128 byte).
* Registri delle funzioni speciali (SFRS): Registri utilizzati per controllare vari aspetti dell'operazione dell'8051 (ad es. Timer, porta seriale, interruzioni).
* RAM esterna: Accesso tramite il bus degli indirizzi dell'8051 (se la RAM esterna è collegata). (Nota:l'accesso alla RAM esterna di solito richiede sequenze di istruzioni più complesse.)
Le istruzioni principali di trasferimento dei dati sono:
* mov (muoversi): Questa è l'istruzione di trasferimento dei dati più fondamentali. Copia il contenuto di una posizione (origine) in un'altra posizione (destinazione).
* Sintassi: `Mov Destination, Source`
* Esempi:
* `Mov a, r0`:sposta il contenuto del registro R0 sull'accumulatore (A).
* `Mov R1, #55H`:sposta il valore immediato 55H (esadecimale) nel registro R1.
* `Mov R2, @A`:sposta i dati all'indirizzo di memoria indicato dall'accumulatore (a) nel registro R2. (Indirizzamento indiretto)
* `Mov @a+dptr, r3`:sposta il contenuto di R3 in RAM esterna all'indirizzo calcolato aggiungendo i registri dell'accumulatore (A) e dei dati del puntatore dei dati (DPTR). Ciò illustra come è possibile accedere alla RAM esterna indirettamente.
* movx (spostati esterno): Questa istruzione sposta specificamente i dati tra l'accumulatore (A) e la RAM esterna. Utilizza il registro DPTR (puntatore dati) per affrontare la memoria esterna.
* Sintassi: `Movx a, @a+dptr` (sposta i dati dalla RAM esterna a A) o` movx @a+dptr, a` (sposta i dati da A a RAM esterna)
* push and pop: Queste istruzioni funzionano con lo stack, una struttura di dati LIFO (last-in, primo out) di solito situata nella RAM interna.
* Push: Spinge il contenuto dell'accumulatore (a) sullo stack.
* pop: Fa emergere l'elemento superiore dallo stack nell'accumulatore (A). Il puntatore dello stack (SP) viene automaticamente aggiornato.
* xch (scambio): Scambia il contenuto dell'accumulatore (a) con il contenuto di un registro o una posizione di memoria specificata.
* Sintassi: `Xch a, ri` (dove ri è un registro r0-r7) o` xch a, @a` (indirizzamento indiretto)
Modalità di indirizzamento:
8051 istruzioni utilizzano diverse modalità di indirizzamento, tra cui:
* Indirizzamento immediato: L'operando è un valore costante incluso direttamente nell'istruzione. (`Mov R1, #55H`)
* Indirizzamento al registro: L'operando è un registro. (`Mov a, r0`)
* Indirizzamento diretto: L'operando è una posizione di memoria specificata direttamente dal suo indirizzo all'interno della RAM interna. (ad esempio, `Mov A, 20H` accede all'indirizzo RAM interno 20H).
* Indirizzo indiretto: L'indirizzo dell'operando viene archiviato in un registro (di solito l'accumulatore A o il DPTR). (`Mov a, @a`;` movx a, @a+dptr`)
Queste istruzioni sono le basi per la manipolazione dei dati all'interno dell'8051. Comprendere la loro sintassi, le modalità di indirizzamento e i ruoli di registri come l'accumulatore e DPTR sono cruciali per una programmazione efficace 8051.
hardware © www.354353.com