mercoledì 12 gennaio 2011

Caratteristiche del MC68HC908GP32


CARATTERISTICHE DEL MC68HC908GP32


Il microcontrollore è a 8 bit del tipo Cisc della famiglia 68HCXX che lavora in una frequenza di clock di 8 Mhz. La memoria rom è di tipo flash (EEprom) ovvero può essere cancellata e riprogrammata un numero infinito di volte,questo rende molto utile e versatile il progetto hardware. Il basso costo e la presenza del convertitore A/D a bordo rende questo microcontrollore uno stupendo strumento di lavoro. Le 5 porte PTA;PTB;PTC;PTD;PTE servono al micro per interfacciarsi con l’esterno.

LA MEMORIA DEL MC68HC908GP32

La cpu del processore può avere accesso alla seguente mappa della memoria:
32256 byte di flash memoria.
512 byte di ram.
36byte sono usati per definire i vettori.
307byte servono per monitorare la Rom.
64 byte servono per i registri di Input/Output

Una parte della memoria non è implementata.
L’accesso a locazioni di memoria non implementate può causare un reset del micro. Lo stesso effetto può avvenire se si accede a locazioni di memoria riservate (reserver memory location).

I registri del MC68HC908GP32

Sono dei registri ovvero delle stringhe di bit di 8 o 16 e vengono utilizzati dalla cpu per le operazioni aritmetico logiche e per la movimentazione di byte ad esempio da memoria a port.

Accumulatore (A)
IL registro accumulatore A è un registro a 8 bit che ha la possibilità mediante le istruzioni in assembly di svolgere una serie di operazioni come ad esempio il caricamento immediato di un numero oppure copiare il byte contenuto in A in un indirizzo qualsiasi della memoria e molte altre operazioni che non si possono fare con altre locazioni di memoria.


Registro indice H:X
Il registro H:X è simile al funzionamento del registro A ma è a 16 bit. Anche sul registro H:X si possono effettuare una serie di operazioni mediante comandi assembly.

Registro Stack Pointer
In certe occasioni il programma ha la necessità di archiviare momentaneamente dei dati, questi dati devono essere archiviati,vengono accatastati uno sopra l’altro byte su byte come una pila di piatti.
Il primo byte che viene accatastato è quindi l’ultimo che viene estratto quando si fa l’operazione di estrazione dei dati (pull).Lo stack pointer contiene l’indirizzo in cui viene memorizzato l’ultimo byte sulla catasta. Quando si resetta lo stack pointer assume il valore $ 00ff.

Registro Program Counter
Il program counter è un registro a 16 bit che contiene l’indirizzo dell’istruzione del programma.

Registro Condition Code

Il condition code registrer è un registro a 8 bit che contiene delle indicazioni istantanee sul funzionamento del microcontrollore. Rappresenta un pannello di controllo del microcontrollore.

Bit 0 → C → Carry/borrow flag avanzo/prestito
Diventa 1 logico quando durante un’operazione c’è un riporto

Bit 1 → Z → Zero flag
Diventa 1 logico quando l’operazione che sta svolgendo la cpu da come risultato 0.


Bit 2 → N → Negative Flag
Diventa 1 logico quando l’operazione aritmetica o logica o la manipolazione di dati da un risultato negativo.


Bit 3 → I → Interrupt può essere scritto dall’operatore per abilitare o
disabilitare la funzione di Interrupt.
Se diventa 1 logico l’interrupt è disabilitato.
Se diventa 0 logico l’interrupt è abilitato.

Bit 4 → H →Half-Carry
Questo flag serve per avvertirti che durante un’operazione in
codice binario BCD compare 4 bit.



Bit 5-6 →Non implementati.


Bit 7 → V →Overflow

Durante le operazioni aritmetiche può succedere che il numero risultato sia troppo grande per essere indicato con un registro a 16 bit.