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
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. :-)
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 :-)
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
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
Mmmhh ... wie willst du überhaupt irgendwas mit Digitalelektronik machen wenn du nichtmal simpelste Grundlagen, wie Binärsystem, Hexadezimalsystem und Boolesche Operatoren beherrschst?
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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.