Diversi tipi di registri utilizzati nel microcontrollore 8051

Prova Il Nostro Strumento Per Eliminare I Problemi





Il registro è la parte principale del microcontrollori e processori che forniscono un modo veloce per raccogliere e archiviare i dati. Se vogliamo manipolare i dati con un controllore o un processore eseguendo addizioni, sottrazioni e così via, non possiamo farlo direttamente nella memoria, ma ha bisogno di registri per elaborare e memorizzare i dati. I microcontrollori contengono diversi tipi di registri che possono essere classificati in base al loro contenuto o alle istruzioni che operano in essi.

Diversi tipi di registri nel microcontrollore 8051

Registrati




Un registro è un piccolo spazio in una CPU che può memorizzare piccole quantità di dati utilizzati per eseguire varie operazioni come l'addizione e la moltiplicazione e carica i dati risultanti sulla memoria principale. I registri contengono l'indirizzo della posizione di memoria in cui devono essere memorizzati i dati. La dimensione del registro è molto importante per controller moderni . Ad esempio, per un registro a 64 bit, una CPU tenta di aggiungere due numeri a 32 bit e fornisce un risultato a 64 bit.

Tipi di registri

Il microcontrollore 8051 contiene principalmente due tipi di registri:



  • Registri per uso generico (registri indirizzabili a byte)
  • Registri di funzioni speciali (registri indirizzabili a bit)
Memoria RAM 8051

Memoria RAM 8051

Il Microcontrollore 8051 consiste di 256 byte di RAM, che è divisa in due modi, ad esempio 128 byte per scopi generali e 128 byte per la memoria dei registri di funzioni speciali (SFR). La memoria utilizzata per scopi generali è chiamata RAM e la memoria utilizzata per SFR contiene tutti i registri relativi alla periferica come Accumulatore, registro 'B', timer o contatori e registri relativi agli interrupt.

Registri per scopi generali

Memoria per scopi generali

Memoria per scopi generali

La memoria generica è chiamata RAM dei microcontrollori 8051, che è divisa in 3 aree come banchi, area bit indirizzabile e area scratch-pad. I banchi contengono diversi registri generici come R0-R7 e tutti questi registri sono registri indirizzabili a byte che memorizzano o rimuovono solo 1 byte di dati.


Banche e Registri

B0, B1, B2 e B3 stanno per banchi e ogni banco contiene otto registri per uso generico che vanno da 'R0' a 'R7'. Tutti questi registri sono indirizzabili a byte. Il trasferimento di dati tra registri per uso generale a registri per uso generale non è possibile. Questi banchi vengono selezionati dal registro PSW (Program Status Word).

Registri per scopi generali

Registri per scopi generali

Registro PSW (Program Status Word)

Il registro PSW è un registro indirizzabile a bit e byte. Questo registro riflette lo stato dell'operazione che viene eseguita nel controller. Il registro PSW determina la selezione del banco tramite RS1 e RS0, come mostrato di seguito. L'indirizzo fisico del PSW inizia da D0h e si accede ai singoli bit con D0h fino a D7h.

Registri PSW

Registri PSW

Porta bandiera (C) : L'indirizzo del flag Carry è D7. Questo flag di riporto viene influenzato quando il bit viene generato dalla settima posizione.
Quando C = 0 carry resetta
C = 1 set di trasporto

Porta bandiera

Porta bandiera

Bandiera ausiliaria (AC) : L'indirizzo del riporto ausiliario è D5. Questo riporto ausiliario viene influenzato quando un bit viene generato dalla 3a posizione alla 4a posizione.
AC = 0 ausiliario viene ripristinato
AC = 1 ausiliario è impostato

Trasporto ausiliario (AC)

Trasporto ausiliario (AC)

Flag di overflow (OV) : L'indirizzo del flag di overflow è D2. Quando viene generato un bit dalla 6a posizione alla 7a posizione, il flag di overflow viene influenzato.

OV = 0 reimpostazioni flag di overflow
OV = 1 flag di overflow impostato

Bandiera di overflow

Bandiera di overflow

Flag di parità (P) : L'indirizzo del flag di parità è D0. Durante l'esecuzione di operazioni aritmetiche, se il risultato è 1, viene impostato il flag di parità, altrimenti viene ripristinato.
RS1 e RS0
RS1 e RS0, i bit nel registro PSW, vengono utilizzati per selezionare diverse posizioni di memoria (da bank0 a bank4) nella RAM.

Registri di selezione banca

Registri di selezione banca

Quello che segue è un esempio di utilizzo di questo registro.

L'esempio seguente mostra l'aggiunta di due numeri e quindi la memorizzazione del valore finale nel registro Bank1 utilizzando un programma a livello di assembly.

Org 0000h
MOV PSW, # 00h
MOV A, 15
AGGIUNGI A, 20
MOV 00h, A
FINE

Programma di montaggio per spostare 6 numeri naturali nel registro bank0 R0-R5

Org 0000h (dichiarazione degli indirizzi iniziali)
MOV PSW, # 00h (apri la memoria bank0)
MOV r0, # 00h (indirizzo iniziale della memoria bank0)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
FINE

Programma di montaggio per spostare 6 numeri naturali nel registro bank1 R0-R7

Org 0000h (dichiarazione degli indirizzi iniziali)
MOV PSW, # 08h (apri la memoria bank1)
MOV r0, 00h (valore inviato alla memoria bank1)
MOV r1, 02h
MOV r2, 02h
MOV r2, 03h
MOV r3, 04h
MOV r4, 05h
MOV r5, 06h
MOV r6, 07h
MOV r7, 08h
FINE

