2014-12-15 42 views
5

Nel microcontrollore TRIS il registro determina se la porta agisce come input o output e PORT il registro determina il contenuto, cosa deve essere scritto (in caso di output) o letto (in caso di input).Come configurare i pin 8051 come input/output?

Ma nell'8051 non esiste alcun tipo di registro TRIS. Per configurare il registro come input/output devi scrivere nello stesso registro e per scrivere/leggere i dati devi usare di nuovo lo stesso registro. Ho ragione su questo? Se sì, allora spiega come è possibile? Altrimenti, per favore, spieghi la teoria corretta al riguardo.

+0

Per leggere e scrivere dati in PIC e nella maggior parte degli altri microcontrollori si utilizza anche lo stesso registro per quella porta. È solo che altri MCU hanno un registro per configurare il pin come input o output. Non ce ne sono nell'8051 –

risposta

5

In realtà, non è possibile impostare un pin 8051 standard come input; tutti i pin sono sempre bidirezionali.

Tuttavia, se si scrive uno "0" su un pin, si accende il driver open-drain e non c'è modo che qualcosa di esterno possa mai forzarlo su un valore diverso da "0" Pertanto l'input sarà solo leggi '0' - indipendentemente dal segnale esterno che potresti voler leggere.

Ma se si scrive un "1" su un pin, si spegne il driver open-drain e quindi un segnale esterno può prendere il pin sia alto che basso e l'ingresso può leggere lo stato del segnale esterno.

Il è spiegato nel capitolo 3 della "bibbia" per il 8051:

Capitolo 3 - 80C51 Hardware Famiglia Descrizione: http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_HARDWARE_1.pdf

iniziare a leggere alla P2, "Porta Struttura e funzionamento" e prestare particolare attenzione alle Figure 4 & 5.