Schema elettrico sistema con due PIO

 
  INDIRIZZI PORTE:
  ----------------------
  PIO1  PORTA A        8
  PIO1  PORTA B        9        NOTA: questo circuito può usare
  PIO1  CONTROLLO A   10        gli interrupt delle porte dei PIO.
  PIO1  CONTROLLO B   11        Se si vuole usare un altra sorgente
  PIO2  PORTA A        4        di interrupt sul pin INT della CPU
  PIO2  PORTA B        5        allora si devono scollegare i pin INT
  PIO2  CONTROLLO A    6        dei PIO.
  PIO2  CONTROLLO B    7
Esempio di programmazione delle porte:
si vogliono programmare le porte nel seguente modo:
PIO1 A: tutte uscite
PIO1 B: tutti ingressi
PIO2 A: da PA0 a PA5 ingressi, da PA6 e PA7 uscite
PIO2 B: PB3 e PB6 uscite, gli altri pin ingressi

Per configurare la prima porta si scrivono nel relativo registro di controllo (all'indirizzo 10) i 2 byte 11111111B e 00000000B.
Per la seconda porta si scrivono all'indirizzo 11 i due byte 11111111B e 11111111B.
Per la terza porta si scrivono all'indirizzo 6 i due byte 11111111B e 00111111B.
Per la quarta porta si scrivono all'indirizzo 7 i due byte 11111111B e 10110111B.

      LD C,10          ;indirizzo reg. di controllo porta A PIO1 (10)
      LD L,11111111B   ;(o 255 o FFH è la stessa cosa)
      LD A,00000000B   ;tutte uscite
      OUT (C),L        ;invia primo byte
      OUT (C),A        ;invia secondo byte

      INC C            ;indirizzo reg. di controllo porta B PIO1 (11)
      CPL A            ;tutti ingressi (inverte tutti i bit di A)
      OUT (C),L        ;invia primo byte
      OUT (C),A        ;invia secondo byte

      LD C,6           ;indirizzo reg. di controllo porta A PIO2 (6)
      LD A,00111111B   ;PA0..PA5 ingressi PA6,PA7 uscite
      OUT (C),L        ;invia primo byte
      OUT (C),A        ;invia secondo byte

      INC C            ;C=indirizzo reg. di controllo porta B PIO2 (7)
      LD A,10110111B   ;PB3,PB6 uscite, il resto ingressi
      OUT (C),L        ;invia primo byte
      OUT (C),A        ;invia secondo byte
A questo punto si può scrivere sulla prima porta con OUT (8),A leggere dalla seconda con IN A,(9), scrivere o leggere dalla terza con OUT (4),A o IN A,(4) e scrivere o leggere dalla quarta con OUT (5),A o IN A,(5).


Pagina e disegni realizzati da Claudio Fin
Ultimo aggiornamento 23-9-2000