Autor Tema: 12F675: Problemas con el puerto  (Leído 2908 veces)

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

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
12F675: Problemas con el puerto
« en: 04 de Diciembre de 2007, 12:06:07 »
Hola amigos!

Sigo haciendo pruebas con el CCS, y me acabo de topar con el pic 12F675. Tengo un pequeño programa que deberia encender un LED y/o rele cuando uno de los pines se pone en alto.
Pero a pesar de no tener errores de sintaxis (se compila sin errores ni warnings), al simular el HEX con el PIC SIMULATOR IDE, solo ejecuta cinco instrucciones ASM y finaliza el programa.

Si les posteo el codigo....¿me harian el favor de ver que está mal?
¿Puedo estar liado con el tema de los comparadores/adc del puerto A?

Este es el codigo:

Código: [Seleccionar]
#include <12F675.h>
#fuses INTRC_IO,NOWDT
#use delay(clock=4000000)

int16 CuentoTMarcha=0;
int16 CuentoTDemora=0;

//#use fast_io(A)


#BYTE PuertoPIC = 0x05
#bit  LLAVE     = PuertoPIC.5
#bit  LED       = PuertoPIC.1
#bit  RELE      = PuertoPIC.0

void main()
{
   setup_adc_ports(NO_ANALOGS);
   set_tris_a(0x34);
   //-Fijo las condiciones iniciales
   RELE = 0;
   LED = 1;
   delay_ms(4);
   LED=0;
   
   
   while (TRUE) { //Bucle principal: se repite continuamente
      while (LLAVE == 0) {   
         //Espero
      }
     
      //Llave activada...
      CuentoTMarcha=0;
      RELE = 1;
      while (LLAVE == 1){   
         delay_ms (3); //1000
         CuentoTMarcha++;
      }
     
      //Llave apagada, v
      If (CuentoTMarcha > 6) {
         //Espero
         CuentoTDemora=0;
         LED = 1;
         
         for (CuentoTDemora=1;CuentoTDemora<4;CuentoTDemora++) { //120: Dos minutos
            delay_ms (3); //1000
            LED = !LED;
             }
         LED=0;
         RELE=0;
            }
   }
}
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado dhmejia

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 260
Re: 12F675: Problemas con el puerto
« Respuesta #1 en: 04 de Diciembre de 2007, 13:07:57 »
Yo uso mucho ese mismo PIC y nunca he tenido problemas, lo que veo es que si te falta dehabilitar los comparadores:

Código: C
  1. setup_comparator(NC_NC);
  2. setup_vref(FALSE);

Saludos
Pereira - Colombia

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: 12F675: Problemas con el puerto
« Respuesta #2 en: 04 de Diciembre de 2007, 13:18:08 »
Hola amigo!
Gracias por el dato.

Pero sigue haciendome lo mismo......grrrr!!!!!!!  :5]
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado dhmejia

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 260
Re: 12F675: Problemas con el puerto
« Respuesta #3 en: 04 de Diciembre de 2007, 14:46:16 »
Que raro, no uso el PIC simluator IDE pero en el MPLAB SIM ejecuta todo el código sin problemas.  No será algo con el watch dog timer en el simulador??
Pereira - Colombia

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: 12F675: Problemas con el puerto
« Respuesta #4 en: 04 de Diciembre de 2007, 14:57:55 »
Claro, es posible que sea un tema del simulador! :(

En este rato, escribir el mismo programita en BASIC y lo simulo bien, pero claro, eso no quiere decir nada...el HEX resultante hace lo mismo pero obviamente eso no significa que sean iguales.

Gracias por tu ayuda.

Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: 12F675: Problemas con el puerto
« Respuesta #5 en: 04 de Diciembre de 2007, 15:00:37 »
lo acabo de simular en preoteus y si hace sus movidas que estan en programa, aunque el proteus me arrojo la advertencia de que no tiene modelo para el registro OSCCAL, sin embargo le puse 4MHz y corrio sin problemas, debe ser nomas el simulador. saludos.
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: 12F675: Problemas con el puerto
« Respuesta #6 en: 04 de Diciembre de 2007, 15:26:26 »
Buenisimo, mil gracias!
En un rato deberia terminar la placa donde va a ir montado (con la version completa del programa), y ahi nos vamos a sacar la duda!

No me gustaba nada tener que volver al Basic. :) Pero como era la primera vez que intentaba programar un PIC que en lugar de "PORT" tiene "GPIO", me llene de dudas.

Muchas gracias!
Ariel.
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert