Hi all,
I am just getting started with microcontrollers and am wondering if anybody has any experience with compilers for PIC microcontrollers. If so, what do you recomend?¿ How about with other microcontrollers¿
Use the MPLAB (it’s free), but not ver 6xx if you use Redmond Bloatware’s XPletive OS, unless you have a way to unzip a .exe file in a compatibility box that prevents 6xx from thinking it is in Windows NT - it says to itself “I gotta supply drivers”, and if you have a COM-Port-less laptop, the installation seems to shunt existing drivers (including USB-COM-Port drivers) aside.
When my interest was peaked, I made a PIC 16C84 programmer, as found on the Net, hoping to find some way to drive it. Before I could, I bought a PICStart at a fraction of what it’s worth now. I could have used the DOS-based assembler with a word processor, and the driver program from the net that was posted with the programmer.
Ver 5.2x (still available at www.microchip.com) works fine with the PICStart on my laptop, but it can’t program the very latest Flash chips from Microchip, such as the one with 8 adc’s and several 8 bit ports, and Flash memory - no more erasing windowed EPROMS.
I did manage to use 5.xx to program a 16F84A, which is a good generally useful chip to start out on, Since all of the PIC’s use the same instruction set (at the assembler level, anyway), learning one is the key to all.
C programmers for PICs are available if you want to avoid assembly or machine.- see the third party suppliers on the Microchip site.
Another more expensive avenue might be to get a demo board with a 68HC11 and some memory… and an LCD panel … You can program that with one of several available C compilers, or in assembly, and it is faster than the ordinary PICs, with more memory.
Good luck.
I know about MPLAB, what i am really looking for is a C, Basic or other high level language based compiler. Also does anybody recoment some pics to start out with? Thanks.
I know about MPLAB, what i am really looking for is a C, Basic or other high level language based compiler. Also does anybody recoment some pics to start out with? Thanks.
PicBasic??? Is that what you are looking for? A basic language complier for the pic microcontroller.
There is a C compiler available for the Microchip units, as mentioned. It works with MPLAB as a “language” add-in. It is not free, as is MPLAB, but you can find out about it at Microchip.
There is another “PIC” company called Atmel, which advertises and/or is featured in Elektor Magazine, Everyday Practical Electronics and a host of other English magazines, and, I think, in Nuts & Volts. According to one article, they figured out sooner than Microchip that Flash memory is what the people want, although Mchip has definitely got it now. C is available.
As mentioned as well, you can program 68xx chips in C : They are the family that has powered Macs from the outset.
If you like the Intel line, look for a PC104 board, compatible with DOS based PC’s. with disk drives (hard and RAM/ROM) and so on.
Perhaps you ought to decide what you want to do first, then select your tools, based on what you want to do. It may be that you need more horsepower than a given chip produces, and you choose a different one, and then you find out it is only programmable in MUMPS. What you want to accomplish should be the first question, not what language, or which chip.
For PIC compilers check out this site:
http://www.gnupic.org/
In response to the statement:
“As mentioned as well, you can program 68xx chips in C : They are the family that has powered Macs from the outset.”
Actually the 68XX family was used in the original Apple Computers. The 68XXX was used in the Mac. The new Mac’s use the Power PC chip.
Also if you have someone on the team that can contact some of the chip vendors you might be able to get your hands on some demo boards and software. Ask around with people that do this kind of thing for a living. Often vendors will give out the demo boards and software to try to get the engineers to use them in their next designs. I have a PIC demo that I have intentions of using to develop robotics app’s with that I acquired this way.
As far as finding freeware, the most popular micros are the derivatives of the 8051 from Intel and derivatives of the 6800 from Motorola. Both of these architectures are available from multiple vendors and both have been around for many years.
Gene F (Firmware design engineer, new product development, Schlumberger)
I feel it’s my duty to throw in a plug for the Motorola 68HC08 series here. We have used them on our custom circuit this year and last year. They’re comparable to PICs in processing power. The hardware necessary to program them is extremely simple (and cheap) to build and the software (assembler, simulator, in circuit debugger, in circuit simulator, and code download program) is free. Also, Metrowerks has a whole suite of programs (including a C compiler and IDE) available for free as well. (Check out this link and scroll to the bottom for more info on that).
If you’re interested in the HC08 stuff, ask away with more questions and we should (hopefully) be able to answer them for you. They are fun, easy devices to work with and we’ve had nothing but success with them!
*Originally posted by Gene F *
In response to the statement:
“As mentioned as well, you can program 68xx chips in C : They are the family that has powered Macs from the outset.”Actually the 68XX family was used in the original Apple Computers. The 68XXX was used in the Mac. The new Mac’s use the Power PC chip.
Gene F (Firmware design engineer, new product development, Schlumberger)
The original Apple computers used a Rockwell 6502 chip, which is really quite a different beast than the 68XX parts.
For Microcontrollers, the 68HC11 is a very popular chip, but is being phased out. The 68HC12 is the ‘replacement’ series for the HC11. Programming architecture is nearly identical, but the HC12 is a 16 bit core with quite a few improvements.
The 68000 series are the parts for the original Mac’s. Aside from the 68 at the start of the part number, they really have nothing in common with the 68HC11 or 68HC12.
Motorola’s current 8-bit part is the 68HC08 which is aimed to compete with the PIC from Microchip. The 68HC08 core is again not really compatible with the 68HC11/12 parts, but is a good chip.
I would, in my opinion, avoid the PIC and select a better series of parts, such as an Atmel AVR or perhaps the 68HC12.
You might check out an article I wrote: http://www.seattlerobotics.org/encoder/sep97/basics.html and a second part is http://www.seattlerobotics.org/encoder/nov97/basics.html
*Originally posted by KevinRo *
**The original Apple computers used a Rockwell 6502 chip, which is really quite a different beast than the 68XX parts.**
I stand ( or rather sit) corrected! It was the 6502 and if I can trust my memory any more it was the 6510 in the Commadore 64.
Those articles look like good stuff. Anyone interested in doing a little off season tinkering with micros ought to check them out!
Thanks KevinRo!
*Originally posted by Dave Flowerday *
**I feel it’s my duty to throw in a plug for the Motorola 68HC08 series here. We have used them on our custom circuit this year and last year. They’re comparable to PICs in processing power. The hardware necessary to program them is extremely simple (and cheap) to build and the software (assembler, simulator, in circuit debugger, in circuit simulator, and code download program) is free. Also, Metrowerks has a whole suite of programs (including a C compiler and IDE) available for free as well. (Check out this link and scroll to the bottom for more info on that).If you’re interested in the HC08 stuff, ask away with more questions and we should (hopefully) be able to answer them for you. They are fun, easy devices to work with and we’ve had nothing but success with them! **
I have heard good things about Motorola uPs. Did your team use the metrowerks compiler? What has been your overall experience with the HC08.
Microchip has a plethora of new processors, recently introduced - I almost used one on our robot because of a) its features and b) my familiarity with the family language.
6502’s … addressed 64k, no ‘ports’, clocked at 1 MHz, most instruction cycles in 1 or 2 clocks.
The 6502 was used in early Commodores (I abhor the Commmodore…the 8-bit Commodore 64…)) and in a precursor, the Commodore KIM (keyboard interface monitor) which had 1.7 k of memory, four 7-segment LEDs and a 16 button matrixed keyboard (via a 6522? VIA). "Peter Jennings’ wrote a Chess program for KIM that ran, but made “stupid moves” according to a local chess club leader.
I have the ROM set for a PET, which I accepted when I thought of building a board for my ]+ (6502) to make it run Commodore (6502) PET Basic programs. They may have gotten into upgraded offshoots of the 6502 later.
Sorry to go off topic.
*Originally posted by Rickertsen2 *
**I have heard good things about Motorola uPs. Did your team use the metrowerks compiler? What has been your overall experience with the HC08. **
We didn’t use the Metrowerks compiler. All of our custom circuit code was written entirely in assembly. We used the (free) tools from P&E Microsystems for assembling & downloading the code. It works beautifully, and we’ve used HC08s for several other side projects along the way with great success.