Newsgroup: it.hobby.elettronica.digitale
Titolo: 12f675 oscillatore interno-problema

Ciao a tutti vi scrivo per un problema: uso un 12f675 con oscillatore
interno, quando vado a programmarlo, l'icprog effettua una lettura poi
mi chiede OSCAL=(qualcosa), utilizzare il file 3fffh altrimenti?dopo
alcune prove l'ic prog cambia il messaggio dicendo:"Non è stato
trovato l'oscillator calibration value,vuoi usare i dati dal file 3fffH
altrimenti?" ed il pic sembra non funzionare più anche se posso
continuare a programmarlo....da cosa può dipendere?Grazie

 wrote in message
1133042802....@g47g2000cwa.googlegroups.com...
--------------------------------------------------------------------

--------------------------------------------------------------------
Si tratta del dato di calibrazione della frequenza dell'oscillatore
interno a 4 MHz. E' un numero che viene scritto dalla Microchip
nella memoria flash per fare funzionare il micro esattamente a
4 MHz e in genere varia da chip a chip. Nel datasheet e' spiegato
come usare questo valore.
Il programmatore ti chiede se deve conservare questo dato
o se deve sovrascriverlo con un altro scelto da te.
Normalmente deve essere mantenuto il valore originale.
Se ti capita di cancellarlo per sbaglio, ti conviene non
inizializzare il registro di calibrazione del micro. Il
micro funzionera' senza problemi a una frequenza un po'
piu' bassa dei 4 MHz ma almeno non rischi di farlo oscillare
a una frequenza eccessiva che potrebbe darti malfunzionamenti.

Grazie per la risposta chiara e puntuale, ora ho le idee più chiare.
Ciao.

 continuare a programmarlo....da cosa puň dipendere?Grazie
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

ho letto il D.S. ma non ci ho capito nulla di come si faccia 
Non si fa!
Se leggi attentamente i messaggi sopra (o anche il data sheet)
noterai che č scritto che la calibrazione viene effettuata da
microchip in fabbrica
Quando acquisti il chip e' gią calibrato
Quando lo programmi ti devi quindi semplicemente preoccupare di
copiare il valore di calibrazione per sovrascriverlo con lo stesso (se
ne dovrebbe preoccupare il programmatore stesso)
...io in ogni caso... per evitare problemi di solito lo leggo e lo
scrivo con un pennarello sul chip in modo tale che se inavvertitamente
fosse cancellato, posso sempre ripristinarlo.
Se lo cancelli e non lo hai memorizzato da qualche parte....
č difficle che tu riesca ad ottenere una oscillazione precisa a
4MHz...
non so se possa fare a tentativi... 
non ho mai provato
ne spero di dover provare!
:-)

 :-)
Beh non e' difficile, so che avevo trovato una routine (o forse l'avevo
scritta io? non mi ricordo) che autocalibrava l'oscillatore usando
un riferimento di frequenza esterno applicato ad un pin.
Pero' bisogna ricordarsi che e' pur sempre un oscillatore
libero, anche se bisogna dire molto buono, ma molto piu' instabile
del peggior quarzo che puoi trovare in giro. Per esempio, non
potrai mai fare un orologio con quell'oscillatore per quanto
sia calibrato esattamente perche' basta una variazione di temperatura,
tensione, ecc. per fargli variare la frequenza quel poco che basta per
avere errori di vari minuti al giorno. Ma per la maggior parte degli usi
quell'oscillatore va bene.

 :-)


in maniera da segnarmelo ?
guarda
solitamente non utilizzo questi PIC piccolini e quindi non ricordo
bene la procedura
mi è capitato quisto qualche volta di utilizzarne qualcuno
lessi qualcosa sul data sheet una volta che dovevo programmare un
RF509
ti posso fare un copia ed incolla delle prime righe del mio programma
;**********************************************************************
	ORG     0x3FF             ; processor reset vector
; Internal RC calibration value is placed at location 0x3FF by
Microchip
; as a movlw k, where the k is a literal value.
  movlw	.132	;(0C84) valore trovato nel rfpic 12c509ag finestrato
 
        ORG     0x000             ; coding begins here
 
 
        movwf   OSCCAL     ; update register with factory cal value 
		goto	start
 
;**********************************************************************
come vedi il valore di calibrazione, almeno nel pic che ho utilizzato
io, era scritto in fabbrica nella locazione 0x3FF come un'istruzione
movlw + valore
quindi con il programmatore, prima di fare qualsiasi cosa, ho leffo
tutto il pic vergine e alla fine comariva questo valore che mi sono
copiato
poi se vedi come prima istruzione ho scritto quel valore nella
locazione corretta
dopo ORG 0, cioè all'inizio dell'esecuzione del programma, ho messo
l'istruzione movwf   OSCCAL   perchè il PIC all'accensione esegue
prima l'istruzione movlw + valore
questo signifca che parti con nel registro W il valore di calibrazione
che sposti quindi come prima cosa nel registro dedicato
Io quel pic lo utilizzavo per una comunicazione seriale via radio
e la frequenza dell'oscillatore era abbastanza precisa

 ha scritto nel messaggio
news:dmecln$h87$1...@news.newsland.it...
