Sommario:
- Passaggio 1: cose necessarie
- Passaggio 2: logica del codice e visualizzazione
- Passaggio 3: display di guida con microcontrollore
- Passaggio 4: perché il multiplexing?
- Passaggio 5: come ottenere questo?
- Passaggio 6: algoritmo di multiplexing
Video: Cronometro utilizzando Pic18f4520 in Proteus con 7 segmenti: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Ho appena iniziato a lavorare con il controller pic, un mio amico mi ha chiesto di costruire un cronometro da esso. Quindi non ho un'immagine hardware da condividere, ho scritto il codice e l'ho simulato sul software Proteus.
qui ho condiviso lo schema per lo stesso.
sono definiti tre millisecondi variabili, secondi, minuti
qui abbiamo usato l'interruzione del timer di 10 ms, per ogni 1000 millisecondi, la variabile dei secondi aumenterà, per ogni 60 secondi la variabile dei minuti aumenterà.
Passaggio 1: cose necessarie
1 controllore pic18f4520
2 display a sette segmenti
3 transistor bc547
4 interruttori per start/stop/reset
5 resistenze 330E, 10K, 1K
6 scarica mikroC per la foto
7 scarica proteus
Passaggio 2: logica del codice e visualizzazione
Che cos'è un display a sette segmenti?Un display a sette segmenti (SSD) è uno dei display più comuni, economici e semplici da usare. Sembra sopra.
qui dobbiamo usare il tipo a catodo comune del display a 7 segmenti - Nell'SSD di tipo a catodo comune, il terminale -ve di tutti i LED è comunemente collegato al pin "COM". Un segmento può essere illuminato quando viene assegnato "1" al rispettivo segmento LED e la massa è collegata al comune. Gli interni sono riportati in figura 2.
Passaggio 3: display di guida con microcontrollore
Nel mio circuito, ho usato il transistor NPN BC547.
Per il semplice utilizzo di un BJT come interruttore, le giunzioni emettitore-collettore vengono cortocircuitate quando c'è un segnale di ingresso al terminale di base, altrimenti rimane interrotto. L'ingresso deve essere fornito tramite un resistore adatto.
Passaggio 4: perché il multiplexing?
Spesso abbiamo bisogno di usare due, tre o più SSD e anche questo usando solo un singolo MCU, ma un problema che affrontiamo è la mancanza di pin I/O nell'MCU, poiché un SSD richiederebbe 8 pin, e quindi tre SSD ci vorrebbero 24 pin. In pic18, abbiamo solo 48 pin I/O. Allora qual è la soluzione?
Una possibilità è che usiamo un MCU più grande con più pin I/O. Ma poi siamo ancora limitati a un massimo di 3 SSD che possono essere utilizzati. Un'altra soluzione molto migliore e consigliata a questo problema è quella di multiplexare i display a sette segmenti.
Wikipedia dice Nelle telecomunicazioni e nelle reti di computer, il multiplexing (noto anche come muxing) è un metodo mediante il quale più segnali di messaggi analogici o flussi di dati digitali vengono combinati in un segnale su un mezzo condiviso. L'obiettivo è condividere una risorsa costosa.'Quello che intendiamo per multiplexing del display a sette segmenti è che utilizzeremo solo 7 porte di uscita per fornire il display su tutti gli SSD.
Passaggio 5: come ottenere questo?
Qui, useremo "Persistenza della visione". Ora devi aver già superato questo termine prima. Sì, questa è la stessa tecnica utilizzata nella cinematografia (visualizzare le immagini così velocemente che il nostro cervello non è in grado di distinguere alcun ritardo tra due immagini consecutive). Allo stesso modo, quando muxiamo più di un SSD, mostriamo solo un SSD alla volta e passiamo dall'uno all'altro così velocemente che il nostro cervello non riesce a distinguerli.
Diciamo che ogni display è attivo solo per 5 millisecondi alla volta, cioè viene illuminato 1/0,0045 volte al secondo, che è approssimativamente uguale a 222 volte/secondo. I nostri occhi non possono percepire un cambiamento così veloce, e quindi ciò che vediamo è che tutti i display funzionano contemporaneamente. Ciò che sta effettivamente accadendo nell'hardware è che l'MCU dà '1' al pin (ricordate, dare '1' alla base di un BJT mette in cortocircuito la giunzione del collettore e dell'emettitore?), Che è collegato alla base del transistor di i rispettivi display, mantiene la porta 'ON' per 5 millisecondi, quindi la spegne di nuovo. Questa procedura viene inserita in un ciclo infinito, in modo che vediamo il display continuamente.
Passaggio 6: algoritmo di multiplexing
Definire due porte nel codice, una per la porta dati del segmento e la porta di controllo del segmento.
il trucco qui è visualizzare i dati su tutti e 7 i segmenti. e attiva l'unico pin di controllo su cui devi visualizzare quei dati. modificare i dati e spostare il pin di controllo.
qui in questo istruibile abbiamo usato il multiplexing a 6 cifre, basta passare attraverso il file c allegato e lo otterrai cancellato.
Consigliato:
Conteggio da 0 a 9999 con 8051 utilizzando il display a 7 segmenti: 5 passaggi
Conteggio da 0 a 9999 con 8051 utilizzando display a 7 segmenti: Ciao a tutti, in questo tutorial ti spiegheremo come contare da 0 a 9999 utilizzando quattro display a 7 segmenti utilizzando solo una porta e 4 pin digitali
Prototipo di progetto semaforo basato su Atmega16 utilizzando display a 7 segmenti (simulazione Proteus): 5 passaggi
Prototipo di progetto semaforo basato su Atmega16 utilizzando display a 7 segmenti (simulazione Proteus): In questo progetto realizzeremo un progetto semaforico basato su Atmega16. Qui abbiamo preso un segmento 7 e 3 LED per indicare i segnali del semaforo
Cronometro con display a 4 cifre e 7 segmenti: 3 passaggi
Cronometro con display a 4 cifre e 7 segmenti: questa istruzione ti mostrerà come creare un cronometro in tempo reale completamente funzionale da un display a 4 cifre a sette segmenti
Incremento del valore di 7 segmenti utilizzando il pulsante a pressione con 8051: 4 passaggi (con immagini)
Incremento del valore a 7 segmenti utilizzando il pulsante con 8051: In questo progetto incrementeremo il valore del display a sette segmenti utilizzando il pulsante con il microcontrollore 8051
Come contare da 0 a 99 utilizzando il microcontrollore 8051 con display a 7 segmenti: 5 passaggi (con immagini)
Come contare da 0 a 99 utilizzando il microcontrollore 8051 con display a 7 segmenti: Ciao a tutti, In questo tutorial vi parleremo di come contare da 0 a 99 utilizzando due display a 7 segmenti