mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer - TMOD Register, Problem


Autor: Alex.Haydl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich habe folgendes Problem:
ich programmiere den atmel at89s8252, also die µC der Serie 8051.
mein controller hat, wie fast jeder microcontroller auch ein TMOD
register das auf der Addresse 89h im SFR liegt.
jetzt kann ich zw. 4 verschiedenen Timermodi auswählen mit M0 und M1
welche auf dem 4. und 5 platz (oder pin?) liegen von insgesammt acht.
wenn Bit von M0 und M1 gesetzt werden habe ich die timer funktion die
ich haben will.
Aber wie setze ich diese zwei addressen auf 1?
irgendwie kann man das nämlich nicht bitaddressieren.
welche Adresse muss ich jetzt ansprechen um die bits entsprechend zu
setzen?
ich habe hier auch noch einen link.

http://www.goblack.de/desy/mc8051chip/datenblatt/index.html

vielen dank schonmal!

Gruss

Alex Haydl

Autor: Divison (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vieleicht

sbi (TMOD,4);
sbi (TMOD,5);

Aber ich hab keine ahnung ob das geht. Hab mit dem Kontroller noch nie
was gemacht.

Mit was Programmierst du denn den?

C oder Assembler oder Basic? Sollte man immer dazuschreiben.

Sonst kommt wieder jemand mit nem Glaskugelmode. :-)

Autor: Alex.Haydl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, ich programmiere mit assembler. wäre mir schon sehr wichtig zu
wissen wie ich das addressiere. brauche eine sichere aussage darüber,
trotzdem danke :-)

Autor: edi-edi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn nicht BIT-adressierbar,dann eben BYTE-adressierbar!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau Dir doch mal den Befehlssatz an:

Mit MOV kannst Du einen Wert direkt laden.
Mit ORL kannst Du einzelne Bits auf 1 setzen.
Mit ANL kannst Du einzelne Bits auf 0 setzen.
Mit XRL kannst Du einzelne Bits umkippen.


Peter

Autor: Alex.Haydl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie soll ich das aber machen?
es bringt mir ja nix wenn ich das ganze byte addressiere, da dann M0
und M1 = 1 sind und ich somit modi 3 habe statt der eigentlich gewolten
modi 2.
ich möchte lediglich M1 auf 1 und M0 auf 0 setzen.
und wie soll ich das überhaupt mit ORL oder XRL machen?
wäre nett wenn ihr mir da weiterhelfen könntet!
Gruss

alex

Autor: Karl-Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mmmhh ... wie willst du überhaupt irgendwas mit Digitalelektronik machen
wenn du nichtmal simpelste Grundlagen, wie Binärsystem,
Hexadezimalsystem und Boolesche Operatoren beherrschst?

Autor: Alex.Haydl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tja, ich fange eben erst an. ich dachte dafür ist ein Board da.
Ausserdem beherrsche ich sehr wohl Boolsche Opertaron, Dualsystem, sowi
hex zahlen.
ich möchte nur wissen wie ich es einstellen kann. Deshalb frage ich
hier. ich müsste es nämlich etwas genauer wissen wie hier beschrieben.

Autor: Alex.Haydl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
axo, jetzt verstehe ich .
ich soll ein zahl an TMOD byte addressieren.
wenn ich jetzt das 4. und 5 bit umkippen will bsp. dann schicke ich
bspw. oder verknüpft 00110000 an TMOD um die bits zu kippen?
habe ich das richtig verstanden?

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.