Studiamo i PIC, Microcontrollori

« Older   Newer »
  Share  
Tony81
view post Posted on 19/11/2004, 21:20




Per poter programmare un PIC occorrono fondamentalmente tre cose:
Un programma assemblatore per trasformare il testo sorgente assembler (.asm) in codice eseguibile (.hex)
Un circuito di programmazione da collegare al PC (programmatore)
Un software di controllo del programmatore per trasferire l'eseguibile sul PIC.

Assemblatore
Un ottimo assemblatore free (dotato anche di potenti funzionalita' macro) e' Mpasmwin. E' contenuto nel pacchetto MPLAB scaricabile direttamente dal sito della Microchip Technology Inc. (cercare sotto Development Tools -> MPLAB IDE).



Programmatore
Di programmatori ne esistono parecchi, sia per porta seriale che parallela, sia intelligenti (cioe' con un micro gia' programmato a bordo) che non intelligenti (in cui i segnali di programmazione sono gestiti completamente dal PC). Ciascuno presenta vantaggi e svantaggi, in ogni caso comunque i requisiti hardware indispensabili per ogni programmatore "serio" sono la capacita' di fornire le due tensioni stabilizzate necessarie (5V per la Vcc e 12..14V per la Vpp) e la presenza di un bus I2C a livelli TTL per il dialogo con il PIC.

Esistono alcuni programmatori ultrasemplificati (spesso senza alimentazione esterna) che permettono di programmare pochi tipi di PIC se non uno solo, per esempio il 16F84 ma non il 16F84A. In questo caso la colpa non e' dei PIC "duri" da programmare come qualcuno sostiene, ma dei programmatori che lavorano completamente fuori specifica e in qualche caso riescono a funzionare solo per pura fortuna affidandosi alle tolleranze (e alla resistenza allo stress) dei PIC stessi. Infatti attenendosi rigorosamente ai requisiti visti prima non esiste niente di simile a un PIC "duro", se sono richiesti da 12 a 14V per la tensione di programmazione Vpp, non ci si puo' lamentare se dandone solo 10 non si riesce a programmarlo...

Un ottimo programmatore è il Propic

Software di programmazione
Un ottimo programma free e' IC-PROG (scaricabile da http://www.ic-prog.com/), supporta molti tipi di PIC e diversi tipi di programmatori, dispone di buffer multipli e permette di editare manualmente i singoli bytes. E' inutile ricordare che il software deve prevedere esattamente il tipo di micro che si vuole programmare, selezionando per esempio 16F628 e inserendo fisicamente un 16F628A la programmazione potrebbe non andare a buon fine.

Ulteriori informazioni
Ogni PIC e' diverso dall'altro per quanto riguarda aree di memoria usabili, registri interni, funzionalita' dei piedini ecc... Per ciascun tipo sul sito della Microchip e' presente un completo e indispensabile datasheet in formato pdf (piu' molte interessanti application notes). In linea generale bisogna sempre tenere in considerazione quattro cose prima di addentrarsi nella programmazione e prima di migrare un programma da un tipo di PIC all'altro:

Area di memoria disponibile per il programma (indirizzi e ampiezza)
Area di memoria per i dati utente e per i registri di controllo (indirizzi, divisione in banchi, ampiezza)
Configuration word (chiamata anche settaggio dei fuses)
Configurazione di default dei pin di I/O all'accensione

Oltre ai datasheet, e alle application notes della casa madre, in rete sono presenti molti siti ricchi di informazioni, come l'ottimo tutorial "Pic By Example di Sergio Tanzilli - http://www.tanzilli.com"

Usando questi due programmi free, e costruendo questo programmatore, si dispone di un completo sistema di sviluppo piu' che adatto per usi non professionali, non velocissimo ma sicuramente funzionante, completamente free ed economico.


Altri siti in cui viene trattato questo programmatore (o sue piccole varianti) con tanto di circuito stampato, consigli sull'utilizzo e applicazioni molto interessanti:


http://filrub.altervista.org
http://spazioinwind.libero.it/nferrarese/



 
Top
LUCA Bjoy
view post Posted on 25/3/2006, 14:42




CITAZIONE (Tony81 @ 19/11/2004, 21:20)
Programmatore
Di programmatori ne esistono parecchi, sia per porta seriale che parallela, sia intelligenti (cioe' con un micro gia' programmato a bordo) che non intelligenti (in cui i segnali di programmazione sono gestiti completamente dal PC). Ciascuno presenta vantaggi e svantaggi, in ogni caso comunque i requisiti hardware indispensabili per ogni programmatore "serio" sono la capacita' di fornire le due tensioni stabilizzate necessarie (5V per la Vcc e 12..14V per la Vpp) e la presenza di un bus I2C a livelli TTL per il dialogo con il PIC.

Esistono alcuni programmatori ultrasemplificati (spesso senza alimentazione esterna) che permettono di programmare pochi tipi di PIC se non uno solo, per esempio il 16F84 ma non il 16F84A. In questo caso la colpa non e' dei PIC "duri" da programmare come qualcuno sostiene, ma dei programmatori che lavorano completamente fuori specifica e in qualche caso riescono a funzionare solo per pura fortuna affidandosi alle tolleranze (e alla resistenza allo stress) dei PIC stessi. Infatti attenendosi rigorosamente ai requisiti visti prima non esiste niente di simile a un PIC "duro", se sono richiesti da 12 a 14V per la tensione di programmazione Vpp, non ci si puo' lamentare se dandone solo 10 non si riesce a programmarlo...

ho visto queto su ebay........secondo te puo andare x provare con quache pic ed eeprom 24c...???

http://xoomer.virgilio.it/i5xww/JDM.htm

magari aggiungendovi questa......http://xoomer.virgilio.it/i5xww/JDM%20+%20adapter.htm
 
Top
1 replies since 19/11/2004, 21:20   1765 views
  Share