Halloo Leute, ich habe in paar Tage micro_klausur und ich bin am üben, aber ich verstehe nicht viele von was ich mache.. kann jemandem mich bitte helfen..? was ist in diese Beschreibung gefragt? ich meine hier mit dem 400 Machinenzyklen.. was ist das? wie soll ich es programieren? danke im voraus Lg yves ;Beschreibung: Programmierung „Serieller Watchdog“ Der 80c515c soll zur Überwachung eines zweiten Mikrocontrollers eingesetzt werden.Hierzu sind die beiden Controller über die serielle Schnittstelle miteinander verbunden.Die Schnittstelle soll in Mode 1 (1 Startbit, 8 Datenbits, 1 Stoppbit)mit einer Baudrate von 9,6kBaud betrieben werden.Zur Takterzeugung wird ein 10MHz-Quarz verwendet.Schreiben Sie ein Programm in Assembler, welches zyklisch überprüft,ob im Zeitintervall von 50ms ein serieller Empfang stattgefunden hat. Bleibt der Empfang aus,soll der Reset-Pin des zu überwachenden Mikrocontrollers für 400 Maschinenzyklen auf 0-Pegel gezogen und die Überwachung gestoppt werden.Der Reset-Pin des zu überwachenden Controllers ist an P1.0 des 80c515c angeschlossen.Ist die Überwachung nicht aktiv, kann Sie jederzeit über einen seriellen Empfang gestartet werden.
Gast
#1549462
hausaufgaben -_-
Gast
#1549464
umsonst angemeldet, falsches forum, keinen plan vom studiengang... und in 5 jahren wundern, dass man ned eingestellt wird - gleich danach gegen den ingenieurmangel wettern.
warum? ist es das echt kinder sache? ok dann sry
ja hausaufgabe
Gast
#1549471
400 maschinenzyklen = 400 clock cycles = 400 takte.
da ist nett danke es kann mir helfen..
für die Zeitintervalle , kann ich eine Timer benutzen?
Gast
#1549475
ja, das ist der richtige ansatz
Berechung Timer 0 Reloadwert:
T_overflow = 50ms
Bei 0,6µs pro Zählschritt entspricht dies somit
50000µs / (400*0,6µs) = 208,333333 Zählschritten. ...
gewählt(209)
TL0 = 0x0D1h
TH0 = 0x00
Ist die Berechnung so richtig?
Gast
#1549485
nein. mehr kann wirklich nicht verraten werden...
Gast
#1549673
Hier der Ablaufplan, Yves:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
Dein Programm soll im Grunde überprüfen, ob der andere Controller noch lebt! Gibt er kein Lebenszeichen mehr von sich (innerhalb von 50ms wurde kein Zeichen empfangen), so soll er neu gestartet werden. Das geschieht dadurch, dass der Reset-Pin des überwachten Controllers für einige Zeit auf LOW gezogen wird. Diese Zeit wurde in der Aufgabe als "400 Takte" vorgegeben. Gibt er danach wieder ein Lebenszeichen von sich, wird die Überwachung fortgesetzt!
danke Maus.. so eine erklärung brauchte ich... es ist mir sehr hilfreich
@ Michael M. (ad-rem) >400 maschinenzyklen = 400 clock cycles = 400 takte. Nöö, keinesfalls, erst recht nicht beim 8051.
Gast
#1550065
Falk Brunner schrieb: > @ Michael M. (ad-rem) > >>400 maschinenzyklen = 400 clock cycles = 400 takte. > > Nöö, keinesfalls, erst recht nicht beim 8051. grade nochmal nachgeschaut. ein NOP braucht auch auf dem 8051 einen takt. bei 400 NOPs hab ich sprünge und verzweigungen mal weggelassen.
Gast
#1550179
...aber daran denken: Quarztakt <> Maschinentakt!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.