Motor "load" for 8051 does not change based on 8051 GPIO pin
The circuit you're building is ... well, kind of complicated for what you're trying to do. Answer? Cheat! Use an n-FET instead, which doesn't have the drive requirements of the TIP41. A logic-level FET like this one: https://www.onsemi.com/pub/Collateral/FQD7N10L-D.pdf. Rds(on) at 5V is a mere 0.3 ohm. Bonus: no Vce(sat), more swing for your motor, less power dissipation in the driver.

If it's a small current - 200mA say - two BSS138 in parallel would even do it. They're small: SOT-23 size.

Don't forget to put a freewheel diode across the motor if it's a brush type.