Jump to content
PLC Forum


Sign in to follow this  
agoman

Pic16f84a Errore 0000h - dowload ic program corretto.

Recommended Posts

agoman

salve l'altro giorno tramite un mio amico o scaricato il programma ic program per programmare pic16f84a col programma bromografo timer buzzer di di meo71

niente il problema era che un pic sono riuscito a programmarlo correttamente siccome ne avevo comprato 2 di pic volevo programmare anche l'altro ma con esito negativo sad.gif ogni volta che lo programmo mi da errore 0000h esecuzione fallita come mai? il circuito che o fatto e quello di ludipipo io o provato a disistallare ic program e lo reistallato penzando di aver spostato qualcosa non volendo dentro al programma,

dopo la reistallazione mi salta fuori un'altro casino mi da una croce rossa con scritta informazione privileggiata blink.gif che vuo dire sapete spegarmi il motivo riuscite a ridarmi tutto l'occorrente per il dowload corretto? intanto vi saluto a domani.

Share this post


Link to post
Share on other sites

Nikiki

Dovrebbe essere "Istruzione privilegiata", è un messaggio di windows che compare quando un programma tenta di accedere ad una risorsa hardware scavalcando il sistema operativo.

Nel caso di IC prog se non ricordo male veniva fuori quando si tentava di usare la porta LPT senza aver installato l'apposito driver.

Tu però non dovresti averne bisogno, il ludipipo non usa la porta LPT ma la porta COM.

Controlla le impostazione hardware, devi impostare correttamente la porta da utilizzare.

Share this post


Link to post
Share on other sites
GiRock
senzasperanza.gifErrato, ritenta ancora sarai più fortunato...

Share this post


Link to post
Share on other sites
Nikiki

A cosa ti riferisci esattamente?... all'istruzione privilegiata?

O all'impostazione della COM piuttosto che LPT?

Se hai la soluzione credo che sarà ben accettata altrimenti certi post ironici li puoi anche evitare.

Grazie

Share this post


Link to post
Share on other sites
GiRock
rolleyes.gif No, certo che no, questo lo lascio tutto per te...

Share this post


Link to post
Share on other sites
Nikiki

L'errore è forse questo?

user posted image

ebbene, succede quando si cerca di scrivere direttamente in un particolare indirizzo di memoria (ad esempio quello della parallela).

Questo vale per tutti gli OS MS da windows 2000 in poi (anche NT a dire il vero).

In effetti c'è un errore in quello che ho scritto prima... vediamo se te ne accorgi smile.gif

IC Prog offre due soluzioni, o si imposta l'uso delle API invece dell'I/O diretto o si installa un apposito driver.

Edited by Nikiki

Share this post


Link to post
Share on other sites
Livio Migliaresi
GiRock+24/07/2011, 00:18--> (GiRock @ 24/07/2011, 00:18)

mad.gifmad.gifmad.gif

Share this post


Link to post
Share on other sites
RealTime

Mediante opportuni drivers di windows è possibile "aprire" il range di indirizzi dei dispositivi I/O (Vedi LPT e COM).

Con questi "trucchetti" è possibile eseguire istruzioni privilegiate in modalità USER (Istruzioni normalmente in dominio del livello Kernel)

RealTime

Share this post


Link to post
Share on other sites
Nikiki

infatti... IC prog lo fornisce questo driver è sufficiente abilitarlo nella finestra impostazioni.

In ogni caso con IC Prog si può evitare di installare il driver semplicemente "dicendo" al programma di non usare l'I/O diretto, come si vede in questa immagine della finestra delle impostazioni hardware:

user posted image

Selezionando "API di windows" non è necessario installare nessun driver.

Share this post


Link to post
Share on other sites
agoman

il problema istruzioni privileggiate l' ho risolto non me lo da piu grazie per gli aiuti pero' l'errore 0000h mi rimane sempre non sara' il pic andato? sapreste darmi qualche dritta magari sulle alimentazioni che devono arrivare nei pin del pic , non vorrei fossero errate o visto su alcuni siti che alcuni danno alimentazione esterna tramite pila 9 volt e 7805 per abbassare la tenzione (vedi ludipipo con alimentazione esterna) non vorrei che il mio pc eroghi meno tenzione in uscita evitando la giusta programmazione del pic asp risp e grazie a tutti.

ps. io di pc non me ne intendo molto se e possibile per spiegazioni vorrei un vocabolo un po piu' terra terra devo ammetterlo sono un po imbranato com aspetto vostre risp e grazie a tutti.

Share this post


Link to post
Share on other sites
Nikiki

Lascia perdere l'alimentazione esterna, almeno per quanto riguarda il +5V

