Autor Tema: Desesperado, casi, con el 12F629  (Leído 10469 veces)

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

Desconectado Tosbar

  • PIC10
  • *
  • Mensajes: 17
Desesperado, casi, con el 12F629
« en: 13 de Agosto de 2008, 17:57:47 »
Comunidad del foro,

Llevo ya algun tiempo aqui en el foro leyendo hilos y he recibido bastante ayuda leyendolos  :), pero esta vez no he podido solucionar mi problema (muy sencillo creo) y es por ello que les pido de su apoyo.

Les comento asi brevemente que he trabajando con el PIC16F628, el CCS y Proteus y hasta ahora no he tenido problemas con estos pero resulta que llevo ya varios dias peleandome con el PIC12F629 y no he podido hacer ni siquiera que prenda un led, el codigo siguiente lo he tomado de un hilo de aqui del foro, que al parecer al colega que lo posteo le funcionó pero ami no  :(:

Código: [Seleccionar]
#include <12F629.h>

#fuses NOWDT,NOPROTECT,NOCPD,NOMCLR,NOPUT,INTRC_IO,NOBROWNOUT
#use delay(clock=4000000)

void main() {

  set_tris_a(0);           //// declaramos el puerto como salidas
  OUTPUT_A(0x00);

   do{           //// bucle infinito
  OUTPUT_A(0x00);
  delay_ms(100);
  OUTPUT_A(0xFF);//// apaga todos los pins del puerto
  delay_ms(100);

     }
   while (true);       
}

Lo compilo en CCS 4.023 y no me marca ni errores ni warnings, voy al Proteus 6.7 SP3 (les pongo las versiones por si es algo referente eso) cargo el programa al pic y NADA  :?, simplemente no muestra signos de vida, por que será? les anexo el archivo de proteus por si alguien me hace el favor de probarlo :lol: y si alguien tiene algun ejemplito asi muy basico que funcione le agradeceria mucho que me lo compartiera para ver en que estoy comentiendo error.

De antemano les agradezco su apoyo y gracias por todo, Saludos.

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Desesperado, casi, con el 12F629
« Respuesta #1 en: 13 de Agosto de 2008, 18:07:25 »
Hola no uso c pero por lo visto usas registros que no le pertenecen a este pic el registro de los pines es TRISIO y para manejarlos es GPIO

Cambia el TRISA a TRISIO=0 y GPIO.0

Saludos
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Desesperado, casi, con el 12F629
« Respuesta #2 en: 13 de Agosto de 2008, 18:13:40 »
Una cosa veo al primer vistazo. Te falta el tipo de oscilador en los fuses. Pónle el XT para el oscilador de 4 Mhz. Prueba y nos cuentas como te resultó.

Código: C#
  1. #fuses XT,NOWDT,NOPROTECT,NOCPD,NOMCLR,NOPUT,INTRC_IO,NOBROWNOUT
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Desesperado, casi, con el 12F629
« Respuesta #3 en: 13 de Agosto de 2008, 18:17:22 »
Compilado con la version 4.074 y sin modificaciones en Proteus, salvo declararle el archivo .hex, funciona de maravillas.
Tienes un parpadeador de 5 leds.... :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Desesperado, casi, con el 12F629
« Respuesta #4 en: 13 de Agosto de 2008, 18:21:55 »
creo que si esta definido maestro:
#fuses XT,NOWDT,NOPROTECT,NOCPD,NOMCLR,NOPUT,INTRC_IO,NOBROWNOUT

intenta tb colocar en el clock de esta manera:

#use delay(internal=4M)
#use fast_io(a)

para asegurarse tb deshabilita algunas cosas que no vas a utilizar, antes del bucle infinito como:

setup_comparator(NC_NC_NC_NC);

talvez haya que desactivar los timers más por si acaso
.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Desesperado, casi, con el 12F629
« Respuesta #5 en: 13 de Agosto de 2008, 18:26:57 »
creo que si esta definido maestro:
#fuses XT,NOWDT,NOPROTECT,NOCPD,NOMCLR,NOPUT,INTRC_IO,NOBROWNOUT

Cierto, Cryn, está utilizando el oscilador interno.
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Tosbar

  • PIC10
  • *
  • Mensajes: 17
Re: Desesperado, casi, con el 12F629
« Respuesta #6 en: 14 de Agosto de 2008, 03:31:05 »
Antes que nada, muchas gracias por sus respuestas, les cuento mis avances:

-Respecto a las GPIO me parece que en C les nombraron PIN_A0 - PIN_A5 asi que por ahí no creo que vaya, gracias navaismo de cualquier modo.
-Como ya mencionaron RedPic y Cryn  estoy utilizando (o tratando de utilizar) el oscilador interno
-Me llamo la atencion lo del amigo MGLSOFT sobre que lo compilo en la version 4.074 asi que me di a la tarea de bajar esa version, me costo un poco conseguirla pero la baje, compile, carge en proteus y NADA  :shock: realmente no se porque no lo hace  :(
Este es el codigo con las observaciones que me recomendaron:
Código: [Seleccionar]
#include <12F629.h>

#fuses NOWDT,NOPROTECT,NOCPD,NOMCLR,NOPUT,INTRC_IO,NOBROWNOUT
     
#use delay(internal=4M)
#use fast_io(a)

void main()
{

   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_comparator(NC_NC);
   setup_vref(FALSE);

   // TODO: USER CODE!!
   do{           //// bucle infinito
  OUTPUT_A(0x00);
  delay_ms(100);
  OUTPUT_A(0xFF);//// apaga todos los pins del puerto
  delay_ms(100);

     }
   while (true);   
}


Simule el hex con el PIC Simulator IDE paso a paso y solo se ejecutan unas cuantas instrucciones y solo dura la simulacion 8us, eso pasa tanto con los hex compilados con la version que tenia la 4.032 y la "nueva" 4.074, les pongo las imagenes de las pantallas que capture en esa simulacion para ver si tienen alguna idea.

De ante mano gracias y sigo en la lucha  :lol:

Desconectado Tosbar

  • PIC10
  • *
  • Mensajes: 17
Re: Desesperado, casi, con el 12F629
« Respuesta #7 en: 14 de Agosto de 2008, 03:33:39 »
Estas son las siguientes capturas...

Desconectado Tosbar

  • PIC10
  • *
  • Mensajes: 17
Re: Desesperado, casi, con el 12F629
« Respuesta #8 en: 14 de Agosto de 2008, 03:34:36 »
Y esta la ultima...

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Desesperado, casi, con el 12F629
« Respuesta #9 en: 14 de Agosto de 2008, 04:00:46 »
solo unas observaciones, cuando habras el compilador ccs dale antes de iniciar un programa, al close all, ya que muchas veces compila el programa anterior al que hacemos, y por eso pensamos que ya todo esta barbaro, segundo, el simulator ide, es bueno, pero algo lento en comparacion a un simulador en tiempo real, bueno, te dejo el programa ya funcionando, solo hacia falta configurar el registro tris, saludos

Código: [Seleccionar]
#include <12F629.h>

#fuses NOWDT,NOPROTECT,NOCPD,NOMCLR,NOPUT,INTRC_IO,NOBROWNOUT
     
#use delay(internal=4M)
#use fast_io(a)

void main()
{

   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_comparator(NC_NC);
   setup_vref(FALSE);
   set_tris_a(0x00);
   // TODO: USER CODE!!
   do{           //// bucle infinito
  OUTPUT_A(0x00);
  delay_ms(100);
  OUTPUT_A(0xFF);//// apaga todos los pins del puerto
  delay_ms(100);

     }
   while (true);   
}
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Desesperado, casi, con el 12F629
« Respuesta #10 en: 14 de Agosto de 2008, 11:25:35 »
Hola.

Simule el primer codigo que posteaste y  :-/ :-/ :-/ todo marcha muy bien. Proteus v7.2SP2 y  CCS 4.073.

Saludos
El papel lo aguanta todo

Desconectado Tosbar

  • PIC10
  • *
  • Mensajes: 17
Re: Desesperado, casi, con el 12F629
« Respuesta #11 en: 14 de Agosto de 2008, 13:09:20 »
Coincido que es mejor el simulador en tiempo real solo hice pruebas con el PIC Simulator IDE para ver "lento" como se comportaba el codigo y despues de eso he llegado a la conclusion y estoy casi seguro que algo estoy haciendo mal en la compilación porque ya ustedes pudieron compilar bien y correrlo con la misma version del PCWH. Como les comentaba al principio he compilado para el PIC16F628 y no me habia dado problemas pero quiza estoy omitiendo algo  :lol: asi que aqui pongo los pasos que hago para compilar:

-Abro el PCWH 4.074, cierro los documentos abiertos asi como tambien los proyectos de tal forma que tengo todo cerrado
-Voy a New->Source File y me pide el nombre, le doy "leds"
-Me abre el editor con el archivo que nombre como "leds.c"
-Copio de aca el codigo que me hicieron favor de probar y que esta funcionando, lo pego en el fuente "leds.c".
-Elijo el Menu Compile, y doy click en el icono Compile
-Sale la ventana de compilación donde indica el porcentaje de RAM, ROM ocupado y me indica que no tiene errores ni warnings.
-Segun yo ahi termina el proceso de compilación, se genera el archivo "leds.hex"
-Voy al proteus, elijo al 12F628 con click derecho, luego click izquierdo, le asigno el archivo "leds.hex"
-Doy click al boton de Play para iniciar la animación y NADA...  :(

Hay algo que he omitido para la compilación?  :shock:

Gracias de antemano.

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Desesperado, casi, con el 12F629
« Respuesta #12 en: 14 de Agosto de 2008, 13:40:49 »
Hola leiste el mensaje del amigo scientist?
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Desesperado, casi, con el 12F629
« Respuesta #13 en: 14 de Agosto de 2008, 14:02:38 »
Hola.

El codigo estaba bien desde el primer post. Yo lo que hago es compilar desde el IDE del MPLAB .... hay que tener instalado el plugin. Hice un nuevo proyecto con el Proyect Wizard y asigne el .hex ( o el .cof ) al pic y ya ... corrio bien ... los leds titilaban.

Saludos.
El papel lo aguanta todo

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Desesperado, casi, con el 12F629
« Respuesta #14 en: 14 de Agosto de 2008, 14:08:04 »
creo que la mejor manera de averiguar si funciona tu programa es hacerlo en protoboard, ya que a lo mejor tengas mal instalado el proteus, el programa esta bien, como muchos amigos del foro ya pudieron comprobarlo, al cerrar los programas, me refiero que tienes que hacerlo desde tu barra de tareas, donde esta el icono de la carpetita, saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....