Hallo zusammen, habe eine Frage bezüglich des der /-segmentanzeige die nahnd vom Intel 8051 angesteuert werden soll. Ich soll einen Assemblercode realisieren, dass über port 2 und 3 ,3 werte einlesen soll und diese dann angezeigt werden. Für das Anzeigen habe ich 3 7-segmentanzeigen für jeweils einen eingelesenen Wert. Es soll folgende Bedingung erfüllt werden: falls der eingelesene Wert > 9 ist soll die Siebensegemntanzeige blinken für 5 sekunden mit einer Frequenz von 2Hz und danach soll das Programm wieder von neu Beginnen. WICHTIG: Verwende den Timer 0 16 Bit Merin Problem ist, dass ich nicht weiß, wie ich das Blinken mit einer Frequenz von 2 Hz für 5 sekunden realiseren kann mit Assembler, mir fehlt die grundidee. Würde mich über einige Tipss freuen.
:
Verschoben durch Moderator
Hier findest du alle für dich erforderlichen Informationen: Beitrag "Einheitlicher Umgang mit faulen Schülern etc.?"
luigi la blunda schrieb: > Merin Problem ist, dass ich nicht weiß, wie ich das Blinken mit einer > Frequenz von 2 Hz für 5 sekunden realiseren kann mit Assembler, mir > fehlt die grundidee. Die hast du schon selber mitgeliefert: > WICHTIG: Verwende den Timer 0 16 Bit Jetzt musst du dich allerdings noch einlesen, wie der Timer 0 funktioniert und mit welcher Funktion du dein Blinken umsetzen kannst. egbert schrieb: > Hier findest du alle für dich erforderlichen Informationen: > Beitrag "Einheitlicher Umgang mit faulen Schülern etc.?" naja... ein bisschen übertrieben. er hat doch eine konkrete frage gestellt. Allerdings hat er das komplett verkehrte Forum erwischt.
Sorry bin neu im Forum, wo sollte ich es es posten? !Ich verlange keine Komplette Lösung, habe nur nach ein paar tipps gefragt. !Bin auch kein fauler schüler ODER Student! Mein gedanke war es: ich benutze einen 16 bit timer, dieser kann bis 2^16 zählen, also bis 65636micorsekunden. Ich dachte, dann benutze ich einen 50ms timer d.h. 65536-50000=15536microsek. als anfangswert. Diese lade ich in den Low und hiGT TEIL DES tIMER REIN: Dann dachte ich. ok um die 2Hz hinzubekommen (umgerechnet 0,5sec) , sage ich ok 10*50ms=500ms=0,5sek und so hätte ich die Blinkfrequenz von 2Hz, d.h. würde den wert A in einem register vorladen. Um die Blinkdauer von 5sek zu realisieren sage ich 100 durchläufe mal 50ms= 5000ms , das wären meine 5sek, die ich auch in einem register vorlade. Doch jetzt habe ich das Problem. wie ich die beiden kombiniere, sodass wenn ein Wert>9 ist, dass die 7-Segmentanzeige bliken soll mit 2Hz und 5 sekunden lang. Das ist mein Problem.
Michael H. schrieb: > Allerdings hat er das komplett verkehrte Forum erwischt. Ich hab's verschoben.
Danke , wo kann ich essehen ,wo es jetzt ist?
luigi la blunda schrieb: > ich ok 10*50ms=500ms=0,5sek und so hätte ich die Blinkfrequenz von 2Hz, > d.h. würde den wert A in einem register vorladen. Um die Blinkdauer von > 5sek zu realisieren sage ich 100 durchläufe mal 50ms= 5000ms , das wären > meine 5sek, die ich auch in einem register vorlade. Genau, soweit völlig richtig. > Doch jetzt habe ich das Problem. wie ich die beiden kombiniere, sodass > wenn ein Wert>9 ist, dass die 7-Segmentanzeige bliken soll mit 2Hz und 5 > sekunden lang. Du kannst Timer 0 anhalten und zurücksetzen oder loslaufen lassen. Und du brauchst eine Funktion, die dir alle Anzeigen einschaltet oder ausschaltet. Der Rest ergibt sich sicher nach 10 Minuten ruhigem Nachdenken =) luigi la blunda schrieb: > Danke , wo kann ich essehen ,wo es jetzt ist? Siehe Anhang. Falls du eine e-Mail Adresse angegeben hast, hast du da auch eine Benachrichtigung bekommen.
luigi la blunda schrieb: > Doch jetzt habe ich das Problem. wie ich die beiden kombiniere, sodass > wenn ein Wert>9 ist, dass die 7-Segmentanzeige bliken soll mit 2Hz und 5 > sekunden lang. Du solltest Dir einen Programmablaufplan erstellen (mit Worten). Wenn die 5s um sind, hörst Du einfach auf mit Blinken:
1 | if( bit_5s == 0 ){ |
2 | if( bit_2Hz == 1 ){ |
3 | bit_2Hz = 0; |
4 | toggle_display(); |
5 | }
|
6 | }
|
Peter
Hi danke für alles, komme nicht weiter!
>>über port 2 und 3 ,3 werte einlesen soll
wie hast Du das realisiert ( erstmal nur in Worten). Welcher Natur sind
die Werte?
Hast Du eine Vorstellung was ein Programmablaufplan ist?
Pieter
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.