Programmeraren är den hårdvara som för över ett datorprogram från en utvecklings dator till PIC kretsen fysiskt via kablar eller liknande. Är man interesserad av själva programmeringen av programmen man ska föra över så kika då längre ner på utvecklingsverktyg som behövs samt programmerings metodik samt rekommenderad läsning.
Microchips tillhandahåller 2st (RS-232 baserade) PIC-programmerare mot beställning:
PicStart Plus (200$ USD) Kan programmera kretsar direkt från Microchips MPLAB IDE. ( PicStart Plus säljs av ELFA men finns ej med i deras oficiella katalog )
Pro Mate II (1000$ USD) Har alla finesser som PicStart Plus samt att den även kan programmera ytmonterade kretsar (och andra features).
Adteknik säljer programmerare som fungerar med ICSP kompatibla med PICmcu kretsar. Adtekniks programmerare kan även programmera smartcards. Finns med USB eller serial interface, Prisvärt!
microEngineering Labs har enparallelportsbaserad PIC-programmerare för 18Pins DIL-kapslade PIC-kretsar.
Labtronics "PICFun" kan vara en värdig RS-232 baserad programmerare
Newfound Electronics Warp-13 , En programmerare i klass med PICSTART Plus med stöd för ISCP. Warp-13 kan köras direkt från MPLAB med PICSTART Plus drivrutiner.
Engage!"Probably the best kept secret in the PIC programming world..." - Förbättrade drivrutiner för PICSTART Plus och Warp-13 som kan laddas ned gratis från Newfound Electronics hemsida.
For sale:
my Velleman k8048. Fully functional, includes software CD, and free serial cable. Perfect for beginners, avoids all the trouble with homebuilt programmers. 200:- mail Dach att skynet dot ie
Hemmabyggen, billigt och bra för hobbybyggaren!
Med Datormagazin nummer 1 2005 medföljer ett kretskort för att bygga en programmerae av JDM-typ för ICSP programmering av PICmcu kretsar! Datormagazin skriver i sin tidning att man kan beställa kretskorten separat från datormagazin om man vill bygga flera stycken hemmabyggen, på kretskortet finns det förrutom JDM programmeraren en nybörjarkoppling som kan användas för att bygga en serialportsbaserad "mätare". - Mycket billigt!
http://www.elfa.se/elfa/produkter/se/9007.htm ELFA säljer en PIC experiment/programmerare byggsats tillverkad av Velleman. Kan vara en billig genväg att både få en PIC programmerare samt en färdig testmiljö för enklare PIC program.
http://www.velleman.be/ - Uppdateringar finns på vellemans hemsida under menyn - support : downloads : K8048: PIC Programmer & Experiment board
http://www.myke.com/elcheapo.htm elcheapo ! funkar utmärkt med de flesta kretsar samt att den kan byggas för under 500 Sek. Använder sig av ett separat programmerings verktyg för windows. (parallelportsbaserad)
port serial
base= 0x3f8
power: TxD
mclr: TxD
data: DTR
data_f: CTS
clock: RTS
Bootloaders - ett litet program som möjligör att en PIC krets kan programmera om sig själv utan hjälp av en programmerare.
Bootloaders fungerar enbart på flash baserade pic kretsar.
http://www.thebytefactory.com/dl_codeloader.asp - Flexibel och smidig bootloader skriven för CCS PIC-C kompilatorn. När bootloadern är på plats kan man programmera om sina PIC kretsar direkt via rs232 genom att skicka .hex filer i klartext över serialporten. Gratis att använda sålänge man inte ändrar på copyrighten. Färdigkompilerade .hex filer med bootloadern finns att ladda ned samt komplett källkod.
Tiny PIC bootloader - RS232 baserad boodloader med implementation på under 100 instruktions ord!
sidan har även en lista på alternativa bootladers!
AN851 - Microchips dokumentation hur man implementerar en bootloader för PIC16 och PIC18 kretsar via serialport (rs232).
MPLAB är mycket bra till om man vill räkna ut konfigurations värdet som ska programmeras in i konfigurerings registret för olika PIC kretsar.
gputils http://gputils.sourceforge.net/ Ett paket med GNU-licensierade utvecklingsverktyg för PICar, däribland gpasm som är mycket kompatibel med MPASM som kommer med MPLAB. gputils innehåller också ett helt nytt högnivåspråk för PIC-programmering som heter gpal. http://gputils.sourceforge.net/gpal.html
BASIC
MBasic, tillverkat av BasicMicro är designat att användas med deras egen programmerare ISP-PRO.
http://www.picbasic.org/ - En alternativ basic kompilator med gratis lite version som kopilerar program upp till 50 rader.
C , Dom flesta C kompilatorer för PIC processorer är komersiella men erbjuder ofta en gratis test period innan man köper en licens för mjukvaran. http://www.microchipc.com/ - Bra sida som tar upp olika för och nackdelar mellan olika PIC C kompilatorer samt har ett stort arkiv med källkod för C implementeringar.
Till MPLAB kan man köpa till stöd för C programmering av 18CXXX samt 17CXXX PIC familjen (80 dyngs demo)
http://www.bytecraft.com/demos.html MPC, PICKompilator , ByteCrafts kompilator är den C kompilator som Microchip basserat sin egen C kompilator på.
http://www.ccsinfo.com PCM,PCW C Kompilator - Avancerad minneshantering samt stödjer mattematiska beräkningar med 32bit flyttal och kan beräkna exponential funktioner. (30 dygns demo)
http://www.picant.com/c2c/c.html PicAnt IDE C,C++,Pascal (15 dyngs demo), Prisvärd och lätt att komma igång med men begränsad mattematik till * och / med 16bitars heltal.
LOGO : Innuti LEGO mindstorm produkterna som man kan köpa i leksaksaffären sitter en liten PIC processor som kan programmeras med högnivåspråket LOGO via IR. Licens från LEGO via köpa av mindstorm produkterna...
http://llk.media.mit.edu/projects/cricket/ - Universiteten tycks ha tillgång till mjukvaran, synd att den inte ligger tillgänglig för personer som inte går på universitetskurserna.
http://handyboard.com/cricket/docs/ - Handy Cricket: programmera små robotar baserade på PIC kresar i högnivåspråket LOGO. Färdiga byggsatser att köpa samt tips hur man kopplar in sensorer och servos.
Är ditt problem relaterat till generell elektronik? http://www.kpsec.freeuk.com/index.htm - Electronics Club, Kelsey Park School. Mycket bra tips på hur man använder dom vanligaste elektriska komponenterna som transistorer och dioder korrekt.
Problem: Min pic verkar inte starta med en keramisk resonator/kristall Lösning: För att man ska kunna använda en resonator/kristall måste man konfigurera om konfigurations register som man bara kommer åt under programmering. Oscillator konfigurationen ska ställas in som HS(för resonatorer och kristaller över 4Mhz) eller XT(för resonatorer och kristaller upp till 4Mhz, drar även lite mindre strömm) för resonator/kristall.
Problem: Min pic verkar död när jag ger den ström, jag kan inte få den att ändra på något I/O ben! Lösning: PICmicro MCUn måste ställa in sina PORT I/O ben för utgående signal innan man kan ändra signal på dom. Inställningen görs med registret TRIS (TRISA för I/O port A).
En låg bit i TRIS registret motsvarar ett utgående I/O ben på PICmicro MCUn.
TRIS registren ligger i minnesbank 1 medans PORT registren ligger i minnesbank 0, glömm inte att ändra minnesbank innan access görs till TRIS registren (detta görs automatiskt med vissa högnivåspråk som C).
Problem: Min pic startar om hela tiden! Lösning:
Kontrollera att inte Watchdog timern är påslagen i konfigurations registret om du inte använder dig av den för då tror pic kretsen att ditt programm har hängt sig efter ett litet tag och startar om. Om man vill köra med watchdog så ska man signalera egelbundet till watchdogtimern att programmet går annars så blir det omstart.
Kontrollera även strömförsörjningen! Om du driver din pic krets från batteri så måste det vara god signal till MCLR benet, om signalen till MCLR benet är svajig kan pic kretsen starta om oregelbundet.
Problem: Jag vill tillverka riktiga kretskort och grejjer! Samt göra snygga kopplingssheman. Lösning: Kolla efter företag som kan hjälpa dig på sidan om elektronik för pysslingar (DIY projekt). Finns en del gratisprogram från vissa kretskortstillverkare som man kan använda sig av.
Programmerings metodik
Ha rätt kunskap innan du börjar programmera! Microchip tillhandahåller teknisk information gratis för sina PIC kretsar och det är bara att gå in på länken här under: http://www.microchip.com/1010/search/prodsel/index.htm - Sida för att hitta rätt teknisk specifikation för just din krets.
I större komersiella programmering projekt räknar man med att det tar en timme per rad programkod för att allt ska fungera precis som man vill. Ha tålamod och gå igenom dina tankegångar flera gånger. Att sitta två personer på en dator och programmera brukar underlätta upplägget av struktur och har visat sig vara mer produktivt änn två programmerare på var sin dator. Parprogrammering brukar även kallas Extrem Programmering.
Att programmera i C istället för assembler kan underlätta strukturen samt underlätta uträkningar avsevärt då vissa C kompilatorer kan beräkna mattematik med hög nogrannhet. Dom flesta PIC kretsar är 8bit datorer som med sina inbyggda processor instruktioner bara kan räkna med heltal upp till 255. http://www.microchipc.com/sourcecode/ - Sida med källkod och lösningar i C för många PIC problem.
Har du något problem som du inte kan räkna ut vad som är fel så lämmna ett meddelande!
Tänk på att källkod som publiceras på den här sidan kommer bli publik för hela internet så publicera ingen information som kan bryta mot företags policys eller som anses hemmlig.
Vi uppmuntrar besökare av denna wiki server att hjälpa varnadra med PIC programmering och problemlösning eftersom det tycks saknas bra forum för hobby PIC programmerare att sätta sig in hur man kan lösa större projekt och få bättre insikt i mikroprocessor programmering, speciellt på svenska! Vill ni ha hjälp att lösa problem i komersiella applikationer med skyddad källkod så kan konsulthjälp erbjudas mot ekonomisk ersättning // Kontakta mig (Xerxes) för mer information.
Tack på förhand, vi som administerar Gudinna.com.
Har köpt velleman kit K8048.Jag har försökt programmera PIC 16F876,
men programmat läses inte in.Andra kretsar går att programmera helt OK.Om någon har råkat utför samma fenomen, och har någon lösning är jag tacksam för hjälp! Holger E.
Holger: Hur högt spänning få du från din power supply?
Vill du köra A/D omvanlig med C kompilator, kika då på exempel programmen som följer med den C kompilator du använder, dom flesta C kompilatorer har färdiga funktioner som man kan använda för att enkelt göra en A/D avläsning från valfritt analog ben.