hur koppla fototransistor till PIC16f690?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: hur koppla fototransistor till PIC16f690?

Inlägg av sodjan »

Får du inga varningar för "kod i pos 0" eller liknande ?
hatt
Inlägg: 39
Blev medlem: 6 mars 2004, 16:50:31

Re: hur koppla fototransistor till PIC16f690?

Inlägg av hatt »

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?
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.
bos
Inlägg: 2311
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Re: hur koppla fototransistor till PIC16f690?

Inlägg av bos »

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.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: hur koppla fototransistor till PIC16f690?

Inlägg av sodjan »

> 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...
hatt
Inlägg: 39
Blev medlem: 6 mars 2004, 16:50:31

Re: hur koppla fototransistor till PIC16f690?

Inlägg av hatt »

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?
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: hur koppla fototransistor till PIC16f690?

Inlägg av sodjan »

> 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).
hatt
Inlägg: 39
Blev medlem: 6 mars 2004, 16:50:31

Re: hur koppla fototransistor till PIC16f690?

Inlägg av hatt »

Jag må vara trög men vad betyder då CLRF ANSEL i detta fall?

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
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 ;
BSF PORTA,0 ;Set RA0 data latch
BSF STATUS,RP1 ;Bank 2
BCF ANSEL,0 ;RA0 to digital I/O
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: hur koppla fototransistor till PIC16f690?

Inlägg av sodjan »

> ...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.
Skriv svar