TCON TMOD SFR 8051

Gast #2726217
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
#2726293
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
#2732566
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren