This circuit was build to charge a couple series Lithium cells (3.6 volts each, 1 Amp Hour capacity) installed in a portable transistor radio. The charger operates by supplying a short current pulse through a series resistor and then monitoring the battery voltage to determine if another pulse is required. The current can be adjusted by changing the series resistor or adjusting the input voltage. When the battery is low, the current pulses are spaced close together so that a somewhat constant current is present. As the batteries reach full charge, the pulses are spaced farther apart and the full charge condition is indicated by the LED blinking at a slower rate.
A TL431, band gap voltage reference (2.5 volts) is used on pin 6 of the comparator so that the comparator output will switch low, triggering the 555 timer when the voltage at pin 7 is less than 2.5 volts. The 555 output turns on the 2 transistors and the batteries charge for about 30 milliseconds. When the charge pulse ends, the battery voltage is measured and divided down by the combination 20K, 8.2K and 620 ohm resistors so that when the battery voltage reaches 8.2 volts, the input at pin 7 of the comparator will rise slightly above 2.5 volts and the circuit will stop charging.
From : http://ourworld.compuserve.com/homepages/Bill_Bowden/