Forum: Mikrocontroller und Digitale Elektronik TCON TMOD SFR 8051


von Andy (Gast)


Angehängte Dateien:

Lesenswert?

kann mir jemand erklären : wie kann es funktionieren dass TMOD Register 
bei 8051 die Adresse 89h hat und gleichzeitig das Bit IE0 des TCON 
Registers auch die gleiche Adresse hat ?

von Hans Peter B. (Gast)


Lesenswert?

Das IE0-bit im Tcon-Register kann nur durch die Bit-Befehle SETB und CLR 
manipuliert werden, welche wiederum auf das ganze 8bit-Register TMOD 
wirkungslos sind.
Hans Peter

von Andy (Gast)


Lesenswert?

hm komisch :)  , ich habe da noch paar fragen zur 8051

warum wird beim Counter an den Portpins P3.4 P3.5 die negative Flanke 
gezähl
kann man auch eine Pos einstellen ?

außerdem warum brauch der Controller 2 MZ um dieze Flanke zu 
regestrieren 1 davor und 1 danach oder wie ? :)

und bei dem Port INTx ist ein Strich oben drüber ist es eine negation ?
wozu ?

wird das TF bit beim 8 Bit aoutoreload automatisch gelöscht auch ohne 
interrupt ? oder muss man die auch dann per software löschen

von Peter D. (peda)


Lesenswert?

Andy schrieb:
> warum wird beim Counter an den Portpins P3.4 P3.5 die negative Flanke
> gezähl

Weil es so im Datenblatt steht.

Andy schrieb:
> kann man auch eine Pos einstellen ?

Was nicht im Datenblatt steht, kann man auch nicht.

Andy schrieb:
> wird das TF bit beim 8 Bit aoutoreload automatisch gelöscht auch ohne
> interrupt ?

Das wäre ja blöd, wenn die CPU heimlich das Bit löschen würde. Wie 
willst Du dann den Überlauf erkennen?
Ohne Interrupt muß man es daher selber lesen und auch selber löschen.
Man kann aber beides mit einem Befehl machen: JBC


Peter

von Bernhard S. (b_spitzer)


Lesenswert?

Andy schrieb:
> warum wird beim Counter an den Portpins P3.4 P3.5 die negative Flanke
> gezähl kann man auch eine Pos einstellen ?
Inverter davorschalten.

> außerdem warum brauch der Controller 2 MZ um dieze Flanke zu
> regestrieren 1 davor und 1 danach oder wie ? :)
Die Peripherie des Controllers läuft mit einem langsameren Takt (fper)

> und bei dem Port INTx ist ein Strich oben drüber ist es eine negation ?
> wozu ?
Interrupt bei Low-Pegel (ITx=0, Resetwert) oder fallender Flanke 
(ITX=1). Wenn es umgekehrt sein soll => Inverter davor.

> wird das TF bit beim 8 Bit aoutoreload automatisch gelöscht auch ohne
> interrupt ? oder muss man die auch dann per software löschen
Was für einen Sinn hätte das automatische Löschen, wenn man dann vom 
Timer gar nix mehr mitbekommt??? Für die Baudratenerzeugung ist das Flag 
egal, daher wird es nicht gelöscht. Im Interrupt-Betrieb wird es 
automatisch gelöscht, das bekommt man dann aber auch im Programm mit. 
Bei Externen Interrupts ist es noch etwas anders. Bei Flankeninterrupt 
wird das Flag automatisch gelöscht, bei Pegelinterrupt nicht (macht auch 
Sinn in der Anwendung).

> wie kann es funktionieren dass TMOD Register bei 8051 die Adresse 89h
> hat und gleichzeitig das Bit IE0 des TCON Registers auch die gleiche
> Adresse hat ?
Durch die verschiedenen Befehle des Assembler-Befehlssatzes können trotz 
gleicher Adresse (8 Bit) bis zu 4 unterschiedliche Speicher 
unterschieden werden (SFR, SBIT, indirektes RAM, externes RAM, manche 
Derivate haben sogar noch SFR-Bänke die umgeschaltet werden müssen). Bei 
16-Bit Adressen sind 2 Speicherbereiche möglich (ROM, externes RAM, 
teilweise wird noch der EEPROM-Bereich ins externe RAM eingeblendet).
Der MOV-Befehl, der auf ein SFR zugreift hat einen anderen OPcode als 
ein MOV-Befehl, der z.B. ein Bit ins Carry kopiert.
Die Unterscheidung zwischen XRAM und ROM ist anhand des Befehls movx 
bzw. movc leichter erkennbar.


tschuessle
Bernhard

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.