Hi, i would like to know how to choose a microcontroller , i've tried the 89S52 (8051) , avr , pic , but how do i know if my 89S52 wont handle a task like reading encoders , reading 8 digital sensors and do a line following algorithm then do some PID calculations using floats ..etc ? how to know if my mcu can handle this and if it cant ?
Most will do most jobs, it's more a question of how well, or how badly, you write the program - and of course choosing devices with the hardware you need.
A significant factor is the time you have to do the task. If the amount of time to do the task is not critical then just about any uC will likely work. Of course some have more built in functions and/or more I/O pins then others, which affects the number of periphial chips you need.
If time is important then you could write the program or make an estimate of it's length and then calculate the time it takes to do the tasks based upon the time it takes to perform each program command for a particular uC. That's generally a function of the clock speed and the number of clock cycles required per instruction. Obviously a somewhat tedious task but I don't know of any shortcuts.