Hey, I'm using an AT89S52 which has internal pull-up resistor on all its port(according to the datasheet).When I attempt to control LEDs attached to ULN2003 it work perfectly.however,when I connect a piezo buzzer it doesn't work unless I connect a pull up resistor (I used 10Kohm) to the input of the ULN2003.As far as I understand the ULN is the one which provides the current for the piezo buzzer, not the uC.
Basically, my question is why an external pull up resistor required just for the buzzer?