TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: macedo en 19 de Octubre de 2009, 10:19:31
-
Hola, estoy tratando de calibrar el Oscilador interno del 508 pero no quiero ponerlo a mano en el ASM, quiero que sea automatico, o se que el programa vaya a la direccion 0x1FF lea el valor y lo carge al OSCAL, pero se me esta haciendo muy dificil ya que no lo logro que cargue el de fabrica y me lo sobre escribe con distintos valores, esto lo tengo que hacer para no estar leyendo el pic cada vaez que tengo que grabar uno ya que necesito una produccion de cientos de ellos y pierdo mucho tiempo.
esto no sirve ya que el mplab me tira error
CALL 03FFh ; Calibración del Oscilador Interno
MOVWF OSCCAL ; 00h min.freq, 80h stred freq, 0FFh pro max.freq
.
Alguien sabe como ahcerlo, gracias. ;-)
-
hola que tal, me queme mucho la mente para hacer lo mismo, pero ya sali del apuro.
configura el oscal asi, si no te trabaja busca por otro lado, te lo digo porque este 508, lo pone a patinar a uno
LIST P=12F508
INCLUDE "P12F508.INC"
W EQU 0X00
F EQU 0X01
GP0 EQU 0X0A
GP1 EQU 0X0B
DATO1 EQU 0x0C
DATO2 EQU 0x0D
DATO3 EQU 0x0E
CONTA EQU 0X0F
TRISIO EQU 0X10
ORG 1FH
ORG 40H
MOVLW OSCCAL
GOTO INICIO[/color][/font]
-
Gracias lo voy a estar probando
Saludos
-
Gracias capo :-/ es funciona a la perfeccion, te hago uuna pregunta no lo probastes para el 12F629
Saludos
-
Con el 12f629 hemos hecho un proyectito aqui en el foro hace poco y el que lo grabo puso este comenterio, espero que te sirva de algo.
Cita de Ohsielos:
Para los que vayan a grabar un chip de éstos: al programar el micro, primero lo leí para averiguar el valor de calibración situado en la última posición de memoria y lo anoté. Después al cargar el programa hay que ir a esa misma posición y editar lo que haya puesto el programa (normalmente 3FFF) y reponer el valor que puso Microchip.
Así lo he hecho y funciona correcto al 100%, como con el 16F84A.
-
Que tal amigos,
En mi caso les comento cual es mi procedimiento. DEbido a que en la ultima direccion de programa se encuentra grabada la isntruccion MOVLW XX (donde XX es el valor grabado de fabrica por Microchip, este valor es diferente en cada micro, nunca deben borrar o alterar lo que se encuentra en esa direccion). Para el caso del PIC12F509, la ultima direccion de programa es la 511 (1FFh).
Por lo tanto lo que hago es esto. Al inicio del codigo pongo las siguiente instrucciones:
CALL 1FFH
MOVWF OSCCAL
De aqui en adelante va todod tu codigo.
Asi para cualquier micro que se neceite colocar su valor de calibracion al oscilador simplemente se cambia la instruccion CALL a la ultima direccion del micro.
Para el caso del PIC12F629, que es de 1k, entonces seria:
CALL 3FFH
MOVWF OSCAL
Saludos y espero haber ayudado.
Elreypic.
-
Gracias voy a estar probandolo
Saludos :-/