okay,

ich fange einmal ganz oben an:
  1. Eine Pulsweitenmodulation einzustellen ist an und für sich relativ einfach in Assembler, man muss eigentlich nur die richtigen Bits in den richtigen Registern setzen.
    In diesem Zusammenhang möchte ich auf die "Modes of Operation" in der Timer Sektion im jeweiligem Datenblatt hinweisen.
  2. Ergibt ssich aus 1.
  3. Zähle die Werte "von Hand", also nicht im OCR? Register.

    Als Lösungsansatz bietet sich z.B. an den Timer 1 als Zähler zu missbrauchen, also die Impulse die durch öffnen und schließen der Relaiskontakte entstehen als Takt zu nutzen. Näheres findest du in der Registerbeschreibung des Timers 1 (Stichwort: Clock sources)

    Man müsste in diesem Fall bei einem Zählerüberlauf eigentlich nur ein Register oder Registerpaar Incrementieren.
  4. die Relaiskontakte könnte man in dieser Lösung z.B. mittels eines RC Gliedes entprellen.


Grüße,

da Hanni.