Alistair,
I have worked with many micros from way back starting in 1976. It seems t me that people's opinions are highly coloured by which micros they firs used and the subsequent paths and experience. I came to the PIC 16XX family relatively recently and I regard them as a throwback to the 8748 only worse in some ways. Now I don't mean to start a flame thread sinc there is a sizable cadre of PIC users who swear by its capabilities. It i rare to find a micro that is so perfect for a task that no other micro wil do. And if it is the case, what happens on the next project?
Each micro has its advantages and disadvantages. If you are concerne about the capabilty of any 8 bit micro in terms of execution speed etc then you should be looking at 16 bits or better anyway. The PSoC micro i a middle of the road micro- no great shakes, but my applications are no cutting edge in terms of speed. But the PSoC is more than a micro. Asid from the CPU it has an array of analog and digital blocks which yo configure to realize the I/O configuration that you need. Unlike an 805 where you get a fixed number of timers and UARTs, here you get to make th choice within the limitations of the device. If you need 3 UARTS well yo can do it. You can also allocate I/O pins: I once used a single UART t communicate with 4 external devices in turn by changing the I/O pin dynamically. The blocks are somewhat like an FPGA and can be modifie dynamically so that you can change the configuration on the fly. Let's sa you are working with a half duplex serial port, and you have maxed out th resources. A UART takes two logic blocks, (Tx and Rx) but on the PSoC yo can use a single logic block as a TX to send the message and the reconfigure to an Rx for the response.
Yes there are limitations on the analog circuitry. Keep in mind it is $3-4 device with both digital, analog and the reconfigurabilty running o the same piece of silicon. Just because you can configure a 14 bit A/D doesn't mean you get even close to an external part made exclusively t convert perfectly.
But the whole package comes together well. As an 8051 programmer, I don' think you will have any trouble making the transition, and both Cypress and the users on PSoCDeveloper.com (of whom I am one) are extremel helpful. Some of the time I may sound like an apologist, but what I woul like to convey is this. I remember the good old days where there was a ne peripheral to consider almost every week- I remember the 8255, the 8251 th Zilog PIO, memory mapped I/O versus I/O mapped I/O; it was an exciting tim where you could use your ingenuity. The PSoC re-captures that.
-Aubrey