PicLink RS232 låg kostnad utveckling controller med ADC (4 / 5 steg)

Steg 4: Programmering picLink med H1 ICSP Port



Programmering picLink via ICSP (Header H1 nederst till höger)

Hitta release firmware i URFC.zip paketet ingår packa upp paketet och leta upp URFC.hex filen.
URFC.hex filen finns i katalogen Release av firmware bygger. Om man behöver ändra programvaran måste du installera Eclipse SDCC (CDT) kompilator plugin version 1.0.0 som väl asGNU Win32 filen core, utils och GPLINK. Detta kan göras på Linux, XP och Vista och jag rekommenderar att använda Eclipse plattformen Version: 3.4.0 (Ganymede) och C/c ++ CDT. Jag har inkluderat SDCC projektfilerna som enkelt kan importeras till en befintlig arbetsyta.

SDCC och GPUTILS kan laddas ner från sourceforge och royalty fria och publiceras under GNU GPL. Alla C källor som sammanställdes med hjälp av SDCC och inbegriper en master makefile som antar SDCC GPUTILS både och är installerade under enheten C:\. Om detta inte är fallet kommer du behöva redigera makefile (SDCCDIR och GPUTILSDIR) för att återspegla korrekta placeringen av dessa verktyg.

Video av hur jag använder den picLink RS232 registeransvarige för att mäta avstånd med hjälp av Sonar

URF 1000 Sonar DSM modul och picLink

SDCC bygga Makefile

###############################################################################
# Inbäddade Bygg skript för användning med SDCC och GPUTILS
# för PIC14 abd PIC16 serien enheter
# Gör projektet Hex och ASM filer från C-källfilen
# DEP LIBS = crt0i.o libsdcc.lib pic$ (CPU) lib
# CLI bygga: sdcc--debug - mpic14-p16f84 source.c
# CLI kompilera: sdcc -V-mpic14-p16f84 - c source.c
#
# SDCC MAKEFILE för PIC16 & PIC18 serien bygger
# Projekt: PICLink Lightweight inbyggda System (Rev 1.1) för URFC (Ultrasonic Range Finder Controller)
# Datum: 2 Feb, 2011
# Auth: TuxMicro Devices (C) 2010-2011
#----------------------------------------------------------------------------
# Flaggor sdcc:
# - c: kompilera endast
# -S: sluta efter monteringen
# -V: Visa faktiska kommandorad kompilator utförande
#--verbose: visar de olika insatserna kompilatorn utför
#
# För gplink flaggor:
# - c:-m: -w: - r:-jag dir: -s filen: filen linker
#----------------------------------------------------------------------------
#
# Miljöinställningar
#
# SDCC_HOME
# SDCC_INCLUDE
# SDCC_LIB
# GPUTILS_HEADER_PATH
# GPUTILS_LKR_PATH
# GPUTILS_LIB_PATH
#
# Genererar hex-projektfil
#
# Verktyg
RM: = rm -f
MV: = mv -f

#
#PROJECT
PRJ = urfc
TARGET = $(PRJ) Hex

# Processormål alternativ
ARCH = pic14
CPU = 16f628a

# GPUTILS bygga miljö
SDCCDIR: = c:\sdcc
GPUTILSDIR: = c:\gputils
GPASM: = $(GPUTILSDIR) \bin\gpasm
GPLINK: = $(GPUTILSDIR) \bin\gplink
SDCC: = $(SDCCDIR) \bin\sdcc
GPUTILS_HEADER_PATH: = $(GPUTILSDIR) \header
GPUTILS_LKR_PATH: = $(GPUTILSDIR) \lkr
LIBDIR: = $(SDCCDIR) \lib\pic

# Hex Utgångsformat för fil (inhx8m, inhx8s, inhx16, inhx32)
LINKFMT = inhx8m
LINKOPTS =--hex-format $(LINKFMT) -m

#SDCC flaggor
CC: = $(SDCC)

# GPASM flaggor
GPASM_FLAGS =

#SDCC debug
#SDCC_FLAGS = -S-m$(ARCH)-p$(CPU)--debug -c
#SDCC sammanställa
SDCC_FLAGS = -S-m$(ARCH)-p$(CPU) - c

# Länkaralternativ
GPLINK_FLAGS = - c -m -w - r-jag $(LIBDIR) -s $(GPUTILSDIR) \lkr\$ (CPU) .lkr

