-
-
Hallo an alle!
Danke nochmal für die zahlreichen Antworten, is halt nicht so einfach als Anfänger und für euch dieses Thema sicherlich schon ein alter Hut!
Die CPU hat (fast) den gleichen Befehlssatz wie die anderen 8051,
wenn man sie mit 12Mhz taktet, hat man einen Maschinenzyklus von 1µs.
Der Timer zählt hoch und geht dann in den ÜBERLAUF.
Wegen meinem Lehrer:
Ich weiß, es gibt auch Lehrer die Schrott erzählen, aber das ganze stand nicht als Lehrstz im Manuskript, sondern Aufgabe war, P1 mit einer Blinkfrequenz von 1Hz mit Hilfe von Timer0 zu realisieren.
Es war als Ansatz geschrieben, und wir sollen anhand der Manuals rausfinden, wie es geht, um selber draufzukommen, das der Timer nur bis 256µs hochzählen kann.
Jetz hab ich auf jeden Fall den Programmablauf verstanden, deswegen braucht man bei Timer2 (16-Bit-Timer) auch keine Variable teiler, weil dieser eine Zeitbasis von 65536µs besitzt und man gleich eine zeitl. Verzögerung von 1ms erzeugen kann. (nur 1x if-Bed. bis 1000).
Aber mit einem 80x86 geht das mit Interrupt/ sek. sicher!!!
Eine Frage hätt noch bitte: welchen Zweck erfüllt eigentlich die Endlosschleife while(1); im main().
Als ich Sie weggelassen hatte, funktionierte nichts mehr.
Meine Vermutung ist, dass die Timer-Initalisierungen damit unendlich oft ausgeführt werden können??? Aber ob das stimmt?
Danke nochmal im voraus,
Gruß, Jörn
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen