Home
Accesso / Registrazione
 di 

Corso di programmazione per microcontrollori Zilog Z8. Seconda puntata 2/4

microcontrollori Zilog Z8 Corso di programmazione

Il bit D4, che indica il flag di overflow (letteralmente traboccamento), viene posto a 1 dalla ALU quando il risultato di una operazione fra numeri dotati di segno è superiore a 127 o inferiore a -128. Il bit D5 (flag di segno) riporta il bit più “pesante” (termine con cui si indica il bit più significativo di un byte dotato di segno) dopo un’operazione matematica. Operando con numeri dotati di segno, un numero positivo è caratterizzato dall’avere il bit più pesante uguale a 0, mentre il bit più pesante di un numero negativo è uguale a 1. Il bit D6 rappresenta il flag di zero e assume valore logico 1 ogni qualvolta un’operazione dà zero come risultato. Questo flag è utilizzato spessissimo nelle istruzioni di salto condizionato. L’ultimo bit (D7) disponibile nel registro flag prende il nome di Carry e viene posto a 1 ogni qualvolta il risultato di un’operazione genera un riporto. Terminata l’analisi del blocco ALU e dei bit di flag passiamo ad un’altra serie di registri denominati Register File.

z86e08-memorie

Questo termine identifica una particolare area di memoria RAM interna al microprocessore di ampiezza pari a 256 byte. Quest’area risulta suddivisa nel seguente modo: 124 byte contenti registri di uso generale, ovvero locazioni di memoria che possono essere utilizzati dal programma per mantenere delle variabili; 14 byte di registri di controllo e di stato; 3 byte di registri dedicati alla gestione delle porte di ingresso/uscita.

I rimanenti byte non sono implementati ovvero non svolgono alcuna funzione. Vedremo in seguito dettagliatamente il significato dei singoli registri presenti in questa area di memoria ed i relativi metodi di indirizzamento. Procediamo e diamo un’occhiata alle tre sezioni dei micro Zilog che nello schema a blocchi vengono indicate con la sigla “Port”. Come sappiamo ogni microcontrollore comunica con il mondo esterno, ovvero attinge dati e manda dati, attraverso alcuni dei suoi piedini.

Questi pin dedicati all’interscambio di informazioni prendono il nome di linee di ingresso/uscita e, internamente al chip, risultano controllati da blocchi hardware denominati “porte”. Nel microcontrollore Z86E08 sono implementate 3 porte denominate Port 0, Port 2 e Port 3. Il modo di funzionamento di ogni porta non è fisso ma viene determinato tramite istruzioni software, per la precisione agendo sui registri di configurazione delle porte stesse. In pratica, alcuni byte presenti nel Register File dicono al microprocessore se, ad esempio, una porta o anche un singolo bit di una porta deve funzionare come ingresso o come uscita. Qualsiasi programma deve perciò contenere delle istruzioni di inizializzazione che stabiliscono il funzionamento delle porte assegnando dei valori particolari ai relativi registri.

Vediamo ora i possibili modi di funzionamento di ogni porta. Iniziamo con il Port 0 che, come si vede dallo schema a blocchi relativo, controlla tre linee di I/O bidirezionali (bidirezionale perché i dati possono entrare attraverso la porta o uscire attraverso la stessa). Questa porta viene configurata globalmente, ovvero le tre linee sono o tutte di ingresso o tutte di uscita. Il Port 2 funziona come porta bidirezionale a 8 bit e ciascuna delle linee di I/O controllate può essere configurata indipendentemente dalle altre come ingresso o come uscita. La porta 2 inoltre può essere configurata come uscita in modalità open drain oppure in pull-up attivo. Nel primo caso, necessita per il corretto funzionamento di resistori di pull-up da prevedere esternamente al micro; nel secondo, il pull-up viene realizzato attivamente dal micro stesso, non vi è quindi la necessità di resistenze esterne. La porta 3 dispone di linee di I/O che possono funzionare solo come ingressi.

Il kit è disponibile da Futura Elettronica

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 11 utenti e 89 visitatori collegati.

Ultimi Commenti