Inhaltsverzeichnis:

Stoppuhr mit Pic18f4520 in Proteus mit 7 Segmenten - Gunook
Stoppuhr mit Pic18f4520 in Proteus mit 7 Segmenten - Gunook

Video: Stoppuhr mit Pic18f4520 in Proteus mit 7 Segmenten - Gunook

Video: Stoppuhr mit Pic18f4520 in Proteus mit 7 Segmenten - Gunook
Video: Stopwatch with AT89c51 and 7 segment display 2024, September
Anonim
Stoppuhr mit Pic18f4520 in Proteus mit 7 Segment
Stoppuhr mit Pic18f4520 in Proteus mit 7 Segment

Ich habe gerade angefangen, mit dem pic-Controller zu arbeiten, einer meiner Freunde hat mich gebeten, daraus eine Stoppuhr zu bauen. Ich habe also kein Hardware-Image zum Teilen, ich habe Code geschrieben und ihn auf Proteus-Software simuliert.

Hier habe ich den Schaltplan für das gleiche geteilt.

drei variable Millisekunden, Sekunden, Minuten sind definiert

hier haben wir einen Timer-Interrupt von 10 ms verwendet, für alle 1000 Millisekunden wird die Sekundenvariable erhöht, für alle 60 Sekunden wird die Minutenvariable erhöht.

Schritt 1: Erforderliche Dinge

1 pic18f4520-Controller

2 Sieben-Segment-Anzeigen

3 BC547-Transistoren

4 Schalter für Start/Stopp/Reset

5 Widerstände 330E, 10K, 1K

6 mikroC für Bild herunterladen

7 Proteus herunterladen

Schritt 2: Codelogik und Anzeige

Codelogik und Anzeige
Codelogik und Anzeige
Codelogik und Anzeige
Codelogik und Anzeige

Was ist eine Sieben-Segment-Anzeige?Eine Sieben-Segment-Anzeige (SSD) ist eine der gebräuchlichsten, billigsten und am einfachsten zu bedienenden Anzeigen. Es sieht aus wie oben.

hier müssen wir den gemeinsamen Kathodentyp der 7-Segment-Anzeige verwenden – Bei der gemeinsamen Kathodentyp-SSD ist der –ve-Anschluss aller LEDs gemeinsam mit dem ‚COM‘-Pin verbunden. Ein Segment kann aufleuchten, wenn dem jeweiligen LED-Segment „1“gegeben wird und Masse mit Masse verbunden ist. Die Einbauten sind in Abbildung 2 dargestellt.

Schritt 3: Fahrdisplay mit Mikrocontroller

Fahrdisplay mit Mikrocontroller
Fahrdisplay mit Mikrocontroller

In meiner Schaltung habe ich den NPN BC547 Transistor verwendet.

Für die einfache Verwendung eines BJT als Schalter werden die Emitter-Kollektor-Übergänge bei einem Eingangssignal am Basisanschluss kurzgeschlossen, ansonsten bleibt es gesperrt. Die Eingabe sollte über einen geeigneten Widerstand erfolgen.

Schritt 4: Warum Multiplexen?

Oft müssen wir zwei, drei oder mehr SSDs verwenden und das auch mit nur einer einzigen MCU, aber ein Problem, mit dem wir konfrontiert sind, ist das Fehlen von I/O-Pins in der MCU, da eine SSD 8 Pins und somit drei SSDs benötigt würde 24 Stifte nehmen. In pic18 haben wir nur 48 I/O-Pins. Was ist also die Lösung?

Eine Möglichkeit besteht darin, dass wir eine größere MCU mit mehr I/O-Pins verwenden. Aber dann sind wir immer noch auf maximal 3 SSDs beschränkt, die verwendet werden können. Eine andere viel bessere und empfohlene Lösung für dieses Problem ist das Multiplexen der Sieben-Segment-Anzeigen.

Wikipedia sagt: „In Telekommunikations- und Computernetzen ist Multiplexing (auch bekannt als Muxing) ein Verfahren, bei dem mehrere analoge Nachrichtensignale oder digitale Datenströme über ein gemeinsames Medium zu einem Signal kombiniert werden. Ziel ist es, eine teure Ressource gemeinsam zu nutzen. „Mit Multiplexing der Sieben-Segment-Anzeige meinen wir, dass wir nur 7 Ausgangsports verwenden werden, um die Anzeige auf allen SSDs bereitzustellen.

Schritt 5: Wie erreicht man das?

Hier verwenden wir ‚Persistenz des Sehens‘. Jetzt müssen Sie diesen Begriff schon einmal überqueren. Ja, dies ist die gleiche Technik, die in der Kinematografie verwendet wird (Bilder so schnell anzeigen, dass unser Gehirn keine Verzögerung zwischen zwei aufeinanderfolgenden Bildern unterscheiden kann). Ebenso zeigen wir beim Muxen von mehr als einer SSD jeweils nur eine SSD an und wechseln so schnell zwischen ihnen, dass unser Gehirn sie nicht unterscheiden kann.

Nehmen wir an, jedes Display ist jeweils nur 5 Millisekunden aktiv, d.h. es wird 1/0,0045 Mal pro Sekunde beleuchtet, das entspricht ungefähr 222 Mal/Sekunde. Unsere Augen können eine Änderung nicht so schnell wahrnehmen, und so sehen wir, dass alle Anzeigen gleichzeitig arbeiten. Was tatsächlich in der Hardware passiert, ist, dass die MCU dem Pin eine „1“gibt (denken Sie daran, dass die Eingabe von „1“an die Basis eines BJT den Kollektor- und Emitterübergang kurzschließt?), der mit der Basis des Transistors von verbunden ist den jeweiligen Anzeigen, hält den Port für 5 Millisekunden 'ON' und schaltet ihn dann wieder aus. Dieser Vorgang wird in eine Endlosschleife gelegt, so dass wir die Anzeige kontinuierlich sehen.

Schritt 6: Multiplexing-Algorithmus

Multiplexing-Algorithmus
Multiplexing-Algorithmus

Definieren Sie zwei Ports im Code, einen für den Segmentdatenport und den Segmentsteuerport.

Der Trick hier ist, dass Sie die Daten auf allen 7 Segmenten anzeigen. und aktivieren Sie den einen Kontroll-Pin, auf dem Sie diese Daten anzeigen müssen. Ändern Sie den Daten- und Schaltsteuerstift.

Hier in diesem anweisbaren haben wir 6-stelliges Multiplexing verwendet, gehen Sie einfach durch die angehängte c-Datei und Sie werden es gelöscht.

Empfohlen: