Avvio della programmazione PIC


13

Ho cercato di fare un po 'di programmazione PIC, ma a differenza di altri microcontrollori disponibili, il solo numero di chip disponibili mi ha creato confusione. Sembra anche che alcuni dei chip suggeriti su alcuni siti come buone scelte per le persone che iniziano con la programmazione PIC potrebbero essere stati sostituiti (o potrei anche essere ancora più confuso).

Quindi la mia domanda si riduce a tre parti:

  • Quale sarebbe un buon chip PIC per iniziare?

  • Sono abbastanza contento di fare assemblatore o qualche altra lingua, quindi quali IDE / lingue suggeriresti per Linux?

  • Cosa consiglieresti in termini di ottenere il codice sul chip, tramite una connessione USB da un laptop Linux (PicKit 2? Era una possibilità) e quale configurazione circuito / scheda avrò bisogno per fare questo?

Modifica: dopo una lunga discussione con Kortuk (vedi commenti sotto) sul merito di vari pezzi di kit, ho deciso di iniziare con lo Starter Kit di PicKit2. Questo viene fornito con un chip PIC16F690 installato.

Risposte:


7

Sono d'accordo con i PIC18 ma per qualcuno che ha appena iniziato potrebbe essere un po 'intenso. Attualmente insegno allo sviluppo di ingegneri elettrici di livello senior e anche all'interno delle stesse classi la loro gamma di sfondi può essere sorprendente.

Attualmente insegno alle persone con il compilatore PIC-C CCS, ma costa denaro. È incredibilmente semplice ed è stato scelto poiché la maggior parte dei nostri studenti ha lavorato solo in un ambiente di laboratorio con assemblaggio di base o programmazione x86.

Ho la sensazione che un PIC16 molto semplice possa adattarsi meglio, ma dipenderà dal tuo background. PIC16F688 è un PIC molto semplice che usiamo per il nostro primo progetto per riscaldare le persone.


