05.06.2013 Views

GOOGLE APP INVENTOR

GOOGLE APP INVENTOR

GOOGLE APP INVENTOR

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

tutorial<br />

progetti tutorial<br />

In progetti in cui viene<br />

impiegato un microcontrollore<br />

con un numero limitato di I/O,<br />

può essere necessario<br />

utilizzare un port expander<br />

per incrementare il numero di<br />

ingressi/uscite disponibili.<br />

Ecco come fare<br />

Figura 1- Indirizzamento di un registro.<br />

MikroPascal<br />

Interrupt<br />

e Timer<br />

Android<br />

Google<br />

“App Inventor”<br />

Raspberry Pi<br />

Acquisizione dei<br />

segnali digitali<br />

rubriche<br />

tramite i registri IODIRA/B si effettua la<br />

configurazione dei bit I/O. Inoltre il master<br />

ha la possibilità di leggere tutti i registri del<br />

“Port Expander”.Tra i vari registri che lo<br />

contraddistinguono, fondamentali risultano<br />

i seguenti registri :<br />

Per configurare i pin delle porte:<br />

• IODIRA<br />

• IODIRB<br />

Per la configurazione generale del funzionamento:<br />

• IOCONA<br />

• IOCONB<br />

Per la lettura delle porte:<br />

• GPIOA<br />

• GPIOB<br />

Per la scrittura delle porte:<br />

• OLATA<br />

• OLATB<br />

Inoltre, per quanto riguarda il trasferimento<br />

dei dati ho optato, per l’esempio che seguirà,<br />

in secondo articolo, per la modalità<br />

sequenziale (scrivendo IOCON.SEQOP=0).<br />

di ALBERTO TRASIMENI<br />

MICROCONTROLLORI<br />

PORT EXPANDER:<br />

GESTIRLO CON UN PIC<br />

MCP23S17, è un “Port<br />

Expander” bidirezionale dotato di<br />

L’integrato<br />

due porte A e B utilizzante un<br />

protocollo di comunicazione SPI.<br />

Ad ogni porta sono associati 8 bit: PortA e<br />

PortB; in modo tale da poter configurare il<br />

funzionamento in modalità 8-bit oppure<br />

16-bit; dei quali, inoltre, è possibile configurare<br />

singolarmente i bit come ingressi<br />

oppure uscite.<br />

Il protocollo SPI consente al sistema master,<br />

microntrollore, la configurazione dei<br />

registri del Port Expander, semplicemente<br />

scrivendo in essi; per esempio scrivendo<br />

nel registro IOCON.BANK si può configurare<br />

il dispositivo in modo tale da poter<br />

operare in modalità 8-bit oppure 16-bit;<br />

Per la realizzazione del software di gestione<br />

del dispositivo farò uso del compilatore<br />

MikroC versione 6.0 della Mikroelettronika.<br />

L’operazione di scrittura , avviene inviando<br />

dal master all’ integrato, lo “slave address”<br />

( costituito da 4 bit fissi e 3 bit da<br />

stabilire ( A0- A1-A2 ) che definiscono l’ indirizzo<br />

hardware del dispositivo ) ed il bit<br />

che indica la tipologia del comando R/W<br />

(0 indica la scrittura ), come mostrato in figura<br />

2 ( che costituiscono il byte di controllo<br />

in quanto MCP23S17 è un SPI<br />

slave ); questo comando costituisce l’ opcode<br />

al quale devono essere aggiunti l’ indirizzo<br />

del registro, come mostrato in figura<br />

1, sul quale si vuole operare ed almeno<br />

un byte di dati. Analogamente si procede<br />

per il comando di lettura, in cui bisogna<br />

soltanto cambiare il bit che indica la tipologia<br />

del comando: R/W ( 1 indica la lettura<br />

).<br />

Nel nostro caso, utilizziamo una modalità<br />

sequenziale, per cui parliamo di operazioni<br />

sequenziali di lettura e scrittura, nelle<br />

quali il master trasmette il successivo byte<br />

puntato dal puntatore di indirizzo fin

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!