-         

Ergebnis 1 bis 3 von 3

Thema: Erste Gehversuche in ASM

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.08.2004
    Ort
    Nettetal
    Alter
    29
    Beiträge
    107

    Erste Gehversuche in ASM

    Anzeige

    Hi,
    gestern ist endlich mal mein Breadboard gekommen und ichd achte mir, dass ich n bischen mit Assembler spiel, weil ich mich noch nicht so wirklich mit C oder Bascom beschäftigt hab.
    Gut... Also mald as Tutorial von mikrocontroller.net geschnappt und gebastelt.

    Nur weiss ich nicht, warum dieses programm keine LED zum leuchten bringt:
    Code:
    .include "m16def.inc"
    
    		ldi r16, 0xFF
    		out DDRB, r16
    		out PORTB, r16
    
    loop:	rjmp loop
    Die LEDs hängen an PORTB6 und PORTB7. Eigentlich müssten die ja leuchten.
    Bei diesem Programm tun sie es brav:
    Code:
    .include "m16def.inc"       ;Definitionsdatei einbinden
    
            ldi r16, 0xFF       ;0xFF ins Arbeitsregister r16 laden
            out DDRB, r16       ;Inhalt von r16 ins IO-Register DDRB ausgeben (Ausgabe)
    
    		ldi r16, 0x00       ;0xFF ins Arbeitsregister r16 laden
    		out DDRD, r16       ;Inhalt von r16 ins IO-Register DDRD ausgeben (Eingabe)
    
    loop:    
    		sbic PIND, 7 //Wenn PIND7 0 ist, nächsten Befehl überspringen
    
    		rjmp loop
    
    		sbi PORTB, 7 //PORTB7 auf 1 setzen
    
    ende:	rjmp ende
    Natürlich erst, wenn man den Taster drückt....
    Anmerkung: Wenn ich den Taster drücke ist LOW am Controller, weil ich nen Pullup Widerstand zu VCC dabei hab.

    Kann mir da jemand helfen?
    Der Controller ist auch nicht kaputt. Diese Blinkschaltung in Bascom funktioniert zum Beispiel einwandfrei:
    Code:
    $regfile = "m16def.dat"
    $crystal = 8000000
    
    Config Pinb.7 = Output
    Config Pinb.6 = Output
    
    Do
       Portb.7 = 1
       Portb.6 = 0
       Wait 1
       Portb.7 = 0
       Portb.6 = 1
       Wait 1
    Loop

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    15.07.2004
    Alter
    32
    Beiträge
    807
    Hast du die LEDs wie im Tutorial gegen Vcc abgeschlossen?

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.08.2004
    Ort
    Nettetal
    Alter
    29
    Beiträge
    107
    Arg!
    Genau andersrum...
    Aber das sollte eigentlich egal sein oder?

    Wenn ich High auf nem Port ausgeb und der Strom durch die LED auf GND fließt is die doch auch an oder?

    Und warum geht das ganze in Bascom und im Assembler nicht? Ich habs mit 0x00 und mit 0xFF getestet....

    edit:
    Hab die LEDs jetzt einfach mal gegen VCC gelegt... Ändert sich nichts. Wobei mir das eh nicht gefällt, weil ich dann in dem programm alles invertiert angeben muss....

Berechtigungen

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