Vai al contenuto
PLC Forum


Bus 16 Canali Per Gestione I/o Con Un Pic


PlayPic

Messaggi consigliati

Buongiorno a tutti,

vorrei realizzare un BUS a 16 canali per pilotare più I/O con un Pic collegando sullo stesso bus dei SN74AHCT273 (octal D-type flip-flop) per gestire le uscite e dei 74AHCT541 (octal buffer 3-state) per gestire gli ingressi.

In pratica ogni integrato gestisce 8 porte ed si collega a 8 segnali del BUS, per arrivare a 16 tutto è gestito a coppie abilitate a loro volta da un segnale per coppia.

Ogni coppia dei buffer 3-state (74AHCT541) per gestire gli ingressi viene attivata tramite gli output-enable OE1 e OE2 e successivamente letti i sedici ingressi dal BUS.

Per gestire un blocco di 16 uscite prima sistemo i soliti 16 segnali del BUS e successivamente abilito la coppia di flip-flop interessata tramite un suo segnale di clock dedicato.

Tutto questo prelude che il bus gestito da un microprocessore deve essere bidirezionale, cioè i 16 pin collegati al BUS devono “essere” ingressi per leggere il BUS, ma successivamente uscite per pilotare un determinato blocco di uscite.

Come posso farlo con un Pic?

Di solito i pin si dichiarano uscite od ingressi e rimangono tali, non so come fare per renderli bidirezionali.

Grazie per l’attenzione :smile:

Link al commento
Condividi su altri siti


Basta cambiare lo stato del registro di stato della porta interessata, prima di leggere o scrivere.

Link al commento
Condividi su altri siti

Buongiorno Livio,

immaginavo fosse così, ma non pensavo che si potesse cambiare al "volo" nel programma, appena posso provo,

grazie mille Livio :thumb_yello::worthy:

Link al commento
Condividi su altri siti

Ciao!!! Posso confermarti con assoluta certezza che è possibile realizzare questa operazione del cambio di stato da ingresso ad uscita e viceversa. Spesso ho utilizzato questa caratteristica con i PIC.... Buon Lavoro!!!!

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...