Qualunque PC ha almeno 5 volt sulle linee seriali, il vero problema riguarda il VPP che dovrebbe essere di 13 volt, che viene applicato al pin MCLR per commutare il micro in "program mode".

Siccome il mondo è pieno di persone pigre, per non montare qualche componente in più si sono inventati una versione semplificata del ludipipo che rapidamente ha superato il ludipipo originale per preferenza e probabilmente è quella che hai anche tu. Di fatto, tutti i ludipipo di questo tipo funzionano per scommessa perchè non riescono a fornire i 13 volt necessari al VPP, infatti capita che qualche PIC venga programmato e altri no, poi se la prendono con i poveri PIC ma con il PicStart Plus della microchip si programmano tutti... chissà perchè...

E così qualcuno si è inventato il "ludipipo alimentato", ma questo è inutile se fornisce i 5 volt con un 7805 come quello che hai trovato tu, se vuoi che sia efficace devi fornire esternamente i 13 volt per il VPP e commutarli tramite un transistor pilotato dal pin 3 della seriale, altrimenti ti costruisci il "vero" ludipipo, l'originale, che riesce tranquillamente a fornire i famosi 13 volt anche con le linee seriali di 8 volt e senza alimentazione esterna.

Lo schema è il seguente:

user posted image

L'autore ha sfruttato il fatto che le linee della seriale hanno anche tensioni negative, per cui si va a sommare 5 volt ottenuti con uno zener con gli almeno 8 volt di una linea.

Al di là della spiegazione, che potrebbe essere un po' stringata perchè ho sonno smile.gif , ti posso assicurare che un ludipipo di questo tipo difficilmente fallisce, anche se usato con computer portatili che spesso sono accusati di avere le linee della seriale ancora più basse. Inoltre siamo sinceri, non è poi tanto più complesso dell'altro smile.gif

Se vuoi, prima di buttare il tuo ludipipo e costruirne un altro, puoi provare a modificare il parametro "I/O delay" che trovi nelle impostazioni hardware di IC Prog, questo serve per adattare il timing dei dati trasmessi che su computer veloci potrebbero essere fuori range; aumentando questo parametro la programmazione risulterà più lenta ma potresti riuscire nell'intento.

Altra cosa che potresti provare è cambiare la modalità di verifica, nella scheda "programmazione" della finestra "opzioni" ci sono due checkbox per scegliere:

- Verifica dopo la programmazione

- verifica durante la programmazione

se selezioni la prima verranno verificati i dati scritti solo dopo aver tentato di scrivere tutta la memoria del micro, con la seconda invece i singoli dati vengono verificati man mano che vengono scritti.

Non c'è un metodo migliore o peggiore tra questi due, ma l'uso dell'una piuttosto che l'altra opzione a volte può cambiare le cose.

Infine ovviamente potrebbe essere anche il PIC rotto ma se non ne hai altri con cui provare è difficile dirlo con certezza.

Share this post


Link to post
Share on other sites
GiRock

Si, conosco questo schema, il problema è quello di avere ancora un PC con porta parallela LPT, anche se il sottoscritto ne ha una collezione...

Allora, se ti può consolare, ho trovato anch'io un PIC un po "gnucco" (duro di comprendonio laugh.gif) da programmare con il LUDIPIPO, ma con un banale trucchetto si può aggirare l'ostacolo e risolvere...

Share this post


Link to post
Share on other sites
agoman

grazie nikiki sei stato esplicito provero' i tuoi consigli poi ti sapro' dire com lo schema e semplice al limite costruiro quest'altro programmatore non vedo nulla di complicato grazie wink.gif

Share this post


Link to post
Share on other sites
agoman

o provato ad aumenare i timing dati e nulla o provato a cambiare le verifiche di programmazione e la prima , verif dopo programmzione mi carica e alla fine mi salta fuori l'errore ,la seconda verifica durante programmazione non carica neanche mi salta fuori direttamente la finestra di errore fa nulla mi costruiro questo programmatore sperando che dopo va' se non va provero' a prendere un pic nuovo non vorrei abbia subito qualche danno grazie di tutto nikiki ti sapro dire.

Share this post


Link to post
Share on other sites
agoman

nikiki riusciresti a farmi avere il disegno dello schema su pcb esiste gia' o devo farlo su fidocad se riesci bene era per non perdere del tempo per la trasformazione del circuito possibilmente in grandezza naturale per stamparlo asp risp grazie.

Edited by agoman

Share this post


Link to post
Share on other sites
agoman

ohmy.gif ciao giro laugh.gif ma te sei un grande mi aiuti sempre vedi non o mollato voglio provare a sistemare quest'ultimo pic grazie del regalo una cosa volevo chiederti

