Know any good compilers and a good book? I'ld like to learn to program
8051s. I've gotten an 8051 eval board from PJRC, but I'm just a newbe. I've been doing C++ in MSVC for years and played with Basic Stamp modules, but now onto 8051's. I'm looking for a compiler and a good book. PJRC says to use SDCC, but a DOS window is kinda yukie. I've used MicroChips MPLAB IDE for their robotic controller built around an
8520(?) but it doesn't target the 8253 in my eval board.
Intel 8051, a blast from the past! These parts still have a following. You need to Google around a bit to see what people are using to program them lately.
I used to program them, wrote my own assembler, designed my own programmer. When PICs came allong, I completely jumped ship. There are very few advantages to using the Intel parts these days. Since I have a lot of experience with both parts, I would highly recomend learning the PIC instead. Its a learning curve either way, neither is easier to learn, but the PIC runs circles around the 8051.
Well, I don't use SDCC, but sounds like you're confusing the compiler with an IDE. Probably you can use SDCC with Ultraedit or Eclipse or whatever so you need not spend much time looking at the yucky window.
The best compiler for the 8051 platform is Keil, but it's not cheap. You may be able to get a code-limited version that will help you get started (I got one bundled with some moderately expensive realtime emulator hardware).
By 8520, I assume you mean PIC18F8520. The MPLAB IDE targets *all* the Microchip line, but I think you're talking about a special version of Hitech C which is limited to one particular chip for target for robotics hobbyists. The latter is a DOS-based C compiler that can be integrated fairly tightly (if you ignore stuff like -fakelocal) with the MPLAB IDE. You can always program any of Microchip's line in assembler using MPLAB, which is free.
The number 8253 suggests an ancient NMOS programmable counter-timer chip, but I assume you're talking about an Atmel AT89S825, which is a quite a decent, if a bit slow, modern and economical 80C51 derivative.
The 8051 is still a *very* popular microcontroller architecture, with dozens of manufacturers supplying parts from ones compatible with the original 8031/8051 to 100 MIPS single-cycle parts. New parts are being introduced continuously. You can find 8051 cores in SOC designs, with
24 bit ADCs, with DACs and so on, more variety than any other micro. You can even get one rated to operate at 225°C (typical life of 1 year operating at 300°C).
I suggest you check out 8052.com and download the Intel manual for the MCS-51, which has an extremely well-written description of how things work.
Best regards, Spehro Pefhany
--
"it\'s the network..." "The Journey is the reward"
speff@interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
The most popular C compiler is probably the one by Keil (keil,com). I would suggest you go to 8052.com and sign up for the message board. There are several hundred of us 8052 developers there. Plenty of tutorial material there too.
They don't have much that is good for service at that temperature, though there's a few choice for +200°C operation.
Maybe some brazing alloy such as: 40Ag 28Zn 30Cu 2Ni. Lead free. ;- )
Best regards, Spehro Pefhany
--
"it\'s the network..." "The Journey is the reward"
speff@interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
Whoa, what did I get into?!?! Thanks to everyone, let me digest these comments. Yes, the MPLAB PIC is a robotic controller. ( I help in a school robotics club, FIRST Robotics)
Notice that this response appears to come from someone to young to work legally.
To be fair, my experience with the Intel parts is quite out of date. Still it is worth doing some looking around at both what a micro can do and what kind of support exists for it. Then, of course, maybe you just like one better than the other.
I've used an 8035, which is an 8051 with no ROM; it needs an external program memory, where I used a 2716 or so; the timer was kind of a PITA but I dug in because it was essentially a PWM task (driving Futaba servos). Another time, I used an 8048 to operate a little 2K FIFO ram, back when FIFO chips were so expensive it was worth it to have a weenie like me slap together a uP-controlled FIFO.
Then, I got a gig where I used the 68HC11. I fell in love. Naturally, that beautiful Motorola architecture seems to have gone the way of the passenger pigeon. Sigh.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.