L'interfacciamento di dispositivi
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
4.3 L'interrogazione ciclica (polling)
Sistema completo (figura non presente nel libro):
4.4 La tecnica delle interruzioni (interrupts)
4.4.3 Esempio di interfaccia con richiesta di interruzione
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
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: