TODOPIC
Simuladores, editores de PCB, etc => Simuladores de circuitos => Proteus ISIS => Mensaje iniciado por: elreypic2 en 17 de Septiembre de 2012, 14:56:10
-
Saludos a todos los foreros de todopic,
Tengo el siguiente problema, he querido simular el PIC12F629 con el oscilador interno, pero con el CLKOUT pin habilitado. Segun las hojas de datos la salida del clock deberia ser Fosc/4, esto queire decir que la señal de clock en ese pin debería ser de 1MHz, ya que el oscilador interno es de 4 MHz. Pero en la simulacion no aparece esa señal, de hecho el pin aparece como si fuera de alta impedancia (pin de entrada). Alguien conoce el problema y la solucion?
Elreypic.
-
Con que compilador lo estas programando, y que version ??
-
El codigo final es en ensamblador. Pero estoy haciendo pruebas con PBPX 3.0.6.4
Este es el codigo de prueba en PBP, en realidad lo que me importa es la salida del CLKOUT en el simulador.
DEFINE OSCCAL_1K 1
#CONFIG
__CONFIG _CP_ON & _WDT_OFF & _MCLRE_OFF & _INTRC_OSC_CLKOUT & _PWRTE_ON & _BOREN_OFF
#ENDCONFIG
CMCON = 7
TRISIO = %11111110
INI: HIGH GPIO.0
PAUSE 500
LOW GPIO.0
PAUSE 500
GOTO INI
En la simulacion se ve claro cuando el pin GPIO cambia de estado cada medio segundo pero en el pin del CLKOUT no hay nada.
Saludos.
Elreypic
-
La incoherencia esta en como configuras los pines, el unico que estas configurando como salida es GPIO.0 y el de clock deberia ser salida tambien. ;-) ;-)
-
Gracias MGLSOFT por responder, pero sigue igual,
Ya he cambiado el pin a salida y no tengo la señal del clock en el pin CLKOUT. Aquí el código:
DEFINE OSCCAL_1K 1
#CONFIG
__CONFIG _CP_ON & _WDT_OFF & _MCLRE_OFF & _INTRC_OSC_CLKOUT & _PWRTE_ON & _BOREN_OFF
#ENDCONFIG
CMCON = 7
TRISIO = %11101110
INI: HIGH GPIO.0
PAUSE 500
LOW GPIO.0
PAUSE 500
GOTO INI
Saludos,
Elreypic.
-
Porque no los pones a todos como salida??
Y pruebas...
Suena tonto pero tiene un sustento, si miras la pagina 20 de la hoja de datos de ese PIC, los pull-up estan habilitados por defecto, hay que escribir en el registro para deshabilitarlos. La otra forma es poner todos como salidas... :mrgreen:
Ademas si ves la pagina 24, muestra todas las opciones que pueden impedir que tu pin saque la señal como corresponde...
-
Ya lo hice también y nada. Por supuesto que el pin GPIO.3 no puede ser de salida ya que es un pin de solo entrada. Pero de cualquier forma sigue igual, no hay señal en el CLKOUT.
Saludos,
Elreypic.
-
Si tienes el software Winpic800 (no importa si tienes o no un programador conectado) puedes cargar el hex generado y leer como puso los bits de configuracion, hace poco a mi me volvio loco la configuracion que no cambiaba y permanecia igual, sin importar como estaba todo...
-
Los bits de configuración si son configurados correctamente. Cargue el hex en el MPLAB y claramente aparece que el oscilador esta configurado con oscilador interno y CLKOUT function on GP4.
También ya probé cambiando el valor del program configuration word a 0x3105 directamente en las propiedades del PIC12F629 en el simulador ISIS, pero nada. Sigue sin salir la señal en el simulador.
Saludos,
elreypic
-
Puedes poner una imagen de pantalla del Isis , a ver si vemos algo raro ??
-
Es capaz de simular eso? Como la entrada del cristal no la simula puede que eso tampoco :roll:
-
Aquí la imagen en un archivo pdf.
Elreypic.
-
No tienes forma de ponerla en una sola hoja?? igual en pdf se puede agrandar para ver bien..
Esto de andar componiendola se pone bravo.. :D :D
-
Veamos si ahora si.
Elreypic
-
No se ve casi nada, es un registro de desplazamiento lo que hay en medio??
Porque no conectas el osciloscopio directo al pin??
-
Creo que Suky tiene razón. Proteus no puede simular el micro en esa forma. Y intenté todo y no hay salida en el pin CLKOUT. Voy a tener que hacer la prueba en el circuito real.
Ya les contaré como me fue.
Saludos.
elreypic
-
Pues lo he probado en un circuito real y si funciona. Así que la conclusión es que Proteus no puede simular ese modo.
Saludos,
Elreypic.