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
Hmm, habe ich meine Frage nicht gut gestellt oder kann mir vielleicht jemand ein anderes Forum empfehlen? Danke im Voraus für eure Hilfsbereitschaft! Klaus
Hallo Klaus, weiterhelfen kann ich dir bei dem Problem auch nicht aber versuche es mal hier: http://www.fernando-heitor.de/index.php?option=com_smf&Itemid=27/index.php?board=4.0
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.