1
Ho una laurea con lode in Informatica di prima classe che includeva molta programmazione (principalmente C ++, un po 'di VB6, alcuni assemblatori). Ho anche una laurea in matematica e insegno matematica ai bambini delle scuole secondarie. Sono in grado di programmare in una varietà di lingue (non C), e sto esaminando varie nuove cose, incluso giocare con i microcontroller.
Amos,

1
Il 16F88 è una scelta perfetta. Ci sono un milione di PIC diversi là fuori e penso che circa 50.000 di loro siano buoni per iniziare. Programmare i microcontrollori molto spesso presenta problemi alle persone che ho aiutato con un background CS perché non hanno preso molte lezioni sull'elettricità, cosa che vorrei aggiungere ai programmi di laurea. Non penso che la programmazione sarà affatto impegnativa, ma probabilmente non sarebbe una cattiva scelta per ottenere una scheda di sviluppo. Ciò sarebbe influenzato dalla tua fascia di prezzo. microchipdirect.com/ProductSearch.aspx?Keywords=DV164120
Kortuk

1
Penso che l'ultimo link che ho pubblicato potrebbe essere una buona scelta, ti darà una scheda già cablata per lavorare con 50 dollari (-25% se hai una email .edu) e quindi hai un programmatore che puoi usare per qualsiasi altra patatina che ottieni. Non vedo l'ora di sapere come vanno i tuoi progetti.
Kortuk,

1
Se ottieni il DM164120-1, ti suggerirei di usare il PIC che lo accompagna. Sono proprio nel mezzo di aiutare qualcuno con un progetto che dovrà insegnare in classe domani o guarderei di più, ma ogni posto in cui trovo la tua tavola non lo trovo schematico. Posso dirti in base al pin-out del PIC16F631 che non è compatibile con un PIC16F88. I pin di alimentazione e programmazione non si allineano. Se acquisti una scheda di sviluppo, usa semplicemente il PIC che ne deriva, sarai significativamente più felice.
Kortuk,

2
Sì, hai svolto bene la tua ricerca. Il mio aiuto potrebbe essere stato un po 'fuorviante. Se vuoi bagnarti i piedi, una scheda di sviluppo è un modo per evitare di occuparti dell'hardware di costruzione di un PIC prima di essere pronto. Se segui questo percorso, suggerirei di utilizzare il PIC fornito con la scheda e determinare la tua prossima scelta di PIC dopo che sei pronto a costruire le tue schede. Se vuoi la tua foto dall'inizio, acquista un programmatore, la foto e tutto ciò di cui hai bisogno per eseguire la foto dall'inizio. Puoi risparmiare denaro e utilizzare una breadboard.
Kortuk,

4

Per il PIC, esiste un compilatore open source chiamato JAL (Just Another Language)

Come altri linguaggi di programmazione, offre la possibilità di utilizzare librerie hardware per semplificare notevolmente il processo di collegamento del PIC scelto ad altro hardware. Il software ti consentirà anche di compilare e caricare programmi tramite PIC2 (o un clone di questo programmatore)

JAL è un linguaggio basato su Pascal ed è un software gratuito (sempre carino se hai appena iniziato)

Voce Wiki JAL

Per quanto riguarda i libri, "Microcontrollori PIC, 50 progetti per principianti ed esperti" Di Bert Van Dam vale la pena dare un'occhiata a un'introduzione a JAL

Finora ho usato solo il chip 16F877A di PIC, apparentemente un buon chip per principianti. Abbastanza economico e molte porte disponibili.


Saluti, darò un'occhiata. JAL usa un IDE specifico, ce n'è uno disponibile per Linux?
Amos,

1
Sì, ne ha uno chiamato JAL Edit, ti terrà direttamente dalla parte della programmazione e ha gli strumenti tipici che tendi a trovare su IDE su jal.sunish.net/jaledit
Justblair,

Sfortunatamente è solo Windows, sembra che ce ne sia uno per Linux chiamato PicShell, la versione beta attuale è su: linux.softpedia.com/get/Text-Editing-Processing/IDEs/…
Amos

2

Per i chip guarda la serie 18F, quasi a buon mercato come la 16F molto più coraggio. 18F2550 è un bel chip e include USB, ce ne sono altri nella stessa serie. Dai un'occhiata ai grafici di selezione dei microchip sul loro sito Web.

IDE gratuito da microchip incluso C che dovresti usare sull'assemblatore IMHO. Non sono sicuro se l'IDE del microchip funziona su Linux ma potrebbe esserlo.

PicKit potrebbe essere utile per la programmazione, potrebbe essere utile masterizzare un bootloader la prima volta, quindi eseguire il bootload tramite USB. Bitwacker (google it) è una bella configurazione da usare o da copiare.

Ci sono un sacco di forum e altri siti, solo Google. Un problema con il PIC è che ci sono così tante lingue e nessuna è la stessa (anche all'interno di compilatori c) Se puoi scrivere una buona domanda, chiedi su piclist.com, ma prima fai i compiti. I forum non sono il posto migliore per l'apprendimento, cerca siti tutorial per questo (di nuovo il sito bitwacher è buono, anche google "Embedded Adventures" il ragazzo ha fatto molto in C (ma non in quello del microchip)


Ho inserito tra le segnalazioni Embedded Adventures per quando ho un'ora o due da uccidere e ho dato un'occhiata al Bitwacker per riferimenti futuri. Saluti.
Amos,

1

La scheda Dwengo si basa sul PIC18F4550, hanno anche un clone PICkit2 a basso costo e alcuni ottimi tutorial per iniziare: http://www.dwengo.org/tutorials


Interessante. Non saresti lo stesso Wim che fa anche parte del team Dwengo, vero?
Amos,

Sì, lo stesso ;-)
Wim

1

Per riferimenti ad alcune cose, ho fatto un po 'di programmazione con il PIC usando Pik Kit 2 Pickit 1, consiglierei i 100 progetti di microcontrollori per il genio del male, ho anche alcuni post sul blog che si occupano di tali cose

http://blog.onaclovtech.com/2010/01/interrupts.html

http://blog.onaclovtech.com/2010/01/analog-inputs.html

http://blog.onaclovtech.com/2010/02/pic-16f913-quick-reference-guide.html

http://blog.onaclovtech.com/2010/02/pic-16f913.html

Ho in programma di pubblicare un aggiornamento SPI e quando capirò come gestire il traffico del bus CAN usando alcuni chip microchip, avrò anche degli aggiornamenti.

Grazie,

onaclov


Sembra interessante, darò un'occhiata più da vicino alle tue cose quando avrò un minuto.
Amos,

Forse non so dove cercare tutto il tempo, ma mi sento come se rispetto ad avr e arduino non ci fossero praticamente tutorial sui PIC e mi piacerebbe davvero cambiarlo ....
onaclov2000

1

Se si desidera utilizzare i PIC, prenderei in seria considerazione la serie PIC24 di immagini a 16 bit o il dsPIC33 molto simile. Sono più veloci, più potenti, in molti modi più facili da programmare e non costano più di quelli più basilari a 8 bit. Quelli più bassi sono disponibili anche in pacchetti di prese DIP compatibili con breadboard.

Tuttavia, è molto più difficile trovare esempi su Internet, ma per quello che posso vedere è lo svantaggio principale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.