Kostenlose technische Bibliothek ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK Timer auf dem Mikrocontroller. Enzyklopädie der Funkelektronik und Elektrotechnik Lexikon der Funkelektronik und Elektrotechnik / Uhren, Timer, Relais, Lastschalter Der betreffende Timer hat zwei Countdown-Modi für Zeitintervalle von 1 bis 999 Minuten oder die gleiche Anzahl von Sekunden. Das Diagramm des Geräts ist in der Abbildung dargestellt. Es hat einen Schalter SA1, mit dem Sie wählen können, in welchen Einheiten Minuten oder Sekunden gezählt werden soll, Steuertasten SB1-SB3, eine dreistellige LED-Anzeige HG1 (Hunderterstelle) - HG3 (Einerstelle). Nach dem Einschalten des Timers erzeugt die RC-Schaltung R2C3 einen Impuls, der den DD1-Mikrocontroller (AT90S2313-10PI) in seinen Anfangszustand versetzt. Beim Einstellen der Dauer der generierten Verschlusszeit erhöht jeder Druck auf die Taste SB1 (L) die Anzeigewerte um eins. Wenn Sie diese Taste länger als 3 Sekunden gedrückt halten, erhöht sich der Wert auf der Anzeige jede Sekunde um 5 Einheiten (Minuten oder Sekunden). Die Taste SB2 (V) funktioniert ähnlich wie die Taste SB1, aber der Wert auf der Anzeige erhöht sich nicht, sondern verringert sich. Bei Erreichen der Werte von 999 oder 0 wird eine weitere Veränderung der Messwerte in die entsprechende Richtung automatisch gesperrt. Wählen Sie den Schalter SA1, die Zeit wird in Minuten oder Sekunden gezählt und stellen Sie die erforderliche Belichtungszeit mit den Tasten SB1 und SB2 ein, Sie sollten die Taste SB3 (C) drücken. Ab diesem Moment startet der Timer - der High-Pegel am PD6-Ausgang des Mikrocontrollers wird durch einen Low ersetzt, Spannung wird an den an Stecker X2 angeschlossenen Aktor angelegt, was von der Glimmlampe HL1 (mit eingebautem Signal) signalisiert wird Ballastwiderstand) und der Countdown der eingestellten Zeit beginnt. Die auf der Anzeige angezeigte Zahl verringert sich jede Minute oder Sekunde um eins. Der Dezimalpunkt in der Einerstelle blinkt mit einer Periode von 1 s. Sobald die Anzeige Null erreicht, wird der Low-Pegel am PD6-Ausgang wieder hoch, wodurch der Stellantrieb abgeschaltet wird. Zusätzlich wird im Minutenzählmodus in diesem Moment am PD4-Ausgang eine Impulsfolge mit einer Dauer von 60 s erzeugt - ein akustisches Signal ertönt. Das Gerät kehrt dann in seinen ursprünglichen Zustand zurück. Um die Verschlusszeit vorzeitig zu beenden, drücken Sie erneut die Taste SB3 – der Aktuator wird ausgeschaltet. Um eine neue Verschlusszeit zu generieren, müssen Sie die Dauer erneut einstellen. Die Aktuator-Steuereinheit ist auf einem Halbleiterrelais U1 aufgebaut, dessen Sendediode mit dem Ausgang PD6 des Mikrocontrollers verbunden ist. Dadurch sind die an das 220-V-Netz angeschlossenen Relaiskreise von den übrigen Zeitschaltkreisen isoliert. An den Ausgang PD1 ist der piezoelektrische Sender HA4 angeschlossen, der ein Tonsignal für das Ende der Belichtung abgibt. An den Ausgängen von Port B erzeugt der DD1-Mikrocontroller die Signale, die über die Strombegrenzungswiderstände R4-R11 zu den Kathoden der Elemente der LED-Anzeigen HG1-HG3 gelangen, und die Signale, die zur Bestimmung des Zustands der Tasten SB1 verwendet werden -SB3. Die zweiten Pins aller Tasten sind miteinander verbunden und mit dem PD3-Eingang des Mikrocontrollers verbunden. Die Dioden VD1-VD3 verhindern Kurzschlüsse zwischen den Leitungen von Port B, wenn mehrere Tasten gleichzeitig gedrückt werden. Die Transistoren VT1-VT3, die von Signalen von den PDO-PD2-Ausgängen gesteuert werden, verbinden abwechselnd die gemeinsamen Anoden der HG1-HG3-Anzeigen mit der Stromquelle, die für die Organisation der dynamischen Anzeige erforderlich ist. Die Taktfrequenz des Mikrocontrollers DD1 wird durch einen Schwingquarz ZQ1 gleich 10 MHz eingestellt. Das in den Timer-Mikrocontroller geladene Programm, dessen Quellcode im Anhang des Artikels verfügbar ist, besteht aus drei Hauptteilen: dem Initialisierungsmodul (INIT-Label), der Hauptendlosschleife (SE1-Label) und dem T/C1-Timer Interrupt-Handler (Etikett TIM0). Es beginnt seine Arbeit mit der Initialisierung von Registern, Zählern, Stack, T/C1-Timer, Watchdog-Timer, I/O-Ports. Nach Abschluss der Initialisierung wird die Zahl 001 auf der Anzeige angezeigt, alle Dezimalpunkte werden ausgeschaltet, der Ausgang PD6 wird auf einen hohen Pegel gesetzt, sodass der Stromkreis des Stellglieds offen ist. Der Countdown wurde gestoppt. Die Aufgabe, genaue Zeitintervalle mit einer Dauer von 1 s zu bilden, wird mit Interrupts vom Timer T / C1 gelöst, deren Anforderungen alle 3,9 ms (1/256 s) folgen. Sie werden von einem Zähler in Register r25 gezählt. Unter Verwendung des im Register r21 organisierten Zählers wird ein Intervall von 1 Minute gebildet. Bei der Verarbeitung von Interrupts wird auch das auf dem Anzeiger angezeigte Bit geändert und der Binärwert der in diesem Bit angezeigten Ziffer in einen "Sieben-Segment"-Code umgewandelt. Außerdem werden der Zustand der Tasten abgefragt, Steuersignale für das optoelektronische Relais und den akustischen Signalgeber generiert. Im Datenspeicher des Mikrocontrollers von Adresse $060 bis $062 ist ein Puffer organisiert, der den Wert des verbleibenden Zeitintervalls bis zum Ende der Belichtung speichert. Von dort übernimmt der Interrupt-Handler die Zahlen für die dynamische Ausgabe an den Indikator. Wenn Sie die Taste SB1 drücken, wird der im Puffer gespeicherte Wert um eins erhöht. Gleichzeitig wird der Sekundenzähler im Register r1 gestartet. Wird die Taste länger als 3 Sekunden gedrückt gehalten, beginnt der Wert im Puffer fünf Mal pro Sekunde um eins zu steigen. Die Zählung des Zeitintervalls, während dessen dieser Anstieg auftritt, ist im rg-Register organisiert. Nach dem Loslassen der Taste SB1 werden die Zähler in den Registern r1 und rO auf Null zurückgesetzt. Ganz ähnlich ist die Verarbeitung des Drückens der SB2-Taste organisiert, die die Nummer im Puffer reduziert. Die Zeitzähler für diese Taste befinden sich in den Registern r2 und rXNUMX. Beim Zählen der angegebenen Verschlusszeit wird die Zahl im Puffer jede Minute oder Sekunde verringert (um eins verringert), je nach Position des SA1-Schalters. Bitte beachten Sie, dass sich der Dekrementierungszeitraum entsprechend ändert, wenn Sie ihn vor Ablauf der angegebenen Verzögerung an eine andere Position verschieben. Register r22 speichert einen Binärcode mit einer Einheit in dem Bit, das dem aktuell aktivierten Bit des Indikators entspricht. Während der Initialisierung wird 00000001 hineingeschrieben (die HG3-Anzeige leuchtet), und die Startadresse des Puffers ($060) wird in das Y-Register geschrieben. Bei jedem Aufruf der Interrupt-Routine wird der Inhalt des Registers r22 um ein Bit nach links verschoben und das Register Y inkrementiert. Es ist klar, dass die Register r22 und Y neu geladen werden sollten, sobald die Einheit in Register r22 auf die dritte Stelle verschoben wird (alle Indikatoren werden übergeben), um ihre ursprünglichen Werte wiederherzustellen. Zum Zeitpunkt der Abfrage des Zustands der Tasten SB1-SB3 erlöschen alle Anzeigen und an den Ausgängen PB0-РВ2 des Mikrocontrollers wird ein Code "Running Zero" erzeugt. Nachdem sie einen niedrigen Pegel am Eingang PD3 erkannt hat und weiß, welcher der Ausgänge PB0-PB2 derzeit niedrig ist, entscheidet die Unterbrechungsroutine, welche Taste gedrückt wird. Das gesamte Programm belegt etwa 670 Byte Programmspeicher des Mikrocontrollers. Der Timer ist auf einem Steckbrett in einem Kunststoffgehäuse montiert, auf dessen Frontplatte die Anzeigen HG1-HG3, die Tasten SB1-SB3, der Schalter SA1 und die Neonlampe HL1 angezeigt werden. Der aus einer Spannungsquelle von 5 V aufgenommene Strom übersteigt 100 mA nicht.
Das Mikrocontroller-Programm kann heruntergeladen werden daher. Autor: S. Shishkin, Sarow, Gebiet Nischni Nowgorod; Veröffentlichung: radioradar.net Siehe andere Artikel Abschnitt Uhren, Timer, Relais, Lastschalter. Lesen und Schreiben nützlich Kommentare zu diesem Artikel. Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik: Kunstleder zur Touch-Emulation
15.04.2024 Petgugu Global Katzenstreu
15.04.2024 Die Attraktivität fürsorglicher Männer
14.04.2024
Weitere interessante Neuigkeiten: ▪ Stonehenge wird wegen Renovierungsarbeiten geschlossen ▪ Anforderungen an die ersten Mobilfunknetze der fünften Generation sind definiert ▪ Brauchen Sportler Aufwärmübungen? ▪ ASUS ZenPad 8 (Z380M) und ZenPad 10 (Z300M) Tablets News-Feed von Wissenschaft und Technologie, neue Elektronik
Interessante Materialien der Freien Technischen Bibliothek: ▪ Abschnitt der Website Palindromes. Artikelauswahl ▪ Artikel Es gibt keine königlichen Wege zur Geometrie. Populärer Ausdruck ▪ Artikel Warum sind die Gezeiten nicht überall gleich? Ausführliche Antwort ▪ Cannes-Artikel. Legenden, Kultivierung, Anwendungsmethoden ▪ Artikel Reinigung von Stahlgegenständen. Einfache Rezepte und Tipps ▪ Artikel Ladegerät mit Temperaturkompensation. Enzyklopädie der Funkelektronik und Elektrotechnik
Hinterlasse deinen Kommentar zu diesem Artikel: Alle Sprachen dieser Seite Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen www.diagramm.com.ua |