Forum: Mikrocontroller und Digitale Elektronik Links schieben mit PIC18F4620


von Uwe W. (encinasola)


Lesenswert?

Hi

Ich bin gerade dabei mich mit dem Thema Micrcontroller auseinander zu 
setzen.

Ich hab MPLAB und ein PICDEM 2 PLUS Board.

Ich arbeite mit einem PIC18f4620.

Jetz hab ich versucht ein Lauflicht zu programmieren, anhand von 
Beispielen aus dem www.

So nun habe ich aber das Problem, dass wenn ich den Befehl rlf PORTB,F 
und rrf PORTB,F eingebe der Befehl rlf bzw. rrf nicht blau wird.

Beim Übersetzen kommen folgende Fehlermeldungen:
Clean: Deleting intermediary and output files.
Clean: Deleted file "D:\Projekt_18F4620\Test\Lauflicht_4LEDS.mcs".
Clean: Done.
Executing: "C:\Programme\Microchip\MPASM Suite\MPAsmWin.exe" /q 
/p18F4620 "Lauflicht_4LEDS.asm" /l"Lauflicht_4LEDS.lst" 
/e"Lauflicht_4LEDS.err" /o"Lauflicht_4LEDS.o"
Warning[207] D:\PROJEKT_18F4620\TEST\LAUFLICHT_4LEDS.ASM 140 : Found 
label after column 1. (rlf)
Error[122]   D:\PROJEKT_18F4620\TEST\LAUFLICHT_4LEDS.ASM 140 : Illegal 
opcode (PORTB)
Warning[207] D:\PROJEKT_18F4620\TEST\LAUFLICHT_4LEDS.ASM 144 : Found 
label after column 1. (rrf)
Error[122]   D:\PROJEKT_18F4620\TEST\LAUFLICHT_4LEDS.ASM 144 : Illegal 
opcode (PORTB)
Halting build on first failure as requested.
BUILD FAILED: Mon Apr 28 13:30:24 2008

Was mach ich falsch? Wer kann mir helfen? Hab viel Hoffnung in euch, da 
ich mit Hilfe von Forenbeiträgen schon andere Fehler beim 
Inbetriebnehmen lösen konnte.

Gruß uwe

von Manfred B. (vorbeigeschlendert)


Lesenswert?

vielleicht würde ein Fetzen 'echter' Code helfen?

von Manfred B. (vorbeigeschlendert)


Lesenswert?

und vielleicht gibt's deine Befehle ja gar nicht...

ich finde nur
1
RLCF
2
RLNCF
3
RRCF
und
1
RRNCF
Seite 299 ff

von Uwe W. (encinasola)


Lesenswert?

Also hier mein Code:

;PortB vorbereiten
        movlw   B'00000000'    ; PortB alle output
        movwf   TRISB
        clrf    PORTB          ; alle LEDs ausschalten

    movlw  B'00000001'
    movwf  PORTB

LEFT:  call  WAIT
    rlcf  PORTB,F
    btfss  PORTB,MSB
    goto  LEFT
RIGHT:  call   WAIT
    rrcf  PORTB,F
    btfss  PORTB,0
    goto  RIGHT
    goto  LEFT


WAIT:
        movlw   D'250'          ; 250 ms Pause
        movwf   loops

Wai:
        movlw   .110           ; Zeitkonstante für 1ms
        movwf   loops2
Wai2:   nop
        nop
        nop
        nop
        nop
        nop
        decfsz  loops2, F      ; 1 ms vorbei?
        goto    Wai2           ; nein, noch nicht
                               ;
        decfsz  loops, F       ; 250 ms vorbei?
        goto    Wai            ; nein, noch nicht
        retlw   0              ; das Warten hat ein Ende

;  *** main code goes here ***


;*********************************************************************** 
*******
;End of program

    END

von Uwe W. (encinasola)


Lesenswert?

Ich hab ein Buch über Pic Controler, halt nur über Pic 16C5x. Und da 
gibt es den Befehl rlf f,d und rrf f,d.

Wo find ich beschreibungen zu den rlcf Befehlen?


Hab jetz mal rlcf und rrcf geschrieben, aber es geht nur die erste LED 
an und dann wieder aus.

Gruß Uwe

von Manfred B. (vorbeigeschlendert)


Lesenswert?

wie wäre es wenn du dir einfach mal bei microchip.com das Datenblatt für 
deinen Controller holst (ins Indernetz kommst ja?)

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010304

und

http://ww1.microchip.com/downloads/en/DeviceDoc/39626d.pdf

k.w.T.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.