If you need assistance, please send an email to forum at 4hv dot org. To ensure your email is not marked as spam, please include the phrase "4hv help" in the subject line. You can also find assistance via IRC, at irc.shadowworld.net, room #hvcomm.
Support 4hv.org!
Donate:
4hv.org is hosted on a dedicated server. Unfortunately, this server costs and we rely on the help of site members to keep 4hv.org running. Please consider donating. We will place your name on the thanks list and you'll be helping to keep 4hv.org alive and free for everyone. Members whose names appear in red bold have donated recently. Green bold denotes those who have recently donated to keep the server carbon neutral.
Special Thanks To:
Aaron Holmes
Aaron Wheeler
Adam Horden
Alan Scrimgeour
Andre
Andrew Haynes
Anonymous000
asabase
Austin Weil
barney
Barry
Bert Hickman
Bill Kukowski
Blitzorn
Brandon Paradelas
Bruce Bowling
BubeeMike
Byong Park
Cesiumsponge
Chris F.
Chris Hooper
Corey Worthington
Derek Woodroffe
Dalus
Dan Strother
Daniel Davis
Daniel Uhrenholt
datasheetarchive
Dave Billington
Dave Marshall
David F.
Dennis Rogers
drelectrix
Dr. John Gudenas
Dr. Spark
E.TexasTesla
eastvoltresearch
Eirik Taylor
Erik Dyakov
Erlend^SE
Finn Hammer
Firebug24k
GalliumMan
Gary Peterson
George Slade
GhostNull
Gordon Mcknight
Graham Armitage
Grant
GreySoul
Henry H
IamSmooth
In memory of Leo Powning
Jacob Cash
James Howells
James Pawson
Jeff Greenfield
Jeff Thomas
Jesse Frost
Jim Mitchell
jlr134
Joe Mastroianni
John Forcina
John Oberg
John Willcutt
Jon Newcomb
klugesmith
Leslie Wright
Lutz Hoffman
Mads Barnkob
Martin King
Mats Karlsson
Matt Gibson
Matthew Guidry
mbd
Michael D'Angelo
Mikkel
mileswaldron
mister_rf
Neil Foster
Nick de Smith
Nick Soroka
nicklenorp
Nik
Norman Stanley
Patrick Coleman
Paul Brodie
Paul Jordan
Paul Montgomery
Ped
Peter Krogen
Peter Terren
PhilGood
Richard Feldman
Robert Bush
Royce Bailey
Scott Fusare
Scott Newman
smiffy
Stella
Steven Busic
Steve Conner
Steve Jones
Steve Ward
Sulaiman
Thomas Coyle
Thomas A. Wallace
Thomas W
Timo
Torch
Ulf Jonsson
vasil
Vaxian
vladi mazzilli
wastehl
Weston
William Kim
William N.
William Stehl
Wesley Venis
The aforementioned have contributed financially to the continuing triumph of 4hv.org. They are deserving of my most heartfelt thanks.
Registered Member #326
Joined: Sat Mar 18 2006, 01:12PM
Location: Glasgow, Scotland
Posts: 66
I'm just getting back into building hobby projects after a prolonged break due to health problems. I've picked up whe I left off with a 5-year-old project based around the Microchip PIC16F84. I'm using the MPLAB simulator/assembler, and programming in PIC assembly language.
My programmer is the No Parts PIC Programmer, connected to the parallel port. This is driven by a DOS application which doesn't work win Windows XP, as XP (unlike Win 98) prohibits direct access to hardware. Hence the development cycle involves coding and simulating, rebooting with a DOS boot disk, putting in another floppy onto which I've previously copied the .asm file onto (DOS won't read my NTFS hard disk ), and then programming the PIC, before transeferring it to the breadboard. My ghetto-wired PIC programmer has recently started destroying PICs, which wasn't really what I had in mind when I built it.
The whole system is infuriatingly slow and unreliable. My other problem with it is that, unlike the FPGA and CPLD tools I've used professionally in the past, it doesn't support in-circuit programming, and the simulation facilities are rather limited, it simulates code executuion but doesn't provide waveform output. I'm basically limited to the "burn and crash" method of debugging. I'm also not sure how long Microchip will continue supporting the 16F84.
What embedded processors do you guys use, what development tools do you work with, what languares do you program in, and what programming/simulating/debugging features do they have? Are they in-circuit programmable?
Registered Member #27
Joined: Fri Feb 03 2006, 02:20AM
Location: Hyperborea
Posts: 2058
You can get all the in circuit programming/bootloader/windows stuff to work on PICs if you really want.
When I am not using PIC I am using ARM I am using the free evaluation software from Keil but there are open source compilers available. The simulator is fairly usable but will not simulate external circuits, for that you need to use some other software that is not likely to be free.
Registered Member #326
Joined: Sat Mar 18 2006, 01:12PM
Location: Glasgow, Scotland
Posts: 66
Thanks Bjorn. There are loads of programmers, etc. out there, I'm really trying to get an idea of the strengths and weaknesses of the different options available, based on peoples experiences with them.
Registered Member #56
Joined: Thu Feb 09 2006, 05:02AM
Location: Southern Califorina, USA
Posts: 2445
A quick google search turned up winpic as a winxp compatable pic programmer... I doub't it supports in circuit debugging, but any programmer supports in cuitcuit programming -you jut need the 5 pins, mclr, gp0, gp1, vdd, and gnd) to connect to the programmer...
Have you put any thought into programming in diferent language then assembler? Ther are a lot of free compilers that should make things go a lot faster
Registered Member #30
Joined: Fri Feb 03 2006, 10:52AM
Location: Glasgow, Scotland
Posts: 6706
I use the MPLAB ICD and MPLAB ICD2, with the PIC16F870 and PIC16F877A processors, and program in assembler. Both of those PICs are in-circuit programmable and and debuggable by either the ICD or ICD2.
I also designed an instrument at work based around an Analog Devices DSP programmed in assembler. We made our own simple in-circuit debugger for it to save endless crashing and burning of EEPROMS. The DSP doesn't have any flash memory of its own, but I hooked up an external flash memory chip that can be programmed in-circuit.
Registered Member #79
Joined: Thu Feb 09 2006, 11:35AM
Location: Arkansas
Posts: 673
I just researched this stuff like this week, so memory dump...
There are pretty much no schematics for USB controlled programmers. If you need one, buy one from the chipmaker for about 30 bucks. The serial (RS232) programmers are more popular than the Parallel ones, it seems.
There are several main types of homemade serial programmers: -Comm84 -RCD -JDM 1 and 2 -HoodMicro
The comm84 was supposed to be really reliable, but now it's out of date and apparently won't work with alot of new chips. The RCD was made by some Japanese guy that really looks like he knows what he's doing, but I could only get his programmer to work for a few flashes (I used his #1 dongle). I think it's my computer's port (more on that later.) Supposedly, DON'T use a JDM1 type programmer, becuase JDM2's are much better. The JDM2 is not suggested for in circuit programming because it has a wierd ground. The Hoodmicro is the only one I've got working every time on my computer, but it only programs DIP8 devices. Look in the fourm on his website, though, under "ADDONS" and look on the last post in the thread. There you should find an adapter schematic that will do most pics. I've yet to try it, but I think it'll work.
Although there are many flash programs, these seem to be popular: -IC Prog -WinPic -PICProg4U -PonyProg
PICProg4U is supposed to be really good (from several sources), but I can't get it to work on my computer because it needs a certain .NET download I don't want to wait for (40ish Mb). I've got the newest version of .NET, but it doesn't seem to care.
ICProg, in my own experience is a piece of crap. I don't know if it's my computer or what, but quite often it goes into endless loops, stops, just whatever; it's annoying.
WinPic works really well for me, and on all my computers. Like I said, I haven't tried PICProg4U yet, but WinPic is the best one I've been able to run, and it supports all the programmers I've seen, as well as almost all of the PIC line.
I didn't try ponyprog, because how gay is a big pony? Actually, there's no reason, I just haven't tried it because WinPic worked, and the program looked cheap.
If parts of the pic are programming while others are not, usually randomly, you're most likely having a voltage problem (that means you're computer isn't supplying enough current or voltage). Check to make sure the voltage between MCLR and GND stays above 9V, preferably around 12-13V. On some programmers I think the voltage is supposed to turn off MCLR at certain times, though. I hope that makes sense.
At any rate, I would definitely download WinPic for it's help file, it tells about the different types of programmmers and chips and stuff. It's handy information.
I use MPLAB and I'm learning programming in assembler. It's really straightforward, and assembler supports all PICs. MPLAB only supports C on certain PICs. This guy's tutorial is really nice for assembler. Download the PDF for the chip too, because it explains all the commands right there- in one place.
I think it's fair to mention that I am using a 12V zener diode because I don't have any 13V ones. That might be limiting the performance of the other programmers I was referring to. After all the JDM2 is extremely popular. I am using a 12V in my Hoodmicro, with perfect success. I've now modified the Hoodmicro so it's only connected to the serial port, but it still works perfectly.
In essence, ATM I use: Hoodmicro WinPic MPLab WinXP SP2 PRO
PROCESSORS The guy's (here at 4HV) recommended the PIC12f675(small), the PIC16F684(med), and the pic16f877a(big). They look like great chips for just about everything, and they all sample.
Nigel, (who writes the tutorial) uses the PIC16F628, which he says is a new chip comparable to the 'F84. (In fact, he says you can make it perform just like it.)
Registered Member #33
Joined: Sat Feb 04 2006, 01:31PM
Location: Norway
Posts: 971
Try WinPic800, it is so much better than anthing else I've ever seen.
There are actually a couple of interesting DIY USB PIC programmers. There used to be the GTP USB by the same guy that wrote WinPic800. It was based on the PIC18F2550 that has built-in USB. It used to be free but then he stopped releasing the new firmware versions on his website, and now he only sells programmed 18F2550s for it. The old firmware versions don't work with the new versions of WinPic800.
Then there is the Brenner8 by Sprut. I discovered this project while searching for something else. It is a simple USB PIC programmer, also based on the 18F2550. This project is under developement right now, but is has gotten so far that it is usable. A version with support for PIC18F was released yesterday. The documentation is only available in german, but the software for it has menus and buttons in english. webpage translated with Google.
Registered Member #79
Joined: Thu Feb 09 2006, 11:35AM
Location: Arkansas
Posts: 673
Hmm. Thanks Anders, I haven't seen that one before. Anyway, I didn't have much time last post, hence the jumbled nature, so here are the links:
RCD Programmer
Hoodmicro
JDM2 official
uJDM (better schematic)
COM84 (This version designed expressly for your chip.)
MPLAB can be found at . It's about 40 megs.
WinPic can be found <<<there.
WinPic800 (they are different, I just discovered ) -BTW, this looks even better than WinPic, thanks Anders!
PICProg4U -Ah, written by the guy who made the RCD programmer, now I know why he pushed it so much...
PS, I just finished building a hard copy of the Hoodmicro(previously on breadboard), with built in adapter. The DIP8 part still works great, I'll let you know about the larger sockets when I get the chance.
Registered Member #119
Joined: Fri Feb 10 2006, 06:26AM
Location: USA
Posts: 114
I started by shelling out the money to buy a PBASIC HomeWork board kit. It was pretty simple and got me some nice experience. I blew out the voltage regulator on it and now I have to jump some things to get it to work. Oops. Then, I used a parallel port based programmer(PIC16PRO), but then started using a JDM style programmer with a USB/serial attachment as it worked much better and would work on any OS. As far as compiler, I am a C programmer, so I use Microchip's C18 compiler(got the full edition from robotics :) ). I use to do dev on 16 based microcontrollers using some other C compiler, but haven't touched them for a while. I would like to play around with getting a bootloader or ICSP to work as I do not enjoy that I have to keep removing the chip as it damages the pins.
This site is powered by e107, which is released under the GNU GPL License. All work on this site, except where otherwise noted, is licensed under a Creative Commons Attribution-ShareAlike 2.5 License. By submitting any information to this site, you agree that anything submitted will be so licensed. Please read our Disclaimer and Policies page for information on your rights and responsibilities regarding this site.