-
        

Ergebnis 1 bis 3 von 3

Thema: einfacher LED-Test mit Assembler

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    24.06.2004
    Ort
    Berlin
    Beiträge
    52

    einfacher LED-Test mit Assembler

    Anzeige

    Ich möchte eine LED an PortA testen.
    Kann dieser Assemblercode funktionieren? Bei der org Anweisung bin ich mir überhaupt nich sicher. Bzw. wo ich die Variablen hinschreibe.
    Ich benutze den 18F458.
    Code:
    title           "Programm um LED zu testen"
    processor       18F458
    
     org      0x0020; Ist das der richtige Bereich für das Prog?
    
     STATUS equ 03h
     TRISA equ 85h
     PORTA equ 05h
     Count1 equ 08h
     Count2 equ 09h
    
    ;***********************************************************************
     bsf  STATUS,5
     movlw 00h
     movwf TRISA
     bcf STATUS,5
    ;**********************************************************************
    
    Start   movlw 02h
               movwf PORTA
    Loop1 decfsz  Count1,1
    goto Loop1
    decfsz Count2,1
    goto Loop1
    
     movlw 00h
     movwf PORTA
    
    Loop2 decfsz Count1,1
                goto Loop2
                decfsz Count2,1
    goto Loop2
    
    goto Start
    ;********************************************************************
    END

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    14.11.2005
    Beiträge
    57
    Hi,

    ich kann auf Anhieb keine Fehler erkennen, ich habe mal kurz einen Blick ins Datenblatt geworfen, hieraus ging hervor, daß der Programmspeicher von 20h bis 3FFFh geht (Low Priority Interrupt Vector liegt bei 18h und ist meiner Meinung nach 2 Bytes groß) , somit solltest Du mit deiner org Anweisung goldrichtig liegen.

    Gruß

    ReSeT

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.10.2004
    Ort
    Nordschwarzwald
    Alter
    34
    Beiträge
    506
    bsf STATUS,5
    ..................^^
    Da dürfte ein Fehler liegen, denn das Bit gibts laut Datenblatt nicht
    Die Bankauswahl ist bei den PIC18 grundlegend anders, wie bei den PIC16. Da schaust du dir am besten nochmal das Datenblatt oder passenden Beispiel-Code an...

    Ansonsten kann ich dir wärmstens den C-Compiler von Microchip empfehlen, den es für die 18er kostenlos gibt.
    Verwende den selber und kann ihn wirklich empfehlen - macht sehr vieles einfacher.

    Edit: Wenn du wenig RAM brauchst, kannste die Access Bank nehmen - da sind die unteren 96 Byte vom RAM und die ganzen SFR drinnen. Das ist dann das a=0 bei den Opcodes. Ansonsten ist das BSR jetzt 4 Bit groß und da schauste dir am besten mal Seite 47 im Datenblatt an.

    MfG
    Stefan

Berechtigungen

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