Sida 1 av 1

porta på pic16f876 lever sitt eget liv

Postat: 14 maj 2004, 16:20:50
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...

Postat: 14 maj 2004, 16:27:26
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).

Postat: 14 maj 2004, 16:35:28
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

Postat: 14 maj 2004, 16:43:52
av danei
En utgång I port A kan inte läggas hög tror att det är A4.

Postat: 14 maj 2004, 17:45:53
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...

Postat: 14 maj 2004, 17:47:55
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.

Postat: 14 maj 2004, 17:51:11
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...

Postat: 14 maj 2004, 18:08:17
av mullemeck
såja, med ADCON1 = 7 fungerar de mer normalt.. tack för hjälpen...