# C källor
SRCS_C: = urfc.c RS232Serial.c
OBJS_C: = $(SRCS_C:.c=.o)
OBJS_ASM = $(SRCS_ASM:.asm=.o)
OBJS = $(OBJS_C) $(OBJS_ASM)

# Dependancies Libs
LIBS: = libsdcc.lib pic$ (CPU) lib

# Alla mål
alla: $(TARGET)

# Bygga verktyg framkallanden
$(MÅL): $(OBJS)
"Byggnaden måltavlan: $
"Åberopa: SDCC länkare"
$(GPLINK) $(GPLINK_FLAGS) $(LINKOPTS) -o $(TARGET) $(OBJS) $(LIBS)
"Avslutat bygga target: $
' '
"Släppa filer"
-$(MV) $(PRJ) .cod. / Release
-$(MV) $(PRJ) .cof. / Release
-$(MV) $(PRJ) Hex. / Release
-$(MV) $(PRJ) .lst. / Release
-$(MV) $(PRJ) .map. / Release

%.o: %.c
' Byggnaden fil: $< '
"Åberopa: SDCC Compiler"
$(CC) $(SDCC_FLAGS) $<
"Åberopa: GPASM"
$(GPASM) $(GPASM_FLAGS) - c $*.asm
' Färdig byggnad: $< '
' '

##############################################################################
# kompilerar fristående asm filer till objektfilen om det behövs
#
%.o: %.asm
$(GPASM) $(GPASM_FLAGS) - c $<

