Didier,
"Goofy" is certainly an inappropriate engineering term. As I see it, the MCS-51 is ill suited to programming with a C compiler because of the small stack size and segmented RAM map. This makes writing an efficient code generator more difficult, and you have to keep certain limitations in mind while coding. These things don't make it impossible though, and I agree it's easier with SDCC than in pure ASM. Keil C is the benchmark by which all others are judged, but it costs several hundred $USD. The AVR has a nice flat memory map, plenty of registers, etc... It's just easier to write a compiler for. That isn't necessarily a benefit, as most of us are never going to write a compiler. The PIC... I have no nice words for the PIC. It's a CPU architecture kept alive by Donald Rumsfeld himself (He was the CEO of G.I. back in the '70's), and surely he must have made a deal with the Devil to make it as successful as it is. How's that for a religious argument? :-) Having said all that... Looking thru my parts box, I have ~20 MCS-51 variants, ranging from the original i80C31 that I learned on back in the mid-80's to a couple 89C450's and a AT89C51ED2 in 40 pdip that I wish I had a few more of. I have a couple Z80's, an 8085, 68000, 68020, none of which are particularly useful anymore. Then there's that one lone 16F84 PIC and it's programmer, which I think I used once. Cheers, Rob KC6OOM/5 On Aug 14, 2008, at 9:51 PM, Didier Juges wrote: > I am not sure what you mean about the 8051 being goofy to program > in C. > > Aside from the bit variable type, the Special Function Register > declarations > and the memory types (data, idata and xdata), which you only deal > with one > time (when declaring variables) and which you can even ignore in many > applications (the compiler can take care of it, as long as you are not > pushing the limits of the chip's capabilities), the code itself is > pure C. > > The 8051 is considerably easier to program in C than in assembly, > and there > are several very mature C compilers for the 8051. On the other > hand, the ACR > being supported by gcc certainly gives it an edge in that area. I > use SDCC > with the 8051, and it does a very good job. It is actively > developped and > maintained as a sourceforge project. > > I routinely compile and run my 8051 C code under gcc on the pc > because it's > easier to have multiple test cases to make sure the functions do > what I > think they do... All I need is a few declarations to resolve bit, > data, > idata and xdata and bingo. > > Didier KO4BB > >> -----Original Message----- >> From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] On Behalf Of Robert Vassar >> Sent: Thursday, August 14, 2008 6:25 PM >> To: Discussion of precise time and frequency measurement >> Subject: Re: [time-nuts] I want a good micro-controller >> >> >> >> >> Good grief! That's not a microcontroller! :-) >> >> >> >> I like the MCS-51 family, but they're kind of goofy to >> program in C, and 8-bit. Upside, lots of vendors & variants, >> including the really nice SiLabs mixed signal chips made here >> in Austin. AVR is much nicer to code in C, and has great >> tool support, but they're single source, and I have read that >> Atmel is not always completely forthcoming in their errata. >> >> >> Arm... If you need something that can run Linux.... But why >> not just go for a Soekris board at that point? :-) >> >> >> Rob >> KC6OOM/5 >> >> >> On Aug 13, 2008, at 7:06 PM, Bob Paddock wrote: >> >>>> any ARM7 outperforms the best PIC in price and performance :) >>> >>> http://beagleboard.org/ >>> >>> Get them from DigiKey, $149. >>> >>> http://dkc1.digikey.com/us/mkt/beagleboard.html >>> >>> "The USB-powered Beagle Board is a low-cost, fan-less single board >>> >>> computer utilizing Texas Instruments' OMAP3530 [ARM] application >>> processor >>> >>> that unleashes laptop-like performance and >>> >>> expansion without the bulk, expense, or noise of typical desktop >>> machines. >>> >>> Beagle Board is based on an OMAP3530 application processor >> featuring >>> an ARM(R) CortexT-A8 running at up to 600MHz and delivering >> over 1,200 >>> Dhrystone MIPS of performance via superscalar operation with highly >>> accurate branch prediction and 256KB of L2 cache. Focal to Beagle >>> Board experience is the high-speed USB 2.0 on-the-go (OTG) >> port that >>> can be utilized to provide power to the board or to deliver highly >>> flexible expansion. Standard PC peripherals can be connected to >>> Beagle Board using the USB with a mini-A to standard-A >> cable adapter, >>> DVI-D using an HDMI to DVI-D adapter, or through the MMC/SD/SDIO >>> connector enabling a complete desktop experience." >>> >>> >>> -- >>> http://www.wearablesmartsensors.com/ >>> http://www.softwaresafety.net/ >>> http://www.designer-iii.com/ >>> http://www.unusualresearch.com/ >>> >>> _______________________________________________ >>> time-nuts mailing list -- time-nuts@febo.com To unsubscribe, go to >>> https://www.febo.com/cgi-bin/mailman/listinfo/ >>> time-nuts >>> and follow the instructions there. >> >> >> _______________________________________________ >> time-nuts mailing list -- time-nuts@febo.com To unsubscribe, >> go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts >> and follow the instructions there. >> > > > _______________________________________________ > time-nuts mailing list -- time-nuts@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/ > time-nuts > and follow the instructions there. _______________________________________________ time-nuts mailing list -- time-nuts@febo.com To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.