difference between 89c51 and 89s51
A simple presence of flash memory alterable when the 8951 is supplied only with +5v was strong enough for a good advertisement.
A voltage of +12v was not so common available in the electronic boards based on microcontroller supplied at +5v.
Thus, such a kind of microcontrollers with internal flash memory program, alterable only at +12v, have to be removed from the board and programmed in external programmers.
When Atmel's AT89C51 was released with internal flash memory alterable at +5v, Atmel claimed that can be in user-system reprogramable (no external programmer required).
This has been specially mentioned in the datasheet as a good advertisement for the product they developed. Watch out to "user" and "re"
However, even if the +12v was not required for reprogram in the user-system (the high voltage programming is still possible in external programmer) the AT89C51 still needs a lot of I/O pins to be reprogrammed.
Thus the Atmel felt the need of a new microcontroller based on 8051 core that must provide a true ISP (In System Programming) with only few I/O pins involved in programming.
AT89S51 released few years later, can be programmed in the system through SPI interface which requires only 4 pins.
As I explained in a previous thread, the AT89S51 inherits most of the features provided by AT89C51 since both are based on 8051 core.
Including almost the same layout for datasheet.
Thus, you can't see any big difference between statements like:
In System Reprogrammable for AT89C51 (watch the "re" in the first page of datasheet which confused yarajit)
and
In System Programmable (ISP) for AT89S51 (watch the missing "re" in the datasheet)
Like I said it's only a matter of english and Atmel advertisement.
Hope that my english knowledges helped me to explain these difference between AT89C51 and AT89S51.