PORTA på PIC16F628A ligger konstant på 1V??

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Schnegelwerfer
Inlägg: 1863
Blev medlem: 8 november 2004, 13:46:56

PORTA på PIC16F628A ligger konstant på 1V??

Inlägg av Schnegelwerfer »

Hej!
Jag håller på med ett fjärrkontrollprojekt m.h.a. en PIC 16F628A, men nu har jag kört fast!

Kan inte posta något schema just nu, men det viktiga i det här fallet är att jag kopplat RA:7 till basen på en BC547 via en resistor på 640ohm (Emittern på transistorn är kopplad till jord). Kollektorn är kopplad till 2 seriekopplade IR-lysdioder via ett motstånd till 12V.

Mitt problem är att jag alltid får 1V ut på RA:7, även när porten ska vara avstängd! Detta innebär att transistorn börjar leda, och lysdioderna lyser konstant. Fjärrkontrollen fungerar ändå konstigt nog, trots att lysdioderna lyser konstant när ingen kod sänds.

Misstänker att problemet ligger i initieringen av porten på något sätt. Jag har provat med en annan PIC med samma resultat.

Jag är helt färsk på att programmera PIC:ar, så jag tar gärna emot lite tips!

Nedan kommer den väsentliga kodsnutten:


;==========================================================================
; Main Program
;==========================================================================

ORG 0 ;Reset vector address
GOTO RESET ;goto RESET routine when boot.

;---------------------------------------------------
; Interrupt routine here
;---------------------------------------------------
; ORG 4
; RETFIE NYTT AVSNITT



;==========================================================================
; RESET : Main boot routine
;==========================================================================

RESET MOVLW B'00000111' ;Disable Comparator module's
MOVWF CMCON
BSF STATUS,RP0 ;Switch to register bank 1

MOVLW B'11111111' ;Set PIC options
MOVWF OPTION_REG ;Write the OPTION register.
CLRF INTCON ;Disable interrupts
MOVLW B'11111111'
MOVWF TRISB ;RB0-RB7 are inputs.
MOVLW B'01111100' ;RA0, RA1, RA7 ports are outputs
MOVWF TRISA
BCF STATUS,RP0 ;Switch Back to reg. Bank 0
MOVLW 6
MOVWF BITCNT
MOVLW 1
MOVWF TOGGLE
CLRF PORTA
CLRF PORTB
GOTO MAIN


MAIN CLRF LEDTMP
BTFSS PORTB,SW1
CALL SW_ONE
BTFSS PORTB,SW2
CALL SW_TWO
BTFSS PORTB,SW3
CALL SW_THREE
BTFSS PORTB,SW4
CALL SW_FOUR
GOTO MAIN
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Mycket märkligt!
CMCON = 7
är det enda som ska behöva göras specifikt för PIC16F628 :humm:

Har du dubbelkollat så att du satt RA6-7 som I/O-pins istället för OSC-pinnar i brännarprogrammet?
Användarvisningsbild
Schnegelwerfer
Inlägg: 1863
Blev medlem: 8 november 2004, 13:46:56

Inlägg av Schnegelwerfer »

Det ska jag kolla upp!
Ställs det alltå in i brännarprogrammet?
Jag har kollat med oscilloskop att det verligen är en stabil likspänning på utgången, och ingen oscillerande signal.

Ska grotta ner mig i databladet nu!

EDIT: Har följande Config-bitar:
__CONFIG _BODEN_ON & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _INTRC_OSC_NOCLKOUT

Oscillatorn ska ju vara avslagen med denna inställning
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Ja, det ser ut att stämma bra med CONFIG. Så enkelt är alltså inte felet...
Användarvisningsbild
Schnegelwerfer
Inlägg: 1863
Blev medlem: 8 november 2004, 13:46:56

Inlägg av Schnegelwerfer »

Mätte just upp 1,3V mellan 0V och VSS! Det förklarar ju en del!
Jag har lött ihop allting lite halvfult på ett experimentkort för att testa alltihop, och det straffar sig att slarva! :oops:

Nu är det bara att felsöka det elektriska!
Användarvisningsbild
grapetonix
Inlägg: 293
Blev medlem: 14 juli 2004, 17:20:50
Skype: grapetonix
Ort: Hägersten, Stockholm

Inlägg av grapetonix »

Erm, hur går det där ihop?

Vss är ju beteckningen för Jord, så hur i självaste fåglum kan du mäta upp 1.3V mellan jord och jord? :oops:
danei
EF Sponsor
Inlägg: 26424
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Han har lyckat koppla Vss till något som inte är jord. Det går att lyckas med saker man inte trodde var möjliga förän man gort det.
evert2
Inlägg: 2182
Blev medlem: 18 april 2004, 22:47:56
Ort: Jönköping

Inlägg av evert2 »

:oops: ...så sant....
Användarvisningsbild
Schnegelwerfer
Inlägg: 1863
Blev medlem: 8 november 2004, 13:46:56

Inlägg av Schnegelwerfer »

Liten uppdatering för att stilla er nyfikenhet: :)

En liten virtråd som jag lött från 0V till VSS hade lossnat, därav de märkliga mätvärdena. Nu funkar allting perfekt, även SLEEP mode.

Fjärren drar 4uA i standby, mesta läckströmmen dras av en spänningsregulator som tar ner +12V till 5V.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Kalas!
Men bilderna då? :wink:
Användarvisningsbild
Schnegelwerfer
Inlägg: 1863
Blev medlem: 8 november 2004, 13:46:56

Inlägg av Schnegelwerfer »

Hehe.. det är nog dags att skaffa den där digitalkameran snart! :)
Skriv svar