Timer - TMOD Register, Problem

Gast #68334
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
Gast #68335
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. :-)
Gast #68339
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
Gast #68340
Lesenswert?

Mmmhh ... wie willst du überhaupt irgendwas mit Digitalelektronik machen
wenn du nichtmal simpelste Grundlagen, wie Binärsystem,
Hexadezimalsystem und Boolesche Operatoren beherrschst?
Gast #68341
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.
Gast #68342
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

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