7-segmenti utilizzando la porta parallela

Z

zhi_yi

Guest
Ciao, ti prego, aiutami.

Ho cercato di costruire un semplice orologio digitale con 7 segmenti e controllato da porta parallela del computer.Io uso come buffer 74LS244, 74LS138 e Demultiplexer.

uscite 74LS138 è collegato al catodo dei quattro a 7 segmenti.il 7-segmenti è a catodo comune.

Ho due problemi ..

1.da ciò che vedo in 74.138 il foglio di dati, l'uscita del perno selezionato avrebbe solo un pin in stato basso da 8 pin delle uscite, meno sarebbe stato alto.ma quando l'ho provato, ho ottenuto due 7-segmenti accendono in una volta, vorrebbe dire che le uscite del 74.138 hanno due pin in stato basso in una volta, la prego di dirmi dove sono i miei dubbi?

2.di modificare i "numeri" del 7-segmenti, io uso il registro di dati dalla porta parallela e collegata al buffer 74.244, ma quando ho provato, non ho la connessione alla porta all'ingresso del buffer, ma ancora la 7-segmenti potrebbe essere la luce e lo spettacolo "numero 8", perchè?

Mi dispiace se ci sono un sacco di errori di grammatica, se non è abbastanza chiaro per voi ragazzi che mi aiuti, vorrei provare a tracciare una schematica ..Grazie a voi ..

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorriso" border="0" />
 
74.138 può affermare uno "0" su una sola uscita alla volta, ma "dinamico" la parola se si dispone di un onda quadra su uno dei suoi ingressi vi sarà di avere due segmenti "time sharing", vale a dire tra di loro.entrambi saranno ON (solo per il tuo occhio) ..

Numero "8" significa che tutti segmants sono ON ..perché?
In questa fase è difficile dire se si può postare il diagramma schematico ..

Cordiali saluti,
IanP

 
Grazie a voi ..

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorriso" border="0" />perché solo per il mio occhio??

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Piangi o Molto Triste" border="0" />Qui mi caricare il schematico ..

significa che io, quando non sono collegate l'uscita dalla porta parallela all'ingresso del buffer 74.244, i sette segmento che selezionati dal 74.138 c'è ancora luce e mostrare "numero 8", non so perché, è perché l'uscita del 74.244 è invertente, e mentre non ha dato l'input al buffer, sarà indicato come basso input, quindi il risultato sarebbe rovesciato e diventare alto?Ma mentre io collegarlo e inviare i dati al buffer, ancora sette segmento è luce e mostrare "numero 8".

possibile il codice qui sotto funziona?

while (1) (
/ * Invio dei dati di 74.138 per passare da quattro a 7 segmenti, se io mando 00 si sceglierà uno da quattro degli output, i cambierà tra 00,04,08 e 0C, sarebbe chiaro se si vede la tabella di verità su foglio di dati * /
outportb (controllo, 0x00 ^ oxob);
/ * E poi io inviare i dati al buffer, se funziona, il numero ha mostrato nel segmento sette non dovrebbe essere "8", ma deve essere cambiato, ma il fatto, che mostrano ancora il numero "8"
outportb (dati, 0xf3);
)

i 74.138 possono funzionare come decoder e demux, ho usato come demux, si hanno 3 pin "enable", dicono E1, E2 e E3, E1 ed E2 è basso attivo, ho collegato a terra, e E3 inpur per demultiplexer, L'ho collegato a Vcc, e si hanno tre selettore A, B e C, in modo da avere 8 uscite, io giusto usare 4 delle uscite, quindi ho collegato il C a terra, quindi c'è solo selettore a due (A e B ), e quattro in uscita utilizzati.Ma mentre io cambiare l'ingresso del selettore da 00, 01, 10, e 11, mentre è 01, il funzionamento, i sette segmento selezionato è il cambiamento, e mentre 10, funziona anche, ma solo 00 e 11, due sette luce segmento fino alla volta, perché??

grazie mille ..

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorriso" border="0" />Ci dispiace, ma è necessario il login per visualizzare questo attaccamento

 
Non so qual è l'obiettivo della presente esercita il tutto ..
Molto probabilmente si prevede di utilizzare i fermi e gli autisti, che, come è nel vostro caso, tamponi e demultiplexer ..
Comunque, se si vuole procedere in questo modo - è a voi ..

Che cosa si può provare è questa: scollegare il circuito dalla porta parallela e le resistenze pullup collegare (10kΩ o giù di lì) a tutti gli ingressi: A, B, 138 e 244 tutti gli ingressi ..
Quando lo si accende nessuna di settori devono essere, comunque Y3 dei 138 dovrebbe essere basso ..
Se si collega uno dei 244 ingressi a 0V si dovrebbe avere un diodo nel segmento 4 ° ..è possibile verificare altri fattori di produzione e questo prova che le vostre opere hardware ..Citazione:

perché solo per il mio occhio??
 
ok grazie a te ..

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorriso" border="0" />Non sono più con 74.138 per controllare il catodo dei sette segmenti, io uso solo "dati registrati" dalla porta parallela, 4 bit di dati registro collegato al catodo di sette segmenti, e il meno quattro bit collegato all'ingresso del GAL 16V8, il GAL è programmato come decoder, l'uscita dal GAL è collegato l'anodo del segmento sette, così, mentre in uscita i dati dal "dati registrati", tutti i pin del segmento sette avrebbero ricevuto il segnale simultanously, È un lavoro.

Voglio sapere come circa il metodo precedente, può funzionare?

per esempio il codice è così:

# Define dati 0x0378
# Define dati di controllo 2

while (1) (
outportb (, controllo seven_segment_1);
outportb (dati, show_7);

outportb (, controllo seven_segment_2);
outportb (dati, show_7);

outportb (, controllo seven_segment_3);
outportb (dati, show_7);

outportb (, controllo seven_segment_4);
outportb (dati, show_7);
)

show_7: il sette segmenti mostrerebbe numero 7, l'output di registro di controllo è collegato al 74.138 del selettore.

seven_segment_1: la produzione di 74.138 stabilirebbe logico 0 al 1 ° sette segmenti, seven_segment_2: la produzione da 74.138 fisserebbero logico 0 al 2 a sette segmenti, e così via, può il lavoro di codice?

 

Welcome to EDABoard.com

Sponsor

Back
Top