I'm finally developing my first real electronics projects (beyond playing with LEDs in all possible ways), consisting in a user-configurable automatic remote for my camera.
I have everything set down -- three 7-seg led displays, a relay, etc. -- but I just noticed that the ATmega8, which is what I wanted to use, doesn't seem to offer pin change interrupts.
Since I would need at least *four* digital inputs for a few buttons/switches, I had thought of using interrupts to sense the changes on those pins, but the ATmega8 only offers two external interrupts on INT0 and INT1 (the ATtiny2313, on the other hand, has several PCINT lines but I'm not sure if I can make it all within 2 KB).
Should I resort to constantly polling the pins of the mega8 directly?
Battery life would be a concern and interrupts would in theory help; but thinking of it, I could also poll the lines once in a few milliseconds and let the MCU sleep in the meantime.
I don't know how good that would be in any case, interrupt or no interrupt, as the displays are going to be on at all times (although not directly controlled by the MCU, as I'm using a 74HC595 for each display).
Anyway, sleep mode aside, what is the most elegant way to check for input lines on an MCU that doesn't offer enough pin change interrupts?
Thank you very much!