tlc5947 LED driver without constantly occupying uC pins
The usual way to handle this sort of thing is with a periodic timer interrupt. Say your loop needs to repeat every 50msec, set up a hardware timer to interrupt the processor, do your display update and return from the ISR (Interrupt Service Routine). If your current coding style includes wasting zillions of cycles in delay loops, it gets rid of that. Chances are you're using fast hardware SPI to talk to the chip, so cranking out 72 bits of on/off data won't take long, maybe &lt; 100usec, so with a 50ms interrupt, 99.8% of your processor bandwidth is still available (virtually 'unoccupied' for practical purposes)

To the "other stuff" that you are doing, your processor looks to be somewhat (depending on how much time your ISR takes) slower and a bit more jerky in its operation (it goes away for a bit at times). It's usually not too difficult to code for that.