Ich soll ein Programm schreiben das auf externe Interrupt´s reagiert , wobei der statische 0-Pegel einen Interrupt auslösen soll . Nun hab ich in meinen Buch nachgelesen und hab ein Problem : Muß ich für externe Interupt´s eine Initialsierungsroutine schreiben ähnlich wie bei internen oder ist das unnötig ? Ich hab hier ein schaltbild nachdem ich EX0 bzw EX1 schalten müßte allerdings ist bei den internen an gleicher stelle auch ein schalter den ich nicht setzen muß : ET0 bzw ET1 Die ISR sind klar die müßen an einer bestimmten stelle stehen , der statische 0-Pegel ist soweit ich das rausgelesen hab auch voreingestellt , nur muß ich initialisiren oder nicht ? Ist ein 8051 und Assembler programmierung
Brauchst es auch für die morgige Übung bei Prof Jä....e :) . Ehrlich gesagt damit wusste ich auch nix anzufangen. Denke mal das wird sowieso vom Board festgelegt. Hab die Routine soweit fertig, muß nurnoch sehen ob sie auch funzt :) Bis morgen!!
Also ich denkemal das es ausreicht wenn es an der jewaligen speicherstelle steht
So hab ichs gemacht. An den entsprechenden Speicherstellen einen LJMP in die ISR, und die hab ich dann am Ende des Programms angesetzt. Der Assembler hat auch keine Fehler angezeigt, obs wirklich funzt werd ich erst morgen sehen :( . Bis morgen!!
Schau doch bitte mal ins Datenblatt, wo die einzelnen SFRs erklärt sind: ET0 ist die Freigabe für den Timer 0 Interrupt, hat also mit den externen Interrupts überhaupt nichts am Hut. Und dann sollte auch klar sein, was Du mit EX0 und EA machen mußt. Peter
Nen richtiges Datenblatt hab ich leider nicht nur nen Schaltplan : aber so wie´s ausschaut muß ich beide setzen .
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.