Sida 1 av 1

Får inte till flera input pinnar till PIC16F690 (pikkit2)

Postat: 16 juli 2009, 22:59:56
av necksnapper
Hejsan,
Jag köpte PICkit2 för en vecka sedan för att kontrollera några RGB Power leds jag beställt av MrMister.
Jag har fått till outputen så jag kan visa vilken färg jag vill, men jag behöver minst tre input pinnar också för att välja färg. RA3 (som PICkit2s switch använder) är inga problem, och inte heller RA5, men resten vägrar funka, vad gör jag för fel???

Jag har kladdat ihop följande kod för att komma fram till vad som är problemet:

Kod: Markera allt


#include <p16F690.inc>
     __config (_INTRC_OSC_NOCLKOUT &  _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF )

     cblock     0x20
;no variables needed in this example 
     endc

     org 0
Start:
    bsf       STATUS,RP0          ; select Register Page 1
    movlw     0xFF
    movwf     TRISA               ; Make PortA all input
    clrf       TRISC               ; Make PortC all output
    bcf       STATUS,RP0          ; back to Register Page 0

    ;<fix>
    BSF STATUS,RP1 ;Bank 2
    CLRF ANSEL ;digital I/O
    BSF STATUS,RP0 ;Bank 1
   ;</fix>

clrf	PORTA

TestLoop:
	
	btfss	PORTA,3            
	bsf	PORTC,0
	btfss	PORTA,4          
	bsf	PORTC,1
	btfss	PORTA,5             
	bsf	PORTC,2
	btfsc	PORTA,3             
	bcf	PORTC,0
	btfsc	PORTA,4             
	bcf	PORTC,1
	btfsc	PORTA,5           
	bcf	PORTC,2

	goto	TestLoop
Jag tänder alltså dioderna när jag trycker ner knapparna och släcker igen när jag släpper, det som inte funkar är att dioden på RC1 är tänd helatiden. Jag antar att RA4 alltid är 1.

Jag har även försökt få till alla andra pinnar till input istället för RA4, men det är bar RA3 och RA5 som funkar.

__config() raden har jag inte förstått mig på riktigt än, jag misstänker att felet ligger där.

Jag hoppas det inte blev för mycket babbel och någon orkar svara, det är väl säkert nåt jätteenkelt jag missat misstänker jag! Databladet har jag hittat och läst men kanske inte förstått allt ännu! så om ni hänvisar till det förklara gärna vad jag gör fel iaf.

Tack på förhand!
/Tomas

Re: Får inte till flera input pinnar till PIC16F690 (pikkit2)

Postat: 16 juli 2009, 23:16:38
av v-g
Har du kontrollerat att de analoga funktionerna är avstängda ;)

Kolla tex på sidan 68 i databladet så ser du vilka register som är associerade med portA. Finns likadant register efter varje port.

Välkommen till forumet!

Re: Får inte till flera input pinnar till PIC16F690 (pikkit2)

Postat: 16 juli 2009, 23:43:29
av necksnapper
Tackar! det hjälpte!

Re: Får inte till flera input pinnar till PIC16F690 (pikkit2)

Postat: 16 juli 2009, 23:51:37
av v-g
Varsågod! :glasogon: