mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Reset und Watchdog bei 16F84A


Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Wie der Tietel schon sagt: Ich habe einen PIC (16F84A) komme mit dem
Watchdog und dem Reset nicht klar.

Ich programmiere mit MPLAB und PICSTART PLUS.

Also muß ich meine Controller nach dem Programmieren aus der
Programmierbox nehmen und in die Schaltung einsetzen.

Nun laufen die Programme aber nicht richtig an.

Daher hier meine Frage:
Wie muß ich die Einstellungen bei PICSTART beim Programmieren machen?
Hierbei denke ich insbesondere an den Power on Reset Timer (oder so
ähnlich) und den Watchdog.

Als kleine Erläuterung: ich beutze den Watchdog nicht. Da ich aber auch
keine Ahnung habe, wie man den im OPTION Register ausstellt (bzw. ob man
das überhaupt muß) und ich, wenn meine Anleitungen und das was ich mir
daraus überlegt habe stimmen, das Register auch sonst gar nicht
benötige hab ich auch keine Zugriffe (weder lesend noch schreibend) auf
dieses Register im Quellcode. Watchdog stelle ich aber über das
Kontrollkästchen im PICSTART Programmiermenü aus.

Wenn dieser Prozessor nicht in der Lage ist einen Reset durch
herstellen der Spannungsversorgung herbeizuführen, so wäre ich sehr
dankbar über eine ausführliche Beschreibung, wie ich den Reset dann
herbeiführen kann (mein Betreuer sagte zwar, das das immer mit Power on
Reset fuktioniert hat, aber da seine Errinerungen daran schon mehrere
jahre alt sind und er danach nie wieder mit PICs zu tun hatte, glaube
ich ihm das im Zweifel nicht......)

Das Programm was ich geschrieben habe macht folgendes (also laut
Simulation mit MPLAb macht es auch genau das, was es soll)

TRISA auf 00000110
TRISB auf 00000000
jetzt kommt eine endlosschleife, die per btfsc verlassen wird, wenn A1
auf 1 liegt (dieser Zustand läßt sich über einen Taster herbeiführen,
der A1 auf +5V legt)
B1 auf 1 (damit anschalten einer LED, die zw. B1 und Masse liegt)
TRISA auf 00000010
PORTA,2 auf 1 (A2 ist mit dem Ausgang der Schaltung verbunden)
warten (200 Takte)
PORTA,2 auf 0
200 Takte warten
TRISA auf 00000110
Endlosschleife, die verlassen (per btfss) wird, wenn A2 auf 1 ####
PORTB,2 auf 1 (2.LED an)
200 Takte warten
Endlosschleife, bis Schalter gedrückt (also bis A1 auf 1)
PORTB auf 00000000
Rücksprung zum Anfang

Die Änderung von A2 durch das obere Programm soll von einem 2. PIC
empfangen werden (über eine Schleife, wie die, mit der ich hier den
Schalter abfrage) woraufhin der Empfänger 255 Takte warten soll und
dann seinerseits seinen A2 auf Ausgang umschalten und auf 1 setzen
soll, was im oberen Programm dann die mit ### markierte Schleife
beenden soll.

Also: wenn jemandem ein Fehler in dem Programm (ja, es ist nur
Pseodocode, aber sonst wäre mir das grad zu umständlich wieder zur UNI
zu fahren und den Code abzuschreiben und hier reinzuposten) auffällt
bitte bescheid sagen.

Ansonsten bitte ich um Rückmeldung über die Ausführung des Reset und
die deaktivierung des Watchdog, damit der mein Prog nicht immer
zurücksetzt, bevor ich den Schalter drücken kann und was passiert.....

Danke schonmal!

Autor: Michael B (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WDT -> In MPLab unter Configuration-Bits.
Reset geht mit Hitech-Compiler mit Reset():

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.