In this day and age I consider any thing bit banged to be sloppy hardware decisions.
On a low end Project some times it is an absolute must. But at my internship this summer,
they wanted me to code some bit banged i2c, so they could have redundancy on a satalite.
I came up with a timer based solution, but it looked ugly. I couldn't understand why ther weren't
just going to order the chip that had two i2c hardware modules on it....seemed like the hard ware
selection crew got lazy and said "We don't want to change we'll make the software guys handle it."
Not always the best choice though.....</rant>