Delay mit 16F84A

H

hassan1980

Guest
Wie man 31 Tage Verspätung, mit 16F84A? Bitte helfen Sie mir.
 
Erstellen Sie einfach mehr "Zähler", wird diese Datei registriert, dass sich dekrementiert wird. Zum Beispiel, wenn Ihre Uhr ist 32,768 und wenn Sie TMR0 mit einem Vorteiler von 32, dann wird es Überlauf in: 32768/4/32/256 = 1 Sekunde. Das heißt, jedes Mal TMR0 Overflows Sie wissen, dass eine zweite abgelaufen Jedes Mal, wenn es überläuft, Dekrement Sie einen Zähler (initialisiert mit einer gewissen Anzahl). Zum Beispiel, wenn Sie dieses Register initialisieren bis 60, dann jedes Mal, wenn er Null erreicht Sie wissen, eine Minute vergangen ist. Dann, wenn dieser Zähler gleich Null ist, verringern Sie einen anderen Zähler, der Minute zählt. Wenn 60 Minuten vergangen sind, haben Sie 1 Stunde. Und so weiter, bis zu 31 Tage. Für eine andere Quarzfrequenz, brauchen Sie nur auf den ersten Zähler anpassen, um die zweite zu erhalten, wenn Sie möchten. Ein anderer Weg, es zu tun ist, einfach ermitteln die Anzahl der Zyklen Unterricht in der Zeit die Sie benötigen und benutzen Sie einfach Binärzähler, wenn Sie nicht über Sekunden und Minuten egal.
 
Sie können Echtzeituhr RTC (Chip) wie DS1307 oder PCF8583. in diesem Fall Ihren Timer funktioniert sogar, wenn Macht verloren.
 

Welcome to EDABoard.com

Sponsor

Back
Top