Hello,
I am Building a Embedded Controller,which has 40+ IO's and need 8 Channel ADC. I have designed it using 89c51/52 and 8255's. But i am trying to build the same in a single chip provided 48 io's. ADC(optional),UART(reqd). Constraint is that i have a programmer which supports only 48 DIP packages. Would be helpful if anybody can guide me in selecting a Chip and a programmer(Cost Effective!). Package - Any. Any guides/reference for how to program this IC http://www.keil.com/dd/chip/3449.htm
"'many GPIO' can be very strong reasons to consider other architectures"
and the requirement here is not just 'many GPIO' but also quite a few analogue inputs!
And that's before even considering the processing requirements of the application...
8 ADC inputs isn't so much, but 8 ADC inputs while still having enough GPIO means the chip needs quite a lot of pins to start with. 48 + 8 = 56. Then crystal oscillator + VCC + GND + (most probably) analog Vref + reset + ...
And the ISP may require dedicated pins - either because the chip requires it, or because the external hardware connected to the GPIO pins are incompatible with the ISP requirements.
But 64, 68, 80 or maybe 100 pins _and_ 8 ADC inputs and potentially other requirements will quickly shrink the number of cheap 8051 chips. While it is still close to entry-level for ARM chips. And the price overlap between 8051 and ARM chips is huge.
The important thing is that the price of a chip is not directly proportional to number of GPIO or amount of RAM or number of ADC. A low-end version from a larger family can often be way cheaper than a high-end chip from another family. And when there are multiple manufacturers who have suitable chips, then there may be a huge price difference between the different manufacturers or sometimes between different generations from the same manufacturer.
But an important thing is that selecting a high-end version from a specific manufacturer may be a bit dangerous if the product needs to live for a long time. The bulk of sales are normally of cheaper chip versions, so the high-end (and less common) model may be dropped because it isn't economical to keep. Getting a low-end model dropped often means that slighly larger chips can be found - and often at same or lower price than what the low-end model was originally introduced at.
Here's an article extolling the virtues of Cortex-M microcontrollers:
www.emcu.it/.../WhyUsingCortexMx.html
Obviously it is promoting the parts - it's not an impartial review - but it should give you some idea of what's available in today's market...