K8048 PIC PROGRAMMER BOARD
Velleman Kits Welcome to the exciting world of Velleman Kits. Velleman Kit is known all over the world for our High Quality electronic kits. Our range goes from easy to build Mini Kits to more advanced Kits such as High-End audio circuits, domotic systems and computer interface kits. Because of the huge success of our sophisticated measuring instruments like the PC- and hand-held oscilloscopes, we've founded the Velleman Instruments division. The Velleman Kit team
Contents I Table of Contents Generelt 2 FCC information (USA) 2 Specificationer 3 Tilslutning 3 Hardware installation 4 Programmering 5 Skrivning/ændring af et program... 5 Kompilering... 5 Fysisk programmering af microprocessoren... 7 Programmering... 9 Sletning af PIC kreds... 10 Eksperimenter 11 ICSP 13
2 1 PIC programmer board Generelt K8048 er et multifunktions programmeringsmodul til Microchip PIC FLASH mikroprocessorer*. Disse processorer kan omprogrammeres et stort antal gange, hvilket gør det nemt at opgradere software i et apparat, hvor processoren er indbygget - ligesom det er muligt at forsøge sig frem, indtil man er tilfreds. Forskellige typer af IC-kredse kan programmeres, og diverse lysdioder og tryktaster gør det nemt og hurtigt at opbygge små testkredsløb på selve programmeringsprintet. Brugen af dette modul består af to vigtige trin: Først skrives selve programkoden i en ASCII teksteditor, f.eks. Notesblok, som medfølger i MS Windows - eller brug Microchip's udvikler-kit, MPLAB, som findes på firmaets hjemmeside: www.microchip.com. Efter kompilering programmeres programmet ind i chippen med programmet PICPROG2. K8048 har plads til direkte montering af 4 forskellige IC-typer: 8-bens, 14-bens, 18-bens og 28-bens. Andre typer kan også bruges, ved hjælp af en ICSP-connector. Dette gør det muligt at anvende processorer med andre benforbindelser, eller processorer, monteret i et apparat. Disse kan programmeres, uden at skulle fjernes fra deres kredsløb (se ICSP). Med den medfølgende processor kan du komme i gang med programmeringen med det samme! * Microchip navn og logo, PIC og PICmicro er registrerede varemærker for Microchip Technology Inc.nd other countries 2 FCC information (USA) This device complies with Part 15 of the FCC Rules provided the enclosed instructions are followed to the letter. Use of the device is subject to the following conditions: (1) this device must not cause harmful interference and (2) the operation of this device should not be influenced by unwanted interference. More information about FCC can be look at http://www.fcc.gov/
FCC information (USA) 3 Specificationer Til programmering af Microchip FLASH PIC(tm) mikroprocessorer. Understøtter 4 forskellige 300 mil. PIC's: 8-bens, 14-bens, 18-bens og 28-bens. Indbyggede taster og LED-indikatorer gør det nemt at udføre diverse eksperimenter, f.eks. de inkluderede programeksempler. Tilsluttes nemt til en computer via den serielle port (RS232). 1 stk. Flash Microprocessor (PIC16F627) medfølger. Kan omprogrammeres op til 1.000 gange. Software til programmering og kompilering medfølger. Spændingsforsyning: 12 eller 15 VDC, min. 300 ma, ustabiliseret adapter: (PS1205 / PS1208/PS1508 (230 VAC)). (PS1208USA (115 VAC)). Systemkrav: IBM-compatibel PC, Pentium eller højere, med Windows 95/98/ME/NT/2000/XP, CDROM og en ledig seriel RS232 port (kabel medfølger ikke - brug f.eks. CW014). Understøtter disse FLASH mikroprocessorer: PIC12F629, PIC12F675, PIC16F83, PIC16F84(A), PIC16F871, PIC16F872, PIC16F873, PIC16F874, PIC16F876, PIC16F627(A),PIC16F628(A),PICF630,.* Størrelse: 145 mm x 100 mm. (*) Opdateret liste samt nyeste software kan findes på: www.velleman.be 4 3 Tilslutning
PIC programmer board 4 5 Hardware installation Tilslut computeren til K8048 med et 9-bens serielt kabel. Brug en ledig serielport, og kontroller at den installerede software ikke konflikter med andre enheder eller programmer (måleudstyr, PDA mv.) Sæt vælgeren SW5 i center-position (standby). Tilslut en ustabiliseret 12 til 15 VDC adapter på min. 300 ma til K8048 via SK1 (passende Velleman adaptere: PS1205 / PS1208/ PS1508 (230Vac) eller PS1208USA(115Vac)). "POWER"-lysdioden (LD7) bør nu være den eneste der lyser, som indikation af at spændingsforsyningen til K8048 er OK.
Hardware installation 6 5 Programmering Programmering af mikroprocessorer: Forberedelse 6.1 Skrivning og ændring af source kode: Koden skrives normalt i PIC assembler. Se eksempler i folderen:"velleman\k8048\examples\". Kompilering: Koden, som du har skrevet i et programmeringssprog, konverteres til maskinkode. Til dette anvendes Microchip PIC assembler programmet, "MPASMWIN.EXE". Programmering: Maskinkoden programmeres ind i processoren via din PC og K8048, ved hjælp af programmet "PROGPIC2.EXE". Sletning af PIC kreds : Sletning af en indholdet i en PIC-kreds Skrivning/ændring af et program Skrivning eller ændring af et program, se: "\Velleman\K8048\Examples\DEMOF627.ASM". Eksempel på et program, redigeret i "NOTEPAD/NOTESBLOK". 6.2 Kompilering Start "MPASMWIN.EXE" i folderen "\Velleman\K8048". Følgende opsætnings-skærmbillede vises (klik for flere detaljer):
PIC programmer board 6 1 2. 3. 4. Dette er navnet og placeringen af din sourcekode fil, f.eks. "C:\TEST\DEMOF267.ASM". Vælg format af den maskinkode, du ønsker at lave. Brug altid "HEXADEMICAL" til K8048. Variablerne kontrolleres for stavefejl (store og små bogstaver). Afgør i hvilken grad fejlmeddelelser og advarsler genereres i fejl-log filen. Normalt vælges: "ALL MESSAGES" eller "ERRORS ONLY". 5. Bevar standard-indstillingen. I "ON"-stilling skrives alle makroer i LIST-filen (xxx.lst). 6. Dette er ordlængden af de skrevne bytes. Vælg altid "INHX8M" i maskinkode filen til PROGPIC2-programmet, som leveres med K8048. Øvrige valg vil resultere i dårlig/defekt maskinkode. 7. Her kan der klikkes på de filer du ønsker at skabe, i tillæg til HEX maskinkoden. Error fil: Eventuelle fejlmeddelelser gemmes i denne fil. List fil: Denne fil indeholder din sourcekode samt fejlmeddelelser og anden information. Der er ingen grund til at generere filerne "CROSS REFEREE" & "OBJECT", da disse alligevel ikke er kompatible med K8048. 8. Vælg den processor du bruger. Vigtigt:: På nogle PIC-kredse efterfølges typen af et løbenummer (eks. PIC16F84A). 9. Angiv kolonnebredden som antal tegn i de genererede filer. Klik på "<ASSEMBLE>", når alle indstillinger er korrekt. Følgende skærmbillede vises, hvis programmet er uden fejl.
Programmering 7 Assembler-programmet genererer nu følgende filer: xxx.err => Error fil, indeholdende samtlige fejl og advarsler, som "MPASM assembler" har fundet i din source kode xxx.hex => Dette er maskinkode, som skal,bruges a programmeringsprogrammet, ved programmering af PIC-kredsen. xxx.lst => Listefil, indeholdende din source kode med programmets kommentarer. xxx.cod => Kodefil, som kun anvendes af MPLAB programmet - ikke af K8048 softwaren. 6.3 Fysisk programmering af microprocessoren Tilslut K8048 til din computer via en ledig serielport. IRQ på denne port (IRQ 3 or 4) må ikke være i brug andetsteds (f.eks. til et modem eller andet). Tilslut en passende netadapter, og kontroller om LD7 lyser ("Power LED"). Start "PROGPIC2, PIC programmer" programmet (findes i "C:\Velleman\K8048\"). Klik på "FILE" -> "OPEN" og vælg det kompilerede program (Hex 8M-fil) du ønsker at programmere.
PIC programmer board 8 Kontroller programmets indstillinger. 1. 2. 3. 4. 5. Angiv nummeret på den serielle port, K8048 er tilsluttet. Skrivning af koden: (standard = ON). Skrivning af EEPROM data (standard = ON). Skrivning af konfiguration (standard = ON). SLET før SKRIVNING: (standard = ON). Dette indikerer at PIC-kredsen slettes før programmering. 6. "LOW VOLTAGE Programming": Anvendes ikke med K8048. Alle PIC-kredse programmeres med en spænding på 13 Vpp - ikke 5 V. 7. Vælg den mikroprocessor, du vil bruge. Den medfølgende er enten PIC16F627 eller PIC16F627A. Kontroller at den korrekte type er valgt. 8. Konfiguration: Normalt konfigureres kredsen med " CONFIG compiler direktivet" i sourcekoden. Kun den øvede bruger kan indstille dette manuelt, eller foretage ændringer.
Programmering 6.3.1 9 Programmering Kontroller at SW5 er placeret i midterstilling (standby) Indsæt PIC-kredsen i den passende IC-sokkel: o indsæt 8-bens PIC-kredse i sokkel IC1 o indsæt 14-bens PIC-kredse i sokkel IC2 o indsæt 18-bens PIC-kredse i sokkel IC3 o indsæt 28-bens PIC-kredse i sokkel IC4 Placer nu SW5 i "PROG"-stilling. Advarsels-lysdioden LD9 begynder at blinke. Dette betyder, at der ikke må indsættes eller udtages kredse, mens SW5 er i denne stilling. Klik på "WRITE", og kredsen programmeres. Du kan følge processen i dialogboksen "Activity". Indikatoren for læse/skrive "READ/WRITE" (LD8). Placer igen SW5 i midterposition (STANDBY) når programmeringen er afsluttet. Først derefter er det muligt at udtage kredsen eller skifte til test-indstilling (se under "Eksperimenter"). Indstil SW5 i "RUN"-indstilling, for at teste programmet (hvis programmet er skrevet til at fungere sammen med kortets test-tryktaster og lysdioder). 1. Tryk her for at udlæse program og data fra en kreds (med mindre denne er beskyttet med en kode). Kredse med en kode aktiveret kan IKKE udlæses, men udelukkende slettes - hvilket betyder at al kodning også slettes. Den hexadecimale maskinkode gemmes i en tekstfil. * Bemærk: Sæt SW5 i "PROG"-stilling til denne funktion! 2. Kredsen programmeres, og processen kan følges i dialogboksen "Activity". Indikatoren for læse/skrive ("READ/WRITE") lyser op (LD8). 3. Dette gør det muligt at kontrollere om programmet er gemt korrekt. Husk at kredsen ikke må være beskyttet med kode, ellers kan testen ikke udføres. Under programmering testes alle data automatisk, før eventuel beskyttelse kobles på. * Bemærk: Sæt SW5 i "PROG"-stilling til denne funktion! 4. Gør det muligt at se og modificere data, gemt i kredsens EEPROM-hukommelse. * Bemærk:
10 PIC programmer board Sæt SW5 i "PROG"-stilling til denne funktion! 5. Bibehold standard-indstillingen "NORMAL". Hvis du oplever problemer under programmering, kan du indstille hastigheden til "HIGH" hvis du har en langsom PC, eller til "LOW" hvis din PC er meget hurtig. Dette kompenserer for evt. hastighedsforskel. 6. Gør det muligt at se hvilken adresse eller adresseområde programmet anvender til læsning/skrivning. 7. Navnet på filen, gemt i hukommelsen, og som skal anvendes til programmeringen. 6.4 Sletning af PIC kreds Sletning af en indholdet i en PIC-kreds: 1. Bruges til at slette alt indhold i hukommelsen. 2. Bruges til kun at slette EEPROM data. 3. Kan bruges til at deaktivere kode-beskyttelsen. Dog er det derefter ikke muligt at læse indholdet, eller bruge et program. * Bemærk: Sæt SW5 i "PROG"-stilling til denne funktion! 1.Bruges til at slette hele indholdet af en PIC-kreds. 2.Bruges til kun at slette EEPROM data. 3.Kan bruges til at deaktivere kode-beskyttelsen. Dog er det derefter ikke muligt at læse indholdet, eller bruge et program. Se også: "C:\Velleman\K8048\Examples" for programeksempler. Opdateret programmerings-software samt yderligere eksempler kan hentes på www.velleman.be.
Programmering 7 11 Eksperimenter Brug af eksperiment tryktaster og lysdioder: K8048 er udstyret med 4 testinputs, som kan anvendes manuelt med SW1,SW2,SW3 og SW4. Kortet har også 6 diagnose lysdioder, som gør det muligt at simulere udgange. Klik på "cross-reference table" for at afgøre hvilken I/O er forbundet til hvilke taster/lysdioder (for hver enkelt kreds). 8 pin PIC socket 14 pin PIC socket 18 pin PIC socket 28 pin PIC socket LD1 GP2 (pin 5) RC0 (pin 10) RB0 (pin 6) RA0 (pin 2) LD2 GP4 (pin 3) RC1 (pin 9) RB1 (pin 7) RA1 (pin 3) LD3 RC2 (pin 8) RB2 (pin 8) RA2 (pin 4) LD4 RC3 (pin 7) RB3 (pin 9) RA3 (pin 5) LD5 RC4 (pin 6) RB4 (pin 10) RA4 (pin 6) LD6 RB5 (pin 11) RA5 (pin 7) SW1 GP5 (pin 2) RC5 (pin 5) RA0 (pin 17) RB0 (pin 21) SW2 RA2 (pin 11) RA1 (pin 18) RB1 (pin 22) SW3 RA2 (pin 1) RB2 (pin 23) SW4 RA3 (pin 2) RB4 (pin 25) Remarks: The I/O lines coming from a pushbutton have to be configured as inputs in the source (a 1 in the TRIS-register for that particular entrance). The I/O lines connected with a LED must be configured as exits in the sources (a 0 in the TRIS-register for that particular entrance). Valg af oscillator via jumpers Disse jumpere gør det muligt at vælge hvilken IC-sokkel krystal X1 bruger. Placer jumperne i JP1 & JP2 ved brug af 14-bens sokkel (f.eks. PIC16F630). Placer jumperne i JP3 & JP4 ved brug af 18-bens sokkel (f.eks. PIC16F627). Placer jumperne i JP3 & JP4 ved brug af 18-bens sokkel (f.eks. PIC16F87x). Det er ikke muligt at vælge en indstilling for 8-bens sokkel, da man derved ville miste to I/O porte. Med dette kort kan der kun anvendes intern oscillator med en 8-bens sokkel!
12 PIC programmer board Trin-for-trin afvikling af et eksempelprogram Til dette eksempel vil vi bruge programmet "demo1.asm", et simpelt løbelys: Kontroller at adapteren og den serielle forbindelse til K8048/VM111 er OK, og at programmerings-softwaren er installeret på din PC. Kompiler filen "demo1.asm" med "MPASM.EXE" (se fig. Kompilering). Start programmerings-softwaren "PICPROG2.EXE". Kontroller samtlige indstillinger (PIC16F627), den serielle port og kommunikations-hastigheden (start altid med indstillingen "LOW"). Indlæs den kompilerede fil "demo1.hex" (File...open file...). Sæt SW5 i "PROG"-position. Klik på "WRITE" i PICPROG2 softwaren. Skriveprocessen bør nu kunne følges på skærmen. Sæt SW5 i "RUN"-position når programmeringen er afsluttet. Lysdioderne LD1 til LD6 bør nu danne et simpelt løbelys.
Eksperimenter 8 13 ICSP ICSP gør det muligt at programmere en kreds, mens den sidder i et kredsløb ("in-circuit"). Denne proces er også kendt som "code downloading". Det betyder helt enkelt, at den pågældende kreds forbindes til en sokkel med fire eller fem ledninger, dvs. ICSP-bussen. Adskillige typer af kredse kan programmeres uden at skulle fjernes fra kredsløbet, og uden at spændingsforsyningen nødvendigvis skal frakobles. Disse kredse sættes i programmeringsmode ved at tilslutte en spænding på 12 til 14 V til benet "/MCLR". Derefter skal RB6 anvendes som CLOCK-input mens RB7 bliver DATA-input/output.