Forum: Mikrocontroller und Digitale Elektronik 8051 Assembler Hilfe


von Andreas Gebauer (Gast)


Lesenswert?

Hallo bin neu hier und bekomm die folgede aufgabenstellung nicht ganz 
gebacken, besonderst das mit dem Signal ist entprellt.


Mit der negativen Signalflanke an Port P3.2 sollen die Werte an den 
Ports P1 und P2 addiert werden. Das Ergebnis der Addition soll 
anschließend am Port P0 ausgeben werden. (Das Signal an P3.2 ist 
entprellt.)



Bitte um Hilfe

Danke

von gast (Gast)


Lesenswert?

ein bisschen spät für hausaufgaben^^

von Andreas Gebauer (Gast)


Lesenswert?

Übrigens muss das ganze ohne Interrupts machen

von Andreas Gebauer (Gast)


Lesenswert?

für Hausaufgaben ist es  nie zuspät...

von H.Joachim S. (crazyhorse)


Lesenswert?

sieht nach Hausaufgabe aus und ist dementsprechend hier nicht gerne 
gesehen :-)
Noch soviel: mit dem bereits entprellten Signal ist gemeint, dass du 
ganz gelassen an die eigentliche Aufgabe gehen kannst.
Wechselt also der Eingang P3.2 von 1 au 0 (negative Flanke), sollst du 
die oben angeführten Aktionen ausführen. In der Wirklichkeit müsstest du 
dich damit auseinandersetzen, wann denn das Signal wirklich gültig ist, 
falls es von einem mech. Schalter kommt.

von Magnus Müller (Gast)


Lesenswert?

Andreas Gebauer schrieb:
> gebacken, besonderst das mit dem Signal ist entprellt.

Das soll heissen, dass es nicht notwendig ist, in der Software eine 
Tastenenprellung zu implementieren.

von Andreas Gebauer (Gast)


Lesenswert?

andere Frage noch
welche Art von Interrupt könnte für diese Problemstellung eingesetzt 
werden?

von Magnus Müller (Gast)


Lesenswert?

Gegenfrage: Welcher Prozessor? ;)

von gast (Gast)


Lesenswert?

dann such mal nach "8051 /INT0 External Interrupt Example Program", dass 
sollte klarheit schaffen.

von Andreas Gebauer (Gast)


Lesenswert?

also ich weiß soviel das es ein externet Interrupt oder ein Timer 
Interrupt sein muss, aber welcher nun und woran sehe ich das?

von Andreas Gebauer (Gast)


Lesenswert?

Gut hat sich erledigt danke

von michl (Gast)


Lesenswert?

Ungefähr so?


START CODE 8000H ;oder irgend was anderes
ORG START

hier:  jnb P3.2,hier
       mov A,P1
       mov B,P2
       add A,B
       mov P0,A

ende:  jmp ende

END

von Magnus Müller (Gast)


Lesenswert?

Mit "jnb" läuft die Warteschleife so lange wie P3.2 Low-Pegel führt. Das 
ist also das Gegenteil von dem, was du vor hast.

Ich würde an deiner Stelle vor der eigentlichen Warteschleife noch eine 
weitere Warteschleife setzen, welche erst verlassen wird, wenn P3.2 
High-Pegel führt. Damit stellst du sicher, dass die zweite Warteschleife 
wirklich auf eine negative Signalflanke und nicht auf einen Low-Pegel 
reagiert.

von Ploetzeneder (Gast)


Lesenswert?

Hallo,
hier findest du eine gute Referenz:
http://www.ploetzeneder.eu/softwareentwicklung/mikrocontroller/121-assembler-mit-dem-8051.html

Du findest hier auch weitere Infos zum Assembler 8051

Mit freundl. Gruß,

Plötzeneder Andreas

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
Noch kein Account? Hier anmelden.