mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer T2 beim 8051.h (89S52) Funktion


Autor: Christopher B. (raven16)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

wollte mal nachfragen, ob mir jemand die Funktion dieses 16 Bit Timers 
in Stichpunkten erklären kann, weil ich diesen in der Schule erklären 
muss.

INIT:  MOV R4, #((65536-200)/256)  ;MSB Impulsvorgabe
  MOV R5, #((65536-200)%256)  ;LSB  Impulsvorgabe
  MOV R6, #((65536-10040)/256)  ;MSB Pausenvorgabe
  MOV R7, #((65536-10040)%256)  ;LSB  Pausenvorgabe
  MOV TH2, R4       ;es beginnt mit einem Impuls
  MOV TL2, R5
  MOV RCAP2H, R6            ;dann folgt eine Pause
  MOV RCAP2L, R7
  SETB ET2      ;Freigabe T2-Interrupt
  SETB EA              ;allgemeine Interrupt-Freigabe
  SETB TR2      ;T2 starten

Der Timer wurde so intialisiert, doch ich verstehe von der Funktion nur 
Bahnhof.

MSB = Most Significant Bit?
LSB = Least Significant Bit?

Haben das verwendet, um ein PWM-Signal mit Hilfe von DIP-Schaltern zu 
erzeugen.

Wozu dienen RCAP2L und RCAP2H?

Hoffe, Ihr könnt mir ein bisschen weiterhelfen.

mfg raven16

PS: Schaltbild des Timers ist im Anhang oder unter der Adresse: 
http://raven16.ra.funpic.de/Peripherie-des-89S52.jpg

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christopher B. wrote:
> MSB = Most Significant Bit?
> LSB = Least Significant Bit?

Fast, MSB = Most Significant Byte.
Allerdings ist diese Schreibweise recht unüblich, der Assembler hat 
dafür die Macros high und low, d.h. man schreibt besser:
RCAP2_VAL equ 10040
  mov RCAP2H, #high(RAP2_VAL)
  mov RCAP2L, #low(RAP2_VAL)

Der Umweg über Register ist unnötig, SFRs lassen sich direkt laden.

Mit dem Wert in TH2,TL2 läuft der Timer los und bei Erreichen von 
RCAP2H,RCAP2L wird z.B. ein Interrupt ausgelöst.

Wie T2 genau funktioniert, steht im Atmel Datenblatt bzw. 
Hardwaremanual.

http://www.atmel.com/dyn/resources/prod_documents/...


Peter

Autor: Christopher B. (raven16)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joar, danke ;-)

Das Datenblatt erklärt schon ein bisschen mehr.
Mir geht es einzig und allein darum erklären zu können, wie dieser Timer 
vom Prinzip her funktioniert.

Liege ich da richtig zu sagen, dass der Timer 2 Modis besitzt. Wenn TF2 
auf 1 gesetzt wurde mit SETB, dann wird wenn der Timer ein Signal 
sendet, ein Interrupt ausgelöst?
RCAP2H und RCAP2L sind doch Register und in diesem Register stehen Werte 
und diese Werte werden mit dem Timer verglichen und wenn der Timer den 
Wert des Registers erreicht hat, dann löst der Timer sein Ereignis aus 
und schickt ein Signal weiter?

Was ich noch nicht ganz verstanden habe ist, wofür T2H und T2L sind?
Warum wird hier zwischen High und Low unterschieden?

Ich versteh das ganze Prinzip nicht wirklich ;-)
Und wenn ich das nicht bis morgen erklären kann wie das Ding so ungefähr 
funktioniert, dann bekomme ich statt einer 4 eine 5 auf dem 
Abschlusszeugnis in dem Fach :(

Ich muss morgen eine Präsentation über das PWM-Signal halten mit 
Powerpoint und ich wollte halt den Timer ein bisschen Erklären können, 
womit das PWM-Signal erzeugt werden kann... Haben das Signal schon mal 
erzeugt, aber das ist mittlerweile wieder 1 Jahr her, dass wir das 
gemacht haben... Das Programm und die grobe Erklärung davon besitze ich 
zum Glück noch :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.