# Andra mål
ren:
-$(RM) *.o
-$(RM) *.asm
-$(RM) lst
-$(RM) *.sym
-$(RM) *.map
-$(RM) *.cof
-$(RM) *.cod
-$(RM) *.hex
-$(RM) release/*.map
-$(RM) release/*.cof
-$(RM) release/*.cod
-$(RM) release/lst
-$(RM) release/*.hex
"---Projektkatalogen rengörs."

. FALSKA: alla ren anhöriga
. SEKUNDÄR:

-inkluderar... /Makefile.targets

URFC. HEX (inhx8m)

: 1000000000007C2B00340034F200030E8301F10069
: 100010000A088A01F000040883120313C200831245
: 1000200003138B128C1E15282421831203138B1C9F
: 100030001A28A221831203130C1F1F28CA2183121E
: 1000400003130B1D2428CE21831203130C1C292813
: 10005000D221831203138C1C2E28DA21831203135E
: 100060008B16831203134208840070088A008301F0
: 10007000710E8300F20E720E0900B02083228312EB
: 100080000313B70183120313201C4928831203139F
: 10009000B70A831203133708003003190130B80080
: 1000A000B70183120313061C582883120313B70ADF
: 1000B000831203133708003003190130B900B80563
: 1000C0003808031DCF2083120313B70183120313D3
: 1000D000201C6D2883120313B70A83120313B8017F
: 1000E00083120313A01C772883120313B80A831208
: 1000F00003133808B900B705370803193F288312DE
: 10010000031306183F281010213083120313B70081
: 10011000B801B901831203130F08FD008312031302
: 100120003708FE000030FF00003023242230831205
: 100130000313B700B801B901831203130E08FD00C1
: 10014000831203133708FE000030FF000030232421
: 10015000831203132010A0100D30E9203F2808005F
: 100160004430831603138100E030831203138B00A5
: 100170000730831603138500C 33086008112811176
: 10018000831203139001831603130C1483120313B9
: 100190008F018E01A001A101A20186150800FC308B
: 1001A0008312031381000B118B12831203130B199B
: 1001B000DC2886112014D528831203130B118B160B
: 1001C0008615201CE8288F018E010C1010140B16C8
: 1001D000080083120313B40083120313010883126F
: 1001E0000313B500831203138B120B11003083121B
: 1001F000031334040319FF280130B60002298312C7
: 100200000313B601003083120313360403191929AE
: 1002100064308312031381006430831203130102DC
: 10022000031C1529013075220C2983120313B40312
: 10023000F628831203130B1183120313350883125C
: 10024000031381008B160800831203130B13043071
: 1002500083120313B200F630B1008030B3003108CE
: 10026000FE003208FF0033082322043083120313F8
: 10027000B2007130B1008030B3003108FE003208A6
: 10028000FF0033082322043083120313B2005030DE
: 10029000B1008030B3003108FE003208FF0033089F
: 1002A0002322043083120313B200AD30B10080303A
: 1002B000B3003108FE003208FF0033082322043067
: 1002C00083120313B200F630B1008030B30031085E
: 1002D000FE003208FF003308232204308312031388
: 1002E000B200E330B1008030B3003108FE003208C4
: 1002F000FF00330823220230FD002130FE000030D1
: 10030000FF000030A52283120313B3007F08B20060
: 100310007E08B100FE003208FF00330823220430BB
: 1003200083120313B200F630B1008030B3003108FD
: 10033000FE003208FF0033082322502283120313E9
: 100340000B170800831203138B1083120313AF01E2
: 1003500083120313201CAF2983120313AF0A8312E5
: 100360000313B00183120313061CB929831203136C
: 10037000B00A831203133008AF052F080319C929E7
: 100380008312031310108F018E010C100B12A01496
: 1003900010140800831203130C13080083120313B4
: 1003A0000B110800831203130C1010100B122010F5
: 1003B000A0100800831203138C1008000130831270
: 1003C0000317CB002030CA00CC01831203138C1A10
: 1003D000EB295A307522831203138C1E222A8316AE
: 1003E00003138C12103083120317CD0083120317EE
: 1003F0004D08803E7F3E031C1F2A502283120317A4
: 10040000CE00FD004A08FE004B08FF004C082324E4
: 10041000831203174E080D3A03191F2A4A08FE00DB
: 100420004B08FF004C08102483120317CE004E081F
: 1004300003191F2ACA0A0319CB0ACD03F62983160A
: 1004400003138C16080083120317C8007F08C70027
: 100450007E08C600831203174608FE004708FF0007
: 100460004808102483120317C900490803194F2AAA
: 1004700049086422831203174608FE004708FF005C
: 100480004808102483120317C9000D3A03194F2A94
: 10049000490803194F2AC60A0319C70A2A2A08005D
: 1004A00083120317C501831203138C1E5B2A1A08DB
: 1004B00083120317C50083120313981C602A6E224F
: 1004C000831203174508080083120313990083164B
: 1004D000031398186D2A5A307522080083120313EB
: 1004E000981C742A18121816080083120317C500E6
: 1004F0000A30FF004508902483120317AF00000064
: 10050000AF0B7F2A080083160313861406150A30E2
: 1005100099000430980080308312031398008316EA
: 1005200003138C16831203131816831603130C126D
: 10053000981298161030FD00831203133F08FE0036
: 100540004008FF0041085423080083120317BB0032
: 100550007F08BA007E08B9007D08BC00BD011030DC
: 10056000FD00831203133F08FE004008FF0041080E
: 1005700054231030831203173C02BE01031C3E14A7
: 10058000BF01831203173C083F0203184C2B3E089F
: 1005900003194C2B3908FE003A08FF003B081024D1
: 1005A00083120317C000400E0F39C1001030FF0046
: 1005B0004108902483120317C200C0020A3041028E
: 1005C0000318F62A3D08C200BD0A4208203EC200B8
: 1005D00001300318013EC30030304107C400420817
: 1005E0008400831343188317440880000A30831261
: 1005F00003174102031C0F2B3D08C200BD0A42082D
: 10060000203EC20001300318013EC3003730C1074D
: 1006100042088400831343188317410880000A307E
: 10062000831203174002C101031C411403182C2B31
: 100630003D08C200BD0A4208203EC2000130031836
: 10064000013EC30030304007C400420884008313D9
: 1006500043188317440880000030831203174104B5
: 10066000031D452B3D08C100BD0A4108203EC100C5
: 1006700001300318013EC2003730C0074108840032
: 100680008313421883174008800083120317B90AA6
: 100690000319BA0ABF0AC12A831203133F08FE00D6
: 1006A0004008FF004108080083120317B3007F08C9
: 1006B000B2007E08B1007D08B400B50183120317B3
: 1006C0003408350203187B2B35083107B600320891
: 1006D0000318013EB70033080318013EB80000308C
: 1006E000FD003608FE003708FF0038082324831277
: 1006F0000317B50A5E2B0800C930FE000430FF0066
: 100700008030000000002F2400000000831203133B
: 10071000A4007F08A300CB30A5000430A6008312FC
: 1007200003132308A7002408A800FF30A307031C15
: 10073000A4032708280403190C2C04302507A7005C
: 10074000A801A80D2608A8072708FE002808FF0012
: 100750008030000000002F240000000083120313EB
: 10076000AA007F08A9002508FE002608FF008030A7
: 10077000000000002F240000000083120313AC00CF
: 10078000A8007F08AB00A70002302507A700A8013A
: 10079000A80D2608A8072708FE002808FF008030BB
: 1007A000000000002F240000000083120313A800A3
: 1007B000AE007F08A700AD00831203132908AD0027
: 1007C0002A08AE00FF30A907031CAA032D082E0437
: 1007D0000319052C2B08FE002C08FF0080300000B8
: 1007E000000010240000000083120313AD0027084E
: 1007F00084008313281883172D088000AB0A03197F
: 10080000AC0AA70A0319A80ADC2B063083120313CB
: 10081000A5070318A60A8F2B000000003D2808003A
: 10082000003A0319172C803A03191E2C00347E0855
: 10083000840083137F188317000808007F088A004C
: 100840007E0882000800003A0319272C08007E0861
: 10085000840083137F1883177D0880000800003A06
: 100860000319372C803A0319412CFF0100347E080C
: 10087000840083137F1883170008FF00840A000890
: 100880000800000000001E24FD00FE0FFF03FF0A09
: 10089000000000001E24FC007D08FF007C0808000A
: 1008A0005434753478344D346934633472346F346D
: 1008B00020344434653476346934633465347334B5
: 1008C 0002034283443342934203432343034313421
: 1008D00030342D3432343034313431340A340D3440
: 1008E000003455346C3474347234613473346F347E
: 1008F0006E34693463342034523461346E34673476
: 1009000065342034463469346E346434653472346A
: 10091000203455345234463443340A340D340034D0
: 1009200083120313BA007F08BB00BC010830BD006E
: 10093000831203133A1C9E2C3B08BC07831203133B
: 100940003A08BE0003103E0CBA0003103B0DBE0077
: 10095000BB00BD0B982C3C08080046346934723447
: 100960006D347734613472346534203456346534F0
: 100970007234733469346F346E343A3420344C3406
: 1009800045345334203431342E3431340A340D3468
: 10099000003404340034023400342134003402348E
: 1009A0000034FC3404342F34013401340034F9347D
: 1009B00004343F34003403340034FD34043443340D
: 1009C00000340134003409345434313449344E3461
: 1009D0002034443469347334743461346E34633491
: 1009E00065343A3420343034783400340A340D34E9
: 0C09F000003420340134003400340034A2
: 02400E00223F4F
: 00000001FF

Se Steg
Relaterade Ämnen

USB: - DC Motor Controller med PIC18F4550 (keyboard)

USB: - DC Motor Controller med PIC18f4550 (keyboard)Hej vänner,KravUSB-DEMO gränssnitt styrelseL293D motor controller chipDetta ett litet projekt på att kontrollera DC motor med USB pic18f4550 gränssnittskortet med L293D motor Driver.Ett litet progra...

Gränsyta för PS2 controller med AVR-bitars Bang

Hej vänner i detta instructable jag kommer att visa dig hur gränssnittet sony PS2 controller med AVR microcontroller. Detta kommer att vara din hands kod som du kan användas i framtiden att styra robotar. Du kan få analoga värde från joystick som kan...

Linkit en - vattennivån Controller med TV Fjärrinställningar

Jag redan gjort en vattennivån controller och postat här se länken korrekt flytande nivå Controller med låg kostnad sensor och TV: ns fjärrkontroll för inställningar. Nu dess fungerar bra och jag använder det online. Ändra det till Linkit en att lära...

Multifunktions RGB LED-controller med PIC12F675

multifunktions RGB LED-controller med låg kostnad PIC12F675 mikrokontroller.funktioner:1, 4 + 1 läge drift en enda potentiometer och enda knappen Växla används för flera drift2, EEPROM-minne alternativ för val av läge:-den sista läget kommer att spar...

40 x RGB LED-Controller med 8-bitars PWM och valbara mönster

Uppdatering: Den här domänkontrollanten har ersatts med de vida överlägsen 48 kanaler Mono / 16 kanal RGB LED-Controller, med USB-anslutning och ColorMotion kompatibilitet. Besök http://www.chromationsystems.com/48channled.html för information, länka...

Hacka din Xbox Controller med Sugru

i detta instructable jag lär dig hur du ändrar din Xbox controller med sugruSteg 1: material Material: en 5g förpackning med sugru Xbox remoteSteg 2: Vänster/höger sticka Först ni vill öppna paket med sugru och men smuts tvätta händerna sedan ta hälf...

Ändra din trådlösa XBOX 260 Controller med Super kondensatorer!

> Hej alla!Som framgår av mitt förra instructable (hur till göra din egen super kondensator ficklampa), jag ville ändra min laddare ombord så att jag kan ändra min XBOX 360 controller med en för evigt rechargeable ackumulatorn setup. Tja, gjorde jag...

Du Rock gitarr MIDI-controller med Bluetooth BLE och uppladdningsbart batteri

I denna tutorial kommer jag visa dig hur du slår gitarr du Rock gitarr i en MIDI-Bluetooth 4.0 controller med uppladdningsbart batteri. Lösningen var enkel men att tänka på det.Detta system har testats med iMac, iPad och iPhoneDet material vi behöver...

MIDI-Controller med tangentbord

Idag bygger vi 400 nyckeln MIDI-controller med hjälp av en Arduino och dator tangentbord!För budget medvetna musik producenterna ute är detta projekt ett bra sätt att bygga en billig kontroll styrelse för din digital audio workstation.Eller om du bar...

Arduino MIDI-controller med en ZX avstånd och gest Sensor

Välkommen till detta instructable om hur man bygger en mycket grundläggande MIDI-Controller med SparkFun ZX avståndet och gest Sensor. Detta instructable är del av en skoluppgift.Obs: Detta är ingen kodning handledning. Den final koden kommer att ing...

Utveckla diafilm med C-41 kemikalier AKA E-6(-)

I detta instructable, vi kommer att utveckla diafilm som normalt använder den E-6 kemiska processen med en vanlig svartvit film utvecklare och färg negativ film processen (C-41) kemikalier. Resultatet blir en positiv bild som kommer att närma sig kva...

Arduino justerbar Timer Controller med relä

detta är mitt första inlägg här, så jag hoppas jag får allt rätt!Jag har en gasvärmare millivolt (termoelement högen) veranda som har en manuell kontroll på den. Jag tröttnade på att få upp och ner att slå på och stänga av den, så jag beslöt att göra...

Korrekt flytande nivå Controller med låg kostnad sensor och TV: ns fjärrkontroll för inställningar

Detta är den min första personal Arduino projekt. Även genom planerar jag att automatisera våra över tank vattennivå jag inte gillar att investera mer pengar på instrument. Jag har några Arduino ombord och relay styrelser från mina vänner. Så använd...

Steg för steg utveckla controller för relä med din bärbara dator

killar,I detta experiment som jag vill dela sättet att skapa en relay controller från PC, jag använder inte ett relä direkt men jag använder LED-modul som en replacemnet av ett relä. Om du ansluter den till din relä ger det samma resultat.Läs:För ful...

Atmega16/32 utveckling styrelsen med LCD

detta instructable visar, hur du gör din egen utveckling styrelsen för Atmega16 eller Atmega32 processorer. Internet är fullt av hemgjorda utveckling styrelser, men jag tror att det finns utrymme kvar för en annan. Denna styrelse har varit mycket anv...

Bluetooth WS2811 Controller med Windows Phone och MSP430G2 Launchpad

Titta på videon, då ser du vad du får här.Mot hypen av Android och Arduino är mitt projekt baserad på Windows Phone 8 och en mikrokontroller från Texas Instruments.Jag har inget emot en randgrupp, och jag är så glad över detta :-)Om du hittar några f...

En låg kostnad 3D skrivare med grundläggande verktyg

Att införa "Ad (str) apto"Välkommen till vår 1: a försök på att göra en instructable. Detta är en billig, snabb och mycket "hacka" bootstrap skrivaren löst baserad på reprap "Adapto" (http://reprap.org/wiki/Adapto) ut volymen...

En nätverksansluten LED Strip Controller med Arduino och Android

jag är fascinerande från belysningen verkställer sedan barn och en gång hittade på Ebay en billigt multicolor LED strip har jag börjat titta hur kontroll det, letar efter en Ethernet aktiverat kontroll som gör remsorna en uppsättning nätverk objekt,...

12-24v DC motor controller med en EG1 SPLat PLC

Det finns inte många enkla programmerbara DC motor controller instruktioner ute men nu vill jag ge dig steg för steg instruktioner om hur man gör en som kan utvidgas för användning på robotar till en 500W elektriska gå vagn!(Obs detta instructable vi...