TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: aitopes 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:
#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;
}
}
}
-
Yo uso mucho ese mismo PIC y nunca he tenido problemas, lo que veo es que si te falta dehabilitar los comparadores:
setup_comparator(NC_NC);
setup_vref(FALSE);
Saludos
-
Hola amigo!
Gracias por el dato.
Pero sigue haciendome lo mismo......grrrr!!!!!!! :5]
-
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??
-
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!
-
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.
-
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.