Hilfe Assembler

Gast #2718409
Lesenswert?
• ▲
▼
Hallo zusammen,

bin absouluter Anfänger was Assembler und das programmieren von 
Mikrocontrollern.Villeicht kann mir einer bei helfen.
Benutze das mp lab ide von microchip.
Möchte als erstens Eingänge und Ausgänge definieren .Hab das so gemacht 
aber etwas stimmt nicht. Danke im Voraus bin für jede Hilfe dankbar.

Grüss Caine

 list p=16f877                ;der Prozessortyp wird festgelegt
 include "p16f877.inc"        ;inkluzivi podatci

org 0x00
goto main

init

 bsf     STATUS, RP0            ; auf Bank 1 umschalten
        movlw   D'00000000'    ; PortB alle output
        movwf   TRISB
        bcf     STATUS, RP0     ; auf Bank 0 schalten
        clrf    PORTB           ; alle LEDs ausschalten
        clrf    w

 bsf     STATUS, RP0            ; auf Bank 1 umschalten
        movlw   C'11111111'     ;PortB alle output
        movwf   TRISC
        bcf     STATUS, RP0     ; auf Bank 0 schalten

end
Persönliche Seite #2718480
Lesenswert?
• ▲
▼
Hallo Caine,

> Möchte als erstens Eingänge und Ausgänge definieren .Hab das so gemacht
> aber etwas stimmt nicht. Danke im Voraus bin für jede Hilfe dankbar.


WAS stimmt nicht?

> goto main

Muss heissen "goto init"

1. Du hast nur von In auf Out umgeschaltet, aber nicht definiert, ob die 
Portausgaenge H oder L sein sollen
2. bei PIC mit ADC musst Du zusaetzlich dort noch ein Configurationsbit 
setzen, steht aber prima im Datenblatt!

Ausserdem kannst Du in MPLAB im Simulator genau sehen was passiert, dann 
schreib hier bitte nicht "IRGENDWAS" stimmt nicht!


Gruss

Michael
Gast #2718564
Lesenswert?
• ▲
▼
list p=16f877
 #include <P16f877.INC>



org 0x00



Init

 bsf     STATUS, RP0            ; auf Bank 1 umschalten
        movlw   B'00000000'     ; PortB alle output
        movwf   TRISD
        bcf     STATUS, RP0     ; auf Bank 0 schalten
        clrf    PORTD           ; alle LEDs ausschalten
        clrf    W


 bsf     STATUS, RP0            ; auf Bank 1 umschalten
        movlw   B'11111111'    ; PortC alle input
        movwf   TRISC
        bcf     STATUS, RP0    ; auf Bank 0 zurückschalten

goto main


main



end


So jetzt habe ich alles...der Fehler war das ich C'00000000' gemacht 
habe weil ich dachte ..Port C also C'00000000' . Is aber quatsch B steht 
nämlich für ein Zahlenwert von 0 bis 7 mit trisc setze ich dann diesen 
wert bei port c . main und goto noch hinzugefügt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.