Om jag vill ha in hela 8 bitars värdet som är på ingången i mitt fall port A
kan jag inte koda så här då:
******************variabler************************************
Temp RES1
*************************************************************
Rad
147 movlw B'11111111'
148 movwf TRISA
149 movf PORTA,TEMP ;temp variablen jag vill ha PORTA värde
detta felmedelande fick jag
Error[151] C:\PROGRAM\MICROCHIP\PROJECT\ALIEN PUFFRAN\F452TMPO.ASM 149 : Operand contains unresolvable labels or is too complex
Tar jag bort rad 149 så blir det inga fel.konstigt tycker jag kolla upp instruktionen movf och där står det (f )-->(dest)
Hur gör jag om jag vill läsa in hela byten som finns på PORTA? Måste ju gå tycker jag.Hittar inga exempel på det visserligen, men ändå.
MVH från en Amatör som är på den lärande stigen
Tack på förhand
kodningsproblem
Först, vilken PIC ?
Det finns ledtrådar i ditt inlägg, men varför ska vi behöva gissa ??
> Om jag vill ha in hela 8 bitars värdet som är på ingången i mitt fall port A
MOVF PORTA, W
> movlw B'11111111'
> movwf TRISA
Har du bank korrekt satt ?
> movf PORTA,TEMP
Fungerar inte. Om du vill ha värdet på PORTA -> TEMP får du göra :
MOVF PORTA, W
MOVWF TEMP
PIC18 arkitekturen har en MOVFF instruktion som kan flytta data direkt mellan två register utan att "skriva sönder" W-registret :
MOVFF PORTA, TEMP
Det finns ledtrådar i ditt inlägg, men varför ska vi behöva gissa ??
> Om jag vill ha in hela 8 bitars värdet som är på ingången i mitt fall port A
MOVF PORTA, W
> movlw B'11111111'
> movwf TRISA
Har du bank korrekt satt ?
> movf PORTA,TEMP
Fungerar inte. Om du vill ha värdet på PORTA -> TEMP får du göra :
MOVF PORTA, W
MOVWF TEMP
PIC18 arkitekturen har en MOVFF instruktion som kan flytta data direkt mellan två register utan att "skriva sönder" W-registret :
MOVFF PORTA, TEMP