L'interfacciamento di dispositivi

Esempi    Esercizi    Soluzioni    Errata corrige

4.1 La gestione della comunicazione


4.1.1 Interfaccia con handshake di tipo unidirezionale

Esempio di interfaccia parallela con handshake di tipo unidirezionale

TX:

RX:

TX + RX:

4.1.2 Handshake di tipo bidirezionale

Esempio di interfaccia parallela con handshake di tipo bididirezionale

TX:

RX:

TX + RX:

 


4.2 L'hardware in supporto alla gestione dell'handshake

4.2.1 Esempio di interfaccia parallela con handshake hardware

Programmazione dell'interfaccia parallela con handshake hardware

TX (programma):

RX (programma):

 


4.3 L'interrogazione ciclica (polling)

TX (programma):

RX (programma):

   Sistema completo (figura non presente nel libro):

 


4.4 La tecnica delle interruzioni (interrupts)

4.4.3 Esempio di interfaccia con richiesta di interruzione

TX:

RX:

   Sistema completo:

 


4.5 Utilizzo delle interruzioni vettorizzate

4.5.3 Esempio di gestione delle interruzioni vettorizzate

  Qui la traccia di programma proposta nel testo:

 


4.6 I temporizzatori

4.6.2 Esempio di interruzione da timer: lampeggiatore

  Prima versione (1 mS):

  Seconda versione (1 secondo):


4.7 Esempi di programmazione

4.7.1 Generatore di impulso (al reset del sistema)

4.7.2 Macchina a stati finiti

  Prima soluzione:

  Seconda soluzione:

4.7.3 Generatore di forma d'onda sinusoidale

4.7.4 Generatore di forma d'onda sinusoidale a due canali

4.7.5 Contatore di oggetti

4.7.6 Valutazione in parallelo di sensori

4.7.7 Interfaccia a pulsanti per video gioco

4.7.8 Comunicazione seriale asincrona

TX

RX

Componente ASTX

Componente ASRX

TX Controller

RX Controller

 


4.8 Esercizi

Un click sull'icona riportata sulla sinistra aprirà nel Deeds-McE una traccia del programma da scrivere. Invece, con un click sullo schema a destra, quando presente, è possibile aprire nel Deeds-DcS un sistema a microprocessore predisposto per potervi caricare il programma da testare. Sarà utile per verificarne il comportamento mediante simulazione per animazione o temporale. Quando applicabile, nella finestra del diagramma temporale una sequenza di test è già impostata e sarà caricata automaticamente.

4.8.1 Tecniche di interruzione

Esercizio 1:

Esercizio 2:

Esercizio 3:

Esercizio 4:

Esercizio 5:

Esercizio 6:

Esercizio 7:

Esercizio 8:

Per il componente ASRX, si veda la sezione: Comunicazione seriale asincrona.


4.9 Soluzioni

Un click sull'icona a sinistra permette di aprire nel Deeds-McE la soluzione descritta nel testo. Con un click sullo schema a destra, è possibile aprire nel Deeds-Dcs il sistema a microprocessore con lo stesso programma già predisposto per verificarne il comportamento mediante simulazione.

4.9.1 Tecniche di interruzione

Soluzione esercizio 1:

Soluzione esercizio 2:

Soluzione esercizio 3:

Soluzione esercizio 4:

Soluzione esercizio 5:

Soluzione esercizio 6:

Soluzione esercizio 7:

Soluzione esercizio 8:



4. Errata Corrige (Cap. 4)

Pag. 355

Prime tre righe dell'esempio in assembly, in basso. Si legga:

Pag. 380

Definizioni dei porti nell'esempio in assembly. Si legga:

Pag. 385

Sequenza di istruzioni in assembly al centro pagina. Si legga:

Pag. 397

Terzo capoverso del testo, dall'alto. Si legga:

Pag. 408

Figura corretta dell'esercizio n.1 della sezione 4.8.1:

Pag. 411

Figura corretta dell'esercizio n.4 della sezione 4.8.1:

Pag. 412

Primo capoverso in alto. Si legga:

Pag. 415

Figura corretta dell'esercizio 4.8.6, in alto:

Pag. 419

Sequenza di istruzioni in assembly al centro pagina. Si legga:

Pag. 422

Sequenza di istruzioni in assembly in alto. Si legga:

Pag. 428

Sequenza di istruzioni in assembly al centro pagina. Si legga:

Pag. 429

Sequenza di istruzioni in assembly in alto. Si legga:

Pag. 432

Primo capoverso in alto. Si legga:

Pag. 433

Ultimo capoverso in basso, prima del codice assembly. Si legga:

Pag. 434

Primo capoverso in alto. Si legga:

Pag. 440

Sequenza di istruzioni in assembly in alto. Si legga:

Sequenza di istruzioni in assembly al centro pagina. Si legga: