Hi, I want to do two things at once, and I don't know how

Let me explain, I want to update a led matrix (12x12) this needs to be done real fast so the eye, due to persistance of vision , thinks all the leds are on at the same time, but also I want to poll a DS1307 RTC to keep time.

So, how do I do both things at the same time? I mean if I pause between reads the led display does not show, and if I read the clock in the led matrix refresh loop I choke the DS1307 with too many requests.

Speed is no problem because Im going to use a 18F4550 or one of its relatives (depending on the amount of data I will need to store)

I think the solution is around interrupts, but I never programmed with interrupts, so Im kinda lost here... Im not asking for code (it wont hurt to read some thou) just some pointers so I can figure it out what to do with some datasheet reading.

thanks