-         

Ergebnis 1 bis 7 von 7

Thema: Einfacher Taster

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2007
    Beiträge
    22

    Einfacher Taster

    Anzeige

    Hallo,

    Ich bin gerade dabei meine ersten gehversuche mit ASM zu machn.
    Ausgangssituation:
    Habe das MyAVR 2.0 (USB)

    an PORT-D (2) hängt ein Taster
    an PORT-B (2) eine LED

    Nun will ich solange der Taster gedrückt ist soll auch die LED leuchten.
    Eigentlich ein einfaches unterfangen:


    Code:
    .include "m8def.inc"
    
    ldi r16,255
    OUT DDRC,r16   ;   AUSGANG
    
    ldi r16,0
    OUT DDRB,r16   ;   EINGANG
    
    ;EDIT:
    ;Laut dem Forum brauche ich die Pull-Ups --->
    
    ldi r16,0xFF
    OUT DDRB,r16
    
    main:
    
    IN   r16,PINB
    OUT PORTC,r16
    
    RJMP main

    Leider geschieht nichts...
    Könnte mir jemand hierbei helfn?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    Wenn an PORTD.2 der Taster hängt und an PORTB.2 die LED, dann müsste die main so aussehen:

    Code:
    main:
    in r16,PIND
    out PORTB,r16
    rjmp main
    Bie Dir wird ja der Zustand von PINB abgefragt, obwohl der Taster an D hängt und das Ergebnis in PORTC geschrieben, obwohl die LED an B hängt.

    MfG Mark

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2007
    Beiträge
    22
    uppps mein fehler da war wohl ein kleiner fehler beim copy&paste

    Also nochmal +g+

    PORT-D (2) Eingang -> Taster
    PORT-B (2) Ausgang ->LED

    und as dazugehörige programm:

    Code:
    .include "m8def.inc"
    
    ldi r16,255
    OUT DDRB,r16   ;   AUSGANG
    
    ldi r16,0
    OUT DDRD,r16   ;   EINGANG
    
    ;EDIT:
    ;Laut dem Forum brauche ich die Pull-Ups --->
    
    ldi r16,0xFF
    OUT DDRD,r16
    
    main:
    
    IN   r16,PIND
    OUT  PORTB,r16
    
    RJMP main

    komischer weise liefer mir das programm keine reaktion nur wenn ich die LED auf Pin 0 von PortB stecke eine leuchtende led ?

    Taster zeigt auch keine wirkung

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    Wenn Du mit

    Code:
    ldi r16,0xFF 
    OUT DDRD,r16
    PORTD als Ausgang setzt....

    Nimm das hier, das sollte klappen:

    Code:
    .include "m8def.inc" 
    
    ldi r16,255 
    OUT DDRB,r16   ;   AUSGANG 
    
    ldi r16,0 
    OUT DDRD,r16   ;   EINGANG 
    
    main: 
    
    IN   r16,PIND 
    OUT  PORTB,r16 
    
    RJMP main
    MfG Mark

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2007
    Beiträge
    22
    sorry funktioniert auch nicht

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    Komisch, ich hab es mit AVR-Studio simuliert und da klappte es problemlos...

    MfG Mark

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2007
    Beiträge
    22
    laut meinem AVR-Studio funktionierts auch einwandfrei ?

    nur auf meiner MyAVR platte nicht ?

    So nun stellt sich folgendes problem:

    Wenn ich mein Programm im AVR Studio schreibe und mit dem Codevision brenne funktioniert es nicht,

    brenne ich aber das SELBE Programm mit myAVR Workbench (=schrott) funktioniert es ?


    Hat irgendwer schon einmal das gleiche Phänomen erlebt ?

Berechtigungen

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