ma sui collegamenti p2 cosa ci va' devo mettere un connettore? io o visto che devo usare i collegamenti da 1 a 13 per la porta seriale non capivo a cosa servivano i collegamenti p2 a me servono o devo lasciarli stare asp risp per chiarimenti ciao a dopo.

Share this post


Link to post
Share on other sites
agoman

o capito vanno i connettori quelli col ponticello!!!!! per ponticellare i pin del pic risposta giusta o errata secondo me giusta non o avuto piu' risp a dopo la scheda e pronta intanto incomincio a montare i componenti e speriamo bene a dopo.

Share this post


Link to post
Share on other sites
GiRock

user posted image

Ci sono due ponticelli da fare sotto lo zoccolo per gli IC, nel disegno si vedono come due righe nere...

Edited by GiRock

Share this post


Link to post
Share on other sites
agoman

si quelli li o visti io mi riferivo al porta ponticelli che cera alla sinistra del pic nella basetta che mi ai regalato era riferito come p2 non capivo cosa mettere ora o visto ne disegno che mi ai mandato i ponticelli in fase di programmazione li devo usare? o non serve adopo asp risp poi un'altra cosa lo spinotto della seriale e diverso? non mi sembra quello a 9 pin!!!!!

Edited by agoman

Share this post


Link to post
Share on other sites
Nikiki

Quelli non sono ponticelli, è un connettore per eseguire la programmazione del PIC direttamente sul circuito.

Se il circuito è fatto in modo adeguato (lo schema deve preverede un utilizzo particolare per i pin MCLR, RB6 e RB7) puoi programmare il PIC direttamente sul circuito anzichè inserirlo sullo zoccolo del programmatore. E' molto utile in fase di sviluppo quando è necessario programmarlo spesso e debuggarlo. Io ad esempio uso sempre questo metodo per comodità.

Anche se oramai si vedono solo seriali con DB9, questi possono avere un DB9 o un DB25, infatti in commercio si trovano facilmente convertitori DB9/DB25 per porte seriali (nel DB25 ci sono molti pin che rimangono inutilizzati)

Se vuoi puoi saldare direttamente il cavo al posto del connettore, così risparmi un DB25 maschio e un DB25 femmina.

Una piccola nota personale:

io ho un programmatore identico a quello di cui GiRock ti ha gentilmente agevolato il PCB, se hai notato, le connessioni sullo zoccolo del PIC sono fatte in modo tale che sullo stesso zoccolo possono essere programmati i PIC della serie 12XXX (con soli 8 pin) e le EEPROM della serie 24XXX (nonchè quelle della serie 93XXX con un adattatore), questa cosa fa si che alcuni segnali sono collegati ad alcuni pin di un PIC con 18 pin, che normalmente non sono connessi durante la programmazione.

Questo non comporta nessun problema con i vecchi PIC16C84, ma con i PIC più recenti a volte fa un po' di storie. Onestamente non so dirti se il PIC16F84A viene programmato tranquillamente perchè io da qualche anno non lo uso più e non mi ricordo, ma se vuoi essere sicuro al 100% basta che tu faccia in modo che sullo zoccolo del PIC che andrai a programmare, siano connessi solo i segnali necessari alla programmazione.

Questi sono: Vss, Vdd, MCLR, RB6 e RB7 (che guarda caso sono quelli presenti sul connettore di cui si parlava prima)

Il circuito è talmente semplice che puoi realizzarlo tranquillamente su una millefori (come quello in foto) lasciando scollegati i pin non necessari.

Se in futuro avrai bisogno del programmatore per programmare una eeprom, potrai sempre realizzare un semplice adattatore che colleghi i pin della piccola memoria al posto giusto sullo zoccolo o sul connettore accanto.

Share this post


Link to post
Share on other sites
agoman
ohmy.gif miracolo il nuovo circuito mi a fatto la grazia laugh.gif o ragazzi a funzionato me lo a programmato alla perfezione grazie nikiki e grazie giro per il regalo clap.gif complimenti mi sono tolto sto peso da dosso menomale almeno la spesa che o fatto non e stata inutile grazie di tutto e alla prossima ciao ciao.

Share this post


Link to post
Share on other sites
Nikiki

Se microchip dice che su quel pin ci devono essere 13 volt ci sarà pure un motivo... laugh.gif

Sono contento che dopo tanta fatica tu sia riuscito nell'intento.

Se in futuro il programmatore fallisse, ricordati di quello che ti ho scritto prima.

Stessa cosa se ti dovesse capitare di programmare PIC più grandi con più di 18 pin, ti basta fare un adattatore usando i 5 segnali presenti sul connettore a fianco dello zoccolo.

Share this post


Link to post
Share on other sites
agoman

grazie sei un grande seguiro i tuoi consigli wink.gif ora finalmente posso cablarmi il mio bel bromografo alla prossima notte. biggrin.gif

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...