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 ULN2003A 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 ULN2003A.As far as I understand the ULN is the one which sicks the current from the piezo buzzer, with an open-collector input.
Basically, my question is why an external pull up resistor required just for the buzzer?
I've attached the internal circuit of the device.