Hi,
Indeed it has nothing to do with 89s52, any other microcontroller will act the same.
It is a problem of voltage, current and ohm's law.
So as esp1 wrote, but additionally your Vcc is of interest.
Maybe you use 5V as Vcc, and the LED is built for 5V. But this is not very likely.
Usually LEDS have a forward voltage of 2.3V. If VCC is 5V and dropout voltage of microcontroller is 0.2V, then you need a resistor in series with the LED.
5V - 2.3V - 0.2V = 2.5V across the resistor.
If you now want 0.015A through LED = through resistor, then the resistor value is 2.5V / 0.015A = 167 Ohms.
A deviation of -10%...+20% should be no problem.
Klaus