porta på pic16f876 lever sitt eget liv

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
mullemeck
Inlägg: 1306
Blev medlem: 27 maj 2003, 23:52:06
Ort: Lund
Kontakt:

porta på pic16f876 lever sitt eget liv

Inlägg av mullemeck »

Hej!

Håller på och ska bygga en liten hastighetsmätare till min gocart.
Använder en PIC16f876 som styr tre 7segs displayer.
Problemet är att nästan hela Porta uppför sig helt mysko.

på porta.3 och 4 har jag knappar som ska läsas av men den får in helt fel värden, och sen så vill den inte göra porta.0 och porta.1 höga samtidigt... en i taget går ganska bra...

fattar inte vad som kan vara felet, kom på idag att de kanske agerar som analoga pinnar och försökte lägga in CMCON = 7 men då tvärvägrade kompilatorn.

nån som har nån idé?

använder PicBasic förresten...
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Vet precis ingenting om picbasic, men jag kan intyga att det här med analoga funktioner på pinnarna kan ge skumma problem. Speciellt när man gör "read-modify-write" på porten (dvs när man ändrar någon/några av bitarna).
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

enligt manualen:Any PICmicro with analog inputs, such as the PIC16C7xx, PIC16F87x and PIC12C67x series devices, will come up in analog mode. You must set them to digital if that is how you intend to use them:

ADCON1 = 7
danei
EF Sponsor
Inlägg: 27419
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

En utgång I port A kan inte läggas hög tror att det är A4.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Just det, stämmer. RA4 är open drain och kan alltå bara "dra" lågt. Den går att använda till vanlig logik ändå om du sätter ett pullup-motstånd men det funkar ju inte så bra till att driva LEDs...
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Jo RA4 är "open drain" eller på vanlig transistorska "open collector". Så den behöver en lagom stor pullup för att fungera som vanlig outport.

Pin RA4 is multiplexed with the Timer0 module clock
input to become the RA4/T0CKI pin. The RA4/T0CKI
pin is a Schmitt Trigger input and an open drain output.
All other PORTA pins have TTL input levels and full
CMOS output drivers.
mullemeck
Inlägg: 1306
Blev medlem: 27 maj 2003, 23:52:06
Ort: Lund
Kontakt:

Inlägg av mullemeck »

okej, ska använda porta.4 till att ta in sensordata så den behöver inte funka som utgång..


ska testa med ADCON1=7 och se om det hjälper...
mullemeck
Inlägg: 1306
Blev medlem: 27 maj 2003, 23:52:06
Ort: Lund
Kontakt:

Inlägg av mullemeck »

såja, med ADCON1 = 7 fungerar de mer normalt.. tack för hjälpen...
Skriv svar