Registri di funzioni speciali (SFR)

I registri delle funzioni speciali sono la RAM superiore nei microcontrollori 8051 . Questi registri contengono tutti i registri correlati alla periferia come P0, P1, P2, P3, timer o contatori, porta seriale e registri relativi agli interrupt. L'indirizzo di memoria SFR inizia da 80h a FFh. Il registro SFR è implementato da registri indirizzo bit e registri indirizzo byte.

Registri di funzioni speciali (SFR)


Registri di funzioni speciali (SFR)

L'accumulatore, il registro B, Po, P1, P2, P3, i registri IE sono registri indirizzabili a bit, rimanendo tutti registri indirizzabili a byte.

Accumulatore

L'accumulatore, noto anche come ACC o A, è un registro indirizzabile a bit e byte da un indirizzo dell'accumulatore. Se si desidera utilizzare un registro indirizzabile a bit, è possibile utilizzare un singolo bit (E0) del registro e si può utilizzare un 8 bit dell'accumulatore come registro indirizzabile a byte. L'accumulatore contiene i risultati della maggior parte delle operazioni aritmetiche e logiche.

Registro accumulatori

Registro accumulatori

Il programma Assembly per la sottrazione utilizzato con un accumulatore

Org 0000h
MOV R0, # 09h
MOV A, # 03h (dati a 1 byte)
SUBB A, 01h (dati da 1 byte)
FINE

Registro B.

Il registro B è un registro indirizzabile a bit e byte. È possibile accedere a 1 bit oa tutti gli 8 bit tramite un indirizzo fisico F0h. Supponiamo che per accedere a un bit 1, dobbiamo usare f1. Il registro B viene utilizzato solo per le operazioni di moltiplicazione e divisione.

Registro B.

Registro B.

Il programma Assembly per la moltiplicazione utilizzato con un registro B.

Org 0000h
MOV A, # 09h
MOV B, # 03h
MUL A, B (valore finale memorizzato in A)
FINE
Il programma di assemblaggio per la divisione utilizzato con un registro B.
Org 0000h
MOV A, # 09h
MOV B, # 03h
DIC A, B (valore finale memorizzato in A)
FINE

Registri portuali

Il microcontrollore 8051 è costituito da 4 porte di ingresso e uscita (P0, P1, P2 e P3) o 32 pin I / O. Ogni pin è progettato con un transistor e registri P. Il configurazione dei pin è molto importante per un microcontrollore che dipende dagli stati logici dei registri. La configurazione dei pin come ingresso dato da 1 o uscita 0 dipende dagli stati logici. Se viene applicata la logica 1 al bit del registro P, il transistor di uscita disattiva l'apposito pin che funge da pin di ingresso.

Registri portuali dell

Registri portuali dell'8051

Programma di montaggio per alternare i LED di Port0

ORG 0000h
RITORNO: MOV P0, # 00h
ACALL DEL1
MOV P0, # 0FF
ACALL DEL1
SJMP RETURN
DEL1: MOV R2, # 200
ANTERIORE: DJNZ R0, # 230
DJNZ R2, DEL
GIUSTO
FINE

Contatori e registri

Molti microcontrollori sono costituiti da uno o più timer e contatori . I timer vengono utilizzati per generare un prezioso ritardo temporale e la sorgente dei timer è un oscillatore a cristallo. I contatori vengono utilizzati per contare il numero di eventi esterni, ad esempio il contatore obiettivo e la sorgente dei contatori sono impulsi esterni applicati attraverso il piedino del contatore.

Il microcontrollore 8051 è costituito da due timer a 16 bit e contatori come il timer 0 e il timer 1. Entrambi i timer sono costituiti da un registro a 16 bit in cui il byte inferiore è memorizzato nel TL e il byte superiore è memorizzato nel TH. Il timer può essere utilizzato sia come contatore che per operazioni di temporizzazione che dipendono dalla sorgente degli impulsi di clock ai contatori.

I contatori e i timer nei microcontrollori 8051 contengono due registri di funzioni speciali: TMOD (registro modalità timer) e TCON (registro controllo timer) , utilizzati per l'attivazione e la configurazione di timer e contatori.

Tipi di registro a turni

I registri a scorrimento sono un tipo di circuiti logici sequenziali utilizzati principalmente per la memorizzazione di dati digitali. I registri a scorrimento sono registri indirizzabili a bit che memorizzano solo un bit di dati. I registri a scorrimento sono costruiti con flip-flop, un gruppo di flip-flop collegati come una catena in modo che l'uscita di un flip-flop diventi l'ingresso del successivo flip-flop.

Tutti i flip-flop sono pilotati dai segnali di clock implementati dal D-flip-flap. I registri a scorrimento vengono utilizzati principalmente per comunicazione seriale .

Questi sono classificati in 4 tipi:

  • Serial in Serial out (SISO)
  • Serial in Parallel Out (SIPO)
  • Parallel in Serial out (PISO)
  • Parallel in Parallel Out (PIPO)
Registro D- flipflop

Registro D- flipflop

Questi sono tutti diversi tipi di registri in un microcontrollore 8051. Ci auguriamo di averti fornito con successo contenuti pertinenti con il programma appropriato per ogni registro. Inoltre, per qualsiasi tipo di aiuto per conoscere la codifica di molti altri registri, puoi contattarci commentando di seguito.

Crediti fotografici: