Problema con risuonatore per PIC

Ciao a tutti. Scusate la mia ignoranza in materia, ma ho un piccolo problema.....

Ho costruito un circuitino utilizzante un PIC 16F876A, sfruttando uno schema ed un programmino che ho trovato in rete.

Montato tutto, programmato tutto, lo provo e non va....

OK.... non sono elettronico e si vede.... -_-'

Comunque, mi rimetto su, testo tutti i contatti, riprogrammo, mi assicuro dei fuses, eccetera... Niente...

Allora provo a vedere se c'è qualche problema di fondo... In pratica faccio qualche modifica al circuito e collego un LED ad un uscita della porta B e mi scrivo un piccolo programma che accende e spegne il led....

Neanche sta volta va.

Insomma, per farla breve, prova e riprova, cambia e ricambia, alla fine casualmente tocco con un dito uno dei pin dell'oscillatore.... il pin 9. A quel punto il LED si accende e si spegne come doveva fare.... O_o'

Tolgo il dito, dopo quasi un secondo il LED si spegne e resta spento...

ritocco e il circuito riprende a funzionare....

allora controllo la stagnatura, sembra tutto ok. provo a collegare al volo dei condensatori diversi, ma niente. funziona solo col mio dito attaccato.....

per la cronaca, il quarzo utilizzato e da 22.1184 Mhz (nn ho trovato quello da 20....) e i due condensatori ceramici sono da 33pF (come da schema, che però usava un 20Mhz).

qualche idea ? vado a lourdes o faccio esorcizzare il pic ?

-_-'

grazie mille a chi vorrà rispondermi.

ciao ^_^

Reply to
Cristiano Casadei
Loading thread data ...

"Cristiano Casadei" ha scritto nel messaggio

Prova con un quarzo meno veloce, puo' darsi che il pic non riesca a sopportare l'overclocking.

Ciao Celso

.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.

pagina d'elettronica:

formatting link
`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.

----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==----

formatting link
The #1 Newsgroup Service in the World! 120,000+ Newsgroups

----= East and West-Coast Server Farms - Total Privacy via Encryption =----

Reply to
Celsius

Cristiano Casadei ha scritto:

lo

Oltre al consiglio dato sopra di usare un quarzo che rientri nelle specifiche del chip (il massimo =E8 20MHz), mi vengono in mente due cose:

-tieni i collegamenti corti tra i piedini del PIC ed il quarzo e con i condensatori, i quali devono essere messi su una massa "pulita"

-sei sicuro di avere scelto il tipo di oscillatore corretto quando hai programmato il PIC? Se hai scelto involontariamente un oscillatore RC ed hai montato un quarzo, =E8 normale che il tutto non oscilli. E' una banalit=E0, ma =E8 un errore molto comune.

Buona fortuna.

Reply to
Darwin

grazie ad entrambi (mi sa che a Celsius ho risposto in privato per errore.... -_-' .... sorry....)

come oscillatore ho scelto HS (che dovrebbe significare External High Speed, se nn vado errato). Ed ho disabilitato il watch dog.

però facendo altre prove, ho qualche dubbio a riguardo della programmazione dei fuses.....

mi spiego. ho modificato ancora il programmino ed il led doveva rimanere costantemente acceso. invece ho notato che circa dopo un secondo, fa un leggero blink.

suppongo che il pic si resetti...... a questo punto potrebbe essere il watchdog attivo...

ma ho controllato e da ICProg l'ho disattivato!

quindi, mi sorge il dubbio che non riesca a programmare i fuses.... come posso controllarlo ???

Reply to
Cristiano Casadei

come non detto!

ho ricontrollato e i fuses sono ok.

ho cambiato il quarzo con uno da 8Mhz.

stessa cosa.

devo toccare il pin 9 col dito...........

proverò a rifare i contatti in quella zona. forse sono troppo distanti o forse sono fatti non troppo puliti.

adesso però c'ho sonno e vado a ninna.

grazie ancora per i tips!

Reply to
Cristiano Casadei

RISOLTO!!!

dopo diverse prove ho risolto il problema.

l'overclock (22mhz invece di 20) non era un problema (tutto sommato un overclock del 10% sembra che venga sopportato bene).

i problemi sembrano essere stati due:

1) le saldature. ho avvicinato il più possibile le saldature del quarzo e dei condensatori ai piedini 9 e 10 del PIC. già che c'ero ho anche cambiato i due condensatori da 33pF con due da 22pF (come avevo visto in un altro schema).

2) la programmazione. la versione A del PIC viene programmata a blocchi di 4 word. questo significa che il codice deve avere una lunghezza multipla di 4 word, altrimenti l'ultimo blocco semplicemente non viene scritto..... ho risolto inserendo qualche NOP.

il test con il led funziona. ora non mi resta che riprogrammarlo con il programma originale. anzi, visto che il LED l'ho aggiunto, modificherò il programma originale in maniera da far lampeggiare il LED per evidenziare il funzionamento di tutto.

grazie a tutti. alla prossima ;-)

ciao!

Reply to
Cristiano Casadei

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.