- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 5 von 5

Thema: Zustand von PB0 und PB1 drehen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    20.08.2011
    Beiträge
    61

    Zustand von PB0 und PB1 drehen

    Anzeige

    Praxistest und DIY Projekte
    Hallo Leute,
    hier ein Ausschnitt von einem Code in Assembler.

    in akku,PINB
    lsl akku ; ein Bit nach links
    swap akku ; tausche niederwertiges Byte mit höherwert.

    out PORTB,akku ;Ausgabe
    ldi akku,(1<<PB3) | (1<<PB4)
    out PORTB,akku ; Pull uP

    Nach swap Suche ich verzweifelt ein Befehl, der mir den Zustand (Bit7 bis Bit0)
    im Arbeitsregister r16 = Akku dreht. Hat jemand ein Vorschlag???

    Grüße

    Rolf

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Code:
    COM r16
    Einerkomplement: http://de.wikipedia.org/wiki/Einerkomplement

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    20.08.2011
    Beiträge
    61
    Hallo Searcher,
    danke für Deine Hilfe! Habs gleich getestet und funzt.

    Die Aufgabe war zum Tiny13:

    Taste sw1 (gegen GND) an PB3... LEDrt an PB0 soll leuchten, wenn Taste gedrückt.

    Taste sw2 (gegen GND) an PB4... LEDgn an PB1 soll leuchten, wenn Taste gedrückt.

    Bist Du Assembler - Freak??

    Grüße

    Rolf

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Hallo Rolf,
    Zitat Zitat von hegewald Beitrag anzeigen
    Hallo Searcher, ... Bist Du Assembler - Freak??
    Nein, normal nicht. Ich programmiere mit Bascom und wenn ich meine es wäre nötig, dort mit Inline ASM.

    Deine Frage hat mich sofort daran erinnert, daß ich auch schon mal verzweifelt danach gesucht habe als Äquivalent in ASM für das Bascom NOT bzw. TOGGLE.

    Viel Erfolg noch und
    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  5. #5
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    For das Umklappen aller Bits gibt es beim AVR den ASM Befehl COM. Für das Tooglen von nur einigen Bits gibt es den Befehl EOR - allerdings nur als Verknüpfung von 2 Registern und nicht mit einer Konstante.

    Wenn es darum geht direkt Bits am IOPort, also etwa PB0 oder PB1 zu Tooglen, gibt es bei neueren AVRs (ab etwa Mega8 noch eine Spezielle Hardware-Unterstützung: beim schreiben einer 1 nach PINx wird das entsprechende Bit in Portx umgedreht. Also etwa LDI R1, (1<<PB1) | (1<<PB0) und out PinB,R1 zum Toogeln der Bits PB0 und PB1. Das könnte ggf. auch über SBI PinB,0 und SBI PinB,1 gehen.

Ähnliche Themen

  1. bascom und ATTINY 85 PB0 klemmt
    Von kolisson im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 12.05.2009, 03:33
  2. "'PB1' undeclared" und andere Fehlermeldungen dies
    Von StackDaniels im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 28.06.2008, 21:35
  3. Zustand von SRAM nach Reset
    Von bombatz im Forum AVR Hardwarethemen
    Antworten: 8
    Letzter Beitrag: 07.06.2007, 11:40
  4. Zustand von mehreren Schaltern prüfen per RS232
    Von kheberlein im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 05.07.2006, 08:56
  5. Zustand von IC L293D beim programmieren ?
    Von alecs im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 19.12.2005, 14:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests