TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: xxopiumxx en 08 de Abril de 2014, 10:55:14

Título: Problema con pulsador
Publicado por: xxopiumxx en 08 de Abril de 2014, 10:55:14
qué tal gente,

tengo un problema muy tonto. agregue un boton a un proyecto y no puedo hacer que ande. hace 40' que estoy
probando por todos lados, asique mejor pregunto antes de que prenda fuego todo.

el boton es:

RC0---------2.2uf---GND
     |
      -----1kohm---PULSADOR----GND
     |
     ------10kohm----VCC
Código: [Seleccionar]
//PIC18F2550 MPLAB 9.92//
TRISCbits.TRISC0=1;
TRISAbits.TRISA4=0;
PORTAbits.RA4=0;

while(TRUE){
    if(LATCbits.LATC0==0){
        PORTAbits.RA4=1;
    }
}

como ven es extremadamente simple. empipezo con RA4 en bajo y si lee aunque sea una vez el cambio de estado en RC0 pasa a alto.
nada más simple. pero no nada. lo probé en distintos pines y es lo mismo.
me estoy comiendo algún seteo de configuración de los pines analógicos?

saludos.
Título: Re: Problema con pulsador
Publicado por: nico en 08 de Abril de 2014, 13:48:59
Buenas, así como esta conectado tiene un "1" constante mientras el pulsador esta abierto a traves de R10K y es un divisor resistivo entre R10 K y R1K cuando el pulsador esta cerrado, una vez cerrado el valor de VRC0 es R2/R1+R2 x Vin= 0.45 Volts, tal vez si retiras la R1K anda, pues logra un cero absoluto a traves del pulsador. No recuerdo en esta gama de micros a partir de que tensión considera 0 volts la entrada.
No entiendo bien que hace el capacitor, ya que si pulsador abierto VCC constante y capacitor cargado, y si pulsador cerrado se descarga a traves de R1k el capacitor, pero si buscamos un cero no sería necesario.
En fin, tu sabras que hace en tu circuito.

Saludos.
Nico.
Título: Re: Problema con pulsador
Publicado por: AngelGris en 08 de Abril de 2014, 16:03:42
Los registros LAT son para manejar la salida, para manejar la entrada tienes que usar los registros PORT, en tu caso PORTCbits.RC0
Título: Re: Problema con pulsador
Publicado por: xxopiumxx en 08 de Abril de 2014, 23:02:27
Buenas, así como esta conectado tiene un "1" constante mientras el pulsador esta abierto a traves de R10K y es un divisor resistivo entre R10 K y R1K cuando el pulsador esta cerrado, una vez cerrado el valor de VRC0 es R2/R1+R2 x Vin= 0.45 Volts, tal vez si retiras la R1K anda, pues logra un cero absoluto a traves del pulsador. No recuerdo en esta gama de micros a partir de que tensión considera 0 volts la entrada.
No entiendo bien que hace el capacitor, ya que si pulsador abierto VCC constante y capacitor cargado, y si pulsador cerrado se descarga a traves de R1k el capacitor, pero si buscamos un cero no sería necesario.
En fin, tu sabras que hace en tu circuito.

Saludos.
Nico.

voy a probar lo de la resistencia, pero me suena a que es el compilador. el capacitor es aunti-boucing no mas.