hur koppla fototransistor till PIC16f690?
Re: hur koppla fototransistor till PIC16f690?
Får du inga varningar för "kod i pos 0" eller liknande ?
Re: hur koppla fototransistor till PIC16f690?
Så här ser det när jag bygger. Vilka varningar behöver jag bry mig om?
"Register in operand not in bank 0" Känns inte bra. Har det med banksel att göra?
"Register in operand not in bank 0" Känns inte bra. Har det med banksel att göra?
Executing: "C:\Program\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F690 "test.asm" /l"test.lst" /e"test.err" /d__DEBUG=1
Warning[205] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 6 : Found directive in column 1. (BANKSEL)
Warning[203] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 7 : Found opcode in column 1. (CLRF)
Warning[205] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 8 : Found directive in column 1. (BANKSEL)
Warning[203] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 9 : Found opcode in column 1. (CLRF)
Message[302] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 9 : Register in operand not in bank 0. Ensure that bank bits are correct.
Warning[205] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 10 : Found directive in column 1. (BANKSEL)
Warning[203] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 11 : Found opcode in column 1. (CLRF)
Message[302] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 11 : Register in operand not in bank 0. Ensure that bank bits are correct.
Warning[203] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 12 : Found opcode in column 1. (MOVLW)
Warning[203] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 13 : Found opcode in column 1. (MOVWF)
Message[302] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 13 : Register in operand not in bank 0. Ensure that bank bits are correct.
Warning[205] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 14 : Found directive in column 1. (BANKSEL)
Warning[203] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 15 : Found opcode in column 1. (CLRF)
Warning[205] C:\DOCUMENTS AND SETTINGS\MATTIAS\MINA DOKUMENT\TEST.ASM 24 : Found directive in column 1. (end)
Loaded C:\Documents and Settings\Mattias\Mina dokument\test.cod.
----------------------------------------------------------------------
Debug build of project `C:\Documents and Settings\Mattias\Mina dokument\test.mcp' succeeded.
Preprocessor symbol `__DEBUG' is defined.
Re: hur koppla fototransistor till PIC16f690?
302 är ett vanligt meddelande och kan oftast struntas i. Lägg till en "errorlevel -302" längst upp i koden så slipper du det i framtiden.
De andra varningarna om att du har kod i kolumn 1 är enkla att fixa med lite space, och du rekommenderas att göra det för läsbarhetens skull.
De andra varningarna om att du har kod i kolumn 1 är enkla att fixa med lite space, och du rekommenderas att göra det för läsbarhetens skull.
Re: hur koppla fototransistor till PIC16f690?
> Vilka varningar behöver jag bry mig om?
Alla. (Varför skulle du inte bry dig om dom ?)
> "Register in operand not in bank 0" Känns inte bra.
Precis tvärtom, det är det som du kan bry dig minst om.
Det är bara ett meddelande, ingen varning...
Alla. (Varför skulle du inte bry dig om dom ?)
> "Register in operand not in bank 0" Känns inte bra.
Precis tvärtom, det är det som du kan bry dig minst om.

Det är bara ett meddelande, ingen varning...
Re: hur koppla fototransistor till PIC16f690?
CLRF ANSEL
Gör det alla input-pinnar digitala (PORTA, PORTB, PORTC)?
Hur skriver jag för att bara göra t.ex RA2 digital?
Gör det alla input-pinnar digitala (PORTA, PORTB, PORTC)?
Hur skriver jag för att bara göra t.ex RA2 digital?
Re: hur koppla fototransistor till PIC16f690?
> CLRF ANSEL
> Gör det alla input-pinnar digitala (PORTA, PORTB, PORTC)?
Nej, varför tror du det ?
> Hur skriver jag för att bara göra t.ex RA2 digital?
Se dokumentationen för ANSEL.
(Och kodexempel 9-1).
> Gör det alla input-pinnar digitala (PORTA, PORTB, PORTC)?
Nej, varför tror du det ?
> Hur skriver jag för att bara göra t.ex RA2 digital?
Se dokumentationen för ANSEL.
(Och kodexempel 9-1).
Re: hur koppla fototransistor till PIC16f690?
Jag må vara trög men vad betyder då CLRF ANSEL i detta fall?
Och detta: Är det för att PORTA<0> är satt som input just före?
Kod: Markera allt
BCF STATUS,RP0 ;Bank 0
BCF STATUS,RP1 ;
CLRF PORTA ;Init PORTA
BSF STATUS,RP1 ;Bank 2
CLRF ANSEL ;digital I/O
BSF STATUS,RP0 ;Bank 1
BCF STATUS,RP1 ;
MOVLW 0Ch ;Set RA<3:2> as inputs
MOVWF TRISA ;and set RA<5:4,1:0>
;as outputs
BCF STATUS,RP0 ;Bank 0
Kod: Markera allt
BCF STATUS,RP0 ;Bank 0
BCF STATUS,RP1 ;
BSF PORTA,0 ;Set RA0 data latch
BSF STATUS,RP1 ;Bank 2
BCF ANSEL,0 ;RA0 to digital I/O
Re: hur koppla fototransistor till PIC16f690?
> ...men vad betyder då CLRF ANSEL i detta fall?
"CLRF ANSEL" betyder att de pinnar som styrs av just *ANSEL* blir digitala.
Övriga pinnar med analoga funtioner styrs av ANSELH. Du frågade om *alla*
pinnar blir digitala med "CLRF ANSEL" och svaret är alltså fortafande "nej".
Men det är ju ganska tydligt på sidan där ANSEL och ANSELH beskrivs.
Det står exakt vilka AN-pinnar som ANSEL respektive ANSELH kontrollerar.
Sidorna 60 och 61 i databladet.
> Och detta: Är det för att PORTA<0> är satt som input just före?
> BCF ANSEL,0 ;RA0 to digital I/O
Det de gör är att göra RA0/AN0 till digital input (alltså precis som kommenteren säger).
Jag är osäker på var koden är tagen ifrån, så det går inte att säga mer om det.
"CLRF ANSEL" betyder att de pinnar som styrs av just *ANSEL* blir digitala.
Övriga pinnar med analoga funtioner styrs av ANSELH. Du frågade om *alla*
pinnar blir digitala med "CLRF ANSEL" och svaret är alltså fortafande "nej".
Men det är ju ganska tydligt på sidan där ANSEL och ANSELH beskrivs.
Det står exakt vilka AN-pinnar som ANSEL respektive ANSELH kontrollerar.
Sidorna 60 och 61 i databladet.
> Och detta: Är det för att PORTA<0> är satt som input just före?
> BCF ANSEL,0 ;RA0 to digital I/O
Det de gör är att göra RA0/AN0 till digital input (alltså precis som kommenteren säger).
Jag är osäker på var koden är tagen ifrån, så det går inte att säga mer om det.