Autor Tema: Problema con PIC16LF873A  (Leído 3330 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado CharlesOne

  • PIC10
  • *
  • Mensajes: 10
Re: Problema con PIC16LF873A
« Respuesta #15 en: 14 de Mayo de 2014, 11:56:23 »
Nada, sigue exactamente igual. He probado leyendo del puerto B, pero no creo que sea ese el problema.

Hay algo en el RA5 que no me deja togglearlo solo ponerlo a 1, y, aun siendo RA5 = 1, el puerto permanece a nivel bajo....

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Problema con PIC16LF873A
« Respuesta #16 en: 14 de Mayo de 2014, 12:14:05 »
Lo mejor que puedes hacer es poner el código de programa y un esquema
así se puede ir descartando problemas
ahora no tengo el datasheet a mano, pero creo que ese pic lleva conversores AD, tienes el pin habilitado como salida digital?
« Última modificación: 14 de Mayo de 2014, 12:30:03 por ppyote »
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado CharlesOne

  • PIC10
  • *
  • Mensajes: 10
Re: Problema con PIC16LF873A
« Respuesta #17 en: 14 de Mayo de 2014, 12:51:46 »
Bueno, no se porque pero no hay duda de que es el modulo comparador el q esta interfiriendo, voy a ver si puedo liberar otro puerto y hacerlo con ese otro.

Gracias por la ayuda!
« Última modificación: 15 de Mayo de 2014, 06:21:41 por CharlesOne »

Desconectado CharlesOne

  • PIC10
  • *
  • Mensajes: 10
Re: Problema con PIC16LF873A
« Respuesta #18 en: 26 de Mayo de 2014, 13:00:09 »
Saludos de nuevo!

Estoy acabando ya el proyecto, pero se me presenta una última dificultad.

Estoy usando el pin RA3 como salida digital para controlar un BJT que actúa de switch.

El caso es que, configuro este pin:
 - TRISA = 0xF1
 - ADCON0 = 0x00
 - ADCON1 = 0x07 // Todo el puerto A como digital.
 - CMCON = 0x36 // RA0-RA3 Entradas analógicas a los comparadores.

En mi código, solamente estoy empleando el comparador 1, en concreto, en el modo de comparación CM2:CM0 = 110, en el que comparo la señal que me entra por RA0, con un voltaje generado internamente y gestionado con CVRCON.

Lo que quiero es que se encienda y se apague ese puerto cada vez que pulso un pulsador. En ISIS, no hay ningún problema, pasa de nivel bajo a nivel alto y viceversa cada vez que pulso el interruptor, sin embargo, cuando construyo el circuito en una protoboard, este puerto pasa de nivel bajo a alto (desde el reset, cuando le pulso la primera vez), pero al volver a pulsar el pulsador, no vuelve a nivel bajo, permanece indefinidamente a nivel alto (hasta que lo reseteo con MCLR).

¿Puede ser de la configuración CM2:CM0 = 110 del registro CMCON?

Si solamente estoy usando el pin RA0 como señal de entrada de tensión, puedo usar RA2 como salida digital?

Muchas gracias !

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Problema con PIC16LF873A
« Respuesta #19 en: 26 de Mayo de 2014, 14:58:15 »
Estas trabajando con los 2 comparadores multiplexados,desde el Pin a0 hasta el a3 están en analógico, así que no puedes
Para tener 2 salidas digitales, a1 y a2 deberás poner a 001 los bits de configuración de los compradores
a4 estará como salida del comparador
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado CharlesOne

  • PIC10
  • *
  • Mensajes: 10
Re: Problema con PIC16LF873A
« Respuesta #20 en: 26 de Mayo de 2014, 17:56:46 »
Es una opcion, el tema es que de los 6 pines del puerto A, necesito comparar una señal senoidal con una tensión de 0 y, tener 3 salidas digitales, entonces el tema es que, o bien configure a 001 o a 110 el comparador (para tener la señal de 0V interna o externa), necesito 3 pines de salidas digitales y, RA4 no puede serlo, con lo cual, necesitaria en este caso RA5, que como postee anteriormente, no puedo tenerla como salida digital a pesar de tener esa configuración en los puertos y cambiando obviamente el correspondiente pin de TRISA a 0.

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Problema con PIC16LF873A
« Respuesta #21 en: 26 de Mayo de 2014, 18:40:53 »
partiendo de la opcion que los bits CM2:CM0 = 110...
has puesto como configuras el pic el puerto A:
- TRISA = 0xF1
 - ADCON0 = 0x00
 - ADCON1 = 0x07 // Todo el puerto A como digital.
 - CMCON = 0x36 // RA0-RA3 Entradas analógicas a los comparadores.

prueba con:

-  TRISA = 0x02              //bit5 como salida digital... igual aqui tenias el problema
 - ADCON0 = 0x00
 - ADCON1 = 0x07 // Todo el puerto A como digital.
 - CMCON = 0x31 // RA0-RA3 Entradas analógicas a los comparadores y A4 como salida vinculada al estado del comparador
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...