Forum: Mikrocontroller und Digitale Elektronik Timer Block 1 - Siemens 80c167 Prozessor


von Oscar (Gast)


Lesenswert?

Hallo,
Hat jemand mit dem Timers des obengennanten Prozessors gearbeitet ?
Wenn ja bitte sich kurz melden.
Es geht um follgendes:
Ich will den T3 als Counter benutzen und der T2 als Reload benutzen für
den Timer T3. Ich habe überall gelesen, das das kein Problem wäre wenn
ich den Portpin T2IN (P3.3) als Reload Eingang benutzen könnte. Der
Port wird aber bereits als selector benutzt und damit steht nicht mehr
zu Verfügung.

Hardwaremäßig ist der Portpin T3IN (P3.6) mit dem Port RxD0
(P3.11)(UART) verbunden. So wäre dann der Port T3IN als reload Eingang
definiert. ?
Kann ich trotzdem die Timer T2 und T3 zusammenbenutzen (Reload und
Eigentliche Timer) ??

Danke und Gruss

von Winfried Speidel (Gast)


Lesenswert?

Hallo zusammen,

das Verwenden von Timer 2 als reload Timer fuer den Timer 3 ist in der
Tat kein Problem (externe Eingaenge / Pins werden nicht benoetigt)

Programmiere einfach folgendermassen:

T2=xxxx; // (Teilerfaktor)
T3=xxxx; // (Teilerfaktor (gleich wie bei T2))

T2CON=0x0027; //Timer 2 auf reload,...
T3CON=0x0280; //Timer Mode, count down,...

T3R=1; //Timer 3 run

Viele Gruesse
Winfried Speidel

von Oscar (Gast)


Lesenswert?

Hallo Winfried,
danke für deine Mail.
die Konfiguration des Timers T2 war denke in Ordnung 0x0027. Den T3
hast du als Timer konfiguriert. Ich brauche hier aber eine
"Counter". So habe ich mir es vorgestellt:
/* Configuration defines for the T3 of GPT1 initialization variable
(stInitConf_b16)xxxx */
/*-------------------------------------------------
    10|09|08|07|06|05|04|03|02|01|00|    ---> bit number
    -------------------------------------------------     T3CON
Reset:0000H
    1  0  0  1  0  -  0  1  0  1  1       FF42H / A1H
    |  |  |  |  |     |  |  |  |  |
    |  |  |  |  |     |  |  |__|__|
    |  |  |  |  |     |__|     |---> T3I(Timer 3 Input select)  =
takt=0,3125 MHz  && positive and negative external
    |  |  |  |  |      |
Transition  on T3IN
    |  |  |  |  |      |-----------> T3M (Timer 3 Mode control) =
COUNTER
    |  |  |  |  |------------------> T3R (Timer Run bit)
    |  |  |  |---------------------> T3UD (Timer 3 Up/Down control) =
direccion = down
    |  |  |------------------------> T3UDE (Timer External Up/Down
Enable bit)
    |  |---------------------------> T3OE (Timer 3 alternative Output
funtcion enable)
    |------------------------------> T3OTL (Timer 3 Output Toggle
Latch)
*/
jetzt was mir noch nicht klar ist:
-So wie ich vestehe, braucht man für den Reload "externe Ereignisse".
Also wie ich von den Buch vestehe
musste man den Portpin T2IN als ReloadEingang konfigurieren (oder die 2
Möglichkeit: Reload nur bei Unter/Überlauf).
Das ist ja nicht möglich, da der Pin T2IN als selector für etwas
anderes verwendet wird.
Außerdem hatte man bereits per hardware den Pin T3IN mit den
UART-Receive-Port verknüpft (Also wenn ich richtig verstehe
würde dann die T3IN diese EXTERNE Ereignisse bringen und somit als
Reload Eingang definiert oder ??).

-Deine Aussage "externe Eingaenge / Pins werden nicht benoetigt" ist
sehr interessant aber habe ich nicht kapiert.
Kann du es mir noch erklären?

-In Gründe wollte ich wissen ob ich trotzt dieser Hardware Lösung
(T3IN/P3.6 verknüpft mit RxD0/P3.11) noch
den T3 als Counter und der T2 als Reload benutzen kann und wie?

Ich werde mich freuen, von dir wieder zu hören.

Vielen Dank !!

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.