Hallo Leute! Bin noch Neuling bei der µC Programmierung, gehe zwar in die Abendschule, aber dort wird uns aus Zeitmangel einfach zu wenig erklärt. Mein Problem: Das Prog ist für einen 50c517a geschrieben, typisches Anfängerprog halt. Ich glaub, ich kapier grundsätzlich nicht, wie ein Timer arbeitet. Das mit den Initialisierungen ist mir klar, aber warum blinken die Leds an Port1 1s lang, 1s nicht, 1s wieder,... Wäre nett, wenn ihr für einen Anfänger mal wieder etwas Gedult aufbringen könntet! Danke im voraus, Gruß Jörn
Ist Dir klar wie die 1 sek zustande kommt? Das Blinken ist leicht erklaert: Zustaendig dafuer ist die Anweisung P1=~P1; und da wiederum das '~' Der ~ - Operator dreht einfach alle Bits um. Enthaelt also P1 (und damit das Port) den binaeren Wert 00100101 dann macht ~P1 11011010 daraus. Jedesmal, wenn Dein Pgm also auf P1 = ~P1; stoesst, werden alle Bits einfach umgedreht und damit werden die Leds ein bzw. ausgeschaltet.
Hallo Karl, danke für die schnelle Antwort! Jetzt ist mir dises Phänomen klar! Am Anfang steht das Port auf 0xFF,dann nach ~ wieder auf 0x00, usw. Naja, aller Anfang ist halt schwer! Ich hatte vergessen zu erwähnen, wegen der Zeit. Dies ist mir auch zum Glück auch klar (Hoff ich halt)! In Kurzfassung: Jedesmal, wenn der Timer einen Interrupt auslöst (nach 250µs), wird diese Basis bis 4 hochgezählt = 1ms. dann wird diese Basis mit der Var. tsek bis 1000 gezählt: Ergebnis: 1s Der Timer löst zwar alle 250µs durch den Reload-Modus die ISR aus, aber solange die Bedingungen nicht erfüllt sind, wird auch der Port1 nicht invertiert. Schätz einmal, das ist so etwa richtig. Jetz kann ich hoffentlich mein Protokoll für die Schule RICHTIG fertig schreiben. Gruß Jörn
Hallo! Ich bin auch gerade in meinen Anfängen der µC Programmierung, ebenso mit dem 8051. Mein Problem setzt früher an. Könnte mir jemand ein kurzes Tutorial für einen simplen Timer geben, der auf eine Sekunde genau zählen kann? gruß Norman
Hallo! Entschuldigung. Ich habe gerade erst den Anhang in Jörgs ersten Beitrag gesehen (Ich bin heute zum ersten mal hier). Ich denke das wird mir erstmal helfen. gruß Norman
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.