Probleme mit Simulator von MPLAB

OP #319079
Lesenswert?
• ▲
▼
Hallo zusammen,

ich betreue nächstes Semester einen Microcontroller-Versuch an der Uni
und arbeite mich deshalb momentan in PIC-Microcontroller ein. Konkret
verwenden wir den 16F873.

Aufgabe im Versuch ist es, das DCF-77-Zeitsignal zu dekodieren und die
Daten auf einem Display sichtbar zu machen.

Meine Software läuft auf dem realen Bausteil schon reibungslos. Nun
dachte ich mir, es wäre für die Versuche sicherlich sinnvoll, auch eine
Simulationsumgebung vorzubereiten.

Ich modellierte also das DCF-Signal im SCL-Generator, um es dann vom
Stimulus-Controller bei der Simulation ablaufen zu lassen. Der Beginn
des DCF-Signals kann an einer 2sekündigen Pause detektiert werden, dann
kommen Signale im Sekundenrhythmus mit 100ms oder 200ms breiten
Impulsen. Nach 1 Minute beginnt das Spiel von vorne.

Am Anfang sind 21 Impulse ohne inhaltliche Bedeutung. Die müssen also
übersprungen werden.

movlw  d'21'
movwf  d4
call  WAIT50
btfss  DCF_IN
goto  $-2
call  WAIT50
btfsc  DCF_IN
goto  $-2
decfsz  d4,1
goto  $-7

Das funktioniert einige Sekunden so, wie es soll. Aber nach dem 3
Impuls scheint es "Tooling-Probleme" zu geben:

Meine Stopwatch zeigt Sekunde 5.00...:
Der Signalgenerator erzeugt zu diesem Zetpunkt die Signale für die 5.
Sekunde und die 5,1 Sekunde gleichzeitig, also die steigende und die
fallende Flanke gleichzeitig (obwohl lt. Stopwatch noch gar nicht die
5,1 Sekunde erreicht wurde).

Das Signal wurde also in einem Zeitschritt nach "oben" und dann nach
"unten" gesetzt. Der Prozessor geht also von einem dauerhaft
"niedrigen" Signal aus und bleibt in der Schleife hängen.

So geht das dann mit den nächsten Sekunden weiter.

Mache ich was falsch, ist das ein Tooling-Problem?

Vielen Dank für eure Hilfe!

Gruß

Klaus

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.