Hola Mauricio:
Yo cargaba el valor del osccal de una forma mas burda, esto es modificando directamente el archivo en Winpic800:
justo en la ultima posicion, donde dice 3440.
Sabia que no debo cambiar los dos primeros digitos (34), solo modificaba los ultimos digitos. Como es obvio, no es la mejor manera de hacerlo, por lo cual lo hice como indicas y con esto he logrado obtener un error menor a ±1%. Gracias por el dato.
Hay algo que me sigue molestando, he cargado el valor de la calibracion mediante el siguiente programa:
LIST P=12F675,
#include <p12f675.inc>
__CONFIG h'11A5' ; _CP_OFF&_PROTECT_OFF&_BOD_OFF&_MCLR_ON&_PWRTE_ON&_WDT_OFF&INTRC_OSC_CLKOUT
org 0x000
bsf STATUS,RP0 ;Banco 1
call 0x3FF
movwf OSCCAL
bcf STATUS,RP0 ;Banco 0
org 0x3FF
retlw 0x04
END
y segun tengo entendido una vez cargado este valor de calibracion, el PIC seria el equivalente a uno de fabrica. Luego siempre antes de grabarlo hay que leer este valor antes de grabar de nuevo el PIC.
Me pasa que luego de haber calibrado el PIC y posteriormente grabar el siguiente programa:
include "modedefs.bas"
@ device pic12F675, CPD_OFF
@ device pic12F675, PROTECT_OFF
@ device pic12F675, BOD_OFF
@ device pic12F675, MCLR_ON
@ device pic12F675, PWRT_ON
@ device pic12F675, WDT_OFF
@ device pic12F675, INTRC_OSC_NOCLKOUT
DEFINE OSC 4 'Oscillator speed in MHz
ADCON0 = 0
ANSEL = 0 ' Disable analog converter
CMCON = 7 ' Comparators off
TRISIO = %011111
dato var byte
inicio:
if GPIO.0 = 0 then serout GPIO.5,T1200,["OK"," QUE PASEN "]
if GPIO.1 = 0 then serout GPIO.5,T1200,["OK","FELICES FIESTAS"]
if GPIO.2 = 0 then serout GPIO.5,T1200,["OK"," Y UN PROSPERO "]
if GPIO.4 = 0 then serout GPIO.5,T1200,["OK"," 2007 "]
pause 50
goto inicio
end
he verificado que el valor de calibracion esta en la ultima posicion, pero el programa sigue sin funcionar, el mismo programa adaptado para el 12F508 y el 12F683 funciona perfectamente. El diagrama es el del primer post.
Lo unico que puedo suponer es que o los pics estan mal o me los he "cargado" con alguna mala coneccion. Que opinan.
Saludos