Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

16f690 problema lettura stato RA3

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] 16f690 problema lettura stato RA3

Messaggioda Foto UtenteStephano » 28 lug 2008, 23:12

Salve, ho acquistato la demoboard pickit 2 della microchip, però non riesco a gestire il pulsante, ossia il led non viene comandato se il pulsante cambia stato.
Questo è uno dei tanti codici che ho provato ma non funziona, riuscite a dirmi il perché?

Codice: Seleziona tutto
#include<htc.h>
#include"delay.c"     
main(void)
{
   TRISA3 = 1;
   TRISC = 0;
   PORTC = 0;
   ANSEL = 0;
   while(1) {
      DelayMs (25);
         if (RA3==0) PORTC = 1;
         else   PORTC = 0;
                }
}


Grazie
Cordiali Saluti
Avatar utente
Foto UtenteStephano
-2 2
 
Messaggi: 10
Iscritto il: 28 lug 2008, 23:07

0
voti

[2] Re: 16f690 problema lettura stato RA3

Messaggioda Foto UtentePaolino » 29 lug 2008, 9:39

Prova con
Codice: Seleziona tutto
TRISA = 8;

In questo modo dici che RA3 (e solo quella pin della porta A) è posto in input.
In alternativa, in base binaria:

Codice: Seleziona tutto
TRISA = 00001000b;


Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[3] Re: 16f690 problema lettura stato RA3

Messaggioda Foto UtenteStephano » 29 lug 2008, 13:01

Niente da fare, saranno i resistori di pull up, come si settano?
Avatar utente
Foto UtenteStephano
-2 2
 
Messaggi: 10
Iscritto il: 28 lug 2008, 23:07

0
voti

[4] Re: 16f690 problema lettura stato RA3

Messaggioda Foto Utenteaduri » 29 lug 2008, 13:19

Dipende dalla logica; per esempio: se il pin RB7 del PIC e'a stato logico 1,
se lo riferisci a massa presenta 5 volt ma, se viene riferito al positivo
dell'alimentatore, esso ha stato logico di 0 (tra il + e il - quindi 0 volt).
Io uso resistenze di pull-up da 1Kohm.
Avatar utente
Foto Utenteaduri
435 1 5 10
Expert
Expert
 
Messaggi: 937
Iscritto il: 29 giu 2005, 23:13
Località: Genova

0
voti

[5] Re: 16f690 problema lettura stato RA3

Messaggioda Foto UtentePaolino » 29 lug 2008, 13:32

Ma hai guardato il datasheet? A pagina 60 trovi le indicazioni sui pull-up. Il documento dice proprio che la porta RA3 non ha pull-up interno:
4.2.2 WEAK PULL-UPS
Each of the PORTA pins, except RA3, has an
individually configurable internal weak pull-up. Control
bits WPUAx enable or disable each pull-up. Refer to
Register 4-4. Each weak pull-up is automatically turned
off when the port pin is configured as an output. The
pull-ups are disabled on a Power-on Reset by the
RABPU bit of the OPTION register. A weak pull-up is
automatically enabled for RA3 when configured as
MCLR and disabled when RA3 is an I/O. There is no
software control of the MCLR pull-up.

Ti consiglio pertanto di porre un pull-up esterno. Io li uso da 10k, normalmente. Da 1k il consumo di corrente è eccessivo, secondo me.

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)


Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti